net: bridge: fdb: use the entry key in __fdb_update

The address and VLAN ID passed to __fdb_update() match the key of the entry
just found, so we can just use it.

Signed-off-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20261005143937.877466-7-razor@blackwall.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Nikolay Aleksandrov 2026-10-05 17:39:37 +03:00 committed by Jakub Kicinski
parent d65082c8bf
commit 8f8a20dc7b

View File

@ -1000,7 +1000,6 @@ static void __fdb_update(struct net_bridge *br,
struct net_bridge_fdb_entry *fdb,
struct net_bridge_port *source,
struct net_bridge_dst dst,
const unsigned char *addr, u16 vid,
unsigned long flags)
{
struct net_bridge_port *old_port;
@ -1012,7 +1011,8 @@ static void __fdb_update(struct net_bridge *br,
if (unlikely(test_bit(BR_FDB_LOCAL, &fdb->flags))) {
if (net_ratelimit())
br_warn(br, "received packet on %s with own address as source address (addr:%pM, vlan:%u)\n",
source->dev->name, addr, vid);
source->dev->name, fdb->key.addr.addr,
fdb->key.vlan_id);
return;
}
@ -1055,7 +1055,8 @@ static void __fdb_update(struct net_bridge *br,
}
if (unlikely(fdb_modified)) {
trace_br_fdb_update(br, source, addr, vid, flags);
trace_br_fdb_update(br, source, fdb->key.addr.addr,
fdb->key.vlan_id, flags);
fdb_notify(br, fdb, RTM_NEWNEIGH, true);
}
}
@ -1075,7 +1076,7 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source,
fdb = fdb_find_rcu(&br->fdb_hash_tbl, addr, vid);
if (likely(fdb)) {
__fdb_update(br, fdb, source, dst, addr, vid, flags);
__fdb_update(br, fdb, source, dst, flags);
} else {
spin_lock(&br->hash_lock);
fdb = fdb_create(br, dst, addr, vid, flags);