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