Skip to content

net/ice: support outer checksum in vector Tx

Anurag Mandal dpdk-dev 2 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest4 patches 0 repliesNew
  2. v14 patches 5 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4net/common: share Tx context descriptor flagdrivers/net/intel/common/tx.h+1 -10 replies
2/4net/ice: add vector tunnel context encodingdrivers/net/intel/ice/ice_rxtx_vec_common.h+51 -20 replies
3/4net/ice: add AVX2 context descriptor Tx pathdoc/guides/rel_notes/release_26_11.rst drivers/net/intel/ice/ice_dcf_ethdev.c drivers/net/intel/ice/ice_ethdev.h +3 more+166 -100 replies
4/4net/ice: add AVX-512 context descriptor Tx pathdoc/guides/rel_notes/release_26_11.rst drivers/net/intel/ice/ice_ethdev.h drivers/net/intel/ice/ice_rxtx.c +2 more+158 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/4] net/ice: support outer checksum in vector Tx

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(-)
Signature · 1 line
2.34.1