On 2022-10-20 15:02, Vladimir Oltean wrote:
--- a/net/dsa/port.c +++ b/net/dsa/port.c @@ -304,7 +304,7 @@ static int dsa_port_inherit_brport_flags(struct dsa_port *dp, struct netlink_ext_ack *extack) { const unsigned long mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
BR_BCAST_FLOOD | BR_PORT_LOCKED;
struct net_device *brport_dev = dsa_port_to_bridge_port(dp); int flag, err;BR_BCAST_FLOOD;
@@ -328,7 +328,7 @@ static void dsa_port_clear_brport_flags(struct dsa_port *dp) { const unsigned long val = BR_FLOOD | BR_MCAST_FLOOD | BR_BCAST_FLOOD; const unsigned long mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
BR_BCAST_FLOOD | BR_PORT_LOCKED;
BR_BCAST_FLOOD | BR_PORT_LOCKED | BR_PORT_MAB;
Why does the mask of cleared brport flags differ from the one of set brport flags, and what/where is the explanation for this change?
I guess you mean, why it differs from the inherit flag mask list?
If so it is explained in the update to v7 in 00/12.