linux_dsm_epyc7002/drivers/net/ethernet
Alexander Sverdlin 4aac0b4347 octeon_mgmt: Fix MIX registers configuration on MTU setup
octeon_mgmt driver doesn't drop RX frames that are 1-4 bytes bigger than
MTU set for the corresponding interface. The problem is in the
AGL_GMX_RX0/1_FRM_MAX register setting, which should not account for VLAN
tagging.

According to Octeon HW manual:
"For tagged frames, MAX increases by four bytes for each VLAN found up to a
maximum of two VLANs, or MAX + 8 bytes."

OCTEON_FRAME_HEADER_LEN "define" is fine for ring buffer management, but
should not be used for AGL_GMX_RX0/1_FRM_MAX.

The problem could be easily reproduced using "ping" command. If affected
system has default MTU 1500, other host (having MTU >= 1504) can
successfully "ping" the affected system with payload size 1473-1476,
resulting in IP packets of size 1501-1504 accepted by the mgmt driver.
Fixed system still accepts IP packets of 1500 bytes even with VLAN tagging,
because the limits are lifted in HW as expected, for every VLAN tag.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-18 13:13:07 +09:00
..
3com Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-21 16:01:54 -04:00
8390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-21 16:01:54 -04:00
adaptec
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
amd net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
apm net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
apple
aquantia net: aquantia: vlan unicast address list correct handling 2018-07-06 11:11:05 +09:00
arc net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
atheros alx: take rtnl before calling __alx_open from resume 2018-06-30 21:14:47 +09:00
aurora
broadcom tg3: Add higher cpu clock for 5762. 2018-07-16 14:42:11 -07:00
brocade treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
cadence net: macb: Allocate valid memory for TX and RX BD prefetch 2018-07-07 20:54:25 +09:00
calxeda net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
cavium octeon_mgmt: Fix MIX registers configuration on MTU setup 2018-07-18 13:13:07 +09:00
chelsio cxgb4: assume flash part size to be 4MB, if it can't be determined 2018-07-07 19:57:33 +09:00
cirrus
cisco enic: do not overwrite error code 2018-06-20 08:10:13 +09:00
cortina treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
davicom
dec
dlink
emulex be2net: Fix error detection logic for BE3 2018-05-29 10:57:25 -04:00
ezchip
faraday net/ncsi: Silence debug messages 2018-06-20 07:26:58 +09:00
freescale dpaa_eth: DPAA SGT needs to be 256B 2018-06-30 18:51:06 +09:00
fujitsu
hisilicon net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
hp
huawei hinic: reset irq affinity before freeing irq 2018-06-28 13:34:57 +09:00
i825xx
ibm ibmvnic: Fix error recovery on login failure 2018-07-16 14:39:47 -07:00
intel ixgbe: Off by one in ixgbe_ipsec_tx() 2018-07-12 08:03:09 -07:00
marvell net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
mediatek net: mediatek: use of_device_get_match_data() 2018-04-16 13:43:07 -04:00
mellanox net/mlx4_en: Don't reuse RX page when XDP is set 2018-07-16 14:05:25 -07:00
micrel treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
microchip
moxa treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
mscc net: mscc: make sparse happy 2018-06-23 10:42:02 +09:00
myricom
natsemi net/sonic: Use dma_mapping_error() 2018-05-31 14:17:33 -04:00
neterion treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 2018-07-01 09:27:44 +09:00
ni treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
nuvoton
nvidia treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
nxp
oki-semi treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
packetengines
pasemi treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
qlogic qlogic: check kstrtoul() for errors 2018-07-13 18:28:58 -07:00
qualcomm net: qcom/emac: Add missing of_node_put() 2018-06-14 17:01:05 -07:00
rdc
realtek r8169: fix mac address change 2018-07-03 23:27:58 +09:00
renesas ravb: remove custom .set_link_ksettings from ethtool ops 2018-07-07 10:44:09 +09:00
rocker rocker: rocker_main: Ignore bridge VLAN events 2018-05-31 14:13:43 -04:00
samsung
seeq
sfc sfc: hold filter_sem consistently during reset 2018-07-12 14:52:04 -07:00
sgi
silan
sis
smsc
socionext treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
stmicro net: ethernet: stmmac: fix documentation warning 2018-07-16 13:42:44 -07:00
sun net: sungem: fix rx checksum support 2018-06-20 14:30:06 +09:00
synopsys
tehuti
ti net: ethernet: ti: davinci_cpdma: make function cpdma_desc_pool_create static 2018-06-22 09:31:09 +09:00
toshiba treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
tundra
via
wiznet
xilinx net: emaclite: Remove xemaclite_mdio_setup return check 2018-06-14 17:08:03 -07:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
fealnx.c
jme.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
jme.h
Kconfig net: ethernet: Sort Kconfig sourcing alphabetically 2018-05-21 12:14:47 -04:00
korina.c
lantiq_etop.c
Makefile net: mscc: Add initial Ocelot switch support 2018-05-15 16:41:15 -04:00
netx-eth.c