Re: [PATCH v8 net-next 10/12] net: dsa: mv88e6xxx: mac-auth/MAB implementation

netdev
2022-10-22T13:16:35Z

On 2022-10-22 14:02, Vladimir Oltean wrote:
> On Sat, Oct 22, 2022 at 09:24:56AM +0200, netdev@kapio-technology.com
> wrote:
>> I will not say that you are not making sense as for the mv88e6xxx, as
>> it
>> needs port association in all cases with BR_PORT_LOCKED, MAB or not,
>> and
>> port association is turned on in the driver with learning turned on.
>>
>> That said, there must be some resolution and agreement overall with
>> this
>> issue to move on. Right now port association is turned on in the
>> mv88e6xxx
>> driver when locking the port, thus setting learning off after locking
>> will
>> break things.
>
> This already needs to be treated as a bug and fixed on its own. Forget
> about MAB.
>
> You're saying that when BR_LEARNING=on and BR_PORT_LOCKED=on, the
> mv88e6xxx driver works properly, but the software bridge is broken
> (learns from link-local multicast).
>
> When BR_LEARNING=off and BR_PORT_LOCKED=on, the software bridge is not
> broken, but the mv88e6xxx driver is, because it requires the PAV
> configured properly.
>
> And you're saying that I'm the one who suggests things should work
> differently in software mode vs offloaded mode?!

Well :-) To be specific, I am talking about how things work from a user
perspective, where I have kept to BR_LEARNING off before turning
BR_PORT_LOCKED on.

I admit to a weakness in that BR_LEARNING off after BR_PORT_LOCKED on is
a problem that from my perspective at this point would be a user error.

>
> Why don't you
> (a) deny BR_LEARNING + BR_PORT_LOCKED in the bridge layer
> (b) fix the mv88e6xxx driver to always keep the assoc_vector set
> properly for the port, if BR_LEARNING *or* BR_PORT_LOCKED is set?

(a) yes, I have thought that documentation could handle this, but maybe
you are right, maybe it should be enforced...
(b) BR_PORT_LOCKED ensures now that the PAV is correctly set, so I have
basically distinguished between learning and port association (which
I know mechanically is the same in mv88e6xxx), but still I have
adhered to learning off while port association is on for the port.