On Tue, Apr 18, 2023 at 06:59:02PM +0300, Vladimir Oltean wrote:
> diff --git a/net/bridge/br_switchdev.c b/net/bridge/br_switchdev.c
> index de18e9c1d7a7..ba95c4d74a60 100644
> --- a/net/bridge/br_switchdev.c
> +++ b/net/bridge/br_switchdev.c
> @@ -148,6 +148,17 @@ br_switchdev_fdb_notify(struct net_bridge *br,
>       if (test_bit(BR_FDB_LOCKED, &fdb->flags))
>               return;

Thanks for the patch. Ran a few tests and looks fine. Will report full
results tomorrow morning.

>  
> +     /* Entries with these flags were created using ndm_state == 
> NUD_REACHABLE,
> +      * ndm_flags == NTF_MASTER( | NTF_STICKY), ext_flags == 0 by something
> +      * equivalent to 'bridge fdb add ... master dynamic (sticky)'.
> +      * Drivers don't know how to deal with these, so don't notify them to
> +      * avoid confusing them.
> +      */
> +     if (test_bit(BR_FDB_ADDED_BY_USER, &fdb->flags) &&
> +         !test_bit(BR_FDB_STATIC, &fdb->flags) &&
> +         !test_bit(BR_FDB_ADDED_BY_EXT_LEARN, &fdb->flags))
> +             return;
> +
>       br_switchdev_fdb_populate(br, &item, fdb, NULL);
>  
>       switch (type) {
> -- 
> 2.34.1
> 

Reply via email to