From patchwork Thu Apr 20 09:21:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 126304 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 E1D7042995; Thu, 20 Apr 2023 11:22:08 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B43B541141; Thu, 20 Apr 2023 11:22:08 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2076.outbound.protection.outlook.com [40.107.100.76]) by mails.dpdk.org (Postfix) with ESMTP id B17C440687 for ; Thu, 20 Apr 2023 11:22:07 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MZAw4HyJqlzfI861WrEhlmnSnVLUQiwRcVF2wUklXHTBqq9Yo5VRufeGJAA+xKjjJShnQbaCMTi+Hv+yWYBa+dKxqKBkUrOOee5ep4bQltJtaTxiNbXKyDCB792IMO9+XK/heu5mxfNPRN9PYf5gAaS/pMuNz0xzascFPOStFMT4vhaB4LGzSOv0oNRHweRddoYUAEwPY0VcU2NdyGBWT5S+xI/VobwQ3xWjeDHjjZZTOUtAkycASSJDJwZGuuIoTutul+TC+DW09BiqzAECXnKzelg4hU443gVSyOMS6WoD9l2N8m+jZsZK4HGS94GtTHIRP81QX7XqhiLffsx3jg== 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=83rdXx+XlhJmqvvZqoQ+0sgsY0et5A0rAegLrG/YLC4=; b=Qw4g8dA0DM911VmR13RR5jT55hTazkjCt7vpeGDq2W+9/d9g8izTyCm3mKr/8z0YHJFq0n0ltQzQSCL4Ybs6haBExH2NGbT2OYa364PHfiDetVM8JIrh62yuLbAmLF4Ek5AcKPvohTu3mKm81BQUaqdhEuQB7zuEGhSs1cec4vVgvDmndbpu7zjhLDtcC8Yrp4gQ1dIVo+byf2iV/q8tp8HiFzAIxSmx9HevXh97RuiGKNBH9Rrx+M6rX9fqIHJTudrWIXJ24VBKTr2JQijqjQFejBOESPD64WSrxbyspvlUbtFBQjvOI/xghylar9nvsL+2S2vUR65Cm0+dg7H7wg== 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 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=83rdXx+XlhJmqvvZqoQ+0sgsY0et5A0rAegLrG/YLC4=; b=WX9XDP1s+QGQUB4E6nfLJhQC3pZJDnrVNHhdCsWpohyXriYNEm/qHUFJJQI/quPLCJQZKZubArrgq3lziiokHswle87Lp4zo9VlCh04q36rCQ08rZBsC5dv+CWt3i5wpMH2TcIzKCbx4JHoyG7udr1l9ALPVO2fssQcf9uhIN3JamGUZH37QYl5Kyq9C0JAlhbTX90G/DluiRf0nEU3ofP/ht12tdmPsfP2ZRVsiZv4CnSdcG5iUYk+/ljq45NxAGMkqdj9RAO3mXZhz7Fqehne2aJY8stZwwyHM7XlhcDDmFy277p13TSTMe4hDZiD5OTVpOQJkO5+KIcw5H2nOaw== Received: from DS7PR03CA0323.namprd03.prod.outlook.com (2603:10b6:8:2b::12) by MN0PR12MB5955.namprd12.prod.outlook.com (2603:10b6:208:37e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Thu, 20 Apr 2023 09:22:06 +0000 Received: from DS1PEPF0000E630.namprd02.prod.outlook.com (2603:10b6:8:2b:cafe::2a) by DS7PR03CA0323.outlook.office365.com (2603:10b6:8:2b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.24 via Frontend Transport; Thu, 20 Apr 2023 09:22:06 +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 DS1PEPF0000E630.mail.protection.outlook.com (10.167.17.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.14 via Frontend Transport; Thu, 20 Apr 2023 09:22:05 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.986.5; Thu, 20 Apr 2023 02:21:52 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail204.nvidia.com (10.129.68.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Thu, 20 Apr 2023 02:21:51 -0700 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37 via Frontend Transport; Thu, 20 Apr 2023 02:21:50 -0700 From: Michael Baum To: CC: Ori Kam , Aman Singh , "Yuying Zhang" , Ferruh Yigit , "Thomas Monjalon" Subject: [RFC 0/2] ethdev: extend modify field API Date: Thu, 20 Apr 2023 12:21:43 +0300 Message-ID: <20230420092145.522389-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: DS1PEPF0000E630:EE_|MN0PR12MB5955:EE_ X-MS-Office365-Filtering-Correlation-Id: bece0ebc-d33c-4b32-6424-08db4180b593 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: oiTFICJAj0KiJPcLv74JmQDmYGO6gO5WNplRYOvt389aXvdR3bLBu7ztLaH0bOxe2kp1LoTuuWkMat/u+Nr4aIYXYAsF9YdkMIAHOIcynj9VwMz62fPi+Ms7xisMy/oYbGIIp8SV7wVMpFHE5v132FKnOm54GiEUsu3ErOJuBYTrL06/Au366J6JZwE5oqVVvytmo8pYHs0D1AMPh2tYjXgQoOAlm8Yr2P+tc8Ze+avWTSgOPd35xx8dNJsZ4oX6P75l87n01yT7UoV7gCltj7ZpAXAmqIj9g+kvcJzhQfZP8PvtldRhhx40ynGDKFhG/EV9E8gYwCZ1+fmV0wN7jP8MwmuOO2VAWw9Tr5+YXFRq7NHxk5vUu7YCcnMF3fcHKzkfpI3pLRU86OAN0NpX2Kh4l1+xC+eWP4ZB5KHaVIlwEVrotggChX+99+gYAYoZo1ry6zb70tkUbJF+pBCXW4ikzf3D4yum7j2ecrmeFXU1Jdsa+62rcZvL6M/ywZ6D803CunD26DVRrcc7qpqTJMb1hbxruy3YH0cuT5l7Mkqwikqp+1CRzDW71AUmfpawULoNRy4eTFFWwdYwSJZOaiI2FOdecVR3jr++ICZZ8Bgh0pi9sC+HU2skm6IGZ0rkgEPZsRYGQaQOep31FjzNETigQWxi3opxSXFH1+fGfYaNDP8lK8T4D39qDAwxsh7q+7GSp/1LGvUnCYqlX0nve2ibM65TEKs+iEALs3p5qfT2CmEtQby/E3+DZRAcFChB 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:(13230028)(4636009)(136003)(39860400002)(376002)(346002)(396003)(451199021)(40470700004)(36840700001)(46966006)(4326008)(316002)(6916009)(82740400003)(70586007)(70206006)(426003)(86362001)(5660300002)(47076005)(336012)(2616005)(82310400005)(6666004)(7696005)(36756003)(41300700001)(40460700003)(54906003)(40480700001)(186003)(26005)(1076003)(6286002)(8936002)(2906002)(83380400001)(8676002)(4744005)(36860700001)(55016003)(478600001)(356005)(7636003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2023 09:22:05.9449 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bece0ebc-d33c-4b32-6424-08db4180b593 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: DS1PEPF0000E630.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5955 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 petch-set extend the modify field action API to support 2 special cases. 1. Modify field when the relevant header appears multiple times inside same encapsulation level. 2. Modify Geneve option header which is specified by its "type" and "class" fields. 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. Michael Baum (2): ethdev: add GENEVE TLV option modification support ethdev: add MPLS header modification support app/test-pmd/cmdline_flow.c | 69 +++++++++++++++++++++++++++- doc/guides/prog_guide/rte_flow.rst | 33 +++++++++++--- lib/ethdev/rte_flow.h | 72 ++++++++++++++++++++++++++++-- 3 files changed, 165 insertions(+), 9 deletions(-)