RE: [PATCH v3 11/36] net/intel: create common checksum Tx offload function

Loftus, Ciara
2026-02-06T11:37:21Z

> Subject: [PATCH v3 11/36] net/intel: create common checksum Tx offload
> function
>
> Since i40e and ice have the same checksum offload logic, merge their
> functions into one. Future rework should enable this to be used by more
> drivers also.
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> drivers/net/intel/common/tx_scalar_fns.h | 58
> +++++++++++++++++++++++
> drivers/net/intel/i40e/i40e_rxtx.c | 52 +-------------------
> drivers/net/intel/ice/ice_rxtx.c | 60 +-----------------------
> 3 files changed, 60 insertions(+), 110 deletions(-)
>

<snip>

> -
> /* Construct the tx flags */
> static inline uint64_t
> i40e_build_ctob(uint32_t td_cmd,
> @@ -1167,7 +1117,7 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf
> **tx_pkts, uint16_t nb_pkts)
>
> /* Enable checksum offloading */
> if (ol_flags & CI_TX_CKSUM_OFFLOAD_MASK)
> - i40e_txd_enable_checksum(ol_flags, &td_cmd,
> + ci_txd_enable_checksum(ol_flags, &td_cmd,
> &td_offset, tx_offload);

Now that it uses the common function which handles
RTE_MBUF_F_TX_UDP_SEG this means the scalar path now supports the
offload RTE_ETH_TX_OFFLOAD_UDP_TSO so I think it should be added to
the I40E_TX_SCALAR_OFFLOADS. It seems to be missing from the device
capabilities too. Same for ice.