eth: fbnic: set IFF_UNICAST_FLT to avoid enabling promiscuous mode when adding unicast addrs
I realized when we were adding unicast addresses we were enabling
promiscuous mode. I did a bit of digging and realized we had overlooked
setting the driver private flag to indicate we supported unicast filtering.
Example below shows the table with
00deadbeef01 as the main NIC address,
and 5 additional addresses in the 00deadbeefX0 format.
# cat $dbgfs/mac_addr
Idx S TCAM Bitmap Addr/Mask
----------------------------------
00 0
00000000,
00000000 000000000000
000000000000
01 0
00000000,
00000000 000000000000
000000000000
02 0
00000000,
00000000 000000000000
000000000000
...
24 0
00000000,
00000000 000000000000
000000000000
25 1
00100000,
00000000 00deadbeef50
000000000000
26 1
00100000,
00000000 00deadbeef40
000000000000
27 1
00100000,
00000000 00deadbeef30
000000000000
28 1
00100000,
00000000 00deadbeef20
000000000000
29 1
00100000,
00000000 00deadbeef10
000000000000
30 1
00100000,
00000000 00deadbeef01
000000000000
31 0
00000000,
00000000 000000000000
000000000000
Before rule 31 would be active. With this change it correctly sticks
to just the unicast filters.
Signed-off-by: Alexander Duyck <alexanderduyck@meta.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250204010038.1404268-2-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>