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 C1922470AE for ; Sun, 21 Dec 2025 16:04:29 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BB84A402B5; Sun, 21 Dec 2025 16:04:29 +0100 (CET) Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011045.outbound.protection.outlook.com [52.101.62.45]) by mails.dpdk.org (Postfix) with ESMTP id 86F36402B5 for ; Sun, 21 Dec 2025 16:04:28 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yqCckmTMkdCqcuXwEPiYO3v/CDPRQVqYphvSediFB2VNcW+uWidqdtuk0j3M9nHPyAe6LzRin3gmI2849GIIp5kukfnxttmW4QHs1bZFFR6fEPq9RLYI81CjXZ2BGKWFWd7SLmsi+bXkINC1ayGohIi9IBLZFbCVNcH5zDN7Rx+EtzNCRnH089mzUUV7HkOk6H5d3PzGzkeAB+ZPoLLeoPJyvP8/Ne+D6pe7fQ1nZimYf3Fg6VXKyjy7M1uHf6GWPZd0V+OHug1UljbBQIzN6KHEGFs7199kQgVZLK5P/gWlCgGh/Ol73hRaWNiju+Ar0vRcdyZaWwWEll9RNStEnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=g2ueODgGqlz1oJW4dK9YrDTEUreJvsaTFztvZP/bQg4=; b=YEw9hAffhT1aJNmFq+m2b+8E8fYob3rUHyshHJ7xk5GOLYFF39FFgBIWvPCTVJyRGw/VIvObT3s8yekQRTAfG1/Q/qZXtn4RJxrUJOUe5ykWMWj09Ft3mS8z3+NKtkj/plsp/LCIZqtyNFTUfV//tjxLs8BUb1NuuVE9ewk4bxmkjliUHMTCwhtB8dGpZDDUgjs7ifeRuVX54lNW9GjAzJ9FHvme0yXPD0ujVs5YM6s2U7yODI+TVMn9XLjMQgSn3CTbO7g8Prp2nqmbEziBJ+r5ynhfeV7LD2vl9jVLRvX/fl+RrUkKLdU13t/lVS4f2g+nsw6Dz76U9ZgCipwGDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=huawei.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g2ueODgGqlz1oJW4dK9YrDTEUreJvsaTFztvZP/bQg4=; b=nvnrMA9j4/x+TbWoFxGX+kAwDITdqW/UgimFw2rR5fS2/L20meCSkkKYRIv552am1NuTZbZDoY8jZ3HwdnOZWqleOrXF7kIT9f7jRoXDYn1S37MBvLXopNlyLRIQn8VuGDEGMdKlkhhhnQR9C0+4WBuwGTXGLE+WH6AonFJ2dY67VQDvLbhSWx/vsB9I2MffM3HRRXxnFGb3LxVljIPrGkvD0itnaKk/ktigoF+u8dcSGF0NPJYGU/D27Uuryi0rQ9E/8WjzHxg+sqmVBqZ7c5DmWjxAHaeJ+d9L95Le7SVRSltguyKJ1zb7wI/ath7xgMh5JaGVzHvGpCENkNSnag== Received: from BY5PR17CA0049.namprd17.prod.outlook.com (2603:10b6:a03:167::26) by DS0PR12MB7947.namprd12.prod.outlook.com (2603:10b6:8:150::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.10; Sun, 21 Dec 2025 15:04:22 +0000 Received: from SJ5PEPF00000205.namprd05.prod.outlook.com (2603:10b6:a03:167:cafe::7) by BY5PR17CA0049.outlook.office365.com (2603:10b6:a03:167::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9434.9 via Frontend Transport; Sun, 21 Dec 2025 15:04:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SJ5PEPF00000205.mail.protection.outlook.com (10.167.244.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9456.9 via Frontend Transport; Sun, 21 Dec 2025 15:04:21 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Sun, 21 Dec 2025 07:04:06 -0800 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Sun, 21 Dec 2025 07:04:06 -0800 Received: from nvidia.com (10.127.8.12) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend Transport; Sun, 21 Dec 2025 07:04:05 -0800 From: Shani Peretz To: Xingui Yang CC: dpdk stable Subject: patch 'net/hns3: fix VLAN tag loss for short tunnel frame' has been queued to stable release 23.11.6 Date: Sun, 21 Dec 2025 16:57:08 +0200 Message-ID: <20251221145746.763179-80-shperetz@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251221145746.763179-1-shperetz@nvidia.com> References: <20251221145746.763179-1-shperetz@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000205:EE_|DS0PR12MB7947:EE_ X-MS-Office365-Filtering-Correlation-Id: b254b884-aac4-4665-7abf-08de40a238db X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|82310400026|376014|13003099007|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?qqt6jjXyc9qI1DZ20j3XsUKJSINzaT18YnC8oXON73+uPE9yxYq+Oc1jPK/F?= =?us-ascii?Q?CRxCCR0Eyd2KhX7IQ1f/SM6j2cv0aqvoVHQsG//50VJ20F4hXgQfTQ8HZSp1?= =?us-ascii?Q?A58K9LwXkzxZlzbXT8KsfZrQw51Xk8izZ1LpewcBRJLXrnrQic+ALdQAZJ6b?= =?us-ascii?Q?8IwBsdQlw54PThWL6oFnn50jdGiBaGm7IJMkuO8W58zXYWIGtyfHQYalcx77?= =?us-ascii?Q?7tWi0enT3CNK8ZtZ704b1VnolClm5LgEgieq6+vinntCWM09Ak2SiWTOnUmD?= =?us-ascii?Q?PdQ1X0LUkxRwMyQrURVY9jz5iKLx9SzQpxpgR60cb3BH+y9ICT0ul0UTGPaj?= =?us-ascii?Q?I0bNy0JHXw84kJicsZZbEhv+/ARFu+lAvYCiBw0caC8YIDBjeLb/wD3U80sY?= =?us-ascii?Q?Qddm6H1jGWULXZjY3jGvj8g4D0gArg2nghXyoXTN4j7GSsfb6b5cC3jQbZ+u?= =?us-ascii?Q?qRtNR+ffF8lAHqp6GHlqx4Iptts+7BOSqUR7ZGVNH+yi2iXJdsRuVWNxqWTm?= =?us-ascii?Q?PEmhL27YTSxHeijmlBj6x5w5WKKjmpeaAzVtOuI1AqhvB9o0/YfzWx60QPF4?= =?us-ascii?Q?3GHN4lLvNIF7bwRr8LRza4B9n5n5oY74oy6Pr4B4gskOUumXjAcKh2AyyPxC?= =?us-ascii?Q?V2tcgp88L2gOfwaVJacFXJcVXFzA9JRfJ0mI9ag5wZUF411WZK4muf6EHA+Y?= =?us-ascii?Q?6k4t2CwFaMBjRy8gtKbEIK4redZQRRCjHJmsWnTX8bJIoMSt3T0WTinmyFyu?= =?us-ascii?Q?bto2ewfk3ZFNB0aGIUTeDdwBlr5Gbkqb9IskmIkQQ+MHkkfyKdNICpiW6rry?= =?us-ascii?Q?UsqoKdm2p52EZWd1gL78DqHFmWLetit0VIFZ2t8v1CTANt2jcF2XGvv7ihTV?= =?us-ascii?Q?fQolbboC6zr8b0SnUJfV68WHUWsn5rLjDYYqrTEvEIlNCOOtt4eouFypgDEN?= =?us-ascii?Q?AB29kKrSyq54oXMbNU/8VnfbYB4vZ6Pz2qFmjZC742BrDQrz/5pCrZePsqi+?= =?us-ascii?Q?KOnRUnq9trNVSdxZ6aLn4qfXcw1vuXFPotQvRa5RHhYVMVuVd82VeGtjYxyr?= =?us-ascii?Q?Tv+zTd4HG91MAgROoS9gZwtjlzJ+WqTAvqYZnUP8t2YPPGDxkVNVn+T1VBRP?= =?us-ascii?Q?o8w3n5iNLi6cWjoHIZ7nXOlawDL0r/H5sPuaQeTULnWvv/OtPEr1egSBZajh?= =?us-ascii?Q?n0DESJIIxrQbzCXTxpUYoh4ySGauPFFeDyLvddALbvUTN2A+atlm98yktjdN?= =?us-ascii?Q?QP5KvO9R4gSCXSirTVnoGhczOoCEMOEewnEDzxbxG1CCGEDLmqwDXBMkEz2M?= =?us-ascii?Q?RhrTTaxVFpVs3cg+3+q6wCq5C79/18IrgYxQ56JUJqCp+YMCYDhgMdtRbl6Y?= =?us-ascii?Q?ovFeYtHS/UVedNtpibq+ZxRgBI5A05/K9fIWW4PJE0b63V4yz9NwT9I+f0ih?= =?us-ascii?Q?JTAacIhIpU0Q/6BvWEcS3K6O7ehTfByijOFR79Pk+QOuIKIuFbUJJubAzS2+?= =?us-ascii?Q?096YxEn3lU66qXuYdg2uSDk57XMLfIFmw/eiOpl5qHPUjeeQzjUaJd0E1oKS?= =?us-ascii?Q?V6o/tSVxDEfhcajnlDRMT+OwjtsE58uzC1zONeox?= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014)(13003099007)(7053199007); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2025 15:04:21.4723 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b254b884-aac4-4665-7abf-08de40a238db X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF00000205.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7947 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 23.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 12/26/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/shanipr/dpdk-stable This queued commit can be viewed at: https://github.com/shanipr/dpdk-stable/commit/f6369cf96143d89a2fa00584b4a2a5da54abf421 Thanks. Shani --- >From f6369cf96143d89a2fa00584b4a2a5da54abf421 Mon Sep 17 00:00:00 2001 From: Xingui Yang Date: Mon, 29 Sep 2025 19:35:53 +0800 Subject: [PATCH] net/hns3: fix VLAN tag loss for short tunnel frame [ upstream commit 2262fc29485bd863db55e820a194bf1e4be8a87c ] When the hardware handles short tunnel frames below 65 bytes, the VLAN tag will be lost if VLAN insert or QinQ insert is enabled. Therefore, the packet size of the tunnel frame is padded to 65 bytes to fix this issue. Fixes: de620754a109 ("net/hns3: fix sending packets less than 60 bytes") Signed-off-by: Xingui Yang --- drivers/net/hns3/hns3_ethdev.h | 1 + drivers/net/hns3/hns3_rxtx.c | 48 +++++++++++++++++++++++----------- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/drivers/net/hns3/hns3_ethdev.h b/drivers/net/hns3/hns3_ethdev.h index 1b105dc5ca..d856285505 100644 --- a/drivers/net/hns3/hns3_ethdev.h +++ b/drivers/net/hns3/hns3_ethdev.h @@ -78,6 +78,7 @@ #define HNS3_DEFAULT_MTU 1500UL #define HNS3_DEFAULT_FRAME_LEN (HNS3_DEFAULT_MTU + HNS3_ETH_OVERHEAD) #define HNS3_HIP08_MIN_TX_PKT_LEN 33 +#define HNS3_MIN_TUN_PKT_LEN 65 #define HNS3_BITS_PER_BYTE 8 diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index 909f69fbfe..dc21b7dd6f 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -4246,6 +4246,37 @@ hns3_tx_fill_hw_ring(struct hns3_tx_queue *txq, } } +static bool +hns3_tx_pktmbuf_append(struct hns3_tx_queue *txq, + struct rte_mbuf *tx_pkt) +{ + uint16_t add_len = 0; + uint32_t ptype; + char *appended; + + if (unlikely(tx_pkt->ol_flags & (RTE_MBUF_F_TX_VLAN | RTE_MBUF_F_TX_QINQ) && + rte_pktmbuf_pkt_len(tx_pkt) < HNS3_MIN_TUN_PKT_LEN)) { + ptype = rte_net_get_ptype(tx_pkt, NULL, RTE_PTYPE_L2_MASK | + RTE_PTYPE_L3_MASK | RTE_PTYPE_L4_MASK | + RTE_PTYPE_TUNNEL_MASK); + if (ptype & RTE_PTYPE_TUNNEL_MASK) + add_len = HNS3_MIN_TUN_PKT_LEN - rte_pktmbuf_pkt_len(tx_pkt); + } else if (unlikely(rte_pktmbuf_pkt_len(tx_pkt) < txq->min_tx_pkt_len)) { + add_len = txq->min_tx_pkt_len - rte_pktmbuf_pkt_len(tx_pkt); + } + + if (unlikely(add_len > 0)) { + appended = rte_pktmbuf_append(tx_pkt, add_len); + if (appended == NULL) { + txq->dfx_stats.pkt_padding_fail_cnt++; + return false; + } + memset(appended, 0, add_len); + } + + return true; +} + uint16_t hns3_xmit_pkts_simple(void *tx_queue, struct rte_mbuf **tx_pkts, @@ -4323,21 +4354,8 @@ hns3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) * by hardware in Tx direction, driver need to pad it to avoid * error. */ - if (unlikely(rte_pktmbuf_pkt_len(tx_pkt) < - txq->min_tx_pkt_len)) { - uint16_t add_len; - char *appended; - - add_len = txq->min_tx_pkt_len - - rte_pktmbuf_pkt_len(tx_pkt); - appended = rte_pktmbuf_append(tx_pkt, add_len); - if (appended == NULL) { - txq->dfx_stats.pkt_padding_fail_cnt++; - break; - } - - memset(appended, 0, add_len); - } + if (!hns3_tx_pktmbuf_append(txq, tx_pkt)) + break; m_seg = tx_pkt; -- 2.43.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-12-21 16:54:21.162155139 +0200 +++ 0080-net-hns3-fix-VLAN-tag-loss-for-short-tunnel-frame.patch 2025-12-21 16:54:17.357039000 +0200 @@ -1 +1 @@ -From 2262fc29485bd863db55e820a194bf1e4be8a87c Mon Sep 17 00:00:00 2001 +From f6369cf96143d89a2fa00584b4a2a5da54abf421 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 2262fc29485bd863db55e820a194bf1e4be8a87c ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index f6bb1b5d43..209b042816 100644 +index 1b105dc5ca..d856285505 100644 @@ -23 +24 @@ -@@ -75,6 +75,7 @@ +@@ -78,6 +78,7 @@ @@ -32 +33 @@ -index aa7ee6f3e8..df703134be 100644 +index 909f69fbfe..dc21b7dd6f 100644 @@ -35 +36 @@ -@@ -4219,6 +4219,37 @@ hns3_tx_fill_hw_ring(struct hns3_tx_queue *txq, +@@ -4246,6 +4246,37 @@ hns3_tx_fill_hw_ring(struct hns3_tx_queue *txq, @@ -73 +74 @@ -@@ -4296,21 +4327,8 @@ hns3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) +@@ -4323,21 +4354,8 @@ hns3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)