diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2016-06-03 15:32:18 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-06-05 23:11:39 -0400 |
commit | a02cc9d3cc9f98905df214d4a57e5918473260ea (patch) | |
tree | 0c8be24664953074fd8dd2876e278cb07abee0cd /tools/testing/selftests/net/reuseport_bpf.c | |
parent | Merge tag 'wireless-drivers-for-davem-2016-06-04' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers (diff) | |
download | linux-dev-a02cc9d3cc9f98905df214d4a57e5918473260ea.tar.xz linux-dev-a02cc9d3cc9f98905df214d4a57e5918473260ea.zip |
bnx2x: allow adding VLANs while interface is down
Since implementing VLAN filtering in commit 05cc5a39ddb74
("bnx2x: add vlan filtering offload") bnx2x refuses to add a VLAN while
the interface is down:
# ip link add link enp3s0f0 enp3s0f0_10 type vlan id 10
RTNETLINK answers: Bad address
and in dmesg (with bnx2x.debug=0x20):
bnx2x: [bnx2x_vlan_rx_add_vid:12941(enp3s0f0)]Ignoring VLAN
configuration the interface is down
Other drivers have no problem with this.
Fix this peculiar behavior in the following way:
- Accept requests to add/kill VID regardless of the device state.
Maintain the requested list of VIDs in the bp->vlan_reg list.
- If the device is up, try to configure the VID list into the hardware.
If we run out of VLAN credits or encounter a failure configuring an
entry, fall back to accepting all VLANs.
If we successfully configure all entries from the list, turn the
fallback off.
- Use the same code for reconfiguring VLANs during NIC load.
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Acked-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions