linux_dsm_epyc7002/drivers/net/ethernet
Vladimir Oltean b9cd75e668 net: mscc: ocelot: refuse to overwrite the port's native vlan
The switch driver keeps a "vid" variable per port, which signifies _the_
VLAN ID that is stripped on that port's egress (aka the native VLAN on a
trunk port).

That is the way the hardware is designed (mostly). The port->vid is
programmed into REW:PORT:PORT_VLAN_CFG:PORT_VID and the rewriter is told
to send all traffic as tagged except the one having port->vid.

There exists a possibility of finer-grained egress untagging decisions:
using the VCAP IS1 engine, one rule can be added to match every
VLAN-tagged frame whose VLAN should be untagged, and set POP_CNT=1 as
action. However, the IS1 can hold at most 512 entries, and the VLANs are
in the order of 6 * 4096.

So the code is fine for now. But this sequence of commands:

$ bridge vlan add dev swp0 vid 1 pvid untagged
$ bridge vlan add dev swp0 vid 2 untagged

makes untagged and pvid-tagged traffic be sent out of swp0 as tagged
with VID 1, despite user's request.

Prevent that from happening. The user should temporarily remove the
existing untagged VLAN (1 in this case), add it back as tagged, and then
add the new untagged VLAN (2 in this case).

Cc: Antoine Tenart <antoine.tenart@bootlin.com>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Fixes: 7142529f16 ("net: mscc: ocelot: add VLAN filtering")
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-10-29 16:22:07 -07:00
..
3com
8390
adaptec
aeroflex
agere
alacritech
allwinner drivers: net: Fix Kconfig indentation 2019-09-26 08:56:17 +02:00
alteon
altera
amazon net: ena: clean up indentation issue 2019-09-27 20:32:02 +02:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-02 11:20:17 -07:00
apm
apple
aquantia net: aquantia: add an error handling in aq_nic_set_multicast_list 2019-10-19 12:16:38 -07:00
arc
atheros net: ag71xx: fix mdio subnode support 2019-10-01 10:19:19 -07:00
aurora
broadcom bnxt_en: Avoid disabling pci device in bnxt_remove_one() for already disabled device. 2019-10-22 13:15:39 -07:00
brocade
cadence macb: propagate errors when getting optional clocks 2019-10-19 11:58:39 -07:00
calxeda
cavium net: cavium: Use the correct style for SPDX License Identifier 2019-10-15 15:00:56 -07:00
chelsio cxgb4: request the TX CIDX updates to status page 2019-10-25 20:20:50 -07:00
cirrus cirrus: cs89x0: remove set but not used variable 'lp' 2019-08-25 19:48:59 -07:00
cisco
cortina net: ethernet: Use the correct style for SPDX License Identifier 2019-10-25 19:30:31 -07:00
davicom
dec
dlink
emulex drivers: net: Fix Kconfig indentation 2019-09-26 08:56:17 +02:00
ezchip ezchip: nps_enet: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:42:13 -07:00
faraday net: ethernet: ftgmac100: Fix DMA coherency issue with SW checksum 2019-10-28 16:22:50 -07:00
freescale net: dpaa2: Use the correct style for SPDX License Identifier 2019-10-28 13:40:17 -07:00
fujitsu
google gve: Copy and paste bug in gve_get_stats() 2019-08-21 20:50:26 -07:00
hisilicon net: hisilicon: Fix "Trying to free already-free IRQ" 2019-10-29 10:57:01 -07:00
hp
huawei
i825xx net: i82596: fix dma_alloc_attr for sni_82596 2019-10-15 20:50:05 -07:00
ibm net/ibmvnic: Fix EOI when running in XIVE mode. 2019-10-13 11:18:56 -07:00
intel pci-v5.4-changes 2019-09-23 19:16:01 -07:00
marvell net: mvneta: make stub functions static inline 2019-10-25 16:21:48 -07:00
mediatek net: ethernet: mediatek: Fix MT7629 missing GMII mode support 2019-10-15 18:03:35 -07:00
mellanox net: remove unnecessary variables and callback 2019-10-24 14:53:49 -07:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-09-18 12:34:53 -07:00
microchip lan743x: remove redundant assignment to variable rx_process_result 2019-09-06 16:47:07 +02:00
moxa
mscc net: mscc: ocelot: refuse to overwrite the port's native vlan 2019-10-29 16:22:07 -07:00
myricom Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-19 11:54:03 -07:00
natsemi net: sonic: replace dev_kfree_skb in sonic_send_packet 2019-09-11 09:14:01 +01:00
neterion
netronome net: core: add generic lockdep keys 2019-10-24 14:53:48 -07:00
ni net: nixge: Fix a signedness bug in nixge_probe() 2019-09-27 10:20:36 +02:00
nvidia Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-15 14:17:27 +02:00
nxp net: lpc_eth: avoid resetting twice 2019-10-13 11:15:25 -07:00
oki-semi
packetengines ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
pasemi
pensando dynamic_debug: provide dynamic_hex_dump stub 2019-10-22 12:54:44 -07:00
qlogic net: qlogic: Fix memory leak in ql_alloc_large_buffers 2019-10-04 18:33:13 -07:00
qualcomm ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
rdc
realtek r8169: fix jumbo packet handling on resume from suspend 2019-10-10 16:25:46 -07:00
renesas ravb: TROCR register is only present on R-Car Gen3 2019-09-06 16:46:10 +02:00
rocker rocker: add missing init_net check in FIB notifier 2019-09-05 12:14:10 +02:00
samsung net: sxgbe: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:42:12 -07:00
seeq net: seeq: Fix the function used to release some memory in an error handling path 2019-09-01 12:10:11 -07:00
sfc
sgi net: sgi: ioc3-eth: no need to stop queue set_multicast_list 2019-08-30 13:54:36 -07:00
silan
sis
smsc ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
socionext net: socionext: netsec: always grab descriptor lock 2019-10-01 09:07:47 -07:00
stmicro net: stmmac: Fix the problem of tso_xmit 2019-10-22 13:04:16 -07:00
sun ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
synopsys
tehuti
ti davinci_cpdma: make cpdma_chan_split_pool static 2019-10-15 20:56:14 -07:00
toshiba net: spider_net: Use struct_size() helper 2019-08-29 17:53:59 -07:00
tundra
via via-rhine: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:42:12 -07:00
wiznet
xilinx net: axienet: fix a signedness bug in probe 2019-09-27 10:17:22 +02:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c pci-v5.4-changes 2019-09-23 19:16:01 -07:00
jme.h
Kconfig net: remove netx ethernet driver 2019-09-21 19:08:31 -07:00
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile net: remove netx ethernet driver 2019-09-21 19:08:31 -07:00