Without this patch we have to manually bring up the CPU interface in
failsafe mode.
This was backported from kernel 5.12.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 2e17c71095)
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			945 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			945 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 0663ebde114a6fb2c28c622ba5212b302d4d2581 Mon Sep 17 00:00:00 2001
 | 
						|
From: Tobias Waldekranz <tobias@waldekranz.com>
 | 
						|
Date: Sat, 16 Jan 2021 02:25:13 +0100
 | 
						|
Subject: [PATCH] net: dsa: Include bridge addresses in assisted CPU port
 | 
						|
 learning
 | 
						|
 | 
						|
Now that notifications are sent out for addresses added to the bridge
 | 
						|
itself, extend DSA to include those addresses in the hardware FDB when
 | 
						|
assisted CPU port learning is enabled.
 | 
						|
 | 
						|
Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
 | 
						|
---
 | 
						|
 net/dsa/slave.c | 6 +++++-
 | 
						|
 1 file changed, 5 insertions(+), 1 deletion(-)
 | 
						|
 | 
						|
--- a/net/dsa/slave.c
 | 
						|
+++ b/net/dsa/slave.c
 | 
						|
@@ -1714,7 +1714,11 @@ static int dsa_slave_switchdev_event(str
 | 
						|
 			struct net_device *br_dev;
 | 
						|
 			struct dsa_slave_priv *p;
 | 
						|
 
 | 
						|
-			br_dev = netdev_master_upper_dev_get_rcu(dev);
 | 
						|
+			if (netif_is_bridge_master(dev))
 | 
						|
+				br_dev = dev;
 | 
						|
+			else
 | 
						|
+				br_dev = netdev_master_upper_dev_get_rcu(dev);
 | 
						|
+
 | 
						|
 			if (!br_dev)
 | 
						|
 				return NOTIFY_DONE;
 | 
						|
 
 |