From patchwork Mon May 22 19:27:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 127179 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 5917E42B76; Mon, 22 May 2023 21:28:21 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 30C9C40EE7; Mon, 22 May 2023 21:28:21 +0200 (CEST) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2044.outbound.protection.outlook.com [40.107.212.44]) by mails.dpdk.org (Postfix) with ESMTP id 14AD740EE5 for ; Mon, 22 May 2023 21:28:19 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ITjYb7jRZskXko/mVq9VsjSBfkCbHsc8o59B7mzAdqRLjDqQ5U0R/SrsTo514b689t3chkSuzHdQMnwHYKolWGn6226J6t0w6DySI4GASaqmLP7ZkXsdUr9R5TzZTaNFgOFuct5kTAMXDfCuWwSW2US50t3rVg+vQSpDCz/rad8VSPrqtTZGWumIggU+W9rTzIVHdnp3gBIK/DAuP41PKNJ4BAO9q7K/4zSQYphwtGomgte/i6tTK7EB+JVWCx9QNy+gzJw+SpXT/yt3V0jOPXCLJa7qiVLJfY2PVe1YxdL+CxgmPgkAhS64AadjbQPVfcJ/3kBxHyP5ENpghxiTqA== 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=uMYwCOz7wan3h1M5ppyyKOKBZOwcXZljS2KLh00zbrU=; b=PziWqA98AK3q0HcS7mLrlGiMoPTn0ukpgOBuFnLLjcwnn8IhczG0nvb3sO5MUtT78vybtEl4/jiIRpfiq8gRVCr0xws9EYon3T4DE/2jeCyxY3hNtBLaoVK96SImc6q0YIN9BxqaVk6jl+hqv9kjQU4OXs/I3A90ocV2yL3qhmKbRQt9DsgToW3x79KNib5AU5O8QUENaPa3OxULTO36ZgaBghQlSFl9IxBdaYHljA5ewUUAZ3g2KHDtrOwHY/ZDvc+fjVPNwlTFwoqVyqowX0w2B9nA19Yij8bDCGihjog7xG3oLEiGU5YwzFDThHSQ969snzTSRSWfDlbAa/8bJA== 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=uMYwCOz7wan3h1M5ppyyKOKBZOwcXZljS2KLh00zbrU=; b=bjT5lHGGH6Q37ZVLTxJOJsb57hC5gbbGDg4bzJGSDWdoorTncR2E/6CBMwxCbd5IHQOxKwIFIf4H5EHZ8k+k4KY96DrdR7T3dByFnNvHryb3iNPVq/n5p6qWOW98sl2FR5NooUssiL51j0OApekE28tH/zdsoHNKvKPa1tHEiRVMzVGhN59QK7RzHn/XihLNZmo7xf04FiJzd0qlv7cKJ+VIBNPThtG1CnE9V0V88AF47qA85/mqszsrvJTFtY7kpjSkmPA/JnrVp5Jd3mAsgdGg1BZBP03o22v8pZnUHOTXo8fE6Lz3wmTZRyTYRYpOcBV+GAtCO2ZvPP2+XdOfNQ== Received: from BN0PR02CA0033.namprd02.prod.outlook.com (2603:10b6:408:e5::8) by CH3PR12MB7739.namprd12.prod.outlook.com (2603:10b6:610:151::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Mon, 22 May 2023 19:28:17 +0000 Received: from BN8NAM11FT067.eop-nam11.prod.protection.outlook.com (2603:10b6:408:e5:cafe::b) by BN0PR02CA0033.outlook.office365.com (2603:10b6:408:e5::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28 via Frontend Transport; Mon, 22 May 2023 19:28:17 +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 BN8NAM11FT067.mail.protection.outlook.com (10.13.177.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.29 via Frontend Transport; Mon, 22 May 2023 19:28:16 +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, 22 May 2023 12:28:10 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) 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, 22 May 2023 12:28:09 -0700 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.126.190.182) 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, 22 May 2023 12:28:08 -0700 From: Michael Baum To: CC: Ori Kam , Aman Singh , "Yuying Zhang" , Ferruh Yigit , "Thomas Monjalon" Subject: [PATCH v3 0/5] ethdev: modify field API for multiple headers Date: Mon, 22 May 2023 22:27:59 +0300 Message-ID: <20230522192804.3759072-1-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230518174015.3373185-1-michaelba@nvidia.com> References: <20230518174015.3373185-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT067:EE_|CH3PR12MB7739:EE_ X-MS-Office365-Filtering-Correlation-Id: 57180116-f81b-415e-4865-08db5afab18b 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: lEJFMy16k92EkLasJOmy5LPoreO2X+4XgoAgdXUQy/1St7r9dvKCXTqF3pTfK9OUT3Yc/HAVlzG3HWJdUq/oQry7h9JpEhELd6oKASW6kFd/ekZnWiJc6JRHCfuYjIAxekmlGSHxnftuSDN+SCHum3Ds80FpKCJD9qCTXEIegPjyjEWw3l+w5OGCnysdYa4kQjDJ8njxXu9xp3uTpjci0KhlC48+/gSCI6hkRcoqCLe9KIHMVkR9INLg5PG3HJlCIAW03GHH6J9a0cdVznUjAbC9cLbUb8bNh/H3nbslR8FTP7zZbLw8LmiQbtIRKHOyKm4VRNvoYPRC0URIKjUBCQ4CqIRoh0KmKIzQ8zTVcX05fj1vk2qStTx+AUJf/uTLyASnUKE+JTH75MvPb65HBNJvGVVScXrscgLu/dPbz/MzX/uzmsX578keIXdg7SG+/AfBMqTKsE1QkvWlvV4gfffGl88OdKdZEzJwvYLqSpQoG9qASbN/Ev4PoiJ/PZVu57HFhYttNyhf22LN4zWGVBVm521+jGU3FpSe4isNjoOSFxea25j8uKKmLyJoD7ycOIF9ozHl6m1sfSCkq2f4eFMZVf9MqUqu3xxcr/Md1gKU3h0uC/AGh8Qc6s17mFqvVnfmovgfwuS5k+hM15sPzNH1JaodeUvODYVC0cPav+aDjz42iTVOBJihHU6VFFjQrVMDy4mi8VOBRho47ndbsKOEXhy9tu/OQnLrtk/5uHbNCbzMuY4zCdS+4LzijNINYfvdPSFQTVB4qi/GsjEexQ== 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)(346002)(136003)(39860400002)(396003)(376002)(451199021)(40470700004)(46966006)(36840700001)(5660300002)(40460700003)(8936002)(8676002)(36860700001)(47076005)(83380400001)(36756003)(6286002)(186003)(336012)(426003)(2616005)(356005)(82740400003)(7636003)(2906002)(86362001)(82310400005)(40480700001)(55016003)(1076003)(26005)(966005)(6666004)(316002)(6916009)(4326008)(70586007)(70206006)(478600001)(54906003)(41300700001)(7696005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2023 19:28:16.8201 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 57180116-f81b-415e-4865-08db5afab18b 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: BN8NAM11FT067.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7739 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/ v2: - Change "sub_level" name to "tag_index". - Squash PMD changes into API changes patch. - Remove PMD private patch from the patch-set. v3: - Add TAG array API change to release notes. - Improve comment and documentation. Michael Baum (5): 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 ethdev: add GENEVE TLV option modification support ethdev: add MPLS header modification support app/test-pmd/cmdline_flow.c | 70 +++++++++++++++++++++++- doc/guides/prog_guide/rte_flow.rst | 59 ++++++++++++++++----- doc/guides/rel_notes/release_23_07.rst | 7 +++ drivers/net/mlx5/mlx5_flow_hw.c | 22 ++++---- lib/ethdev/rte_flow.h | 73 ++++++++++++++++++++++++-- 5 files changed, 203 insertions(+), 28 deletions(-)