]> git.baikalelectronics.ru Git - kernel.git/commit
net: aquantia: do not pass lro session with invalid tcp checksum
authorDmitry Bogdanov <dmitry.bogdanov@aquantia.com>
Fri, 11 Oct 2019 13:45:22 +0000 (13:45 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Oct 2019 00:01:53 +0000 (17:01 -0700)
commit8e5067e7d201831482ded569f5203392562b7567
tree692cc43ef11468ab88d6229d7405b532cdaf83d1
parent240d371f96eab3ae9638ce1a10d0caa2e304090a
net: aquantia: do not pass lro session with invalid tcp checksum

Individual descriptors on LRO TCP session should be checked
for CRC errors. It was discovered that HW recalculates
L4 checksums on LRO session and does not break it up on bad L4
csum.

Thus, driver should aggregate HW LRO L4 statuses from all individual
buffers of LRO session and drop packet if one of the buffers has bad
L4 checksum.

Fixes: facb3363b80d ("net: aquantia: check rx csum for all packets in LRO session")
Signed-off-by: Dmitry Bogdanov <dmitry.bogdanov@aquantia.com>
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/aquantia/atlantic/aq_ring.c