Files
linux/drivers
Michal Schmidt a02cc9d3cc bnx2x: allow adding VLANs while interface is down
Since implementing VLAN filtering in commit 05cc5a39dd
("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>
2016-06-05 23:11:39 -04:00
..
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-31 11:52:59 -07:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-28 17:37:42 +02:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-29 22:32:27 -07:00
2016-05-20 18:33:37 -07:00
2016-05-27 15:26:11 -07:00
2016-05-10 01:19:26 -07:00
2016-05-27 15:26:11 -07:00