net: bridge: Add support for calling FDB external learning under rcu
This is done as a preparation to moving the switchdev notifier chain to be atomic. The FDB external learning should be called under rtnl or rcu. Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com> Reviewed-by: Ido Schimmel <idosch@mellanox.com> Reviewed-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
3922285d96
commit
0baa10fff2
@@ -284,6 +284,12 @@ static inline struct net_bridge_port *br_port_get_rtnl(const struct net_device *
|
||||
rtnl_dereference(dev->rx_handler_data) : NULL;
|
||||
}
|
||||
|
||||
static inline struct net_bridge_port *br_port_get_rtnl_rcu(const struct net_device *dev)
|
||||
{
|
||||
return br_port_exists(dev) ?
|
||||
rcu_dereference_rtnl(dev->rx_handler_data) : NULL;
|
||||
}
|
||||
|
||||
struct net_bridge {
|
||||
spinlock_t lock;
|
||||
spinlock_t hash_lock;
|
||||
|
Reference in New Issue
Block a user