linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlx4
Saeed Mahameed 74abc07dee net/mlx4_en: Force CHECKSUM_NONE for short ethernet frames
When an ethernet frame is padded to meet the minimum ethernet frame
size, the padding octets are not covered by the hardware checksum.
Fortunately the padding octets are usually zero's, which don't affect
checksum. However, it is not guaranteed. For example, switches might
choose to make other use of these octets.
This repeatedly causes kernel hardware checksum fault.

Prior to the cited commit below, skb checksum was forced to be
CHECKSUM_NONE when padding is detected. After it, we need to keep
skb->csum updated. However, fixing up CHECKSUM_COMPLETE requires to
verify and parse IP headers, it does not worth the effort as the packets
are so small that CHECKSUM_COMPLETE has no significant advantage.

Future work: when reporting checksum complete is not an option for
IP non-TCP/UDP packets, we can actually fallback to report checksum
unnecessary, by looking at cqe IPOK bit.

Fixes: 88078d98d1 ("net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends")
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-02-12 12:58:48 -05:00
..
alloc.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
catas.c
cmd.c net/mlx4: remove unneeded semicolon 2019-01-17 22:05:42 -08:00
cq.c net/mlx4_core: Fix error handling when initializing CQ bufs in the driver 2019-01-24 21:48:26 -08:00
crdump.c
en_clock.c
en_cq.c net/mlx4_en: remove fallback after kzalloc_node() 2018-12-17 11:18:02 -08:00
en_dcb_nl.c
en_ethtool.c net/mlx4_core: Correctly set PFC param if global pause is turned off. 2018-12-08 21:26:36 -08:00
en_main.c net/mlx4_en: Use minimal rx and tx ring sizes on kdump kernel 2018-10-09 11:08:48 -07:00
en_netdev.c net/mlx4_en: Change min MTU size to ETH_MIN_MTU 2018-12-03 16:16:22 -08:00
en_port.c
en_port.h
en_resources.c
en_rx.c net/mlx4_en: Force CHECKSUM_NONE for short ethernet frames 2019-02-12 12:58:48 -05:00
en_selftest.c
en_tx.c net/mlx4_en: remove fallback after kzalloc_node() 2018-12-17 11:18:02 -08:00
eq.c net/mlx4_core: A write memory barrier is sufficient in EQ ci update 2019-01-24 21:54:13 -08:00
fw_qos.c
fw_qos.h
fw.c net/mlx4_core: Add masking for a few queries on HCA caps 2019-01-24 21:48:26 -08:00
fw.h
icm.c net/mlx4: replace pci_{,un}map_sg with dma_{,un}map_sg 2019-01-07 05:14:17 -08:00
icm.h net/mlx4: Get rid of page operation after dma_alloc_coherent 2019-01-07 05:14:17 -08:00
intf.c
Kconfig net/mlx4_en: Fix build break when CONFIG_INET is off 2018-12-03 16:16:22 -08:00
main.c devlink: publish params only after driver init is done 2019-02-08 15:02:49 -08:00
Makefile
mcg.c net/mlx4/mcg: Mark expected switch fall-throughs 2018-08-07 17:54:20 -07:00
mlx4_en.h net/mlx4_en: Change min MTU size to ETH_MIN_MTU 2018-12-03 16:16:22 -08:00
mlx4_stats.h
mlx4.h net/mlx4: Fix UBSAN warning of signed integer overflow 2018-11-15 16:09:31 -08:00
mr.c net/mlx4_core: Zero out lkey field in SW2HW_MPT fw command 2018-11-15 16:09:30 -08:00
pd.c
port.c
profile.c
qp.c
reset.c
resource_tracker.c net/mlx4_core: drop useless LIST_HEAD 2018-12-24 14:22:14 -08:00
sense.c
srq.c