diff options
| author | Jonas Gorski <jonas.gorski@gmail.com> | 2025-12-17 21:57:56 +0100 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2025-12-27 17:17:32 +0100 |
| commit | d42bce414d1c5c0b536758466a1f63ac358e613c (patch) | |
| tree | 64ab9aaf84f4c8364c0973e0b9771f5ea6463d86 /drivers | |
| parent | 352df98b7b4f94a2e0e1265d469c0926a6d1b282 (diff) | |
net: dsa: b53: skip multicast entries for fdb_dump()
port_fdb_dump() is supposed to only add fdb entries, but we iterate over
the full ARL table, which also includes multicast entries.
So check if the entry is a multicast entry before passing it on to the
callback().
Additionally, the port of those entries is a bitmask, not a port number,
so any included entries would have even be for the wrong port.
Fixes: 1da6df85c6fb ("net: dsa: b53: Implement ARL add/del/dump operations")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20251217205756.172123-1-jonas.gorski@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/dsa/b53/b53_common.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c index a1a177713d99..2c4131ed7e30 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -2169,6 +2169,9 @@ static int b53_fdb_copy(int port, const struct b53_arl_entry *ent, if (!ent->is_valid) return 0; + if (is_multicast_ether_addr(ent->mac)) + return 0; + if (port != ent->port) return 0; |
