Currently, when dealing with UDP tunnel pkts checksum offloading,
the outer-udp checksum will be offloaded by default. So the
'csum set outer-udp hw/sw' command does not work.

This patch fixes judgment of the EIPT flag and enables the
'csum set outer-udp hw/sw' command by adding judgment for the
outer-udp checksum offload flag.

Fixes: bd70c451532c ("net/ice: support Tx checksum offload for tunnel")
Cc: sta...@dpdk.org

Signed-off-by: Zhichao Zeng <zhichaox.z...@intel.com>
---
 drivers/net/ice/ice_rxtx.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index 7b6784b177..665ae32c13 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -2734,7 +2734,8 @@ ice_parse_tunneling_params(uint64_t ol_flags,
         * Shall be set only if L4TUNT = 01b and EIPT is not zero
         */
        if (!(*cd_tunneling & ICE_TX_CTX_EIPT_NONE) &&
-           (*cd_tunneling & ICE_TXD_CTX_UDP_TUNNELING))
+               (*cd_tunneling & ICE_TXD_CTX_UDP_TUNNELING) &&
+               (ol_flags & RTE_MBUF_F_TX_OUTER_UDP_CKSUM))
                *cd_tunneling |= ICE_TXD_CTX_QW0_L4T_CS_M;
 }
 
-- 
2.34.1

Reply via email to