Caught by code review, offloading checksum of IPv6 UDP packets was wrong
as the IPv6 header used for the pseudo header checksum was wrong.
Fixes: cb0cbffbe8fb ("netdev-linux: Favour inner packet for multi-encapsulated
TSO.")
Signed-off-by: David Marchand <[email protected]>
---
lib/netdev-linux.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index 8a463c2efd..af7438f1ee 100644
--- a/lib/netdev-linux.c
+++ b/lib/netdev-linux.c
@@ -7214,7 +7214,7 @@ netdev_linux_prepend_vnet_hdr(struct dp_packet *b, int
mtu)
const struct ip_header *ip_hdr = l3_off;
csum = ~csum_finish(packet_csum_pseudoheader(ip_hdr));
} else if (dp_packet_hwol_tx_ipv6(b)) {
- const struct ovs_16aligned_ip6_hdr *ip6_hdr = l4_off;
+ const struct ovs_16aligned_ip6_hdr *ip6_hdr = l3_off;
csum = ~csum_finish(packet_csum_pseudoheader6(ip6_hdr));
}
--
2.48.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev