From 698eb87a8eed847fe555ef327bcc99a4467ed59a Mon Sep 17 00:00:00 2001 From: Vladimir Isaev Date: Thu, 21 May 2020 16:34:17 +0300 Subject: vxlan: Fixed checksum caclculation offset VXLAN uses csum_offload for IPv6 packets. But without gso node we have csum calculated only for inner packet. This patch adds support for outer header csum calculation. Checksum for inner packet should be calculated before interface-output node (for example in vxlan node). Type: fix Signed-off-by: Mohsin Kazmi Signed-off-by: Vladimir Isaev Change-Id: Ica68429ede4426293769207cd83c791ebe72fe56 --- src/vnet/interface_output.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/vnet/interface_output.c') diff --git a/src/vnet/interface_output.c b/src/vnet/interface_output.c index 8e3d53ab76f..f9490f34f6a 100644 --- a/src/vnet/interface_output.c +++ b/src/vnet/interface_output.c @@ -344,22 +344,22 @@ vnet_interface_output_node_inline (vlib_main_t * vm, vnet_calc_checksums_inline (vm, b[0], b[0]->flags & VNET_BUFFER_F_IS_IP4, - b[0]->flags & VNET_BUFFER_F_IS_IP6, 1 /* with gso */ ); + b[0]->flags & VNET_BUFFER_F_IS_IP6); if (b[1]->flags & vnet_buffer_offload_flags) vnet_calc_checksums_inline (vm, b[1], b[1]->flags & VNET_BUFFER_F_IS_IP4, - b[1]->flags & VNET_BUFFER_F_IS_IP6, 1 /* with gso */ ); + b[1]->flags & VNET_BUFFER_F_IS_IP6); if (b[2]->flags & vnet_buffer_offload_flags) vnet_calc_checksums_inline (vm, b[2], b[2]->flags & VNET_BUFFER_F_IS_IP4, - b[2]->flags & VNET_BUFFER_F_IS_IP6, 1 /* with gso */ ); + b[2]->flags & VNET_BUFFER_F_IS_IP6); if (b[3]->flags & vnet_buffer_offload_flags) vnet_calc_checksums_inline (vm, b[3], b[3]->flags & VNET_BUFFER_F_IS_IP4, - b[3]->flags & VNET_BUFFER_F_IS_IP6, 1 /* with gso */ ); + b[3]->flags & VNET_BUFFER_F_IS_IP6); } } b += 4; @@ -410,7 +410,7 @@ vnet_interface_output_node_inline (vlib_main_t * vm, vnet_calc_checksums_inline (vm, b[0], b[0]->flags & VNET_BUFFER_F_IS_IP4, - b[0]->flags & VNET_BUFFER_F_IS_IP6, 1 /* with gso */ ); + b[0]->flags & VNET_BUFFER_F_IS_IP6); } b += 1; } -- cgit 1.2.3-korg