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
| ||
|
Date: Wed, 22 Nov 2017 15:37:25 +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>, 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] net: thunderx: Fix TCP/UDP checksum offload for IPv6 pkts From: Sunil Goutham <sgoutham@...ium.com> This fixes a previous patch which missed some changes and due to which 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: bbbb494fd005 ("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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c index d4496e9afcdf..184d5bdbe7e0 100644 --- a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c +++ b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c @@ -1355,10 +1355,11 @@ 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); + /* Enable IP HDR csum calculation for V4 pkts */ + hdr->csum_l3 = (ip.v4->version == 4) ? 1 : 0; proto = (ip.v4->version == 4) ? ip.v4->protocol : ip.v6->nexthdr; -- 2.15.0
Powered by blists - more mailing lists