linux_dsm_epyc7002/drivers/net/ethernet/intel
Jacob Keller 489a326507 i40e: move all updates for VLAN mode into i40e_sync_vsi_filters
In a similar fashion to how we handled exiting VLAN mode, move the logic
in i40e_vsi_add_vlan into i40e_sync_vsi_filters. Extract this logic into
its own function for ease of understanding as it will become quite
complex.

The new function, i40e_correct_mac_vlan_filters() correctly updates all
filters for when we need to enter VLAN mode, exit VLAN mode, and also
enforces the PVID when assigned.

Call i40e_correct_mac_vlan_filters from i40e_sync_vsi_filters passing it
the number of active VLAN filters, and the two temporary lists.

Remove the function for updating VLAN=0 filters from i40e_vsi_add_vlan.

The end result is that the logic for entering and exiting VLAN mode is
in one location which has the most knowledge about all filters. This
ensures that we always correctly have the non-VLAN filters assigned to
VID=0 or VID=-1 regardless of how we ended up getting to this result.

Additionally this enforces the PVID at sync time so that we know for
certain that an assigned PVID results in only filters with that PVID
will be added to the firmware.

Change-ID: I895cee81e9c92d0a16baee38bd0ca51bbb14e372
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-12-06 21:38:24 -08:00
..
e1000 ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
e1000e ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
fm10k ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
i40e i40e: move all updates for VLAN mode into i40e_sync_vsi_filters 2016-12-06 21:38:24 -08:00
i40evf i40e: Add functions which apply correct PHY access method for read and write operation 2016-12-06 21:09:39 -08:00
igb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
igbvf Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
ixgb ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
ixgbe Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
ixgbevf Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
e100.c ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
Kconfig ixgbe: Replace ndo_add/del_vxlan_port with ndo_add/del_udp_enc_port 2016-06-17 20:23:30 -07:00
Makefile fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver 2014-09-23 03:59:13 -07:00