]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net: thunderx: Fix TCP/UDP checksum offload for IPv6 pkts
authorSunil Goutham <sgoutham@cavium.com>
Thu, 23 Nov 2017 19:34:31 +0000 (22:34 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 25 Nov 2017 14:54:32 +0000 (23:54 +0900)
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

index d4496e9afcdf37d12043a9db6beb2dbe76e6daa6..8b2c31e2a2b0281d6ca8c70bbf3a520bdd15eb31 100644 (file)
@@ -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);