Commit d9550ce576a7 ("net/intel: create common checksum Tx offload
function") added RTE_ETH_TX_OFFLOAD_UDP_TSO to the scalar Tx offload mask
when merging i40e's checksum helper with ice's, but UDP TSO was never
actually wired up for i40e. i40e_calc_context_desc() does not trigger on
RTE_MBUF_F_TX_UDP_SEG, so no context descriptor is built for UDP
segmentation, and get_context_desc() only invokes i40e_set_tso_ctx() for
RTE_MBUF_F_TX_TCP_SEG, so the TSO fields are never programmed for a
UDP-segmented packet either.

Fix this by removing the unimplemented offload from the mask.

Fixes: d9550ce576a7 ("net/intel: create common checksum Tx offload function")
Cc: [email protected]

Signed-off-by: Ciara Loftus <[email protected]>
---
 drivers/net/intel/i40e/i40e_rxtx.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/intel/i40e/i40e_rxtx.h 
b/drivers/net/intel/i40e/i40e_rxtx.h
index 88d47f261e4..09773420644 100644
--- a/drivers/net/intel/i40e/i40e_rxtx.h
+++ b/drivers/net/intel/i40e/i40e_rxtx.h
@@ -97,7 +97,6 @@ enum i40e_header_split_mode {
                RTE_ETH_TX_OFFLOAD_SCTP_CKSUM |         \
                RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM |   \
                RTE_ETH_TX_OFFLOAD_TCP_TSO |            \
-               RTE_ETH_TX_OFFLOAD_UDP_TSO |            \
                RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO |      \
                RTE_ETH_TX_OFFLOAD_GRE_TNL_TSO |        \
                RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO |       \
-- 
2.43.0

Reply via email to