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 BA31E468E4 for ; Thu, 12 Jun 2025 23:10:02 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B5D3442E58; Thu, 12 Jun 2025 23:10:02 +0200 (CEST) Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by mails.dpdk.org (Postfix) with ESMTP id 4E05E42E4F for ; Thu, 12 Jun 2025 23:10:01 +0200 (CEST) Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3a4f71831abso1346628f8f.3 for ; Thu, 12 Jun 2025 14:10:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749762601; x=1750367401; 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=XCXSnFilWtA0ppqCcZRpLyaYpW64bqDm4fvvep9aRH4=; b=CA0rZxTvxw5i708zGIQEFryVdlOan9voyrPddlpCbd2M/ANj3GC6uYessjR+2dNDRG 6uhDIWDdn01y8TtHsi2xY2Sqm+BruIs5zipSq3IBYvqXoE7EhtB1W7f7d9G9qFEzKXiT 377n/dNMA+f6aAinEf2YX7ji1QeEtHQMsiFJyNPtoEBm9fiEjn86X/6mL5Clt/6eUIg0 xmM5/DlDnH8+cnE8INtz0cLgPopLDO0lKSlFMoWnwK6x7Y4+UpS4Jh3wIjnAYIPf03wT AdQeyPLx9hCQ6Z4A9wxydDqgVdgyAIdGj/48kd+v7NZidGNCWNGbk5fCVJ62WARtW6aV FEgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749762601; x=1750367401; 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=XCXSnFilWtA0ppqCcZRpLyaYpW64bqDm4fvvep9aRH4=; b=LPKQsk68xKDKhRFfhbvHHBJqBQatRozewOaR1sbvvSyoSIxPLvQc3j3SrbX48NSfsV fxoYw2O+ixChKF03borgO/CjfIUXTgaGVkAHZ04Hw/mGfgvB/2/7ndnMZljPrEH7gp4i ucfWYLV3Y56PFgkG5U3lgjJ+wicI1/0xekFLltupYOAtaM6LVA7w1fKtqs0AJWWe5VzO ds+T5gaaOcw9eIf6Mc/VPSoRjA6lwPU9Ms+A5UljfTbh4M1+xsrw2ZCWU8fV6TU0hx0q 2/L6YAd5Y7rXadC8LgZ1Y7Iuc2vb/84FJcn1rtat8Gu9+V2qAKurPsUJru1y+hvKWHNa 81Tg== X-Gm-Message-State: AOJu0YxDPBvxlB+Uaeo68HNzEruQtma4soFeMBQJmVmMIWm9lgTLFE30 GbZYPJ3zFBHzUms3IfPzie4eC2T57mKDLp1pmfxK6QGp0IPvr8vEAw7AyGsda14A X-Gm-Gg: ASbGncutpuFAw5Mo66R5yZnk0p5ekdS2tED15/FrcoB8SnLdDhDE9vV8AqrmkwZI0rn feAuogZUJUV0ESTFbzDaNLTKZSwkUXhs0mIcp+4VPnPQJPnZL4u3zsB7YweM+ser5IbUqNNHJeW ZU0+/XvBNtob+p8hpm5tawXlJhom+V4kwbIpSOQClcNcNc9OEfAqNE9FE29jRKeo3TxjuxQ4gOS ddk6P3ms/gk93bMM2yfBkiQV8o0CUyycgm0pA2SR9Fh4bZeMs5sg2Oehw8a0JI5LojiWIeDaBVT P/6K3l97QBzMhhPBzwgEwATyBGxUi84ohsJoA303bk4MGoDBHya1gmokn8ARbLKepemw X-Google-Smtp-Source: AGHT+IG2XGRhh/yiI6Pr5njBCVjl/DHji1yWsKmAvVQanQZPKbMYGAS4wJqOhLn8JI5K8feMRZCLXw== X-Received: by 2002:a5d:5f96:0:b0:3a4:dc32:6cbb with SMTP id ffacd0b85a97d-3a5687655c6mr628131f8f.31.1749762600847; Thu, 12 Jun 2025 14:10:00 -0700 (PDT) Received: from localhost ([2a01:4b00:d036:ae00:f2df:571a:ae4c:bef2]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-4532e13c192sm32095145e9.26.2025.06.12.14.10.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 14:10:00 -0700 (PDT) From: luca.boccassi@gmail.com To: Dengdui Huang Cc: dpdk stable Subject: patch 'net/hns3: fix CRC data segment' has been queued to stable release 22.11.9 Date: Thu, 12 Jun 2025 22:07:00 +0100 Message-ID: <20250612210733.2506558-43-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250612210733.2506558-1-luca.boccassi@gmail.com> References: <20250612210733.2506558-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 22.11.9 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 06/14/25. 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/25432eed5d2feed29c46760c1d392e343e952935 Thanks. Luca Boccassi --- >From 25432eed5d2feed29c46760c1d392e343e952935 Mon Sep 17 00:00:00 2001 From: Dengdui Huang Date: Fri, 16 May 2025 15:15:18 +0800 Subject: [PATCH] net/hns3: fix CRC data segment [ upstream commit 7a99b6ca9d079e9364ba61d3fe802a4761739c8f ] When the packet is received into a multisegment mbuf and the last segment contains only CRC data, the driver should not release this segment. Otherwise, the application cannot look the CRC data. This patch fixes it. Fixes: 8973d7c4ca12 ("net/hns3: support keeping CRC") Signed-off-by: Dengdui Huang --- drivers/net/hns3/hns3_rxtx.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index 3c866103ef..b9ae838642 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -2387,18 +2387,16 @@ hns3_rxd_to_vlan_tci(struct hns3_rx_queue *rxq, struct rte_mbuf *mb, } static inline void -recalculate_data_len(struct rte_mbuf *first_seg, struct rte_mbuf *last_seg, - struct rte_mbuf *rxm, struct hns3_rx_queue *rxq, - uint16_t data_len) +recalculate_data_len(struct rte_mbuf *last_seg, struct rte_mbuf *rxm, + struct hns3_rx_queue *rxq) { + uint16_t data_len = rxm->data_len; uint8_t crc_len = rxq->crc_len; if (data_len <= crc_len) { - rte_pktmbuf_free_seg(rxm); - first_seg->nb_segs--; + rxm->data_len = 0; last_seg->data_len = (uint16_t)(last_seg->data_len - (crc_len - data_len)); - last_seg->next = NULL; } else rxm->data_len = (uint16_t)(data_len - crc_len); } @@ -2728,8 +2726,7 @@ hns3_recv_scattered_pkts(void *rx_queue, rxm->next = NULL; if (unlikely(rxq->crc_len > 0)) { first_seg->pkt_len -= rxq->crc_len; - recalculate_data_len(first_seg, last_seg, rxm, rxq, - rxm->data_len); + recalculate_data_len(last_seg, rxm, rxq); } first_seg->port = rxq->port_id; -- 2.47.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-06-12 22:06:25.471097217 +0100 +++ 0043-net-hns3-fix-CRC-data-segment.patch 2025-06-12 22:06:23.874044722 +0100 @@ -1 +1 @@ -From 7a99b6ca9d079e9364ba61d3fe802a4761739c8f Mon Sep 17 00:00:00 2001 +From 25432eed5d2feed29c46760c1d392e343e952935 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7a99b6ca9d079e9364ba61d3fe802a4761739c8f ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index bb7ffee12c..49b6f16ccd 100644 +index 3c866103ef..b9ae838642 100644 @@ -23 +24 @@ -@@ -2386,18 +2386,16 @@ hns3_rxd_to_vlan_tci(struct hns3_rx_queue *rxq, struct rte_mbuf *mb, +@@ -2387,18 +2387,16 @@ hns3_rxd_to_vlan_tci(struct hns3_rx_queue *rxq, struct rte_mbuf *mb,