On Sat, Oct 22, 2022 at 12:55:14PM +0000, Oleksandr Mazur wrote: > > > I hope the following script will exemplify what I mean. > .. > Oh, i get it now. > > Frankly speaking we haven't stumbled across such scenario / issue > before. But i can tell it does indeed seems a bit broken; > > I think there are 2 options here: > 1. The setup itself seems insecure, and user should be aware of such behavior / issue; Be aware, and do what? Port locking is unfit for use if learning is left enabled (in the way learning is currently done). > 2. Bridge indeed should not learn MACs if BR_PORT_LOCKED is set. > E.g. learning condition should be something like: not BR_PORT_locked > and learning is on; Rather than violate the BR_LEARNING flag (have it set but do nothing, which would require even more checks in the fast path), I was proposing to not allow the BR_PORT_LOCKED | BR_LEARNING configuration at all. My question to you was if you're aware of any regression in prestera with such a change. > > I don't understand the last step. Why is the BR_PORT_LOCKED flag disabled? > > If disabled, the port will receive frames with any unknown MAC SA, > > not just the authorized ones. > > Sorry for the confusion. Basically, what i described what i would > expect from a daemon (e.g. daemon would disable LOCKED); So just > ignore that part. But still, why would the daemon disable BR_PORT_LOCKED once a station is authorized? You're describing a sample/test application, not a port security solution...