From 16b08367a57f5a01af05d1067e2f77b04251e9b7 Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Mon, 26 Jul 2021 07:30:57 +0200 Subject: 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 --- icmp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'icmp.c') diff --git a/icmp.c b/icmp.c index 8f2fdb2..57d954a 100644 --- a/icmp.c +++ b/icmp.c @@ -98,7 +98,7 @@ void icmp_sock_handler(struct ctx *c, union epoll_ref ref, uint32_t events, icmp_id_map[V6][id].seq = seq; } - tap_ip_send(c, &sr6->sin6_addr, IPPROTO_ICMPV6, buf, n); + tap_ip_send(c, &sr6->sin6_addr, IPPROTO_ICMPV6, buf, n, 0); } else { struct sockaddr_in *sr4 = (struct sockaddr_in *)&sr; struct icmphdr *ih = (struct icmphdr *)buf; @@ -115,7 +115,7 @@ void icmp_sock_handler(struct ctx *c, union epoll_ref ref, uint32_t events, memcpy(&a6.s6_addr[12], &sr4->sin_addr, sizeof(sr4->sin_addr)); - tap_ip_send(c, &a6, IPPROTO_ICMP, buf, n); + tap_ip_send(c, &a6, IPPROTO_ICMP, buf, n, 0); } } -- cgit v1.2.3