123456789101112131415161718192021222324252627282930313233343536 |
- From dd082716b43a3684b2f473ae5d1e76d1c076d86d Mon Sep 17 00:00:00 2001
- From: Tobias Waldekranz <[email protected]>
- Date: Sat, 16 Jan 2021 02:25:12 +0100
- Subject: [PATCH] net: dsa: Include local addresses in assisted CPU port
- learning
- Add local addresses (i.e. the ports' MAC addresses) to the hardware
- FDB when assisted CPU port learning is enabled.
- NOTE: The bridge's own MAC address is also "local". If that address is
- not shared with any port, the bridge's MAC is not be added by this
- functionality - but the following commit takes care of that case.
- Signed-off-by: Tobias Waldekranz <[email protected]>
- ---
- net/dsa/slave.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
- --- a/net/dsa/slave.c
- +++ b/net/dsa/slave.c
- @@ -2192,10 +2192,12 @@ static int dsa_slave_switchdev_event(str
- fdb_info = ptr;
-
- if (dsa_slave_dev_check(dev)) {
- - if (!fdb_info->added_by_user)
- - return NOTIFY_OK;
- -
- dp = dsa_slave_to_port(dev);
- +
- + if (fdb_info->local && dp->ds->assisted_learning_on_cpu_port)
- + dp = dp->cpu_dp;
- + else if (!fdb_info->added_by_user)
- + return NOTIFY_OK;
- } else {
- /* Snoop addresses learnt on foreign interfaces
- * bridged with us, for switches that don't
|