Re: [PATCH 4.19.y] net: dsa: mt7530: disable learning on standalone ports

From: Greg KH
Date: Tue Sep 07 2021 - 11:18:25 EST


On Fri, Sep 03, 2021 at 05:14:30PM +0800, DENG Qingfang wrote:
> On Thu, Sep 02, 2021 at 07:58:37AM +0200, Greg KH wrote:
> > On Thu, Sep 02, 2021 at 01:36:19PM +0800, DENG Qingfang wrote:
> > > On Fri, Aug 27, 2021 at 12:19:23PM +0200, Greg KH wrote:
> > > > On Tue, Aug 24, 2021 at 11:57:53PM +0800, DENG Qingfang wrote:
> > > > > Standalone ports should have address learning disabled, according to
> > > > > the documentation:
> > > > > https://www.kernel.org/doc/html/v5.14-rc7/networking/dsa/dsa.html#bridge-layer
> > > > > dsa_switch_ops on 5.10 or earlier does not have .port_bridge_flags
> > > > > function so it has to be done differently.
> > > > >
> > > > > I've identified an issue related to this.
> > > >
> > > > What issue is that? Where was it reported?
> > >
> > > See Florian's message here
> > > https://lore.kernel.org/stable/20210317003549.3964522-2-f.fainelli@xxxxxxxxx/
> >
> > THat is just the patch changelog text, or is it unique to this
> > stable-only patch? It is not obvious at all.
>
> The issue is with all DSA drivers that do not disable address learning
> on standalone ports.
>
> "With learning enabled we would end up with the switch having
> incorrectly learned the address of the CPU port which typically results
> in a complete break down of network connectivity until the address
> learned ages out and gets re-learned, from the correct port this time."
>
> >
> > > > > > 2. A partial backport of this patch?
> > > > >
> > > > > The other part does not actually fix anything.
> > > >
> > > > Then why is it not ok to just take the whole thing?
> > > >
> > > > When backporting not-identical-patches, something almost always goes
> > > > wrong, so we prefer to take the original commit when ever possible.
> > >
> > > Okay. MDB and tag ops can be backported as is, and broadcast/multicast
> > > flooding can be implemented in .port_egress_floods.
> >
> > So what are we supposed to do here?
>
> Function port_egress_floods is refactored to port_bridge_flags in commit
> a8b659e7ff75 ("net: dsa: act as passthrough for bridge port flags"). I can
> backport the mt7530_port_bridge_flags function as port_egress_floods.

I am sorry, I still do not understand what to do here.

Ideally we want to take the original patches as get merged into Linus's
tree. If that is not possible for some reason, we need to have it
documented very well why that is so, and to get everyone to agree with
the different patch that is submitted.

thanks,

greg k-h