From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 35338465FD for ; Tue, 22 Apr 2025 17:52:02 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 102B140151; Tue, 22 Apr 2025 17:52:02 +0200 (CEST) Received: from mail-wm1-f97.google.com (mail-wm1-f97.google.com [209.85.128.97]) by mails.dpdk.org (Postfix) with ESMTP id 0B7B740151 for ; Tue, 22 Apr 2025 17:52:00 +0200 (CEST) Received: by mail-wm1-f97.google.com with SMTP id 5b1f17b1804b1-43cebe06e9eso44801975e9.3 for ; Tue, 22 Apr 2025 08:51:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google; t=1745337119; x=1745941919; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Zwonqo2DAzOi429Hnc79jsjZQcCg6vsB2CeH16qHOtg=; b=SXJ+U0sR/MiShev0VqUcKI02Gw9ba864Vu02GG9eXVZErzu+TURtsAkqDVqKzojUBE CZll1dC3PeeNSSVQiSg3k+UsgIHb3A+O3YrmJBoPyHidn2AFnY773BxoMdfw7+EdqgES IbNyE1TZ4yRXjupJXF6RZUnbflxlrrJmlrn68/3McISYrFAhU7rsZHZbZZb9AXbtPjH5 I6F68b5f0GD1FGiDtjJgsb6SBfrcse6ArPEdOxArL09T34sPD2GpwkTEJy6BgPXFUZBH Y5rbBYfJnWKeKMnW6T1axXfGTRW4MtK+znGOUKulGIbp6Z+VW34HrexQFlFiUTgkRm9B 1kBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745337119; x=1745941919; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Zwonqo2DAzOi429Hnc79jsjZQcCg6vsB2CeH16qHOtg=; b=Lh4Uw4/HltZ/2dpmO8iCtSesxw3hRoJlT2zMyO8uZDTzUtBrTzIQ3aQXU9dMADPbBD WyDNn7Du6xgBOT/VvxNDUXRuNT2zXBhILTCMq8fi39636yPKJ8shHZj0EIeKplpomEsZ EgirqHON9LjLUiWEtiG/aspVCVaw+rzJmWcKSJYAMgFN5FSBrDtyFTmIJtaaXZAfbfQH j7zlitRxxDetLg1rRBpZgRHTXM92CrcbtLPKP61+8IJx7TFQH4ccjTjmenFbJqcN0ZQ1 RbDdnnLsuxHHqahaOzL5/oLkBP4KtGMEuILrUlcUV6jtiQDsm/CsfmwwLO1yfhLgDu3E z9Pw== X-Forwarded-Encrypted: i=1; AJvYcCWXRpWOrQC5TKb3R43uIzRadMZtHiUfKLN8+inSCQGZGibmD7cE6kF5lhYucTFbbtXqLns4FZg=@dpdk.org X-Gm-Message-State: AOJu0Yx46r4tK8ghcSzO40pR1UrnEGeK299xitcK7+IfQDljN9QPXnxu fg9cYWhRQtGT9MiWU/77L3HPuk44Mna9AweIVINU94eQVeKVRQ7srRnhc0kykh8Dl1YCDxaRc9S kkmGnCMM2lZBj6xOy0o/xakbg25x5DRzS X-Gm-Gg: ASbGncsyn1+e7DBsOrGL/GUA+Re5i+iFdmzPTu6z45Ws83/CpoWo00mfTqGh9hzuGCx I5bcTEP/l2b4+3te2u+D4MFh+Ei9ogi3cbSg2lr2snfx9d8V9cis0jXgpFVWPewdZSaETXuVmUS PELl/+omtE7A3tcw3WEfJ68hy9IkVTzWtum3vN6z4g0djXMbDZ868ru8m9W+BogtqBJHRxFb77I BlCpdfcraiaXM3Ean7tu9t5VT4fWLUlyVdvAMRAw1JUGorB3m8v28nflFteaVT7CD85VnX6tLN/ C/x0eypKK+ONL9MgKA22QTF3PCNIcKE3QWHNBusf159fzzYmewGUbZr2UfKrSAutYdI= X-Google-Smtp-Source: AGHT+IHe0VlCYKrrF1GT45RpukEpPhSnGzKX/XpEtKF6Agc1rePGQ9I0ndYAK+OKRv338l7YaaPIYb3Q9vU5 X-Received: by 2002:a05:600c:3d18:b0:43c:f85d:1245 with SMTP id 5b1f17b1804b1-4406aba67bdmr160369505e9.17.1745337119457; Tue, 22 Apr 2025 08:51:59 -0700 (PDT) Received: from smtpservice.6wind.com ([185.13.181.2]) by smtp-relay.gmail.com with ESMTP id 5b1f17b1804b1-4406d56716dsm9591455e9.0.2025.04.22.08.51.59; Tue, 22 Apr 2025 08:51:59 -0700 (PDT) X-Relaying-Domain: 6wind.com Received: from localhost (dio.dev.6wind.com [10.17.1.86]) by smtpservice.6wind.com (Postfix) with ESMTP id 2AFFB360D7; Tue, 22 Apr 2025 17:51:59 +0200 (CEST) From: edwin.brossette@6wind.com To: dev@dpdk.org Cc: olivier.matz@6wind.com, didier.pallard@6wind.com, lauren.hardy@6wind.com, dsinghrawat@marvell.com, palok@marvell.com, stable@dpdk.org, Edwin Brossette Subject: [PATCH 1/5] qede: fix tunnel checksums offload flags Date: Tue, 22 Apr 2025 17:51:39 +0200 Message-Id: <20250422155143.3893525-1-edwin.brossette@6wind.com> X-Mailer: git-send-email 2.35.0.4.g44a5d4affccf In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org From: Didier Pallard In tunnel case, L3 bad checksum is properly setting RTE_MBUF_F_RX_OUTER_IP_CKSUM_BAD while all other flags are set in inner part of offload flags, this can cause both L4 flags BAD and GOOD to be set in inner offloads when a tunnel packet is processed, changing these flags to RTE_MBUF_F_RX_L4_CKSUM_NONE instead of GOOD/BAD values. This in turn can cause upper layers to take incorrect decision on what to do with the packet. Remove IP_CKSUM_GOOD flag on outer IP layer, since there is currently no way to indicate that this csum is good using DPDK offload flags. Fixes: 81f8804992c9 ("net/qede: enhance Rx CPU utilization") Fixes: 3d4bb4411683 ("net/qede: add fastpath support for VXLAN tunneling") CC: stable@dpdk.org Signed-off-by: Edwin Brossette Signed-off-by: Didier Pallard Acked-by: Olivier Matz --- drivers/net/qede/qede_rxtx.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c index 25e28fd9f61b..c764e3d83763 100644 --- a/drivers/net/qede/qede_rxtx.c +++ b/drivers/net/qede/qede_rxtx.c @@ -1617,9 +1617,9 @@ qede_recv_pkts_regular(void *p_rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) "L4 csum failed, flags = 0x%x", parse_flag); rxq->rx_hw_errors++; - ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_BAD; + ol_flags |= RTE_MBUF_F_RX_OUTER_L4_CKSUM_BAD; } else { - ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_GOOD; + ol_flags |= RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD; } if (unlikely(qede_check_tunn_csum_l3(parse_flag))) { @@ -1628,8 +1628,6 @@ qede_recv_pkts_regular(void *p_rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) parse_flag); rxq->rx_hw_errors++; ol_flags |= RTE_MBUF_F_RX_OUTER_IP_CKSUM_BAD; - } else { - ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_GOOD; } flags = fp_cqe->tunnel_pars_flags.flags; @@ -1887,9 +1885,9 @@ qede_recv_pkts(void *p_rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) "L4 csum failed, flags = 0x%x", parse_flag); rxq->rx_hw_errors++; - ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_BAD; + ol_flags |= RTE_MBUF_F_RX_OUTER_L4_CKSUM_BAD; } else { - ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_GOOD; + ol_flags |= RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD; } if (unlikely(qede_check_tunn_csum_l3(parse_flag))) { @@ -1898,8 +1896,6 @@ qede_recv_pkts(void *p_rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) parse_flag); rxq->rx_hw_errors++; ol_flags |= RTE_MBUF_F_RX_OUTER_IP_CKSUM_BAD; - } else { - ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_GOOD; } if (tpa_start_flg) -- 2.35.0.4.g44a5d4affccf