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 5F326A0A02; Thu, 14 Jan 2021 13:22:22 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1C1611411F1; Thu, 14 Jan 2021 13:22:22 +0100 (CET) Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by mails.dpdk.org (Postfix) with ESMTP id 30E2D1411F0 for ; Thu, 14 Jan 2021 13:22:20 +0100 (CET) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Thu, 14 Jan 2021 04:22:19 -0800 Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 14 Jan 2021 12:22:17 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 14 Jan 2021 12:22:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g5/zkiPOmbxtQtyROZIdUpIyF6TeILMEGiwGkqEypNswEXur48e9P7JdfK+tf2Om4axQbUpEVv4yiqLHXSKJGx1YbnD2DyApEslY4vsFYCF+8oWjIImrxLx9yV1qobNL8xBYMQscoYRziQ0+KAE4yKYCdRg1bbkZzhUPIDfMM279Ne6HS5BKclvmdwINLsW8RKkhFJtYUhfr9kQtsUL0P9+xMYaZwUtlQc1AkwrX1bBHxPBQb8CYOOGVeT84RN5yXhR2AsCBkxLXVnD2bvvz66YKU+t3b69afCEeW+IBgBC9XIPXPIwSz3am5FhV06oXu1aM4eYhDwPCbpdsivwp/A== 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-SenderADCheck; bh=z2Dvn45wKd/PT8sk7GQ99jSKLUEJMu44BTayEAUvXsw=; b=E1mTq4zaVreBSHrFpTgwUi58lCraCex5CyRx8iAF/LwDKDK+sL5ZMlagFjXIkrvy/nV3PAdRk4+KVb+yfYrYcpfTiL7C/cLEe6gfA91KuJ0SYiKDc4M5sLTE/OCIRCiVhJkeu5P3piNg5mLPyVt607d6bB6/qO3dYRxK2VdLxjqAniIwk1mA4j0M+NuZ80i5mQieQxvP9yeAlRPer68qsjivTvKmgU4BFveQ0UMR+j2ZazrinzMrYrMMNCqie2F+ZimhHElAL1i3HbzbQlKEMAUuWozoYlPyN35KBtNQ7wWiRoHfiQtnZBbl/fl8BcL4wtA81vir1GDYcseOpWvz4Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from DM6PR12MB4987.namprd12.prod.outlook.com (2603:10b6:5:163::31) by DM6PR12MB3964.namprd12.prod.outlook.com (2603:10b6:5:1c5::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Thu, 14 Jan 2021 12:22:16 +0000 Received: from DM6PR12MB4987.namprd12.prod.outlook.com ([fe80::e1e4:bf73:a753:2665]) by DM6PR12MB4987.namprd12.prod.outlook.com ([fe80::e1e4:bf73:a753:2665%4]) with mapi id 15.20.3763.010; Thu, 14 Jan 2021 12:22:16 +0000 From: Ori Kam To: Alexander Kozyrev , "dev@dpdk.org" CC: Slava Ovsiienko , NBU-Contact-Thomas Monjalon , "ferruh.yigit@intel.com" , "andrew.rybchenko@oktetlabs.ru" Thread-Topic: [PATCH v4 1/2] ethdev: introduce generic copy rte flow action Thread-Index: AQHW6c6mQfgtsKo0hU2StGR3L086JqonC8aQ Date: Thu, 14 Jan 2021 12:22:16 +0000 Message-ID: References: <20210113033854.11827-1-akozyrev@nvidia.com> <20210113170751.13044-1-akozyrev@nvidia.com> <20210113170751.13044-2-akozyrev@nvidia.com> In-Reply-To: <20210113170751.13044-2-akozyrev@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [147.236.145.126] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0e52a458-e170-40b9-c0fd-08d8b88707a0 x-ms-traffictypediagnostic: DM6PR12MB3964: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EUwcFrQ0/92ofk6dMqWRqxnyGVClwzQsKfTMD6M82bUtjaZw4a0aorldgN2h3eI64WSMG3gV/Hst6rn08VBlEu3JN9lVzR8ola8DAr3O+hz5iocyH0fcrR3d3O6H/M67U1ZMVw4QDIujfaGuvxZe3qPOgN95WXrU70G6ao+JtYGyDuxOvgQfrhGXU+P9E4hNX5V5YWzhadnbqr6S+6Obu+iAarhzOZF+7S07YbRu7MtzNnLM2JmkhvaSHuDtHlkKmFkS8lqyMsJG6Gyr0rZ8gjKead4rGfkHGTsuobTshNZ038OJ8+7fbFQ+8zW3IWntu8r48UJZe3Z51k5yYchxnzjH41v4DGTOCCspdB1O/BPjKZ6UgnyP/YDdrTCGTlSlFIjJ0GrZ5tUGgeFOA6zmRC/D5y1qaNRVP27VbH1UNuSmwEaJrHQeA81qxVVMalbKqoUPq1kHwsOQxmO7Qg0noAnmH5DQUZCLDO+qxzdrvhQdKrAmhR6wLSMmylrZQgvk4pfPjsW1Tjr5pp1+JTtDhQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4987.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(39860400002)(396003)(346002)(366004)(376002)(26005)(52536014)(186003)(64756008)(478600001)(55016002)(8936002)(66446008)(66556008)(76116006)(966005)(9686003)(6506007)(7696005)(2906002)(86362001)(45080400002)(66946007)(71200400001)(53546011)(33656002)(54906003)(4326008)(83380400001)(66476007)(316002)(8676002)(110136005)(5660300002)(41533002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?8PhPlE1zJVVV6976gmjp6Dt2mYtzrYNSTmuP+EZAIQbXPr6CRa2odKGQpIvN?= =?us-ascii?Q?N/nK4j42CzD3DLuZf3x/60otobKTweUbL5BGqy/sZM37ghSBjviwhOTEeD3A?= =?us-ascii?Q?p+exr601xP40bZQXj+g/SzAihqa41vyKYnF2FXtMwd8N2rtbZOJHlJP8zfog?= =?us-ascii?Q?sh7/MB3UmU2egXdFIlIcekC7A+LqhN/Cyl+r3H2kYLVaMbmG4I8tfYt3/SvO?= =?us-ascii?Q?UXKkYxwlmleMeIfdLfczNOnUfyPM+LynfpGkNqp2VmceVvpI5i8uj4CLkOEi?= =?us-ascii?Q?sOrWpjk0Xa0vcsbu37FjnJLOqmOaVF4iCmFTT2OzhgKvr9KYzAdMV/zcYNcq?= =?us-ascii?Q?g0wth52pbGiqBkMQ2IjgZISRzki+cIHep5KDsagB+9SkEHJ42UKUFi2PWR2w?= =?us-ascii?Q?i2iCkJ97zgYFoFY6Hwc+BRlII1k7wCtUw+OgRNzEJntjDePQkqUk2ogOCAue?= =?us-ascii?Q?Pv7HYLrT2PDPcu5YivZUevQvm2ZDz4HxbWFiaM20fC8wfMnGewWMRAzi9j3b?= =?us-ascii?Q?Q7xIXUNOsYgp14YToCeVyIpSLwbMoxPpjkYDh9h3KmlsvXTFhTOEX06px7d4?= =?us-ascii?Q?K24/6uxGOQd266lsBpKkw5fb7YBeKhC+H34ru58+ZHpTlLs5s7MdHDoF9STX?= =?us-ascii?Q?5nTrJdsngSrkDeJJ5pj1ygDeOBd6PGYImr/bEbGb4TcBCr4GcOsRGBEwt5lj?= =?us-ascii?Q?g6RxzA0QMDwimN5is8shiIGSjK+j4cvg9AAJIOD63yQyPce0kDhaF4kv5VGN?= =?us-ascii?Q?VYeGpAhB7+F61tCTVmj/Id0mu724Sw+2LhxInbUxxuv1JnGkCfQrgNLPGZBO?= =?us-ascii?Q?50Ppa+jK493s4BLcX8HvpeXA6J12iNkH503iMrwSpe8Ag0UbJpwo/qDrfOAD?= =?us-ascii?Q?pMT4sKtROmlX+BjZ0SzP0yQOMsMtoV2OAkInisq7I+wkr0q3t7Bd0BMpLP80?= =?us-ascii?Q?g60xrcEGvQjD2gs8+f25H52OUmT3bLYc7h7cCuOhjoA=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4987.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e52a458-e170-40b9-c0fd-08d8b88707a0 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jan 2021 12:22:16.0466 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5b+yHztyVxU+o/Kz1EEFuMsya4GoMH8kpeHdfq2ere9UtG6Ph8kjI7P7GhMIXpZ7wav7H2DnTmGbT+PXPfReCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3964 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1610626939; bh=z2Dvn45wKd/PT8sk7GQ99jSKLUEJMu44BTayEAUvXsw=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=pPgBLCM+gSkshb3tNo5qtFtmCeiZW4yTaqSb31tenEUbFTTf3prWOukngw431BA+L J5o+n9um6xIHYzO1rcoqfgW19v5j9fBhNIzImSFbSNOWGLq0ipDaUvCPHpntrG9jEd dBQOBMG+rPd7UQ2AL+qzGIWe0zNcqe04vaOvTxpnrOJ/fX7dl8mNDmvRWf4CJ3pTYK kHV14+7nsgrwbzmXSROY+khKvyIvqAupLiRDlFyur52/KSU4fF32T/ugLCYTkn0kzv 7RsTPobrmcc+2EETEbEN0MOveUHdmEG8BvskUbFK/KdDbj0Q9Oy4RRU2DLlrqNj/4y M6zxelInX6hMQ== Subject: Re: [dpdk-dev] [PATCH v4 1/2] ethdev: introduce generic copy rte flow action 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 Sender: "dev" Hi Alexander, > -----Original Message----- > From: Alexander Kozyrev > Sent: Wednesday, January 13, 2021 7:08 PM > Subject: [PATCH v4 1/2] ethdev: introduce generic copy rte flow action >=20 > Implement a generic copy flow API to allow copying of an arbitrary > header field (as well as mark, metadata or tag) to another field. >=20 > This generic copy mechanism removes the necessity to implement a > separate RTE Flow action every time we need to modify a new packet > field in the future. A user-provided value can be used from a > specified tag/metadata/mark or directly copied from another packet field. >=20 > The field ID is used to specify the desired source/destination packet > field in order to simplify the API for various encapsulation models. > Specifying the packet field ID with the needed encapsulation level > is able to quickly get a packet field for any inner packet header. >=20 > Alternatively, the special ID (ITEM_START) can be used to point to the > very beginning of a packet. This ID in conjunction with the offset > parameter provides great flexibility to copy/modify any part of a packet > as needed. >=20 > The number of bits to copy as well as the offset to start from can > be specified to allow a partial copy or dividing a big packet field > into multiple small fields (let's say copying 128 bits of IPv6 to 4 tags)= . >=20 > RFC: > https://nam11.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fpatche= s.d > pdk.org%2Fpatch%2F85384%2F&data=3D04%7C01%7Corika%40nvidia.com% > 7C17fcc82431974e7e56f108d8b7e5c877%7C43083d15727340c1b7db39efd9ccc > 17a%7C0%7C0%7C637461544825998974%7CUnknown%7CTWFpbGZsb3d8eyJW > IjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C10 > 00&sdata=3DkTd45BEYhWsYtRuB9r5Y%2BTwa88wnkKgwUhWFFIutcvc%3D& > amp;reserved=3D0 >=20 > Signed-off-by: Alexander Kozyrev > --- > doc/guides/prog_guide/rte_flow.rst | 57 +++++++++++++++++++++++++ > doc/guides/rel_notes/release_21_02.rst | 5 +++ > lib/librte_ethdev/rte_flow.c | 1 + > lib/librte_ethdev/rte_flow.h | 59 ++++++++++++++++++++++++++ > 4 files changed, 122 insertions(+) >=20 Acked-by: Ori Kam Thanks, Ori