[PATCH v2 0/7] net/intel: fixes and improvements to rx path selection

Ciara Loftus ciara.loftus at intel.com
Wed Oct 15 12:07:16 CEST 2025


This series contains a number of fixes and improvements to the logic
concerned with selecting an rx path in the intel drivers.

Patch 1 fixes incorrect behaviour in the ci_rxq_vec_capable function
which would disqualify rxqs that have the timestamp offload enabled from
selecting vector paths. This was incorrect because iavf vector paths
support timestamp offload.

Patch 2 removes a reduntant check from the ci_rxq_vec_capable function
that disqualifies rxqs that have the buffer split offload enabled from
selecting vector paths. This check is performed during the common rx
path selection for three of the drivers and during dev_configure for the
fourth, so the check in ci_rxq_vec_capable is unneeded. Although it is
similar this patch was kept separate from patch 1 because it is only
relevant after the three aformention drivers adopted the common rx path
selection infrastructure, whereas patch 1 is a fix for an issue that
existed prior to that.

Patches 3 and 4 make fixes to the iavf rx path definitions, ensuring the
correct offloads and features are defined for all paths.

The final three patches reformat the arrays in the i40e iavf and ice
drivers that hold information for each Rx path that are used in the
common selection process, in an attempt to improve readability.

v2:
* Added a new patch (2) that removes the reduntant check for the buffer
split offload in the common function.
* Removed the useless defines IAVF_RX_NO_OFFLOADS and ICE_RX_NO_OFFLOADS
* Use a newline for closing braces in the rx path infos arrays
* Let a simd width of zero represent scalar paths instead of 64 which
lessens the number of fields that need to be initialised for scalar path
definitions

Ciara Loftus (7):
  net/intel: fix Rx vector capability detection
  net/intel: remove redundant Rx offload check
  net/iavf: fix Rx paths feature definitions
  net/iavf: fix Rx path selection for scalar flex bulk alloc
  net/iavf: reformat the Rx path infos array
  net/i40e: reformat the Rx path infos array
  net/ice: reformat the Rx path infos array

 drivers/net/intel/common/rx.h                 |   7 +-
 drivers/net/intel/i40e/i40e_rxtx.c            | 149 ++++++--
 drivers/net/intel/i40e/i40e_rxtx_vec_common.h |   2 +-
 drivers/net/intel/iavf/iavf.h                 |   1 +
 drivers/net/intel/iavf/iavf_rxtx.c            | 335 ++++++++++++++----
 drivers/net/intel/iavf/iavf_rxtx.h            |   2 -
 drivers/net/intel/ice/ice_rxtx.c              | 147 ++++++--
 drivers/net/intel/ice/ice_rxtx.h              |   1 -
 drivers/net/intel/ice/ice_rxtx_vec_common.h   |   2 +-
 .../net/intel/ixgbe/ixgbe_rxtx_vec_common.c   |   2 +-
 10 files changed, 498 insertions(+), 150 deletions(-)

-- 
2.34.1



More information about the dev mailing list