mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 14:06:51 +07:00
net: dsa: mv88e6xxx: remove all MACs when disabling a port
When we're moving a port from Learning or Forwarding state to Disabled or Blocking or Listening state, remove all non-static MAC addresses mapped to this port in the entire set of databases, not only one. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9f4d55d286
commit
2b8157b1c2
@ -1163,7 +1163,7 @@ static int mv88e6xxx_set_port_state(struct dsa_switch *ds, int port, u8 state)
|
|||||||
*/
|
*/
|
||||||
if (oldstate >= PORT_CONTROL_STATE_LEARNING &&
|
if (oldstate >= PORT_CONTROL_STATE_LEARNING &&
|
||||||
state <= PORT_CONTROL_STATE_BLOCKING) {
|
state <= PORT_CONTROL_STATE_BLOCKING) {
|
||||||
ret = _mv88e6xxx_flush_fid(ds, ps->fid[port]);
|
ret = _mv88e6xxx_atu_remove(ds, 0, port, false);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto abort;
|
goto abort;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user