linux-uconsole/drivers/net
DENG Qingfang 52db4beed4 net: dsa: mt7530: fix roaming from DSA user ports
[ Upstream commit 5e5502e012 ]

When a client moves from a DSA user port to a software port in a bridge,
it cannot reach any other clients that connected to the DSA user ports.
That is because SA learning on the CPU port is disabled, so the switch
ignores the client's frames from the CPU port and still thinks it is at
the user port.

Fix it by enabling SA learning on the CPU port.

To prevent the switch from learning from flooding frames from the CPU
port, set skb->offload_fwd_mark to 1 for unicast and broadcast frames,
and let the switch flood them instead of trapping to the CPU port.
Multicast frames still need to be trapped to the CPU port for snooping,
so set the SA_DIS bit of the MTK tag to 1 when transmitting those frames
to disable SA learning.

Fixes: b8f126a8d5 ("net-next: dsa: add dsa support for Mediatek MT7530 switch")
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-03 08:19:03 +02:00
..
appletalk
arcnet
bonding bonding/alb: make sure arp header is pulled before accessing it 2020-03-18 07:14:18 +01:00
caif
can slcan: Don't transmit uninitialized stack data in padding 2020-04-13 10:45:08 +02:00
dsa net: dsa: mt7530: fix roaming from DSA user ports 2020-06-03 08:19:03 +02:00
ethernet dpaa_eth: fix usage as DSA master, try 3 2020-06-03 08:19:03 +02:00
fddi
fjes fjes: fix missed check in fjes_acpi_add 2019-12-31 16:34:36 +01:00
hamradio 6pack,mkiss: fix possible deadlock 2020-01-04 19:13:27 +01:00
hippi
hyperv hv_netvsc: Fix unwanted wakeup in netvsc_attach() 2020-03-05 16:42:19 +01:00
ieee802154 ieee802154: ca8210: prevent memory leak 2019-10-29 09:19:31 +01:00
ipvlan ipvlan: don't deref eth hdr before checking it's set 2020-03-18 07:14:12 +01:00
netdevsim
phy net: phy: fix aneg restart in phy_ethtool_set_eee 2020-05-20 08:18:35 +02:00
plip
ppp pppoe: only process PADT targeted at local interfaces 2020-05-20 08:18:36 +02:00
slip slip: not call free_netdev before rtnl_unlock in slip_open 2020-03-20 11:55:54 +01:00
team team: fix hang in team_mode_get() 2020-04-29 16:31:22 +02:00
usb net: usb: qmi_wwan: add support for DW5816e 2020-05-14 07:57:18 +02:00
vmxnet3
wan wan: ixp4xx_hss: fix compile-testing on 64-bit 2020-02-24 08:34:46 +01:00
wimax wimax/i2400m: Fix potential urb refcnt leak 2020-05-10 10:30:08 +02:00
wireless brcmfmac: abort and release host after error 2020-05-27 17:37:42 +02:00
xen-netback net: xen-netback: fix return type of ndo_start_xmit function 2019-11-24 08:19:18 +01:00
dummy.c
eql.c
geneve.c net: ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup 2020-04-29 16:31:17 +02:00
gtp.c gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp() 2020-05-27 17:37:33 +02:00
ifb.c
Kconfig geneve: change NET_UDP_TUNNEL dependency to select 2019-12-05 09:21:10 +01:00
LICENSE.SRC
loopback.c
macsec.c net: macsec: preserve ingress frame ordering 2020-05-14 07:57:17 +02:00
macvlan.c macvlan: fix null dereference in macvlan_device_event() 2020-04-29 16:31:20 +02:00
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c failover: Fix error return code in net_failover_create 2019-11-20 18:46:12 +01:00
netconsole.c
nlmon.c
ntb_netdev.c ntb_netdev: fix sleep time mismatch 2019-12-01 09:17:13 +01:00
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c tun: add mutex_unlock() call and napi.skb clearing in tun_get_user() 2020-01-29 16:43:17 +01:00
veth.c
virtio_net.c virtio_net: fix lockdep warning on 32 bit 2020-05-20 08:18:37 +02:00
vrf.c vrf: Check skb for XFRM_TRANSFORMED flag 2020-04-29 16:31:23 +02:00
vsockmon.c
vxlan.c net: ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup 2020-04-29 16:31:17 +02:00
xen-netfront.c