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 9324CA0C52; Wed, 24 Nov 2021 17:21:31 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5C74740040; Wed, 24 Nov 2021 17:21:31 +0100 (CET) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam08on2050.outbound.protection.outlook.com [40.107.101.50]) by mails.dpdk.org (Postfix) with ESMTP id B80214003C for ; Wed, 24 Nov 2021 17:21:29 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jsi+coNNr2k2pHmZA0TleMb2lfP49sCMiA+/5jyNEaeIrqcJ/zOmS9SywXpn0mruZC1SwJDIqx3+Rr9PIEuKlamlfOqNBrzIhrxVCuU7wEU7UiSRoX654OHzoXjzrMhrlsKh7lxIyFBrd9BppSrbIb4M3CPn/PDN/xDyj6C9mgxYKo5EjQVr1DfCZv7a2jKyV9xji6GMBtvZXxq8Vq2I3mXKUvG1q2pWVtvZKLK/UN8qBjRLdpwBHHHs78vvx1By5lDrUXehePhT14l0RfxZ1F8iLOzhAlbFwIcdaJWmU4fXgOBYhB+QDtdq668Sovf/JKuJNcwga4AbxutIsN233g== 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=J8/vPYpex9bG4UBqQGlNP7SbodzzYNVbzA2aV/0/UqQ=; b=CFgbAcxDU/Zrm2CQ2fze5eI7LYC8dk5yUE9QccISkdX/fvnLJzIKrzILJSlyhfudba+ZrDdNjwLHobm3jmW9AwtWTyl2+msvnw1F/+m3XMOcdDKGxqVsG18Ykv1RXE4d1LzQYHLjfTTwvd9+bOxPW7W37Ll9j4q7zVVlESdWHBn9l3NjkKqV9jngnvbEHNkbEHIxZvP51MOS4BTiEGPaqP96dvJQ6ZFccLIcE7rjvQA9e7ZcqC0H6LfnZBG8KNx9V6Lfpt1WRzSmszEtaXx8gDOX2Vr4SDwessiBnh8AJk7HRrtwacWsKj2ErDeji7BLS257YNG6nhs3d3qZKtGsgQ== 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 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=J8/vPYpex9bG4UBqQGlNP7SbodzzYNVbzA2aV/0/UqQ=; b=qlfcT62pGJHKvD9i5Wk2a0qrlFUgkWu3C7kUOq44FHc4k/0f9+E1M93FxPpJMbaa6NfUlaREKPNj3erjkwi5qorUnaGG5he9xckhCv4PcsRafeSRGBpfLJ5RXRVQMYOIFt3gffFTwqbT/ibcNPfHDakaONkLx6l04HDYpoDgt0Zz/sIfooW2VTUuh04HJyNj8o0CzEaCPXyyvBi3jxiMcggNWI34W4iUUTS30ae53wv3XZ+N2s5SOy3UTKT7z0ytf2O3Iaxf0blvFoIRo+F5pJEvtkGgMNm8DCwU//4hzYokikFvjGNay2LRlwMjT5QAnCItGs1h1NeDpBmOoveaCg== Received: from DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) by DM4PR12MB5264.namprd12.prod.outlook.com (2603:10b6:5:39c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.21; Wed, 24 Nov 2021 16:21:28 +0000 Received: from DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::4c7b:3be1:176b:f77f]) by DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::4c7b:3be1:176b:f77f%4]) with mapi id 15.20.4713.025; Wed, 24 Nov 2021 16:21:28 +0000 From: Ori Kam To: Slava Ovsiienko , "dev@dpdk.org" CC: "ferruh.yigit@intel.com" , "NBU-Contact-Thomas Monjalon (EXTERNAL)" Subject: RE: [PATCH v3] ethdev: deprecate header fields and metadata flow actions Thread-Topic: [PATCH v3] ethdev: deprecate header fields and metadata flow actions Thread-Index: AQHX4UlXKsp2VpIVhkisCn1rc01r4awS17IA Date: Wed, 24 Nov 2021 16:21:28 +0000 Message-ID: References: <20211123075940.5521-1-viacheslavo@nvidia.com> <20211124153756.12198-1-viacheslavo@nvidia.com> In-Reply-To: <20211124153756.12198-1-viacheslavo@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dc750b5f-9ad1-45b2-81d6-08d9af6677d2 x-ms-traffictypediagnostic: DM4PR12MB5264: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1122; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qs0c+YGKMBBD4xs9XOMwskdFlBlWk7u7CKvd+UNQV+uinKfXVGeXEbgv0ZotfNiGvcULvw1rXoBLvvZC+SDinzQcXvVyoI7zPfVPBDklDfqYVoeRAkWHq7o+T9Ncv7KUX5TlM9FgEnfclsx5RDCnw0Fj1kKwT1q34eYvwQ95hlDLnkVwndYbz8phkaaF+j9T35QpvYRAxP4K4QDcqCqjDjs23iCtQTBq4n3owxGZNlR6CElSGBYfD7OB1KYVsvF3FeU8Dnsmceqhrw9TSZUmS8DTOguU5NhjIkBKvS59xkPFdXMLZG2Zd4knW68nxtZ7GvQ3A4OaDeBJ+esUZ7S9oDHJrksVhg0YAPvvUYx+WUejhCU7YxdAVT9Yq1qFBGGY9qPEmfBWHiqgMo0g2mRpjGEapZrwB1+b9z2UKeqQeriLg/pjd7/brgKJVRj/qczCH/qBZKVXk+/nET6oa3JOFJ2T+Aa7ifTvNWB9i/2tghxVifpqQduoahiC94lorqA2qoEtFKPtVz4k4184UotdBo9VhIy4jXJo0ysfOrs661xaaQCb9+JrS1507yg/AcGSyFK3wOB8BIXnNMvv1dTmlKJndfcesmT2kCSsi/ZqBDtDvwmD4tTM9Z0xn5+UhKtf5V25OAm/LHCHEa0gEsEVMSqX584giYbJzyBgi9zPBToDSAOLyFov1jRwYkwRlUnn5lVcpN2C3HrZMKItZy3JiQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR12MB5400.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(26005)(7696005)(2906002)(8936002)(53546011)(122000001)(71200400001)(5660300002)(30864003)(83380400001)(33656002)(38100700002)(38070700005)(6506007)(508600001)(86362001)(110136005)(66946007)(76116006)(52536014)(8676002)(316002)(9686003)(66556008)(66446008)(64756008)(186003)(4326008)(54906003)(55016003)(66476007)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?s96iv73rLkuk9s/d8dpEKkoeUDTwt+sMUk+69bpemg2EITgqSpUr+Y7Uzemr?= =?us-ascii?Q?ase5kR0HEdJ12XdTj7zhvvtlqhDNuxq81Ae2gOaOriJwocH2sAxZYJF3cRT5?= =?us-ascii?Q?1CrXJTfUYqVCYZq0Jt9FNE9Z8W5ZMF6tYQydyfFIP/tTapDidC0CLiPmyoD6?= =?us-ascii?Q?DQCjMxheJA9NcvF1u9IngdyTOxHA3N1TTT11CshiCJfOY/Ad950G3Wtz/qhy?= =?us-ascii?Q?rTpGlKWUNwHAmqT2ywZvfdWrInn9wPvTXmofhBxwZvAcENVXvUMTGEPErZ+B?= =?us-ascii?Q?g0jNqFSHAnW4lP4DDm6318JvQlAgbcekBjE3sR8b/X56nMPomY26QMnPmZIi?= =?us-ascii?Q?1E+8mDpMCsAz5/qU3UYmmbL5w8bRg61mug8KJJz2Qb0Pkp2i9uvWR0wV1c3l?= =?us-ascii?Q?gW20m11OD4YJMNCt9yV5NJFR8Fwx5rV41gdQVxP8opgN/g+V4E7qm0D+e93i?= =?us-ascii?Q?eQ4sFqEje1IGbzqVEDQBLzha6R+Q5NUSYDRYLGUZGojqmfOkTaMd7WLKezDs?= =?us-ascii?Q?zjb+9FHWoeFnipsfQNFhpXkIb+ELh9LPVsFy5UHMa6D6QWkupss7hD3i2Yap?= =?us-ascii?Q?PSahP7ihKVx4g+mkrlCTh3f80e2Jg67lN+nJgRZlcHw42NmQAB9/9wJi8a35?= =?us-ascii?Q?EPNMZ3Bf/sOmwwotQSUIsZXJ+p2lJqSMHJLxNICSPEcqg7iuMosG/YZnl/X7?= =?us-ascii?Q?7DGRoVXZjo4GbVpgsCcSuIVyhAATiKyJWhQ2D1EYcr7NWzB/TITuZrWobh1+?= =?us-ascii?Q?9TXWlCfSP5dYZ34sI6O8FCtKnZ89j0jdVe7pNg9NdTuTsce+ZAugiI1MC65W?= =?us-ascii?Q?Lcy5X7qAesAjpSt7BzDgm6PYALx5JyiM43q65HDnfWcZKlxYCggw03IQXNjv?= =?us-ascii?Q?1doDeYpTbBQOCY/d0Ax12pQRoS96thJjrcAZGV25zzcHPL084xnRCVEntdrG?= =?us-ascii?Q?2xQUnj2u8zeSfwXzsS+npnNI5a6eZIzvvsVQ5Pyo3rLXSHBsMx1KyR/M74Og?= =?us-ascii?Q?K+IhwIkBz5AuGP+6LxCaNW9iBpNWU7CO8X803PU2QaWLgRG3GqdW9Q7q0G+A?= =?us-ascii?Q?nqRolAR0A0kF7Qe+eWfJEZ1+2VzP1ehAhzE/L6pzsN00YfgGuuRvQaOP/O+U?= =?us-ascii?Q?dKTuCG+kW5iFGfBARGS3B+dUhyEaDXaUy0hSFww8kSy6eX3elhFKKQYX+WP+?= =?us-ascii?Q?VEW78hUX6XVwtdloZ/h9j+22qmIfR4bTqJ+x52hUUIdQZh+9FJ/dNpo9CMYV?= =?us-ascii?Q?1Mz8SyrNjSC1xSOL3Vpg1+eI3m5jG0u+mxNrDQwzxjFuT8v0mrBxs0R7lEaC?= =?us-ascii?Q?nLyBYkfe3Vf/9aA3ZTYLDe/OwFFIn6AALrdkBYXQ/m3WNTUFR29tmE9O+Spk?= =?us-ascii?Q?QLeVxz30WSs4zdG3O27qzcG+LvOQ9JmmqLdNTx0QfkAGD65FKMhwn7pN49c5?= =?us-ascii?Q?o1Kos6nBFv6WfK8K/gkYwMR9mKHBm3w+iVSpbH6tFNqt4b2EeIjBaEob5zKO?= =?us-ascii?Q?wpzkgVpNl1ECVcwoRl9Iz5OJKvTXkBCuNEiv+0qTZ0lfA1zhti5iovsoCjYW?= =?us-ascii?Q?MUdn+D672nclLDnpJK1ZrqpIYWYTa2+Fl82fD4uxP+rYHJEbDyfgqjLtewLj?= =?us-ascii?Q?6w=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR12MB5400.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc750b5f-9ad1-45b2-81d6-08d9af6677d2 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2021 16:21:28.0270 (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: 2JFTBfkgbgTHBZRZUZVkx1P12WGi9nW8ZMNzWq7eLmye9POTGTBuQTlaOmoHcN70XN/PKvsICVNns6AOZKXNhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5264 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 Hi Slava, > -----Original Message----- > From: Viacheslav Ovsiienko > Sent: Wednesday, November 24, 2021 5:38 PM > To: dev@dpdk.org > Cc: ferruh.yigit@intel.com; NBU-Contact-Thomas Monjalon (EXTERNAL) > Subject: [PATCH v3] ethdev: deprecate header fields and metadata flow act= ions >=20 > The generic RTE_FLOW_ACTION_TYPE_MODIFY_FIELD action was > introduced by [1]. This action provides an unified way > to perform various arithmetic and transfer operations over > packet network header fields and packet metadata. >=20 > [1] commit 641dbe4fb053 ("net/mlx5: support modify field flow action") >=20 > On other side there are a bunch of multiple legacy actions, > that can be superseded by the generic modify field action: >=20 > RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL > RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL > RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL > RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL sfc > RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT > RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN > RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC bnxt, cxgbe, mlx5 > RTE_FLOW_ACTION_TYPE_SET_IPV4_DST bnxt, cxgbe, mlx5 > RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC cxgbe, mlx5 > RTE_FLOW_ACTION_TYPE_SET_IPV6_DST cxgbe, mlx5 > RTE_FLOW_ACTION_TYPE_SET_TP_SRC cxgbe, mlx5 > RTE_FLOW_ACTION_TYPE_SET_TP_DST cxgbe, mlx5 > RTE_FLOW_ACTION_TYPE_DEC_TTL mlx5, sfc > RTE_FLOW_ACTION_TYPE_SET_TTL mlx5 > RTE_FLOW_ACTION_TYPE_SET_MAC_SRC cxgbe, mlx5 > RTE_FLOW_ACTION_TYPE_SET_MAC_DST cxgbe, mlx5 > RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ mlx5 > RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ mlx5 > RTE_FLOW_ACTION_TYPE_INC_TCP_ACK mlx5 > RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK mlx5 > RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP mlx5 > RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP mlx5 > RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID bnxt, cnxk, cxgbe, enic, > mlx5, octeontx2, sfc > RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP bnxt, cnxk, cxgbe, enic, > mlx5, octeontx2, sfc > RTE_FLOW_ACTION_TYPE_SET_TAG mlx5 > RTE_FLOW_ACTION_TYPE_SET_META mlx5 >=20 > This note deprecates the following RTE Flow actions: > 1. As not supported by any of PMDs: >=20 > RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL > RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL > RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL > RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT > RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN >=20 > 2. As supposed to be replaced by generig field modify action: > RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL > RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC > RTE_FLOW_ACTION_TYPE_SET_IPV4_DST > RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC > RTE_FLOW_ACTION_TYPE_SET_IPV6_DST > RTE_FLOW_ACTION_TYPE_SET_TP_SRC > RTE_FLOW_ACTION_TYPE_SET_TP_DST > RTE_FLOW_ACTION_TYPE_DEC_TTL > RTE_FLOW_ACTION_TYPE_SET_TTL > RTE_FLOW_ACTION_TYPE_SET_MAC_SRC > RTE_FLOW_ACTION_TYPE_SET_MAC_DST > RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ > RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ > RTE_FLOW_ACTION_TYPE_INC_TCP_ACK > RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK > RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP > RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP > RTE_FLOW_ACTION_TYPE_SET_TAG > RTE_FLOW_ACTION_TYPE_SET_META >=20 > The VLAN set actions are interrelated to VLAN header insertion/removal > and supported by multiple PMDs and supposed to be just deprecated but > not be removed in 22.11. >=20 > Signed-off-by: Viacheslav Ovsiienko >=20 > -- > v2 - deprecation.rst is updated > v3 - doc comments addressed > - commit message comments addressed > - SET_VLAN_VID and SET_VLAN_PCP actions deprecated, but will not > be removed in 22.11 > --- > doc/guides/prog_guide/rte_flow.rst | 26 +++++++ > doc/guides/rel_notes/deprecation.rst | 14 ++++ > lib/ethdev/rte_flow.h | 105 +++++++++++++++++++++++++++ > 3 files changed, 145 insertions(+) >=20 > diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/r= te_flow.rst > index 77de8da973..dbed183b6c 100644 > --- a/doc/guides/prog_guide/rte_flow.rst > +++ b/doc/guides/prog_guide/rte_flow.rst > @@ -2238,6 +2238,7 @@ fields in the pattern items. >=20 > Action: ``OF_SET_MPLS_TTL`` > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 Since no PMD support this action why set reference to MODIFY_FIELD_? Same for all unsupported actions. > Implements ``OFPAT_SET_MPLS_TTL`` ("MPLS TTL") as defined by the `OpenFl= ow > Switch Specification`_. > @@ -2254,6 +2255,7 @@ Switch Specification`_. >=20 > Action: ``OF_DEC_MPLS_TTL`` > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Implements ``OFPAT_DEC_MPLS_TTL`` ("decrement MPLS TTL") as defined by t= he > `OpenFlow Switch Specification`_. > @@ -2270,6 +2272,7 @@ Implements ``OFPAT_DEC_MPLS_TTL`` ("decrement MPLS = TTL") as defined > by the >=20 > Action: ``OF_SET_NW_TTL`` > ^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Implements ``OFPAT_SET_NW_TTL`` ("IP TTL") as defined by the `OpenFlow > Switch Specification`_. > @@ -2286,6 +2289,7 @@ Switch Specification`_. >=20 > Action: ``OF_DEC_NW_TTL`` > ^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Implements ``OFPAT_DEC_NW_TTL`` ("decrement IP TTL") as defined by the > `OpenFlow Switch Specification`_. > @@ -2302,6 +2306,7 @@ Implements ``OFPAT_DEC_NW_TTL`` ("decrement IP TTL"= ) as defined by the >=20 > Action: ``OF_COPY_TTL_OUT`` > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Implements ``OFPAT_COPY_TTL_OUT`` ("copy TTL "outwards" -- from > next-to-outermost to outermost") as defined by the `OpenFlow Switch > @@ -2319,6 +2324,7 @@ Specification`_. >=20 > Action: ``OF_COPY_TTL_IN`` > ^^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Implements ``OFPAT_COPY_TTL_IN`` ("copy TTL "inwards" -- from outermost = to > next-to-outermost") as defined by the `OpenFlow Switch Specification`_. > @@ -2367,6 +2373,7 @@ Implements ``OFPAT_PUSH_VLAN`` ("push a new VLAN ta= g") as defined by > the >=20 > Action: ``OF_SET_VLAN_VID`` > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Implements ``OFPAT_SET_VLAN_VID`` ("set the 802.1q VLAN id") as defined = by > the `OpenFlow Switch Specification`_. > @@ -2383,6 +2390,7 @@ the `OpenFlow Switch Specification`_. >=20 > Action: ``OF_SET_VLAN_PCP`` > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Implements ``OFPAT_SET_LAN_PCP`` ("set the 802.1q priority") as defined = by > the `OpenFlow Switch Specification`_. > @@ -2589,6 +2597,7 @@ valid packet. >=20 > Action: ``SET_IPV4_SRC`` > ^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set a new IPv4 source address in the outermost IPv4 header. >=20 > @@ -2607,6 +2616,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be= returned. >=20 > Action: ``SET_IPV4_DST`` > ^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set a new IPv4 destination address in the outermost IPv4 header. >=20 > @@ -2625,6 +2635,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be= returned. >=20 > Action: ``SET_IPV6_SRC`` > ^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set a new IPv6 source address in the outermost IPv6 header. >=20 > @@ -2643,6 +2654,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be= returned. >=20 > Action: ``SET_IPV6_DST`` > ^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set a new IPv6 destination address in the outermost IPv6 header. >=20 > @@ -2661,6 +2673,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be= returned. >=20 > Action: ``SET_TP_SRC`` > ^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set a new source port number in the outermost TCP/UDP header. >=20 > @@ -2679,6 +2692,7 @@ flow pattern item. Otherwise, RTE_FLOW_ERROR_TYPE_A= CTION error will > be returned. >=20 > Action: ``SET_TP_DST`` > ^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set a new destination port number in the outermost TCP/UDP header. >=20 > @@ -2716,6 +2730,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be= returned. >=20 > Action: ``DEC_TTL`` > ^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Decrease TTL value. >=20 > @@ -2734,6 +2749,7 @@ in pattern, Some PMDs will reject rule because beha= vior will be undefined. >=20 > Action: ``SET_TTL`` > ^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Assigns a new TTL value. >=20 > @@ -2752,6 +2768,7 @@ in pattern, Some PMDs will reject rule because beha= vior will be undefined. >=20 > Action: ``SET_MAC_SRC`` > ^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set source MAC address. >=20 > @@ -2770,6 +2787,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be= returned. >=20 > Action: ``SET_MAC_DST`` > ^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set destination MAC address. >=20 > @@ -2788,6 +2806,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be= returned. >=20 > Action: ``INC_TCP_SEQ`` > ^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Increase sequence number in the outermost TCP header. > Value to increase TCP sequence number by is a big-endian 32 bit integer. > @@ -2796,6 +2815,7 @@ Using this action on non-matching traffic will resu= lt in undefined behavior. >=20 > Action: ``DEC_TCP_SEQ`` > ^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Decrease sequence number in the outermost TCP header. > Value to decrease TCP sequence number by is a big-endian 32 bit integer. > @@ -2804,6 +2824,7 @@ Using this action on non-matching traffic will resu= lt in undefined behavior. >=20 > Action: ``INC_TCP_ACK`` > ^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Increase acknowledgment number in the outermost TCP header. > Value to increase TCP acknowledgment number by is a big-endian 32 bit in= teger. > @@ -2812,6 +2833,7 @@ Using this action on non-matching traffic will resu= lt in undefined behavior. >=20 > Action: ``DEC_TCP_ACK`` > ^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Decrease acknowledgment number in the outermost TCP header. > Value to decrease TCP acknowledgment number by is a big-endian 32 bit in= teger. > @@ -2820,6 +2842,7 @@ Using this action on non-matching traffic will resu= lt in undefined behavior. >=20 > Action: ``SET_TAG`` > ^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set Tag. >=20 > @@ -2842,6 +2865,7 @@ application. Multiple tags are supported by specify= ing index. >=20 > Action: ``SET_META`` > ^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set metadata. Item ``META`` matches metadata. >=20 > @@ -2876,6 +2900,7 @@ used to connect the Rx and Tx flows if it can be pr= opagated from Rx to Tx > path. >=20 > Action: ``SET_IPV4_DSCP`` > ^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set IPv4 DSCP. >=20 > @@ -2896,6 +2921,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be= returned. >=20 > Action: ``SET_IPV6_DSCP`` > ^^^^^^^^^^^^^^^^^^^^^^^^^ > +This action is deprecated. Consider `Action: MODIFY_FIELD`_. >=20 > Set IPv6 DSCP. >=20 > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/= deprecation.rst > index 6d087c64ef..d04a606b7d 100644 > --- a/doc/guides/rel_notes/deprecation.rst > +++ b/doc/guides/rel_notes/deprecation.rst > @@ -101,6 +101,20 @@ Deprecation Notices > is deprecated as ambiguous with respect to the embedded switch. The us= e of > these attributes will become invalid starting from DPDK 22.11. >=20 > +* ethdev: Actions ``OF_SET_MPLS_TTL``, ``OF_DEC_MPLS_TTL``, ``OF_SET_NW_= TTL``, > + ``OF_COPY_TTL_OUT``, ``OF_COPY_TTL_IN`` are deprecated as not supporte= d by > + PMDs, will be removed in DPDK 22.11. > + > +* ethdev: Actions ``OF_DEC_NW_TTL``, ``SET_IPV4_SRC``, ``SET_IPV4_DST``, > + ``SET_IPV6_SRC``, ``SET_IPV6_DST``, ``SET_TP_SRC``, ``SET_TP_DST``, > + ``DEC_TTL``, ``SET_TTL``, ``SET_MAC_SRC``, ``SET_MAC_DST``, ``INC_TCP_= SEQ``, > + ``DEC_TCP_SEQ``, ``INC_TCP_ACK``, ``DEC_TCP_ACK``, ``SET_IPV4_DSCP``, > + ``SET_IPV6_DSCP``, ``SET_TAG``, ``SET_META`` are deprecated as superse= ded > + by generic MODIFY_FIELD action, will be removed in DPDK 22.11. > + > +* ethdev: Actions ``OF_SET_VLAN_VID``, ``OF_SET_VLAN_PCP`` are deprecate= d > + as superseded by generic MODIFY_FIELD action. > + > * cryptodev: Hide structures ``rte_cryptodev_sym_session`` and > ``rte_cryptodev_asym_session`` to remove unnecessary indirection betwe= en > session and the private data of session. An opaque pointer can be expo= sed > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h > index 650376c16d..42699b5b03 100644 > --- a/lib/ethdev/rte_flow.h > +++ b/lib/ethdev/rte_flow.h > @@ -2363,6 +2363,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SECURITY, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Implements OFPAT_SET_MPLS_TTL ("MPLS TTL") as defined by the > * OpenFlow Switch Specification. > * > @@ -2371,6 +2374,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Implements OFPAT_DEC_MPLS_TTL ("decrement MPLS TTL") as defined > * by the OpenFlow Switch Specification. > * > @@ -2379,6 +2385,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Implements OFPAT_SET_NW_TTL ("IP TTL") as defined by the OpenFlow > * Switch Specification. > * > @@ -2395,6 +2404,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Implements OFPAT_COPY_TTL_OUT ("copy TTL "outwards" -- from > * next-to-outermost to outermost") as defined by the OpenFlow > * Switch Specification. > @@ -2404,6 +2416,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Implements OFPAT_COPY_TTL_IN ("copy TTL "inwards" -- from > * outermost to next-to-outermost") as defined by the OpenFlow > * Switch Specification. > @@ -2429,6 +2444,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Implements OFPAT_SET_VLAN_VID ("set the 802.1q VLAN ID") as > * defined by the OpenFlow Switch Specification. > * > @@ -2437,6 +2455,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Implements OFPAT_SET_LAN_PCP ("set the 802.1q priority") as > * defined by the OpenFlow Switch Specification. > * > @@ -2509,6 +2530,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_RAW_DECAP, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Modify IPv4 source address in the outermost IPv4 header. > * > * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_IPV4, > @@ -2519,6 +2543,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Modify IPv4 destination address in the outermost IPv4 header. > * > * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_IPV4, > @@ -2529,6 +2556,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_IPV4_DST, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Modify IPv6 source address in the outermost IPv6 header. > * > * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_IPV6, > @@ -2539,6 +2569,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Modify IPv6 destination address in the outermost IPv6 header. > * > * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_IPV6, > @@ -2549,6 +2582,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_IPV6_DST, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Modify source port number in the outermost TCP/UDP header. > * > * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_TCP > @@ -2560,6 +2596,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_TP_SRC, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Modify destination port number in the outermost TCP/UDP header. > * > * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_TCP > @@ -2582,6 +2621,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_MAC_SWAP, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Decrease TTL value directly > * > * No associated configuration structure. > @@ -2589,6 +2631,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_DEC_TTL, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Set TTL value > * > * See struct rte_flow_action_set_ttl > @@ -2596,6 +2641,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_TTL, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Set source MAC address from matched flow. > * > * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_ETH, > @@ -2606,6 +2654,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_MAC_SRC, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Set destination MAC address from matched flow. > * > * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_ETH, > @@ -2616,6 +2667,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_MAC_DST, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Increase sequence number in the outermost TCP header. > * > * Action configuration specifies the value to increase > @@ -2630,6 +2684,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Decrease sequence number in the outermost TCP header. > * > * Action configuration specifies the value to decrease > @@ -2644,6 +2701,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Increase acknowledgment number in the outermost TCP header. > * > * Action configuration specifies the value to increase > @@ -2658,6 +2718,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_INC_TCP_ACK, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Decrease acknowledgment number in the outermost TCP header. > * > * Action configuration specifies the value to decrease > @@ -2672,6 +2735,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Set Tag. > * > * Tag is for internal flow usage only and > @@ -2682,6 +2748,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_TAG, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Set metadata on ingress or egress path. > * > * See struct rte_flow_action_set_meta. > @@ -2689,6 +2758,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_META, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Modify IPv4 DSCP in the outermost IP header. > * > * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_IPV4, > @@ -2699,6 +2771,9 @@ enum rte_flow_action_type { > RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP, >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * Modify IPv6 DSCP in the outermost IP header. > * > * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_IPV6, > @@ -3069,6 +3144,9 @@ struct rte_flow_action_security { > }; >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * If no PMD support this why do we want to add it to the modify_field? Same for all of the unsupported actions. > * RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL > * > * Implements OFPAT_SET_MPLS_TTL ("MPLS TTL") as defined by the OpenFlow > @@ -3079,6 +3157,9 @@ struct rte_flow_action_of_set_mpls_ttl { > }; >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL > * > * Implements OFPAT_SET_NW_TTL ("IP TTL") as defined by the OpenFlow Swi= tch > @@ -3253,6 +3334,9 @@ struct rte_flow_action_raw_decap { > }; >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * @warning > * @b EXPERIMENTAL: this structure may change without prior notice > * > @@ -3268,6 +3352,9 @@ struct rte_flow_action_set_ipv4 { > }; >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * @warning > * @b EXPERIMENTAL: this structure may change without prior notice > * > @@ -3283,6 +3370,9 @@ struct rte_flow_action_set_ipv6 { > }; >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * @warning > * @b EXPERIMENTAL: this structure may change without prior notice > * > @@ -3298,6 +3388,9 @@ struct rte_flow_action_set_tp { > }; >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * RTE_FLOW_ACTION_TYPE_SET_TTL > * > * Set the TTL value directly for IPv4 or IPv6 > @@ -3307,6 +3400,9 @@ struct rte_flow_action_set_ttl { > }; >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * RTE_FLOW_ACTION_TYPE_SET_MAC > * > * Set MAC address from the matched flow > @@ -3316,6 +3412,9 @@ struct rte_flow_action_set_mac { > }; >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * @warning > * @b EXPERIMENTAL: this structure may change without prior notice > * > @@ -3331,6 +3430,9 @@ struct rte_flow_action_set_tag { > }; >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * @warning > * @b EXPERIMENTAL: this structure may change without prior notice > * > @@ -3355,6 +3457,9 @@ struct rte_flow_action_set_meta { > }; >=20 > /** > + * @deprecated > + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD > + * > * RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP > * RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP > * > -- > 2.18.1 Best, Ori