[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250814230855.128068-1-anthony.l.nguyen@intel.com>
Date: Thu, 14 Aug 2025 16:08:47 -0700
From: Tony Nguyen <anthony.l.nguyen@...el.com>
To: davem@...emloft.net,
kuba@...nel.org,
pabeni@...hat.com,
edumazet@...gle.com,
andrew+netdev@...n.ch,
netdev@...r.kernel.org
Cc: Tony Nguyen <anthony.l.nguyen@...el.com>,
david.m.ertman@...el.com
Subject: [PATCH net-next 0/7][pull request] ice: implement SRIOV VF Active-Active LAG
Dave Ertman says:
Implement support for SRIOV VFs over 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
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.
Patch 1 cleans up void pointer casts
Patch 2 utilizes bool over u8 when appropriate
Patch 3 adds a driver prefix to a LAG define
Patch 4 pre-move a function to reduce delta in implementation patch
Patch 5 cleanup variable initialization in declaration block
Patch 6 cleanup capability parsing for LAG feature
Patch 7 is the implementation of the new functionality
---
IWL: https://lore.kernel.org/intel-wired-lan/20250616110323.788970-1-david.m.ertman@intel.com/
The following are changes since commit 875c541ea680d0df2de3e666d8125bee08c1bc1b:
Merge branch 'net-ethtool-support-including-flow-label-in-the-flow-hash-for-rss'
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 100GbE
Dave Ertman (7):
ice: Remove casts on void pointers in LAG code
ice: replace u8 elements with bool where appropriate
ice: Add driver specific prefix to LAG defines
ice: move LAG function in code to prepare for Active-Active
ice: Cleanup variable initialization in LAG code
ice: cleanup capabilities evaluation
ice: Implement support for SRIOV VFs across Active/Active bonds
drivers/net/ethernet/intel/ice/ice.h | 1 +
.../net/ethernet/intel/ice/ice_adminq_cmd.h | 4 +
drivers/net/ethernet/intel/ice/ice_common.c | 19 +-
drivers/net/ethernet/intel/ice/ice_common.h | 2 +-
drivers/net/ethernet/intel/ice/ice_lag.c | 975 ++++++++++++++----
drivers/net/ethernet/intel/ice/ice_lag.h | 21 +-
drivers/net/ethernet/intel/ice/ice_type.h | 6 +-
include/linux/net/intel/libie/adminq.h | 5 +-
8 files changed, 807 insertions(+), 226 deletions(-)
--
2.47.1
Powered by blists - more mailing lists