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. 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, 675 insertions(+), 632 deletions(-) -- 2.43.0

