From 9d7570ccde4ded1c5feea097b10272870bfc81da Mon Sep 17 00:00:00 2001 From: Andrej Kozemcak Date: Mon, 7 Jan 2019 08:39:22 +0100 Subject: [PATCH] Fix TCP checksum. Set TCP checksum to zero, before calculate the TCP checksum. Change-Id: Id96743334481804b8ebb74afef2f1dbfed29e0cb Signed-off-by: Andrej Kozemcak --- src/vnet/interface_output.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); } -- 2.16.6