]> git.baikalelectronics.ru Git - kernel.git/commit
ixgbe: Simplify configuration of setting VLVF and VLVFB
authorAlexander Duyck <aduyck@mirantis.com>
Tue, 3 Nov 2015 01:09:54 +0000 (17:09 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 12 Dec 2015 09:25:48 +0000 (01:25 -0800)
commita58becdaa1347867b6e4a328b119a32071066eae
tree9c401aaf98226e4331a291e78eadb4be17fba6ea
parentbbbd2f0d6c53d06d00578107bc8ef1a450f1b80b
ixgbe: Simplify configuration of setting VLVF and VLVFB

This patch addresses several issues within the VLVF and VLVFB
configuration

First was the fact that code was overly complicated with multiple
conditional paths depending on if we adding or removing and which bit we
were going to add or remove.  Instead of messing with all that I have
simplified it by using (vid / 32) and (1 - vid / 32) to identify our
register and the other vlvfb register.

Second was the fact that we were likely leaking a few packets into the PF
in cases where we were deleting an entry and the VFTA filter for that entry
as the ordering was such that we deleted the pool and then the VLAN filter
instead of the other way around.  I have updated that by adding a check for
no bits being set and if that occurs we clear things up in the proper
order.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c