net/ice: fix outer UDP checksum offload
Checks
Commit Message
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: stable@dpdk.org
Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com>
---
drivers/net/ice/ice_rxtx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
> -----Original Message-----
> From: Zeng, ZhichaoX <zhichaox.zeng@intel.com>
> Sent: Friday, June 2, 2023 9:43 AM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; Tang, Zhijun
> <zhijun.tang@intel.com>; Zeng, ZhichaoX <zhichaox.zeng@intel.com>; Yang,
> Qiming <qiming.yang@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Subject: [PATCH] net/ice: fix outer UDP checksum offload
>
> 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: stable@dpdk.org
>
> Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
@@ -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;
}