b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | From 0663ebde114a6fb2c28c622ba5212b302d4d2581 Mon Sep 17 00:00:00 2001 |
| 2 | From: Tobias Waldekranz <tobias@waldekranz.com> |
| 3 | Date: Sat, 16 Jan 2021 02:25:13 +0100 |
| 4 | Subject: [PATCH] net: dsa: Include bridge addresses in assisted CPU port |
| 5 | learning |
| 6 | |
| 7 | Now that notifications are sent out for addresses added to the bridge |
| 8 | itself, extend DSA to include those addresses in the hardware FDB when |
| 9 | assisted CPU port learning is enabled. |
| 10 | |
| 11 | Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> |
| 12 | --- |
| 13 | net/dsa/slave.c | 6 +++++- |
| 14 | 1 file changed, 5 insertions(+), 1 deletion(-) |
| 15 | |
| 16 | --- a/net/dsa/slave.c |
| 17 | +++ b/net/dsa/slave.c |
| 18 | @@ -1710,7 +1710,11 @@ static int dsa_slave_switchdev_event(str |
| 19 | struct net_device *br_dev; |
| 20 | struct dsa_slave_priv *p; |
| 21 | |
| 22 | - br_dev = netdev_master_upper_dev_get_rcu(dev); |
| 23 | + if (netif_is_bridge_master(dev)) |
| 24 | + br_dev = dev; |
| 25 | + else |
| 26 | + br_dev = netdev_master_upper_dev_get_rcu(dev); |
| 27 | + |
| 28 | if (!br_dev) |
| 29 | return NOTIFY_DONE; |
| 30 | |