From: Andrej Kozemcak Date: Mon, 7 Jan 2019 07:39:22 +0000 (+0100) Subject: Fix TCP checksum. X-Git-Tag: v19.04-rc0~40 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=9d7570ccde4ded1c5feea097b10272870bfc81da Fix TCP checksum. Set TCP checksum to zero, before calculate the TCP checksum. Change-Id: Id96743334481804b8ebb74afef2f1dbfed29e0cb Signed-off-by: Andrej Kozemcak --- diff --git a/src/vnet/interface_output.c b/src/vnet/interface_output.c index 34f0a977131..ba69d36b6c4 100644 --- a/src/vnet/interface_output.c +++ b/src/vnet/interface_output.c @@ -181,7 +181,10 @@ calc_checksums (vlib_main_t * vm, vlib_buffer_t * b) if (b->flags & VNET_BUFFER_F_OFFLOAD_IP_CKSUM) ip4->checksum = ip4_header_checksum (ip4); if (b->flags & VNET_BUFFER_F_OFFLOAD_TCP_CKSUM) - th->checksum = ip4_tcp_udp_compute_checksum (vm, b, ip4); + { + th->checksum = 0; + th->checksum = ip4_tcp_udp_compute_checksum (vm, b, ip4); + } if (b->flags & VNET_BUFFER_F_OFFLOAD_UDP_CKSUM) uh->checksum = ip4_tcp_udp_compute_checksum (vm, b, ip4); }