diff options
author | Dmitry Bogdanov <dmitry.bogdanov@aquantia.com> | 2019-06-22 08:46:37 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-26 13:16:45 -0700 |
commit | 48dd73d08d4dda47ee31cc8611fb16840fc16803 (patch) | |
tree | ad66e3687715511d84a27ba4c88be8f8ad8bb325 /drivers/net/ethernet/aquantia/atlantic/aq_nic.c | |
parent | ipv4: reset rt_iif for recirculated mcast/bcast out pkts (diff) | |
download | linux-dev-48dd73d08d4dda47ee31cc8611fb16840fc16803.tar.xz linux-dev-48dd73d08d4dda47ee31cc8611fb16840fc16803.zip |
net: aquantia: fix vlans not working over bridged network
In configuration of vlan over bridge over aquantia device
it was found that vlan tagged traffic is dropped on chip.
The reason is that bridge device enables promisc mode,
but in atlantic chip vlan filters will still apply.
So we have to corellate promisc settings with vlan configuration.
The solution is to track in a separate state variable the
need of vlan forced promisc. And also consider generic
promisc configuration when doing vlan filter config.
Fixes: 7975d2aff5af ("net: aquantia: add support of rx-vlan-filter offload")
Signed-off-by: Dmitry Bogdanov <dmitry.bogdanov@aquantia.com>
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/aquantia/atlantic/aq_nic.c')
-rw-r--r-- | drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index 0da5e161ec5d..41172fbebddd 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -126,6 +126,7 @@ void aq_nic_cfg_start(struct aq_nic_s *self) cfg->link_speed_msk &= cfg->aq_hw_caps->link_speed_msk; cfg->features = cfg->aq_hw_caps->hw_features; + cfg->is_vlan_force_promisc = true; } static int aq_nic_update_link_status(struct aq_nic_s *self) |