diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2023-08-22 15:29:52 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2023-08-22 12:15:17 +0200 |
commit | 673bde1f213381fedd0d53946cfa35df9144075a (patch) | |
tree | 00368c66f1d7b7b758ed4d2b39a4af327599c3d7 | |
parent | 0af928eaa020c1062fdc91598dfdc533966e2afe (diff) | |
download | passt-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.c | 2 |
1 files changed, 0 insertions, 2 deletions
@@ -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; |