This series aims to simplify the process of selecting a Tx burst
function for the Intel drivers i40e, iavf, ice, idpf and cpfl by:
1. enforcing the same tx burst function for both primary and secondary
processes.
2. using a common function for selecting the tx burst function based on
maximum SIMD width, function features (context descriptor, single queue, etc.)
and requested tx offloads.

Some fixes are made to errors in the documentation that became evident
while implementing the new selection infratructure in each driver.

v3:
* Fixed cross compile issue in iavf patch.

v2:
* Consolidated the patches that enforce primary/secondary path selection
alignment and the introduction of the infrastructure per driver.
* Introduce the "simple tx" feature in patch 1 rather than later.
* Changed some types and arrangements of structs in tx.h
* Fixed some issues relating to mbuf_check and tx_pkt_prepare
* Use the same path in primary and secondary for idpf and cpfl as well.

Ciara Loftus (10):
  net/intel: introduce infrastructure for Tx path selection
  net/ice: use common Tx path selection infrastructure
  net/iavf: use common Tx path selection infrastructure
  net/i40e: use common Tx path selection infrastructure
  net/idpf: use common Tx path selection infrastructure
  net/cpfl: use common Tx path selection infrastructure
  docs: fix TSO and checksum offload feature status in ice doc
  docs: fix TSO feature status in iavf driver documentation
  docs: fix inline crypto feature status in iavf driver doc
  docs: fix TSO feature status in i40e driver documentation

 doc/guides/nics/features/i40e.ini             |   2 +-
 doc/guides/nics/features/iavf.ini             |   4 +-
 doc/guides/nics/features/ice.ini              |   6 +-
 drivers/net/intel/common/tx.h                 |  96 +++++++
 drivers/net/intel/cpfl/cpfl_rxtx.c            | 120 +++------
 drivers/net/intel/cpfl/cpfl_rxtx_vec_common.h |  10 -
 drivers/net/intel/i40e/i40e_ethdev.h          |  14 +-
 drivers/net/intel/i40e/i40e_rxtx.c            | 190 +++++++-------
 drivers/net/intel/i40e/i40e_rxtx.h            |  20 +-
 .../net/intel/i40e/i40e_rxtx_vec_altivec.c    |   6 -
 drivers/net/intel/i40e/i40e_rxtx_vec_neon.c   |   6 -
 drivers/net/intel/i40e/i40e_rxtx_vec_sse.c    |   6 -
 drivers/net/intel/iavf/iavf.h                 |   2 -
 drivers/net/intel/iavf/iavf_ethdev.c          |   9 +-
 drivers/net/intel/iavf/iavf_rxtx.c            | 240 +++++++++---------
 drivers/net/intel/iavf/iavf_rxtx.h            |  46 ++--
 drivers/net/intel/iavf/iavf_rxtx_vec_common.h |  39 +--
 drivers/net/intel/ice/ice_ethdev.c            |   1 +
 drivers/net/intel/ice/ice_ethdev.h            |  14 +-
 drivers/net/intel/ice/ice_rxtx.c              | 204 ++++++++-------
 drivers/net/intel/ice/ice_rxtx.h              |  30 ++-
 drivers/net/intel/ice/ice_rxtx_vec_common.h   |  35 +--
 drivers/net/intel/ice/ice_rxtx_vec_sse.c      |   6 -
 drivers/net/intel/idpf/idpf_common_device.h   |  12 +-
 drivers/net/intel/idpf/idpf_common_rxtx.c     |  49 ++++
 drivers/net/intel/idpf/idpf_common_rxtx.h     |  12 +
 drivers/net/intel/idpf/idpf_rxtx.c            | 118 +++------
 drivers/net/intel/idpf/idpf_rxtx_vec_common.h |  10 -
 28 files changed, 677 insertions(+), 630 deletions(-)

-- 
2.43.0

Reply via email to