V2-changes: - Addressed Bruce Richardson's comments - Put the MACLEN assignments on single lines. - Only encode EIPLEN when an outer IP type (EIPT) was selected, matching how iavf sets eip_len per protocol case. - Returned success instead of a partially built context when the tunnel type is not supported, so a half-completed context descriptor can never be written. - Recorded use_ctx and use_vec_entry in one place only. The duplicate use_vec_entry assignment in ice_tx_queue_start() is removed; ice_set_tx_function() runs before any queue is started and now covers every queue, matching iavf. This also fixes DCF queues, which never passed through ice_tx_queue_start() and so never had use_vec_entry recorded. - Declared .ctx_desc = true for the scalar path, which does emit context descriptors, so it is not filtered out of path selection when a context descriptor is requested. Matches IAVF_TX_DEFAULT. - Folded the ctx_desc condition into the req_features initializer. - Marked the new AVX2 and AVX-512 context Tx helpers with __rte_always_inline so the compile-time offload flag is folded, as for the existing ice_vtx()/ice_vtx1() helpers.
Added AVX2 and AVX-512 context descriptor Tx paths for outer IPv4 and UDP checksum offloads, avoiding scalar Tx fallback. Anurag Mandal (4): net/common: share Tx context descriptor flag net/ice: add vector tunnel context encoding net/ice: add AVX2 context descriptor Tx path net/ice: add AVX-512 context descriptor Tx path doc/guides/rel_notes/release_26_11.rst | 6 + drivers/net/intel/common/tx.h | 2 +- drivers/net/intel/ice/ice_dcf_ethdev.c | 4 +- drivers/net/intel/ice/ice_ethdev.h | 2 + drivers/net/intel/ice/ice_rxtx.c | 49 +++++-- drivers/net/intel/ice/ice_rxtx.h | 11 ++ drivers/net/intel/ice/ice_rxtx_vec_avx2.c | 119 +++++++++++++++++ drivers/net/intel/ice/ice_rxtx_vec_avx512.c | 141 ++++++++++++++++++++ drivers/net/intel/ice/ice_rxtx_vec_common.h | 53 +++++++- 9 files changed, 374 insertions(+), 13 deletions(-) -- 2.34.1

