mbox series

[iwl-next,v6,00/10] ice: Implement support for SRIOV + LAG

Message ID 20230517230028.321350-1-david.m.ertman@intel.com
Headers show
Series ice: Implement support for SRIOV + LAG | expand

Message

Dave Ertman May 17, 2023, 11 p.m. UTC
Implement support for SRIOV VF's on interfaces that are in an
aggregate interface.

The first interface added into the aggregate will be flagged as
the primary interface, and this primary interface will be
responsible for managing the VF's resources.  VF's created on the
primary are the only VFs that will be supported on the aggregate.
Only Active-Backup mode is supported and only aggregates whose
primary interface is in switchdev mode will be supported.

Additional restrictions on what interfaces can be added to the aggregate
and still support SRIOV VFs are:
- interfaces must all be on the same physical NIC
- all interfaces must have the same QoS settings
- interfaces must have the FW LLDP agent disabled
- only the primary interface is to be put into switchdev mode
- no more than two interfaces in the aggregate

Changes since v1:
change first patch title
added cover letter

Changes since v2:
fixed attrib for one patch
typos and header format
broke dflt VSI fltr code to a functino for re-use

Changes since v3:
made ice_lag_find_hw_by_lport a static function
fixed a cpu_to_le16 issue
during VF queue recfg, skip unconfigured queues instead of stopping
correctly locate resources to reclaim nodes on UNREGISTER event

Chaqnges since v4:
Remove pf_rule boolean form ice_lag struct
Refactor creation/remove of default VSI filter into function
Correctly reclaim sched nodes on driver unload
added err message when failing filter creation in reset path
return a u16 for queue count
eliminate unused variables
typos in comments
Adjust some patch content to avoid "defined by not used" from
  defining things before being used
Rebased on latest upstream

Changes since v5:
checkpatch hit one-line if block that changes to multi-line on later
  patch
rebase on dev-queue and remove 1st patch that was accepted individually

Dave Ertman (9):
  ice: Add driver support for firmware changes for LAG
  ice: changes to the interface with the HW and FW for SRIOV_VF+LAG
  ice: implement lag netdev event handler
  ice: process events created by lag netdev event handler
  ice: Flesh out implementation of support for SRIOV on bonded interface
  ice: support non-standard teardown of bond interface
  ice: enforce interface eligibility and add messaging for SRIOV LAG
  ice: enforce no DCB config changing when in bond
  ice: update reset path for SRIOV LAG support

Jacob Keller (1):
  ice: Correctly initialize queue context values

 drivers/net/ethernet/intel/ice/ice.h          |    5 +
 .../net/ethernet/intel/ice/ice_adminq_cmd.h   |   53 +-
 drivers/net/ethernet/intel/ice/ice_common.c   |   57 +-
 drivers/net/ethernet/intel/ice/ice_common.h   |    4 +
 drivers/net/ethernet/intel/ice/ice_dcb_nl.c   |   50 +
 drivers/net/ethernet/intel/ice/ice_lag.c      | 1912 ++++++++++++++++-
 drivers/net/ethernet/intel/ice/ice_lag.h      |   34 +-
 drivers/net/ethernet/intel/ice/ice_lib.c      |    2 +-
 drivers/net/ethernet/intel/ice/ice_lib.h      |    1 +
 drivers/net/ethernet/intel/ice/ice_main.c     |   26 +-
 drivers/net/ethernet/intel/ice/ice_sched.c    |   37 +-
 drivers/net/ethernet/intel/ice/ice_sched.h    |   21 +
 drivers/net/ethernet/intel/ice/ice_switch.c   |   89 +-
 drivers/net/ethernet/intel/ice/ice_switch.h   |   29 +
 drivers/net/ethernet/intel/ice/ice_type.h     |    2 +
 drivers/net/ethernet/intel/ice/ice_virtchnl.c |    2 +
 16 files changed, 2193 insertions(+), 131 deletions(-)