The stack doesn't trust the complete csum by hardware
even when it is correct. In the case we fix csum by ourself
probably it is safe to just mark it as completed by software.
This should shut up a kernel warning from netdev_rx_csum_fault()
with mlx4 driver for ICMP packets.
Fixes: f8c6455bb04b ('net/mlx4_en: Extend checksum offloading by CHECKSUM
COMPLETE')
Cc: Shani Michaeli <[email protected]>
Cc: Tariq Toukan <[email protected]>
Cc: Yishai Hadas <[email protected]>
Signed-off-by: Cong Wang <[email protected]>
---
drivers/net/ethernet/mellanox/mlx4/en_rx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index c1b3a9c..b44c434 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -732,6 +732,7 @@ static int check_csum(struct mlx4_cqe *cqe, struct sk_buff
*skb, void *va,
if (get_fixed_ipv6_csum(hw_checksum, skb, hdr))
return -1;
#endif
+ skb->csum_complete_sw = 1;
return 0;
}
--
2.1.0