diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2021-07-26 07:30:57 +0200 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2021-07-26 07:30:57 +0200 |
commit | 16b08367a57f5a01af05d1067e2f77b04251e9b7 (patch) | |
tree | 84bfde044cb13cd5df7ff7745014e26369e480b9 /dhcpv6.c | |
parent | 17765f8de0782de09ebdf79940f934b8ccb83c41 (diff) | |
download | passt-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.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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; |