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 3868B45487; Tue, 18 Jun 2024 07:18:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 20A074027B; Tue, 18 Jun 2024 07:18:26 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2083.outbound.protection.outlook.com [40.107.94.83]) by mails.dpdk.org (Postfix) with ESMTP id 15F174026B for ; Tue, 18 Jun 2024 07:18:24 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aKIFV8kYfTHEW7izSudWjG1kPN/Eqc4cdoWBt9sk1r0IOOTy6b4fugv2Tgp/wA9wPrbUIuE0CgDxXo/hE82w6bm1Wh10kwF/NNkBNkbG6XAme7SF43Tc0Xvsb14SAfbIlRc6BJe7D/cRW1rk+iirroctRhRTx3q4Cn91iiBGrJcn8sZsnIj+q/dztENCg6qz9TKTXzcCM2m1T6HlEUbMNDADUDwLy9bgC2xYwE2oNHS4alg6w4bDInTuebOXn/edu87LF0yIGNSkjiskoXz0OhUIS61nTtFZTXRMm24gvh6Neb9Sl/AOZoWIii9Cl8aowZvJaXcRo+qhSmeX+ZOYDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=AqEIN0kcAmpNSoWrEzQ3K4hEVW+I/lliHudTFJss16k=; b=ctW2K92X1an67gEdJnWnYeFz8lqOebYGW2L4X/jPAVRQkKTjZWfXFLAtmwVs7GUTJSEd9CdAENDNWIMRipQKbL3wfXlapmiuRyg3BJW9NOezwVXOgOSX16rUtzYDNSS0OSWZbVoEBriqAhJtxWfWrmfocu2LRy9dj18U6xF/rLP5Z1pi7bL6PrBkxjF5dqLjMu+PsQOVsawGPbkRpjh53Hp9qLv0FPMAXgeBwajYY1HD8RPiObX8pPMUjdSeQLnA9M0sH21vEhNo3jQJgOxIHiwtz/myVtcs760npPeq6SrhpWT77etQ5ugTrQHiFbuZfjrlcf4eEY4ebepJCmhPuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org 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=AqEIN0kcAmpNSoWrEzQ3K4hEVW+I/lliHudTFJss16k=; b=GeL/8grFydts7utsffdD2n94oafoiphG74qI+xwcnBGd4itNcWn/iR1tCQYvdDUUMbGqiWUfXG6/TOJeyz17XMErQK2RY3BY/r8Pjc8dZxiBuUNnAflMnxv2WxjghSRNSyWzKVwOkOhvrHKxZAUDj9n0c9+696GOwmmzWZnAduxIQXJpuzLPW/LToEWBC4tpGoWCSQYDauuLDyAGcsjVHAIGhAZ6LL00Rx7DVR9sWnLVUecXkju1PbLIBs6QV28FRCYkLAxJHeET+2budGESZBmk5UymccMv+B7dTMu1bNRzV4blhT05zWLy4lhcKNdcTxaeMSwSuoAHnPq64dfDnw== Received: from DS7PR03CA0358.namprd03.prod.outlook.com (2603:10b6:8:55::7) by CY8PR12MB7612.namprd12.prod.outlook.com (2603:10b6:930:9c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.31; Tue, 18 Jun 2024 05:18:21 +0000 Received: from CY4PEPF0000E9D3.namprd03.prod.outlook.com (2603:10b6:8:55:cafe::7a) by DS7PR03CA0358.outlook.office365.com (2603:10b6:8:55::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.31 via Frontend Transport; Tue, 18 Jun 2024 05:18:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) 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.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000E9D3.mail.protection.outlook.com (10.167.241.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.15 via Frontend Transport; Tue, 18 Jun 2024 05:18:20 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 17 Jun 2024 22:18:10 -0700 Received: from nvidia.com (10.126.230.35) 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.1544.4; Mon, 17 Jun 2024 22:18:06 -0700 From: Gregory Etelson To: CC: , =?UTF-8?q?=C2=A0?= , , , , , , , , , Subject: [PATCH] net: add bit fields to IPv6 header definition Date: Tue, 18 Jun 2024 08:17:51 +0300 Message-ID: <20240618051751.220610-1-getelson@nvidia.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D3:EE_|CY8PR12MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: e8c91c33-14d1-4814-5748-08dc8f561173 X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230037|36860700010|376011|1800799021|82310400023; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?5tYMTsh3BZMavWqSpPzgAam8jfh0KIN5lOuvP9GzKwJsgJIb9BfX4kBXgLGk?= =?us-ascii?Q?v1QIRmzZTmkgEzEnegELBpOLm5ClPWeYTFfmhJUor2ve2AwOBHbmUTd8aRfi?= =?us-ascii?Q?i33SxrtunGxhP9cpL3KDFQ8+boZybdGoMJtl0OJ/IyFxxnEjYagWw8obB50D?= =?us-ascii?Q?SMB/7Kh5rLC5jScRzoVQmHH1y9QVTJ4EfneBsnxbDRu3PbnJRVovx2M61M9x?= =?us-ascii?Q?nKIVsxSkfXPsW7VLe5wDupZBbQust5pT8LZACLJsAtlnFwTbsJUOibAHb079?= =?us-ascii?Q?KSkInPKdaIWU808jqVKAyFCyKQQ7xZzStBr9qjm2IqpbnMPvJC/d001bbdkx?= =?us-ascii?Q?MSbYLO9wsDugfs87Erk4D9xdXsXSF8VUUJ5TwoEXkihtyyUW/e6YBFRtbloK?= =?us-ascii?Q?CmAs5TU2kJycaJw5h8uBBmRLv9vP78jS0uEiPKVsxURlVTjcWDDTLUyj5w5E?= =?us-ascii?Q?snt646J2koMzqdAFI+ERmDzruSXqqSF2krGBDbqemXALWAUdHIfAk33uknLM?= =?us-ascii?Q?XiRLrR9Lxsf7lajuUFe/ktJU0mOjqAOPNvTO6NT/bG9yXORul78jXeBYgQjL?= =?us-ascii?Q?m1kW1rBSTIv33z/FWwgcwZ8C7NS88njxraTRRg8ICwmhxI8ilIISMpK9BAwp?= =?us-ascii?Q?4P9l/F0wzrbQD3rmcukcW363q12VHpSeF0geqTNFT7oYNJhl6IbP578L2exu?= =?us-ascii?Q?u7Ep1UVWtKs58GV2C85GgYV60XT9AcYT66oY7OWwzzMULOB7avuxIGbqpnt6?= =?us-ascii?Q?n1TIb+JM3enG52LrUu7l58dpp73p363ccnbblqbxPX6qQr8XADBwAHDNJH9+?= =?us-ascii?Q?uinILMPHbIRE3AW73z4J3RTSSZmyV2g02U5h+EYe02l/mXqe7QrFgqrNOxOT?= =?us-ascii?Q?CJtvMRZLkUW5taKa35vhv0MMGnk+bxtRjlMDz/hRPnLSM/Fst2MMOO7qaLGc?= =?us-ascii?Q?jKB6snh3GdcwY/UYiNs84YLae/P49DCx4I1zCgpx8O7AnXIV3HXzoZCPgt7C?= =?us-ascii?Q?RWiPcWqqFdmqe3c4GuSDhRGy94CTC5l+Up8sgnME1UFZE7ui9kNsHZrmlAU4?= =?us-ascii?Q?nKakfNA4fI7nKWJiJOjVX28HmAijQf5AdC6+0uz1JtvLmf98UunVNYB16MoB?= =?us-ascii?Q?KVnPv+ep4nhsoP+2CthvzT3ta1RNSJeL6c1emC7w6Zh1B+LhddlPm5nP7Gw3?= =?us-ascii?Q?DGSwAC8b/JW8ejgIyAZQ+C0ZYq5hUIvnkPFAK5E8p7cC0csgjuKnKyZuPOmG?= =?us-ascii?Q?k1V2pWTkU4S9JS6BXpd+TtST4RH95G0iRwlC8NNOKMjd1d9nmF1nyvf/ffLT?= =?us-ascii?Q?uydXS+c1aznh/Qj3j0FWX4o2pGgOMiqPoNIylVf+iPrBrTjGZ94X2XYWZmp5?= =?us-ascii?Q?VCdrWhqcTASuxTZgzuSDyE2XO5vtuirVyzGibOknO3dkpjpXlA=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230037)(36860700010)(376011)(1800799021)(82310400023); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2024 05:18:20.0623 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e8c91c33-14d1-4814-5748-08dc8f561173 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.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000E9D3.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7612 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org DPDK IPv6 header definition combined the `version`, `traffic class` and `flow label` header fields into a single 32 bits structure member `vtc_flow`. The patch expands IPv6 header definition with dedicated structure members for the `version`, `traffic class` and `flow label` fields. The patch also preserves existing `vtc_flow` structure member for backward compatibility. Signed-off-by: Gregory Etelson --- lib/net/rte_ip.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/net/rte_ip.h b/lib/net/rte_ip.h index 0d103d4127..26e78a6624 100644 --- a/lib/net/rte_ip.h +++ b/lib/net/rte_ip.h @@ -524,7 +524,21 @@ rte_ipv4_udptcp_cksum_mbuf_verify(const struct rte_mbuf *m, * IPv6 Header */ struct rte_ipv6_hdr { - rte_be32_t vtc_flow; /**< IP version, traffic class & flow label. */ + __extension__ + union { + rte_be32_t vtc_flow; /**< IP version, traffic class & flow label. */ + struct { +#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN + uint32_t flow_label:24; /**< flow label */ + uint32_t tc:4; /**< traffic class */ + uint32_t version:4; /**< version */ +#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN + uint8_t version:4; /**< version */ + uint8_t tc:4; /**< traffic class */ + uint32_t flow_label:24; /**< flow label */ +#endif + }; + }; rte_be16_t payload_len; /**< IP payload size, including ext. headers */ uint8_t proto; /**< Protocol, next header. */ uint8_t hop_limits; /**< Hop limits. */ -- 2.43.0