net: bridge: fdb_add_entry takes ndm as argument
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Tue, 23 Jun 2020 20:47:15 +0000 (23:47 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Jun 2020 21:36:33 +0000 (14:36 -0700)
We can just pass ndm as an argument instead of its fields separately.

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_fdb.c

index 4877a0d..ed80d9a 100644 (file)
@@ -793,11 +793,11 @@ errout:
 
 /* Update (create or replace) forwarding database entry */
 static int fdb_add_entry(struct net_bridge *br, struct net_bridge_port *source,
-                        const u8 *addr, u16 state, u16 flags, u16 vid,
-                        u8 ndm_flags)
+                        const u8 *addr, struct ndmsg *ndm, u16 flags, u16 vid)
 {
-       bool is_sticky = !!(ndm_flags & NTF_STICKY);
+       bool is_sticky = !!(ndm->ndm_flags & NTF_STICKY);
        struct net_bridge_fdb_entry *fdb;
+       u16 state = ndm->ndm_state;
        bool modified = false;
 
        /* If the port cannot learn allow only local and static entries */
@@ -893,8 +893,7 @@ static int __br_fdb_add(struct ndmsg *ndm, struct net_bridge *br,
                err = br_fdb_external_learn_add(br, p, addr, vid, true);
        } else {
                spin_lock_bh(&br->hash_lock);
-               err = fdb_add_entry(br, p, addr, ndm->ndm_state,
-                                   nlh_flags, vid, ndm->ndm_flags);
+               err = fdb_add_entry(br, p, addr, ndm, nlh_flags, vid);
                spin_unlock_bh(&br->hash_lock);
        }