40 lines
1.6 KiB
Diff
40 lines
1.6 KiB
Diff
|
From fa6d7cb5d76cf0467c61420fc9238045aedfd379 Mon Sep 17 00:00:00 2001
|
||
|
From: Sunil Goutham <sgoutham@cavium.com>
|
||
|
Date: Thu, 23 Nov 2017 22:34:31 +0300
|
||
|
Subject: net: thunderx: Fix TCP/UDP checksum offload for IPv6 pkts
|
||
|
|
||
|
Don't offload IP header checksum to NIC.
|
||
|
|
||
|
This fixes a previous patch which enabled checksum offloading
|
||
|
for both IPv4 and IPv6 packets. So L3 checksum offload was
|
||
|
getting enabled for IPv6 pkts. And HW is dropping these pkts
|
||
|
as it assumes the pkt is IPv4 when IP csum offload is set
|
||
|
in the SQ descriptor.
|
||
|
|
||
|
Fixes: 3a9024f52c2e ("net: thunderx: Enable TSO and checksum offloads for ipv6")
|
||
|
Signed-off-by: Sunil Goutham <sgoutham@cavium.com>
|
||
|
Signed-off-by: Aleksey Makarov <aleksey.makarov@auriga.com>
|
||
|
Reviewed-by: Eric Dumazet <edumazet@google.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
---
|
||
|
drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 1 -
|
||
|
1 file changed, 1 deletion(-)
|
||
|
|
||
|
(limited to 'drivers/net/ethernet/cavium/thunder/nicvf_queues.c')
|
||
|
|
||
|
diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c
|
||
|
index d4496e9..8b2c31e 100644
|
||
|
--- a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c
|
||
|
+++ b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c
|
||
|
@@ -1355,7 +1355,6 @@ nicvf_sq_add_hdr_subdesc(struct nicvf *nic, struct snd_queue *sq, int qentry,
|
||
|
|
||
|
/* Offload checksum calculation to HW */
|
||
|
if (skb->ip_summed == CHECKSUM_PARTIAL) {
|
||
|
- hdr->csum_l3 = 1; /* Enable IP csum calculation */
|
||
|
hdr->l3_offset = skb_network_offset(skb);
|
||
|
hdr->l4_offset = skb_transport_offset(skb);
|
||
|
|
||
|
--
|
||
|
cgit v1.1
|
||
|
|