wireguard: fix ipv6 payload_length computation
The ipv6 header length should not be counted in the ipv6 payload length. This is similar to https://gerrit.fd.io/r/c/vpp/+/36945. Type: fix Change-Id: I22de0ff828175829102a85288513ee3f55709108 Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
This commit is contained in:
@ -504,12 +504,11 @@ wg_output_tun_inline (vlib_main_t *vm, vlib_node_runtime_t *node,
|
||||
else
|
||||
{
|
||||
hdr6_out->wg.header.type = MESSAGE_DATA;
|
||||
hdr6_out->udp.length = clib_host_to_net_u16 (encrypted_packet_len +
|
||||
sizeof (udp_header_t));
|
||||
hdr6_out->ip6.payload_length = hdr6_out->udp.length =
|
||||
clib_host_to_net_u16 (encrypted_packet_len +
|
||||
sizeof (udp_header_t));
|
||||
b[0]->current_length =
|
||||
(encrypted_packet_len + sizeof (ip6_udp_header_t));
|
||||
hdr6_out->ip6.payload_length =
|
||||
clib_host_to_net_u16 (b[0]->current_length);
|
||||
}
|
||||
|
||||
out:
|
||||
|
Reference in New Issue
Block a user