diff options
| author | Jon Maloy <jmaloy@redhat.com> | 2025-03-26 11:59:02 -0400 |
|---|---|---|
| committer | Stefano Brivio <sbrivio@redhat.com> | 2025-03-27 05:05:20 +0100 |
| commit | 65cca54be84ffc5d2e18fcb8229dcc9d1f229479 (patch) | |
| tree | 4f4ed6581caa18ce166ae12b629784dab1902762 /contrib | |
| parent | 664c588be752bf590adb55bf1f613d4a36f02e7c (diff) | |
| download | passt-65cca54be84ffc5d2e18fcb8229dcc9d1f229479.tar passt-65cca54be84ffc5d2e18fcb8229dcc9d1f229479.tar.gz passt-65cca54be84ffc5d2e18fcb8229dcc9d1f229479.tar.bz2 passt-65cca54be84ffc5d2e18fcb8229dcc9d1f229479.tar.lz passt-65cca54be84ffc5d2e18fcb8229dcc9d1f229479.tar.xz passt-65cca54be84ffc5d2e18fcb8229dcc9d1f229479.tar.zst passt-65cca54be84ffc5d2e18fcb8229dcc9d1f229479.zip | |
udp: correct source address for ICMP messages
While developing traceroute forwarding tap-to-sock we found that
struct msghdr.msg_name for the ICMPs in the opposite direction always
contains the destination address of the original UDP message, and not,
as one might expect, the one of the host which created the error message.
Study of the kernel code reveals that this address instead is appended
as extra data after the received struct sock_extended_err area.
We now change the ICMP receive code accordingly.
Fixes: 55431f0077b6 ("udp: create and send ICMPv4 to local peer when applicable")
Fixes: 68b04182e07d ("udp: create and send ICMPv6 to local peer when applicable")
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions
