On Mon, Mar 15, 2021 at 01:44:02PM -0700, Florian Fainelli wrote: > On 3/15/2021 1:09 PM, Vladimir Oltean wrote: > > On Mon, Mar 15, 2021 at 01:03:10PM -0700, Florian Fainelli wrote: > >> > >> > >> On 3/15/2021 10:09 AM, DENG Qingfang wrote: > >>> Support port MDB and bridge flag operations. > >>> > >>> As the hardware can manage multicast forwarding itself, offload_fwd_mark > >>> can be unconditionally set to true. > >>> > >>> Signed-off-by: DENG Qingfang <dqf...@gmail.com> > >>> --- > >>> Changes since RFC: > >>> Replaced BR_AUTO_MASK with BR_FLOOD | BR_LEARNING > >>> > >>> drivers/net/dsa/mt7530.c | 124 +++++++++++++++++++++++++++++++++++++-- > >>> drivers/net/dsa/mt7530.h | 1 + > >>> net/dsa/tag_mtk.c | 14 +---- > >>> 3 files changed, 122 insertions(+), 17 deletions(-) > >>> > >>> diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c > >>> index 2342d4528b4c..f765984330c9 100644 > >>> --- a/drivers/net/dsa/mt7530.c > >>> +++ b/drivers/net/dsa/mt7530.c > >>> @@ -1000,8 +1000,9 @@ mt753x_cpu_port_enable(struct dsa_switch *ds, int > >>> port) > >>> mt7530_write(priv, MT7530_PVC_P(port), > >>> PORT_SPEC_TAG); > >>> > >>> - /* Unknown multicast frame forwarding to the cpu port */ > >>> - mt7530_rmw(priv, MT7530_MFC, UNM_FFP_MASK, UNM_FFP(BIT(port))); > >>> + /* Disable flooding by default */ > >>> + mt7530_rmw(priv, MT7530_MFC, BC_FFP_MASK | UNM_FFP_MASK | UNU_FFP_MASK, > >>> + BC_FFP(BIT(port)) | UNM_FFP(BIT(port)) | UNU_FFP(BIT(port))); > >> > >> It's not clear to me why this is appropriate especially when the ports > >> operated in standalone mode, can you expand a bit more on this? > > > > We are in the function called "mt753x_cpu_port_enable" here. It's ok to > > apply this config for the CPU port. > > Because the user ports will flood unknown traffic and we have mediatek > tags enabled presumably, so all traffic is copied to the CPU port, OK.
Actually this is just how Qingfang explained it: https://patchwork.kernel.org/project/netdevbpf/patch/20210224081018.24719-1-dqf...@gmail.com/ I just assume that MT7530/7531 switches don't need to enable flooding on user ports when the only possible traffic source is the CPU port - the CPU port can inject traffic into any port regardless of egress flooding setting. If that's not true, I don't see how traffic in standalone ports mode would work after this patch.