[RFC PATCH net-next 09/15] net: bridge: rename fdb_notify to br_fdb_notify
From: Vladimir Oltean <vladimir.oltean@nxp.com>
Date: 2021-10-25 22:25:00
Subsystem:
ethernet bridge, networking [general], the rest · Maintainers:
Nikolay Aleksandrov, Ido Schimmel, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds
This change creates a wrapper over fdb_notify() called br_fdb_notify(), with the same behavior. A future change will introduce another variant, br_fdb_notify_async(), that actually cares about the deferred return code of br_switchdev_fdb_notify(). Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> --- net/bridge/br_fdb.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c
index 421b8960945a..2095bdf24e42 100644
--- a/net/bridge/br_fdb.c
+++ b/net/bridge/br_fdb.c@@ -178,16 +178,12 @@ static inline size_t fdb_nlmsg_size(void) } static void fdb_notify(struct net_bridge *br, - const struct net_bridge_fdb_entry *fdb, int type, - bool swdev_notify) + const struct net_bridge_fdb_entry *fdb, int type) { struct net *net = dev_net(br->dev); struct sk_buff *skb; int err = -ENOBUFS; - if (swdev_notify) - br_switchdev_fdb_notify(br, fdb, type); - skb = nlmsg_new(fdb_nlmsg_size(), GFP_ATOMIC); if (skb == NULL) goto errout;
@@ -205,6 +201,16 @@ static void fdb_notify(struct net_bridge *br, rtnl_set_sk_err(net, RTNLGRP_NEIGH, err); } +static void br_fdb_notify(struct net_bridge *br, + const struct net_bridge_fdb_entry *fdb, int type, + bool swdev_notify) +{ + if (swdev_notify) + br_switchdev_fdb_notify(br, fdb, type); + + fdb_notify(br, fdb, type); +} + static struct net_bridge_fdb_entry *fdb_find_rcu(struct rhashtable *tbl, const unsigned char *addr, __u16 vid)
@@ -322,7 +328,7 @@ static void fdb_delete(struct net_bridge *br, struct net_bridge_fdb_entry *f, hlist_del_init_rcu(&f->fdb_node); rhashtable_remove_fast(&br->fdb_hash_tbl, &f->rhnode, br_fdb_rht_params); - fdb_notify(br, f, RTM_DELNEIGH, swdev_notify); + br_fdb_notify(br, f, RTM_DELNEIGH, swdev_notify); call_rcu(&f->rcu, fdb_rcu_free); }
@@ -428,7 +434,7 @@ static int fdb_add_local(struct net_bridge *br, struct net_bridge_port *source, return -ENOMEM; fdb_add_hw_addr(br, addr); - fdb_notify(br, fdb, RTM_NEWNEIGH, true); + br_fdb_notify(br, fdb, RTM_NEWNEIGH, true); return 0; }
@@ -534,7 +540,7 @@ void br_fdb_cleanup(struct work_struct *work) this_timer - now); else if (!test_and_set_bit(BR_FDB_NOTIFY_INACTIVE, &f->flags)) - fdb_notify(br, f, RTM_NEWNEIGH, false); + br_fdb_notify(br, f, RTM_NEWNEIGH, false); } continue; }
@@ -739,7 +745,7 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source, set_bit(BR_FDB_ADDED_BY_USER, &fdb->flags); if (unlikely(fdb_modified)) { trace_br_fdb_update(br, source, addr, vid, flags); - fdb_notify(br, fdb, RTM_NEWNEIGH, true); + br_fdb_notify(br, fdb, RTM_NEWNEIGH, true); } } } else {
@@ -747,7 +753,7 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source, fdb = fdb_create(br, source, addr, vid, flags); if (fdb) { trace_br_fdb_update(br, source, addr, vid, flags); - fdb_notify(br, fdb, RTM_NEWNEIGH, true); + br_fdb_notify(br, fdb, RTM_NEWNEIGH, true); } /* else we lose race and someone else inserts * it first, don't bother updating
@@ -953,7 +959,7 @@ static int fdb_add_entry(struct net_bridge *br, struct net_bridge_port *source, if (modified) { if (refresh) fdb->updated = jiffies; - fdb_notify(br, fdb, RTM_NEWNEIGH, true); + br_fdb_notify(br, fdb, RTM_NEWNEIGH, true); } spin_unlock_bh(&br->hash_lock);
@@ -1240,7 +1246,7 @@ int br_fdb_external_learn_add(struct net_bridge *br, struct net_bridge_port *p, err = -ENOMEM; goto err_unlock; } - fdb_notify(br, fdb, RTM_NEWNEIGH, swdev_notify); + br_fdb_notify(br, fdb, RTM_NEWNEIGH, swdev_notify); } else { fdb->updated = jiffies;
@@ -1265,7 +1271,7 @@ int br_fdb_external_learn_add(struct net_bridge *br, struct net_bridge_port *p, set_bit(BR_FDB_LOCAL, &fdb->flags); if (modified) - fdb_notify(br, fdb, RTM_NEWNEIGH, swdev_notify); + br_fdb_notify(br, fdb, RTM_NEWNEIGH, swdev_notify); } err_unlock:
--
2.25.1