Commit 9a05dde5 authored by Siva Mannem's avatar Siva Mannem Committed by David S. Miller

bridge: Let bridge not age 'externally' learnt FDB entries, they are removed...

bridge: Let bridge not age 'externally' learnt FDB entries, they are removed when 'external' entity notifies the aging

When 'learned_sync' flag is turned on, the offloaded switch
 port syncs learned MAC addresses to bridge's FDB via switchdev notifier
 (NETDEV_SWITCH_FDB_ADD). Currently, FDB entries learnt via this mechanism are
 wrongly being deleted by bridge aging logic. This patch ensures that FDB
 entries synced from offloaded switch ports are not deleted by bridging logic.
 Such entries can only be deleted via switchdev notifier
 (NETDEV_SWITCH_FDB_DEL).
Signed-off-by: default avatarSiva Mannem <siva.mannem.lnx@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4fc9b87b
...@@ -280,7 +280,7 @@ void br_fdb_cleanup(unsigned long _data) ...@@ -280,7 +280,7 @@ void br_fdb_cleanup(unsigned long _data)
hlist_for_each_entry_safe(f, n, &br->hash[i], hlist) { hlist_for_each_entry_safe(f, n, &br->hash[i], hlist) {
unsigned long this_timer; unsigned long this_timer;
if (f->is_static) if (f->is_static || f->added_by_external_learn)
continue; continue;
this_timer = f->updated + delay; this_timer = f->updated + delay;
if (time_before_eq(this_timer, jiffies)) if (time_before_eq(this_timer, jiffies))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment