summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Marchand <david.marchand@redhat.com>2024-04-18 10:20:15 +0200
committerFerruh Yigit <ferruh.yigit@amd.com>2024-06-11 20:22:17 +0200
commit276c650d4048b10592a76de93336d480d239f0f3 (patch)
tree02052a2549e791578c1f544a74e6a3cfcc6372e4
parenta806c8157a03b44e0fb60112df98f946f0a624c2 (diff)
net/ice: fix check for outer UDP checksum offload
ICE_TX_CTX_EIPT_NONE == 0. There is a good chance that !(anything & 0) is true :-). While removing this noop check is doable, let's check that the descriptor does contain a outer ip type. Fixes: 2ed011776334 ("net/ice: fix outer UDP Tx checksum offload") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Tested-by: Ali Alnubani <alialnu@nvidia.com>
-rw-r--r--drivers/net/ice/ice_rxtx.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index 95a2db3432..10babab231 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -2751,9 +2751,9 @@ ice_parse_tunneling_params(uint64_t ol_flags,
* Calculate the tunneling UDP checksum.
* 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) &&
- (ol_flags & RTE_MBUF_F_TX_OUTER_UDP_CKSUM))
+ if ((*cd_tunneling & ICE_TXD_CTX_QW0_EIPT_M) &&
+ (*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;
}