Re: [PATCH v5 net-next 1/6] net: bridge: add locked entry fdb flag to extend locked port feature

netdev
2022-08-29T11:10:28Z

> On 2022-08-27 13:30, Nikolay Aleksandrov wrote:

>> @@ -879,6 +888,10 @@ void br_fdb_update(struct net_bridge *br, struct
>> net_bridge_port *source,
>> &fdb->flags)))
>> clear_bit(BR_FDB_ADDED_BY_EXT_LEARN,
>> &fdb->flags);
>> + if (source->flags & BR_PORT_MAB)
>> + set_bit(BR_FDB_ENTRY_LOCKED, &fdb->flags);
>> + else
>> + clear_bit(BR_FDB_ENTRY_LOCKED, &fdb->flags);
> Please add a test for that bit and only then change it.
>

Something like this?

@@ -749,6 +756,12 @@ void br_fdb_update(struct net_bridge *br, struct
net_bridge_port *source,
&fdb->flags)))

clear_bit(BR_FDB_ADDED_BY_EXT_LEARN,
&fdb->flags);
+ if
(unlikely(test_bit(BR_FDB_ENTRY_LOCKED, &fdb->flags))) {
+ if (!(source->flags &
BR_PORT_MAB))
+
clear_bit(BR_FDB_ENTRY_LOCKED, &fdb->flags);
+ } else
+ if (source->flags & BR_PORT_MAB)
+
set_bit(BR_FDB_ENTRY_LOCKED, &fdb->flags);
}

if (unlikely(test_bit(BR_FDB_ADDED_BY_USER,
&flags)))