OSDN Git Service

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)
commit94b3b542303f3055c326df74ef144a8a790d7d7f
treec023b7c11e918fbbce8573980040ff487cc56402
parent96f1206d10c63df64260be94536474a1b904f356
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: b21f502 ("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