mbox series

[iwl-next,v4,00/10] Implement support for SRIOV + LAG

Message ID 20230609211626.621968-1-david.m.ertman@intel.com (mailing list archive)
Headers show
Series Implement support for SRIOV + LAG | expand

Message

Ertman, David M June 9, 2023, 9:16 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 will be 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 have to all be on the same physical NIC
- all interfaces have to have the same QoS settings
- interfaces have to 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:
Fix typo in commit message
Fix typos in warning messages
Fix typo in function header
Use correct bitwise operator instead of boolean

Changes since v2:
Rebase on current next-queue
Fix typos in commits
Fix typos in function headers
use %u for unsigned values in debug message
Refactor common code in node moves to subfunction

Changes since v3:
Fix typos in warning messages
move refactor of common code to earlier patch
expand use of refactored code
move prototype and func call into patch that defines func

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   |   56 +
 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      | 1812 ++++++++++++++++-
 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   |   88 +-
 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, 2092 insertions(+), 130 deletions(-)

Comments

Daniel Machon June 11, 2023, 5:41 p.m. UTC | #1
Hmm. v4 series does not apply. Seems like patch #3 is causing some
trouble.

> 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 will be 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 have to all be on the same physical NIC
> - all interfaces have to have the same QoS settings
> - interfaces have to 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:
> Fix typo in commit message
> Fix typos in warning messages
> Fix typo in function header
> Use correct bitwise operator instead of boolean
> 
> Changes since v2:
> Rebase on current next-queue
> Fix typos in commits
> Fix typos in function headers
> use %u for unsigned values in debug message
> Refactor common code in node moves to subfunction
> 
> Changes since v3:
> Fix typos in warning messages
> move refactor of common code to earlier patch
> expand use of refactored code
> move prototype and func call into patch that defines func
> 
> 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   |   56 +
>  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      | 1812 ++++++++++++++++-
>  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   |   88 +-
>  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, 2092 insertions(+), 130 deletions(-)
> 
> --
> 2.40.1
>