From patchwork Tue May 16 06:37:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 126865 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BB78542B1F; Tue, 16 May 2023 08:37:58 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6573C41151; Tue, 16 May 2023 08:37:58 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2042.outbound.protection.outlook.com [40.107.93.42]) by mails.dpdk.org (Postfix) with ESMTP id EF8ED40C35 for ; Tue, 16 May 2023 08:37:56 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KwEb4Gd7c5fUez4sak+RDD+rFXFjYFLRDgNujaeaLIzAxwxiSe2VlpiO+iFh/3hae0Hfop2vWhKGwPFo0wtZXsCGpAI/IsMrj4SUjQWEa25V2jqZdjFIyE9WcZC3UgWCZ/OyWCXjreq4dyi4Ft/KFQplzxiPwCnnq1Ys1WEZbCBiRQ19DpkPBTDczk2HKyEfdJ7ePJxZ9GIQY8c3YjqOR8H4U46hHWj0G53xJHw+hIH5dH7FqJzxV8/JZoFDHIVCmZJBPC5DTmszSKnZyxCWCFZLe4FbXjv6FetbJEldKWUdTMJdCF7kjhM2bbu6CiAXPKC99mmuUJVNezkiJX7utQ== 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=Jcmt31nLS914bvmEEGeBNO29xTI8ivthFCFKYk7nxBg=; b=PDlyiLp0j1xpqloaEtLjReFY2q18OhwjWyPi/LvBQTw3IuhCJiLIKHjqj4mFOj6p7cMKxIo13ABIxMRXXVF07VL6VqfcQbb9i/sr2MnAvTc7W/PQBgot3up2t8R4M0dcCSB/itesWCWop9NlgNVTmn6t3onlIjH94wj0vQDnU+Gq2ENwx+9g6Nt35x7bfIaOavYRXTtRvdZf3bYF3EZ6IZAG/pb/ZbATOLX5NIqk2S7XCe8GYDd2gQtqkr0a6mKT6Ssw7A0w1oFIWBJNIn13NxjjmQy0n/8UGFR83rh3NFqJNj0eHEaBHDsynUs9ri1uG66C5q7WG+t8b1QEFnH8xA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) 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 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=Jcmt31nLS914bvmEEGeBNO29xTI8ivthFCFKYk7nxBg=; b=OLVtxMifrSeJqbG8nqo16u0o9JappJ0V5knvjTUK6r2+9m10vXj4P5V+KiDsV6OJhEiJYO6cAl5pxdfqngYQJsHx5YftF5CJBZ0wSoxhcguu6MmFiRJbKIdk28PpMYZtMGdyKnfrrGeiQadWdT8qKcY2QxIXt2NWU19UzkNcznPVvmjYzPq7LH/5FfJtArjZYIF9iAxWsyjfrKgzBrzRKiGJ07lx/VYh7O5l0Bk/RWxpLFvx/o8B/TSjALnCpA7aLylaoVp8kyEOD0PTdUh1wm0nbcDPQQeAFce9XZxST2T9RraEOpubk5fGm12Xn9RqN4u4YxHYZmgbExoJTYCF6g== Received: from CY5P221CA0039.NAMP221.PROD.OUTLOOK.COM (2603:10b6:930:4::15) by MW3PR12MB4569.namprd12.prod.outlook.com (2603:10b6:303:57::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30; Tue, 16 May 2023 06:37:55 +0000 Received: from CY4PEPF0000C983.namprd02.prod.outlook.com (2603:10b6:930:4:cafe::4f) by CY5P221CA0039.outlook.office365.com (2603:10b6:930:4::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.33 via Frontend Transport; Tue, 16 May 2023 06:37:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) 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.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by CY4PEPF0000C983.mail.protection.outlook.com (10.167.241.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.11 via Frontend Transport; Tue, 16 May 2023 06:37:54 +0000 Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Mon, 15 May 2023 23:37:54 -0700 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Mon, 15 May 2023 23:37:53 -0700 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37 via Frontend Transport; Mon, 15 May 2023 23:37:52 -0700 From: Michael Baum To: CC: Ori Kam , Aman Singh , "Yuying Zhang" , Ferruh Yigit , "Thomas Monjalon" Subject: [PATCH v1 0/7] ethdev: modify field API for multiple headers Date: Tue, 16 May 2023 09:37:40 +0300 Message-ID: <20230516063747.3047758-1-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000C983:EE_|MW3PR12MB4569:EE_ X-MS-Office365-Filtering-Correlation-Id: 50c8a733-efa4-4ab5-7a5a-08db55d81452 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; X-Microsoft-Antispam-Message-Info: gFZkO6cqQ+eE8a4DGE1EoYhQtC5Sx4lTfQx+pF1xpm7FzOkjquvC7s6YKy5yv5PrCSx6mdGZ88ohbaObqlkwJOz16Hs/u30VbLoozaOfWH0qTbhcZC7d8q1/cZSoXw5HdPzPoXqDDq5eye8tun2ollPI0vLQXXlHxIODrt6OE5E3KXYbuxgSo+S6FB7bCwLLeQsxJjmETX1s9jCVvcJMD0dygKPiDqFIp5y0b8lwjji3h9R1sZHf5E4uCqXxrwU0gi5krKGig/qCpSOkW3zlUFvwGv1u1nKA0ZJPOxhnxoMBuz/NDbUF32wAY7gohcdzayAoDKyHd1/zh17AGEnUzHh0WT7l77HPIMxBf3+3AKAyl86m4n/w/ucIQfT3do1eJGWYgeuQUs/zYIcXX5Husk8W8F+3+3vfjvojsODl5xkXi1cRrXxloPIj4TkT7UI7My/ZAagMArR3qrpeUZ5opo6oYMvRO8F68H9dVuu/3XU1AGNPK8R0Ku0CEkqsiEiAU2HSklnHIEVNzVK/QEr1ORIvcMSVKArLAI/u+TuBXk2VuQb9SqApSzGAeBNV9BZsndf0QStb9SXhk4nmKThLEsY2jb7oF3dRHD4GoakNlrPX5znjCRhl1tRFtpvQDm2FlmKuQIdcFPnMWAJjLF8atmNgID7ZtCtA32IQzvMs1pmh3RzzHRvrLOExgCoSy7Wlo/2sFOETyrb7nIHoV/u9ywpuZ7QJIqi/RXqFKAt/g6n+evCXRQSkqUXfa1pM+D1Ew/L/QyBe0dZWfQrsbImLMg== X-Forefront-Antispam-Report: CIP:216.228.118.232; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc7edge1.nvidia.com; CAT:NONE; SFS:(13230028)(4636009)(396003)(346002)(376002)(136003)(39860400002)(451199021)(40470700004)(36840700001)(46966006)(1076003)(6286002)(6666004)(478600001)(966005)(7696005)(54906003)(82740400003)(2906002)(4326008)(6916009)(316002)(26005)(186003)(82310400005)(41300700001)(8936002)(70586007)(8676002)(70206006)(5660300002)(356005)(7636003)(55016003)(36756003)(40460700003)(86362001)(47076005)(36860700001)(426003)(336012)(2616005)(40480700001)(83380400001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 May 2023 06:37:54.4209 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 50c8a733-efa4-4ab5-7a5a-08db55d81452 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.118.232]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000C983.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4569 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 This patch-set extend the modify field action API to support both multiple MPLS and GENEVE option headers. In current API, the header type is provided by rte_flow_field_id enumeration and the encapsulation level (inner/outer/tunnel) is specified by data.level field. However, there is no way to specify header inside encapsulation level. For example, for this packet: eth / mpls / mpls / mpls / ipv4 / udp the both second and third MPLS headers cannot be modified using this API. RFC: https://patchwork.dpdk.org/project/dpdk/cover/20230420092145.522389-1-michaelba@nvidia.com/ Michael Baum (7): doc: fix blank lines in modify field action description doc: fix blank line in asynchronous operations description doc: fix wrong indentation in RSS action description net/mlx5: reduce modify field encapsulation level size ethdev: add GENEVE TLV option modification support ethdev: add MPLS header modification support net/mlx5: add MPLS modify field support app/test-pmd/cmdline_flow.c | 70 ++++++++++++++++++++++++- doc/guides/prog_guide/rte_flow.rst | 38 +++++++++++--- doc/guides/rel_notes/release_23_07.rst | 3 ++ drivers/common/mlx5/mlx5_prm.h | 5 ++ drivers/net/mlx5/mlx5_flow_dv.c | 23 ++++++++ drivers/net/mlx5/mlx5_flow_hw.c | 38 +++++++------- lib/ethdev/rte_flow.h | 72 ++++++++++++++++++++++++-- 7 files changed, 219 insertions(+), 30 deletions(-)