]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx4_en: don't set CHECKSUM_COMPLETE on SCTP packets
authorDavide Caratti <dcaratti@redhat.com>
Thu, 3 Aug 2017 20:54:48 +0000 (22:54 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Aug 2017 00:59:57 +0000 (17:59 -0700)
commiteebd9462c33fcabef84362695599b589b4acdd83
tree44a5a7ef50e0b595c18bcfa766737b3dd962feb1
parent7bad4c9f62eacc8b50aa96a7a6fb432766a9b132
net/mlx4_en: don't set CHECKSUM_COMPLETE on SCTP packets

if the NIC fails to validate the checksum on TCP/UDP, and validation of IP
checksum is successful, the driver subtracts the pseudo-header checksum
from the value obtained by the hardware and sets CHECKSUM_COMPLETE. Don't
do that if protocol is IPPROTO_SCTP, otherwise CRC32c validation fails.

V2: don't test MLX4_CQE_STATUS_IPV6 if MLX4_CQE_STATUS_IPV4 is set

Reported-by: Shuang Li <shuali@redhat.com>
Fixes: 659509af05cf ("net/mlx4_en: Extend checksum offloading by CHECKSUM COMPLETE")
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Acked-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_rx.c