From: Benoît Ganne Date: Thu, 18 Aug 2022 14:49:17 +0000 (+0200) Subject: wireguard: fix ipv6 handshake packet X-Git-Tag: v23.02-rc0~85 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=fa7441ffc2552529784d15bb4c8450cf164281d6;p=vpp.git wireguard: fix ipv6 handshake packet IPv6 payload length should not include the size of the IPv6 header. Type: fix Change-Id: Iedcd17d0af8d72d9b5f8f9b605da7c99e151bc9d Signed-off-by: Benoît Ganne --- diff --git a/src/plugins/wireguard/wireguard_send.c b/src/plugins/wireguard/wireguard_send.c index 93e808ad050..91d993bee15 100644 --- a/src/plugins/wireguard/wireguard_send.c +++ b/src/plugins/wireguard/wireguard_send.c @@ -70,10 +70,8 @@ wg_buffer_prepend_rewrite (vlib_buffer_t *b0, const u8 *rewrite, u8 is_ip4) /* copy only ip6 and udp header; wireguard header not needed */ clib_memcpy (hdr6, rewrite, sizeof (ip6_udp_header_t)); - hdr6->udp.length = + hdr6->ip6.payload_length = hdr6->udp.length = clib_host_to_net_u16 (b0->current_length - sizeof (ip6_header_t)); - - hdr6->ip6.payload_length = clib_host_to_net_u16 (b0->current_length); } }