aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2023-08-22 15:29:52 +1000
committerStefano Brivio <sbrivio@redhat.com>2023-08-22 12:15:17 +0200
commit673bde1f213381fedd0d53946cfa35df9144075a (patch)
tree00368c66f1d7b7b758ed4d2b39a4af327599c3d7
parent0af928eaa020c1062fdc91598dfdc533966e2afe (diff)
downloadpasst-673bde1f213381fedd0d53946cfa35df9144075a.tar
passt-673bde1f213381fedd0d53946cfa35df9144075a.tar.gz
passt-673bde1f213381fedd0d53946cfa35df9144075a.tar.bz2
passt-673bde1f213381fedd0d53946cfa35df9144075a.tar.lz
passt-673bde1f213381fedd0d53946cfa35df9144075a.tar.xz
passt-673bde1f213381fedd0d53946cfa35df9144075a.tar.zst
passt-673bde1f213381fedd0d53946cfa35df9144075a.zip
tap: Don't clobber source address in tap6_handler()
In tap6_handler() saddr is initialized to the IPv6 source address from the incoming packet. However part way through, but before organizing the packet into a "sequence" we set it unconditionally to the guest's assigned address. We don't do anything equivalent for IPv4. This doesn't make a lot of sense: if the guest is using a different source address it makes sense to consider these different sequences of packets and we shouldn't try to combine them together. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r--tap.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/tap.c b/tap.c
index 760deb7..6a14692 100644
--- a/tap.c
+++ b/tap.c
@@ -818,8 +818,6 @@ resume:
continue;
}
- *saddr = c->ip6.addr;
-
if (proto != IPPROTO_TCP && proto != IPPROTO_UDP) {
tap_packet_debug(NULL, ip6h, NULL, proto, NULL, 1);
continue;