ixgbe: Add support for mixed PF/VF virtualization
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest11 patches 12 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/11 | ixgbe: Return error on failure to allocate mac_tabledrivers/ | +2 | 1 reply | |
| 2/11 | ixgbe: Fix SR-IOV VLAN pool configurationdrivers/ | +2 | 1 reply | |
| 3/11 | ixgbe: Simplify definitions for regidx and bit in set_vftadrivers/ | +19 | 1 reply | |
| 4/11 | ixgbe: Reduce VT code indent in set_vfta by introducing jump labeldrivers/ | +70 | 1 reply | |
| 5/11 | ixgbe: Simplify configuration of setting VLVF and VLVFBdrivers/ | +34 | 1 reply | |
| 6/11 | ixgbe: Add support for adding/removing VLAN on PF bypassing the VLVFdrivers/ drivers/ drivers/ +3 more | +38 | 1 reply | |
| 7/11 | ixgbe: Reorder search to work from the top down instead of bottom updrivers/ | +19 | 1 reply | |
| 8/11 | ixgbe: Add support for VLAN promiscuous with SR-IOVdrivers/ drivers/ | +129 | 1 reply | |
| 9/11 | ixgbe: Fix VLAN promisc in relation to SR-IOVdrivers/ drivers/ drivers/ | +72 | 1 reply | |
| 10/11 | ixgbe: Clear stale pool mappingsdrivers/ drivers/ drivers/ | +18 | 1 reply | |
| 11/11 | ixgbe: Clean stale VLANs when changing port vlan or resettingdrivers/ | +72 | 1 reply |
Reviews trailers per patch
None of the 11 patches has a Reviewed-by or Acked-by.
| Patch | Phil Schmitt |
|---|---|
| 1/11 | T-b |
| 2/11 | T-b |
| 3/11 | T-b |
| 4/11 | T-b |
| 5/11 | T-b |
| 6/11 | T-b |
| 7/11 | T-b |
| 8/11 | T-b |
| 9/11 | T-b |
| 10/11 | T-b |
| 11/11 | T-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [next PATCH 00/11] ixgbe: Add support for mixed PF/VF virtualization
This patch series extends the abilities of the ixgbe driver so that we can now support VLAN trunking on top of the PF when SR-IOV is enabled. By doing this we are able to extend the existing capabilities that were enabled with the "bridge fdb add" support that was added some time ago. It had enabled the ability to have PF and VF mixed on a flat network, this makes it so that it also works on a VLAN enabled network.
The first few patches in this series are basically just cleanup. They either fix bugs found in the code, or address complexity that was making it hard to either read or sort out exactly how the code was supposed to work.
The second half of the patch set is where we start adding features. Specifically with this patch set the VLAN behavior changes for the PF in two ways. First we do not need to use the VLVF if the VFs have not already set up a pool list. As such I added functionality so that we can skip that step when it is not needed. Then I added support for VLAN promiscuous by simply setting all of the bits in the VFTA and letting the packets fall through to the default pool. In addition when in promiscuous mode we set the pool bit for the PF in all of the VLVF entries. This way if anyone adds a new entry it will automatically have the PF enabled.
The last few patches address some more issues I found during testing. The issues were primarily related to stale entries floating around in either the RAR or VLVFB registers which were pointing to pools which were not valid for the given L2 address.
---
Alexander Duyck (11):
ixgbe: Return error on failure to allocate mac_table
ixgbe: Fix SR-IOV VLAN pool configuration
ixgbe: Simplify definitions for regidx and bit in set_vfta
ixgbe: Reduce VT code indent in set_vfta by introducing jump label
ixgbe: Simplify configuration of setting VLVF and VLVFB
ixgbe: Add support for adding/removing VLAN on PF bypassing the VLVF
ixgbe: Reorder search to work from the top down instead of bottom up
ixgbe: Add support for VLAN promiscuous with SR-IOV
ixgbe: Fix VLAN promisc in relation to SR-IOV
ixgbe: Clear stale pool mappings
ixgbe: Clean stale VLANs when changing port vlan or resetting
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c | 3 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 10 + drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 236 ++++++++++------------- drivers/net/ethernet/intel/ixgbe/ixgbe_common.h | 2 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 194 ++++++++++++++++++- drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 187 +++++++++++------- drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 2 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 10 + 9 files changed, 415 insertions(+), 231 deletions(-)
--