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 <bganne@cisco.com>
This commit is contained in:
Benoît Ganne
2022-08-18 16:49:17 +02:00
committed by Matthew Smith
parent 32b93d4800
commit fa7441ffc2

View File

@ -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);
}
}