aboutgitcodebugslistschat
path: root/doc
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2025-04-17 11:55:43 +1000
committerStefano Brivio <sbrivio@redhat.com>2025-04-22 12:42:05 +0200
commit436afc30447c6f0ce516f2b38c769833114bb5f8 (patch)
tree6cd652f49c7516583598f8051d8f8b6b570b02e1 /doc
parent08e617ec2ba916d8250a41d3ac68183124a6ec3e (diff)
downloadpasst-436afc30447c6f0ce516f2b38c769833114bb5f8.tar
passt-436afc30447c6f0ce516f2b38c769833114bb5f8.tar.gz
passt-436afc30447c6f0ce516f2b38c769833114bb5f8.tar.bz2
passt-436afc30447c6f0ce516f2b38c769833114bb5f8.tar.lz
passt-436afc30447c6f0ce516f2b38c769833114bb5f8.tar.xz
passt-436afc30447c6f0ce516f2b38c769833114bb5f8.tar.zst
passt-436afc30447c6f0ce516f2b38c769833114bb5f8.zip
udp: Translate offender addresses for ICMP messages
We've recently added support for propagating ICMP errors related to a UDP flow from the host to the guest, by handling the extended UDP error on the socket and synthesizing a suitable ICMP on the tap interface. Currently we create that ICMP with a source address of the "offender" from the extended error information - the source of the ICMP error received on the host. However, we don't translate this address for cases where we NAT between host and guest. This means (amongst other things) that we won't get a "Connection refused" error as expected if send data from the guest to the --map-host-loopback address. The error comes from 127.0.0.1 on the host, which doesn't make sense on the tap interface and will be discarded by the guest. Because ICMP errors can be sent by an intermediate host, not just by the endpoints of the flow, we can't handle this translation purely with the information in the flow table entry. We need to explicitly translate this address by our NAT rules, which we can do with the nat_inbound() helper. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'doc')
0 files changed, 0 insertions, 0 deletions