> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of
> Dave Ertman
> Sent: Monday, June 16, 2025 4:33 PM
> To: [email protected]
> Cc: Marcin Szycik <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-next v4 8/8] [PATCH iwl-next v3 8/8]
> ice:
> Implement support for SRIOV VFs across
>
> Active/Active bonds
>
> This patch implements the software flows to handle SRIOV VF
> communication across an Active/Active link aggregate. The same restrictions
> apply as are in place for the support of Active/Backup bonds.
>
> - the two interfaces must be on the same NIC
> - the FW LLDP engine needs to be disabled
> - the DDP package that supports VF LAG must be loaded on device
> - the two interfaces must have the same QoS config
> - only the first interface added to the bond will have VF support
> - the interface with VFs must be in switchdev mode
>
> With the additional requirement of
> - the version of the FW on the NIC needs to have VF Active/Active support
> This requirement is indicated in the capabilities struct associated with the
> NVM loaded on the NIC.
>
> The balancing of traffic between the two interfaces is done on a queue basis.
> Taking the queues allocated to all of the VFs as a whole, one half of them
> will
> be distributed to each interface. When a link goes down, then the queues
> allocated to the down interface will migrate to the active port. When the
> down port comes back up, then the same queues as were originally assigned
> there will be moved back.
>
> As of this patch, all bonding modes are allowed for VF communication.
>
> Co-developed-by: Marcin Szycik <[email protected]>
> Signed-off-by: Marcin Szycik <[email protected]>
> Signed-off-by: Dave Ertman <[email protected]>
> ---
> drivers/net/ethernet/intel/ice/ice.h | 1 +
> .../net/ethernet/intel/ice/ice_adminq_cmd.h | 5 +
> drivers/net/ethernet/intel/ice/ice_common.c | 15 +-
> drivers/net/ethernet/intel/ice/ice_common.h | 2 +-
> drivers/net/ethernet/intel/ice/ice_lag.c | 774 +++++++++++++++---
> drivers/net/ethernet/intel/ice/ice_lag.h | 21 +-
> drivers/net/ethernet/intel/ice/ice_type.h | 1 +
> 7 files changed, 714 insertions(+), 105 deletions(-)
>
Tested-by: Sujai Buvaneswaran <[email protected]>