lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171123193014.6632-1-aleksey.makarov@auriga.com>
Date:   Thu, 23 Nov 2017 22:30:12 +0300
From:   Aleksey Makarov <aleksey.makarov@...iga.com>
To:     <netdev@...r.kernel.org>
CC:     <linux-kernel@...r.kernel.org>,
        "Goutham, Sunil" <Sunil.Goutham@...ium.com>,
        Robert Richter <rric@...nel.org>,
        "Florian Westphal" <fw@...len.de>,
        Eric Dumazet <eric.dumazet@...il.com>,
        "Aleksey Makarov" <aleksey.makarov@...ium.com>,
        Sunil Goutham <sgoutham@...ium.com>,
        Aleksey Makarov <aleksey.makarov@...iga.com>,
        <linux-arm-kernel@...ts.infradead.org>
Subject: [PATCH net v3] net: thunderx: Fix TCP/UDP checksum offload for IPv6 pkts

From: Sunil Goutham <sgoutham@...ium.com>

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@...ium.com>
Signed-off-by: Aleksey Makarov <aleksey.makarov@...iga.com>
---
 drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 1 -
 1 file changed, 1 deletion(-)

v3:
- fix the Fixes: tag (David Miller)

v2: https://lkml.kernel.org/r/20171123144158.26111-1-aleksey.makarov@auriga.com
- don't enable checksum offloading both for IPv4 and IPv6 (Eric Dumazet)

v1: https://lkml.kernel.org/r/20171122123727.23580-1-aleksey.makarov@auriga.com


diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c
index d4496e9afcdf..8b2c31e2a2b0 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);
 
-- 
2.15.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ