linux_dsm_epyc7002/drivers/net/dsa
Tristram Ha 962ad710f7 net: dsa: microchip: fix unicast frame leak
Port partitioning is done by enabling UNICAST_VLAN_BOUNDARY and changing
the default port membership of 0x7f to other values such that there is
no communication between ports.  In KSZ9477 the member for port 1 is
0x41; port 2, 0x42; port 3, 0x44; port 4, 0x48; port 5, 0x50; and port 7,
0x60.  Port 6 is the host port.

Setting a zero value can be used to stop port from receiving.

However, when UNICAST_VLAN_BOUNDARY is disabled and the unicast addresses
are already learned in the dynamic MAC table, setting zero still allows
devices connected to those ports to communicate.  This does not apply to
multicast and broadcast addresses though.  To prevent these leaks and
make the function of port membership consistent UNICAST_VLAN_BOUNDARY
should never be disabled.

Note that UNICAST_VLAN_BOUNDARY is enabled by default in KSZ9477.

Fixes: b987e98e50 ("dsa: add DSA switch driver for Microchip KSZ9477")
Signed-off-by: Tristram Ha <Tristram.Ha@microchip.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-12-20 16:19:29 -08:00
..
b53 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-06 14:43:42 -07:00
microchip net: dsa: microchip: fix unicast frame leak 2018-12-20 16:19:29 -08:00
mv88e6xxx Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-12-20 11:53:36 -08:00
bcm_sf2_cfp.c net: dsa: bcm_sf2: fix semicolon.cocci warnings 2018-11-07 22:14:05 -08:00
bcm_sf2_regs.h net: dsa: bcm_sf2: Disable learning while in WoL 2018-08-03 12:11:43 -07:00
bcm_sf2.c net: dsa: bcm_sf2: Turn on PHY to allow successful registration 2018-11-06 15:39:48 -08:00
bcm_sf2.h net: dsa: bcm_sf2: Restore CFP rules during system resume 2018-11-06 15:05:22 -08:00
dsa_loop_bdinfo.c
dsa_loop.c net: dsa: dsa_loop: Make dynamic debugging helpful 2018-05-25 16:46:29 -04:00
dsa_loop.h
Kconfig net: dsa: lantiq_gswip: Depend on HAS_IOMEM 2018-09-25 20:27:43 -07:00
lan9303_i2c.c
lan9303_mdio.c
lan9303-core.c net: dsa: Pass stringset to ethtool operations 2018-04-27 11:53:03 -04:00
lan9303.h
lantiq_gswip.c net: dsa: lantiq_gswip: Minor code style improvements 2018-09-17 08:12:11 -07:00
lantiq_pce.h net: dsa: Add Lantiq / Intel DSA driver for vrx200 2018-09-13 08:14:33 -07:00
Makefile net: dsa: Add Lantiq / Intel DSA driver for vrx200 2018-09-13 08:14:33 -07:00
mt7530.c net: ethernet: Convert phydev advertize and supported from u32 to link mode 2018-11-11 10:10:01 -08:00
mt7530.h net: dsa: mediatek: add VLAN support for MT7530 2017-12-15 10:31:54 -05:00
mv88e6060.c mv88e6060: disable hardware level MAC learning 2018-12-03 16:04:21 -08:00
mv88e6060.h
qca8k.c net: dsa: qca8k: simplify getting .driver_data 2018-10-21 21:10:11 -07:00
qca8k.h net: dsa: qca8k: Allow overwriting CPU port setting 2018-05-23 15:46:18 -04:00
realtek-smi.c net/dsa/realtek: add MODULE_LICENSE() 2018-07-22 10:25:48 -07:00
realtek-smi.h net: dsa: realtek-smi: Add Realtek SMI driver 2018-07-18 13:43:38 +09:00
rtl8366.c dsa: rtl8366: Remove unused variable. 2018-07-18 14:42:18 +09:00
rtl8366rb.c net: dsa: rtl8366rb: Support port 4 (WAN) 2018-08-09 14:15:00 -07:00
vitesse-vsc73xx.c net: dsa: vsc73xx: Make some functions static 2018-07-05 19:29:29 +09:00