[1/8] net/ice: fix check for outer UDP checksum offload

Message ID 20240405125039.897933-2-david.marchand@redhat.com (mailing list archive)
State Superseded
Delegated to: Thomas Monjalon
Headers
Series Fix outer UDP checksum for Intel nics |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

David Marchand April 5, 2024, 12:49 p.m. UTC
  ICE_TX_CTX_EIPT_NONE == 0.
There is a good chance that !(anything & 0) is always true :-).

While removing this part of the check is doable, let's keep a 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.marchand@redhat.com>
---
 drivers/net/ice/ice_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

David Marchand April 5, 2024, 2:19 p.m. UTC | #1
On Fri, Apr 5, 2024 at 2:51 PM David Marchand <david.marchand@redhat.com> wrote:
>
> ICE_TX_CTX_EIPT_NONE == 0.
> There is a good chance that !(anything & 0) is always true :-).

Note to self... rather than joking on a Friday afternoon, re test the
*whole* series.


> @@ -2751,7 +2751,7 @@ 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) &&
> +       if (!(*cd_tunneling & ICE_TXD_CTX_QW0_EIPT_M) &&

Should be (*cd_tunneling & ICE_TXD_CTX_QW0_EIPT_M).
  

Patch

diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index 13aabe97a5..efa189855e 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -2751,7 +2751,7 @@  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) &&
+	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;