]> git.baikalelectronics.ru Git - kernel.git/commit
net: aquantia: vlan unicast address list correct handling
authorIgor Russkikh <igor.russkikh@aquantia.com>
Thu, 5 Jul 2018 14:01:09 +0000 (17:01 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 6 Jul 2018 02:11:05 +0000 (11:11 +0900)
commit3079a37159d5842d8263b57fe53413a89e8de60a
treec023b7c11e918fbbce8573980040ff487cc56402
parenta3027735b36fb281dce9bc1ce3232048220c6a39
net: aquantia: vlan unicast address list correct handling

Setting up macvlan/macvtap networks over atlantic NIC results
in no traffic over these networks because ndo_set_rx_mode did
not listed UC MACs as registered in unicast filter.

Here we fix that taking into account maximum number of UC
filters supported by hardware. If more than MAX addresses were
registered, we just enable promisc  and/or allmulti to pass
the traffic in.

We also remove MULTICAST_ADDRESS_MAX constant from aq_cfg since
thats not a configurable parameter at all.

Fixes: dc58507 ("net:ethernet:aquantia: Fix for multicast filter handling.")
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/aquantia/atlantic/aq_cfg.h
drivers/net/ethernet/aquantia/atlantic/aq_hw.h
drivers/net/ethernet/aquantia/atlantic/aq_main.c
drivers/net/ethernet/aquantia/atlantic/aq_nic.c
drivers/net/ethernet/aquantia/atlantic/aq_nic.h
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c