mirror_ubuntu-kernels/drivers/net/ethernet/intel
Alexander Duyck c9f53e63c2 ixgbe: Refactor MAC address configuration code
In the process of tracking down a memory leak when adding/removing FDB
entries I had to go through the MAC address configuration code for ixgbe.
In the process of doing so I found a number of issues that impacted
readability and performance.  This change updates the code in general to
clean it up so it becomes clear what each step is doing.  From what I can
tell there a couple of bugs cleaned up in this code.

First is the fact that the MAC addresses were being double counted for the
PF.  As a result once entries up to 63 had been used you could no longer
add additional filters.

A simple test case for this:
  for i in `seq 0 96`
  do
    ip link add link ens8 name mv$i type macvlan
    ip link set dev mv$i up
  done

Test script:
  ethregs -s 0:8.0 | grep -e "RAH" | grep 8000....$

When things are working correctly RAL/H registers 1 - 97 will be consumed.
In the failing case it will stop at 63 and prevent any further filters from
being added.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Tested-by: Darin Miller <darin.j.miller@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-12-03 02:32:09 -08:00
..
e1000 drivers/net/intel: use napi_complete_done() 2015-10-16 04:33:46 -07:00
e1000e drivers/net/intel: use napi_complete_done() 2015-10-16 04:33:46 -07:00
fm10k fm10k: use napi_schedule_irqoff() 2015-11-25 10:05:54 -08:00
i40e i40e: remove unused argument 2015-12-01 22:59:05 -08:00
i40evf i40e/i40evf: Bump i40e version to 1.4.4 and i40evf to 1.4.1 2015-12-01 22:57:04 -08:00
igb drivers/net/intel: use napi_complete_done() 2015-10-16 04:33:46 -07:00
igbvf drivers/net/intel: use napi_complete_done() 2015-10-16 04:33:46 -07:00
ixgb drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
ixgbe ixgbe: Refactor MAC address configuration code 2015-12-03 02:32:09 -08:00
ixgbevf ixgbevf: Minor cleanups 2015-12-03 02:32:08 -08:00
e100.c e100: Release skb when DMA mapping is failed in e100_xmit_prepare 2015-08-18 14:06:05 -07:00
Kconfig drivers/net: remove all references to obsolete Ethernet-HOWTO 2015-06-23 06:50:35 -07:00
Makefile fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver 2014-09-23 03:59:13 -07:00