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 89BAEA0350 for ; Mon, 28 Feb 2022 22:22:49 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 841CB411B8; Mon, 28 Feb 2022 22:22:49 +0100 (CET) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mails.dpdk.org (Postfix) with ESMTP id 018C740140 for ; Mon, 28 Feb 2022 22:22:48 +0100 (CET) Received: by mail-wr1-f44.google.com with SMTP id j22so17377218wrb.13 for ; Mon, 28 Feb 2022 13:22:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Gp6MH4IsMBdgbY9L21Yf3EHChnkRI0rPPdKEBNXAPQE=; b=O7LPMJ7LaEkZCgCS4MWmIXZ6ciP9MC57+/7mU8CtGXuzX2Dy84vcXg8ezpv7oLYRGg zYNOgBYUAvVqzEp7KxFsJML2XQgfdraG4rnd8okLlbJB4lsRgnGYJYl9dT3mmvdql6+R Kh9RETKXKPfdRRjHHOsKOdW01a1bUE0U13hGip0G3/qr1FyQL0Trl4BH2Pn39J9j5YGF GRFKSWnUA6L3G04htx4PdR1K3+dXL0Tl5qOfJtGEX6R72pjjp7RohVM91sKP5zktXcFG fcnwTLSjjalhZxsVgeDNmeHLWFDUTXK13ybJ4sVrd23pKdRRlcqZwFpDb9NyTvvl9Z93 fdfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Gp6MH4IsMBdgbY9L21Yf3EHChnkRI0rPPdKEBNXAPQE=; b=ioPWmtUCRUOkW2mO30Cqo2iJcciqVTtbdbBK0TCsi72jz4XSrtTm98hCO8eXJcMOkw XLy1KYe0H8FUZr+bUguISmP9ipwmJERllhSQzRDsos0CA/xbLdI+pdNDzSUsuGg8kRWD pYQJZYELn+I30Pgyngh8q2sgi+1C4m9K+YpyisGuun8UVS70kUfM7bzBD6PaVtmvAGVn Buhj7r22bHpa2wtKpvNeG0qbAImlOxr2IMVvj6MbLtgVpL4/eoazQMcVxEeubKCBIvs5 3oLlr+4yNst1BXKFEj9SzAYGaiHqP7/D4khgeIVXr4YUJaysOcQgSfIy0J5My1aF+go6 /tSQ== X-Gm-Message-State: AOAM530q9MRrXNTTY3RfrpOheGOdzVx2iJ7rpfNIfg8L7qZNrK3h44pH ENB7NUhk5dj0sv6rMKdN/sZFZd+Re/qpR/gZ X-Google-Smtp-Source: ABdhPJyieVAqkZm0q4VAnaSaMS/8Fu11PFR3ni7mQb8z5NRu5iMaiK1iZU4ZGMuwXl9hjgF95NM2pA== X-Received: by 2002:a5d:660e:0:b0:1ed:d1da:c544 with SMTP id n14-20020a5d660e000000b001edd1dac544mr17038305wru.255.1646083367656; Mon, 28 Feb 2022 13:22:47 -0800 (PST) Received: from localhost ([2a01:4b00:f41a:3600:360b:9754:2e3a:c344]) by smtp.gmail.com with ESMTPSA id j6-20020adfe506000000b001f00d7c38e8sm11262wrm.93.2022.02.28.13.22.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Feb 2022 13:22:47 -0800 (PST) From: luca.boccassi@gmail.com To: Michal Krawczyk Cc: dpdk stable Subject: patch 'net/ena: fix checksum flag for L4' has been queued to stable release 20.11.5 Date: Mon, 28 Feb 2022 21:20:36 +0000 Message-Id: <20220228212047.3341966-40-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220228212047.3341966-1-luca.boccassi@gmail.com> References: <20220218123931.1749595-122-luca.boccassi@gmail.com> <20220228212047.3341966-1-luca.boccassi@gmail.com> 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 Hi, FYI, your patch has been queued to stable release 20.11.5 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 03/02/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/b94aa3454758fa42f38739064fc521a432a92609 Thanks. Luca Boccassi --- >From b94aa3454758fa42f38739064fc521a432a92609 Mon Sep 17 00:00:00 2001 From: Michal Krawczyk Date: Wed, 23 Feb 2022 13:19:43 +0100 Subject: [PATCH] net/ena: fix checksum flag for L4 [ upstream commit b2d2f1cf89a6c3661e68b750364e4a7018f954ba ] Some HW may invalidly set checksum error bit for the valid L4 checksum. To avoid drop of the packets in that situation, do not indicate bad checksum for L4 Rx csum offloads. Instead, set it as unknown, so the application will re-verify this value. The statistics counters will still work as previously. Fixes: 05817057faba ("net/ena: fix indication of bad L4 Rx checksums") Signed-off-by: Michal Krawczyk --- drivers/net/ena/ena_ethdev.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 98661e864b..64e38e49fa 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -337,7 +337,13 @@ static inline void ena_rx_mbuf_prepare(struct rte_mbuf *mbuf, ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN; else if (unlikely(ena_rx_ctx->l4_csum_err)) - ol_flags |= PKT_RX_L4_CKSUM_BAD; + /* + * For the L4 Rx checksum offload the HW may indicate + * bad checksum although it's valid. Because of that, + * we're setting the UNKNOWN flag to let the app + * re-verify the checksum. + */ + ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN; else ol_flags |= PKT_RX_L4_CKSUM_GOOD; -- 2.30.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-02-28 21:17:57.147460964 +0000 +++ 0040-net-ena-fix-checksum-flag-for-L4.patch 2022-02-28 21:17:54.008932912 +0000 @@ -1 +1 @@ -From b2d2f1cf89a6c3661e68b750364e4a7018f954ba Mon Sep 17 00:00:00 2001 +From b94aa3454758fa42f38739064fc521a432a92609 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b2d2f1cf89a6c3661e68b750364e4a7018f954ba ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index 151c688eec..4b58dcda74 100644 +index 98661e864b..64e38e49fa 100644 @@ -25,5 +26,5 @@ -@@ -583,7 +583,13 @@ static inline void ena_rx_mbuf_prepare(struct ena_ring *rx_ring, - } else { - if (unlikely(ena_rx_ctx->l4_csum_err)) { - ++rx_stats->l4_csum_bad; -- ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_BAD; +@@ -337,7 +337,13 @@ static inline void ena_rx_mbuf_prepare(struct rte_mbuf *mbuf, + ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN; + else + if (unlikely(ena_rx_ctx->l4_csum_err)) +- ol_flags |= PKT_RX_L4_CKSUM_BAD; @@ -36,4 +37,4 @@ -+ ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN; - } else { - ++rx_stats->l4_csum_good; - ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_GOOD; ++ ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN; + else + ol_flags |= PKT_RX_L4_CKSUM_GOOD; +