linux/drivers/net/ethernet/intel
Jacob Keller 3c6a67dd66 fm10k: setup VLANs for l2 accelerated macvlan interfaces
We have support for accelerating macvlan devices via the
.ndo_dfwd_add_station() netdev op. These accelerated macvlan MAC
addresses are stored in the l2_accel structure, separate from the
unicast or multicast address lists.

If a VLAN is added on top of the macvlan device by the stack, traffic
will not properly flow to the macvlan. This occurs because we fail to
setup the VLANs for l2_accel MAC addresses.

In the non-offloaded case the MAC address is added to the unicast
address list, and thus the normal setup for enabling VLANs works as
expected.

We also need to add VLANs marked from .ndo_vlan_rx_add_vid() into the
l2_accel MAC addresses. Otherwise, VLAN traffic will not properly be
received by the VLAN devices attached to the offloaded macvlan devices.

Fix this by adding necessary logic to setup VLANs not only for the
unicast and multicast addresses, but also the l2_accel list. We need
similar logic in dfwd_add_station, dfwd_del_station, fm10k_update_vid,
and fm10k_restore_rx_state.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Krishneil Singh <krishneil.k.singh@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-05-09 07:12:03 -07:00
..
e1000 net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
e1000e net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
fm10k fm10k: setup VLANs for l2 accelerated macvlan interfaces 2018-05-09 07:12:03 -07:00
i40e i40e: use %pI4b instead of byte swapping before dev_err 2018-04-30 09:34:19 -07:00
i40evf i40evf: Fix turning TSO, GSO and GRO on after 2018-04-30 09:19:55 -07:00
ice ice: Fix insufficient memory issue in ice_aq_manage_mac_read 2018-04-24 12:27:49 -07:00
igb net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
igbvf net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgb net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbevf net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
e100.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
Kconfig ice: Add basic driver framework for Intel(R) E800 Series 2018-03-26 08:28:02 -07:00
Makefile ice: Add basic driver framework for Intel(R) E800 Series 2018-03-26 08:28:02 -07:00