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")

Signed-off-by: David Marchand <david.march...@redhat.com>
Reviewed-by: Bruce Richardson <bruce.richard...@intel.com>
---
Changes since v1:
- fix inverted check,

---
 drivers/net/ice/ice_rxtx.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index 13aabe97a5..40471306b4 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;
 }
 
-- 
2.44.0

Reply via email to