aboutgitcodebugslistschat
path: root/dhcpv6.c
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2021-07-26 07:30:57 +0200
committerStefano Brivio <sbrivio@redhat.com>2021-07-26 07:30:57 +0200
commit16b08367a57f5a01af05d1067e2f77b04251e9b7 (patch)
tree84bfde044cb13cd5df7ff7745014e26369e480b9 /dhcpv6.c
parent17765f8de0782de09ebdf79940f934b8ccb83c41 (diff)
downloadpasst-16b08367a57f5a01af05d1067e2f77b04251e9b7.tar
passt-16b08367a57f5a01af05d1067e2f77b04251e9b7.tar.gz
passt-16b08367a57f5a01af05d1067e2f77b04251e9b7.tar.bz2
passt-16b08367a57f5a01af05d1067e2f77b04251e9b7.tar.lz
passt-16b08367a57f5a01af05d1067e2f77b04251e9b7.tar.xz
passt-16b08367a57f5a01af05d1067e2f77b04251e9b7.tar.zst
passt-16b08367a57f5a01af05d1067e2f77b04251e9b7.zip
tap: Fill the IPv6 flow label field to represent flow association
This isn't optional: TCP streams must carry a unique, hard-to-guess, non-zero label for each direction. Linux, probably among others, will otherwise refuse to associate packets in a given stream to the same connection. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'dhcpv6.c')
-rw-r--r--dhcpv6.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/dhcpv6.c b/dhcpv6.c
index 31ef66d..f982cde 100644
--- a/dhcpv6.c
+++ b/dhcpv6.c
@@ -520,7 +520,7 @@ int dhcpv6(struct ctx *c, struct ethhdr *eh, size_t len)
resp_not_on_link.hdr.xid = mh->xid;
tap_ip_send(c, &c->gw6, IPPROTO_UDP,
- (char *)&resp_not_on_link, n);
+ (char *)&resp_not_on_link, n, mh->xid);
return 1;
}
@@ -569,7 +569,7 @@ int dhcpv6(struct ctx *c, struct ethhdr *eh, size_t len)
resp.hdr.xid = mh->xid;
- tap_ip_send(c, &c->gw6, IPPROTO_UDP, (char *)&resp, n);
+ tap_ip_send(c, &c->gw6, IPPROTO_UDP, (char *)&resp, n, mh->xid);
c->addr6_seen = c->addr6;
return 1;