diff options
author | Nikolay Aleksandrov <nikolay@cumulusnetworks.com> | 2017-02-13 14:59:09 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-02-14 18:41:02 +0100 |
commit | bfd0aeac52f74bfb44c0974131e44abb33a13e78 (patch) | |
tree | 674273a1c6b5c793891030060abf6bc836e6de62 /net/bridge/br_private.h | |
parent | net:dsa:mv88e6xxx: use watchdog ops for 6097 chip (diff) | |
download | linux-bfd0aeac52f74bfb44c0974131e44abb33a13e78.tar.xz linux-bfd0aeac52f74bfb44c0974131e44abb33a13e78.zip |
bridge: fdb: converge fdb searching functions into one
Before this patch we had 3 different fdb searching functions which was
confusing. This patch reduces all of them to one - fdb_find_rcu(), and
two flavors: br_fdb_find() which requires hash_lock and br_fdb_find_rcu
which requires RCU. This makes it clear what needs to be used, we also
remove two abusers of __br_fdb_get which called it under hash_lock and
replace them with br_fdb_find().
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_private.h')
-rw-r--r-- | net/bridge/br_private.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index 1cbbf63a5ef7..61368186edea 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -507,8 +507,9 @@ void br_fdb_change_mac_address(struct net_bridge *br, const u8 *newaddr); void br_fdb_cleanup(struct work_struct *work); void br_fdb_delete_by_port(struct net_bridge *br, const struct net_bridge_port *p, u16 vid, int do_all); -struct net_bridge_fdb_entry *__br_fdb_get(struct net_bridge *br, - const unsigned char *addr, __u16 vid); +struct net_bridge_fdb_entry *br_fdb_find_rcu(struct net_bridge *br, + const unsigned char *addr, + __u16 vid); int br_fdb_test_addr(struct net_device *dev, unsigned char *addr); int br_fdb_fillbuf(struct net_bridge *br, void *buf, unsigned long count, unsigned long off); |