From: DENG Qingfang <dqf...@gmail.com> Date: Wed, 13 May 2020 23:10:16 +0800
> 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: b8f126a8d543 ("net-next: dsa: add dsa support for Mediatek MT7530 > switch") > Signed-off-by: DENG Qingfang <dqf...@gmail.com> Applied and queued up for -stable, thanks.