From patchwork Wed Nov 24 15:37:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Slava Ovsiienko X-Patchwork-Id: 104676 X-Patchwork-Delegate: ferruh.yigit@amd.com 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 BD571A0C52; Wed, 24 Nov 2021 16:38:26 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 376FA426F5; Wed, 24 Nov 2021 16:38:26 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2080.outbound.protection.outlook.com [40.107.220.80]) by mails.dpdk.org (Postfix) with ESMTP id CD19E4117E for ; Wed, 24 Nov 2021 16:38:23 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UTXJS16GjEIesHA9JjPm2BEoW8BNRc2m5KHaw/fweWbR1RoUgAM6U/FwazN1ZxAqwDu4iBpF7f+KlOhnii6biTBr+XXUW7zWNfRfv/gIMdtM/x8LBVnHmbqckV0g9VdMekeCtOXuTmA/If+VV0FVNoYXZIep4XFm1q48SVAuoR8tbKXeiqKxaeY6xREFvsaKjuiOQb6SdnJOw07ft09NyPDjhuiMsaR1RYEE0EoCEPrGI6LbQoPfcs/u9On0VndG40iaL4Ep/VYFG29pkHYMNHwpTvU9Eonc0NMByd48FYS13/HxQekB2/+Hm1Jry+2wYQsvihQKUW46KBwttbM0xg== 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=iqgGKBuGdcxVtNHXajPV2sv1VfcLMLrKwStq0nZppFs=; b=hNos2Ochkt8fS53pbNx7G0MCctMoDm5wdiFNyucVeHjEA0QMPVE6MgOQAXc2GRdT+dca+iqHYMFJeqqBi3Q1TCQPx5vVaHOxdujVwVkcWX0TU+Ygw3hF/IFn8CFfuTm+sz4QAgE3EPuUAlBF3PjQTAW5SbakXbOkE/Cieo1+Odx98dSDqvlhuQMIJRxbPnrxfkGqhid2tacc9sYtO5085W/WMutDlWtAjf4sS06hCatrPE8ngzn1bGUfzlzzzdB+ub+6Yz5ScsIqFaY8dmEPdjFIftzGJS3d5i3zDWQo+yvIX/0LCO2EPoLIpfB8ErTXSKgNffhKSVA9t90AxA5teg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=monjalon.net smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine sp=quarantine 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=iqgGKBuGdcxVtNHXajPV2sv1VfcLMLrKwStq0nZppFs=; b=k0zscaxBqyjAblsaFzIvMVdfiOOQlGYsxOFAPxqXsMFEUKTj0yoE+LEDjAYSbJh1r47XXKkMh4wEELWvcJUO34Y1miR69dginuyS9irbWeu4tHysiEm8OXqM8MwzsxutMss2jcBtcPfvgqfBiQX+McGWAWZDFzrbT7T7OJPcM8XSPkhzLh7JVgPNVe6bFPuchAcLk4t2pWIUz+ktrThANfT/Vsa1UyCvZZqwzl0uvueMWdP96DMJWxzzfLP/iVIOI+X4bJHrHTawH2Fk0BwU5/ZbNXIRX4Kr2UKH/uXpVoiHOZYGJPs+11YeRP/3FtlGtrICErRcSJqkhevASvi/zA== Received: from DM6PR12CA0014.namprd12.prod.outlook.com (2603:10b6:5:1c0::27) by BN6PR12MB1569.namprd12.prod.outlook.com (2603:10b6:405:6::18) 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 15:38:16 +0000 Received: from DM6NAM11FT017.eop-nam11.prod.protection.outlook.com (2603:10b6:5:1c0:cafe::fa) by DM6PR12CA0014.outlook.office365.com (2603:10b6:5:1c0::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.21 via Frontend Transport; Wed, 24 Nov 2021 15:38:16 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) 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.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by DM6NAM11FT017.mail.protection.outlook.com (10.13.172.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4713.20 via Frontend Transport; Wed, 24 Nov 2021 15:38:15 +0000 Received: from nvidia.com (172.20.187.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Wed, 24 Nov 2021 15:38:11 +0000 From: Viacheslav Ovsiienko To: CC: , Subject: [PATCH v3] ethdev: deprecate header fields and metadata flow actions Date: Wed, 24 Nov 2021 17:37:56 +0200 Message-ID: <20211124153756.12198-1-viacheslavo@nvidia.com> X-Mailer: git-send-email 2.18.1 In-Reply-To: <20211123075940.5521-1-viacheslavo@nvidia.com> References: <20211123075940.5521-1-viacheslavo@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.6] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 23f3d42d-0b12-482c-2072-08d9af606eaf X-MS-TrafficTypeDiagnostic: BN6PR12MB1569: 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: 4xyTEKNUtVXwdvMMLgv/MPWkrjYOHJnlw3+3Cduf/MNUox35egyi109kJ+kQZCWmLshzERHddYosWuqyKMZ8YR6xnJWgr46JuGC4XfpjcvylaZLaGYbPZf289rGXi1MDyR2il+P5N4n7DqwrOXbYL34eb1w+uGSB+LwKvw2Yv6IPay5M5zCfQPvGo8/l7FZ7jcZlXlFqy7LI+GINM2r9kFFaEx6cX6EJWOt8Ar1VYEpuHtndG2QSp1ubD4uDRU63ncTkWVmqYj1F0GobaXIgFDbiQn1TkoTdYep4DAPQkiXpLGhQpcQNu9OUh2xoyvlVzZ5gBBlt5DjOX9uoPBtCa1ElYzY4a3yhviIavOju+zSHrB03FDtUQqUbzQxJSlDvLLBc+6wfB5BbBHVBmF6VXBAhyHc9dE2nj4XEM2RmgTRa1eV4CdA08QyqB8AyIufUVcNtjN6t5YsqFiFm7gohxi3TqFsWg5QAxZmsOZwO11VH7T01nJUOudwbywQo/NCaoqCfcZsGJbgfzG2+DfUz2N3ikMT889OAPFBwkg+NQ/D24/Cl7wyQ2WkA4BHJOEpdk2pCzY/M/1vMkPOERnRpameOLM7AlNzZCfOIM9zp8RYsgGTyC58qNT0GYhXY0Y0pl93k1u2Ay+05PfgNgfabA15LPetjlRu+jrYsn45cTAzMT5Jgdvm664AtKYDDtXCCEYvF8Qj2WZb9eYG0a07ktQ== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(1076003)(26005)(36860700001)(2906002)(6666004)(16526019)(186003)(86362001)(54906003)(70586007)(4326008)(5660300002)(8676002)(6286002)(8936002)(7696005)(70206006)(6916009)(426003)(55016003)(30864003)(356005)(47076005)(2616005)(83380400001)(36756003)(508600001)(336012)(82310400004)(7636003)(316002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2021 15:38:15.7348 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 23f3d42d-0b12-482c-2072-08d9af606eaf X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT017.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1569 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 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. [1] commit 641dbe4fb053 ("net/mlx5: support modify field flow action") On other side there are a bunch of multiple legacy actions, that can be superseded by the generic modify field action: 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 This note deprecates the following RTE Flow actions: 1. As not supported by any of PMDs: 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 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 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. Signed-off-by: Viacheslav Ovsiienko Acked-by: Thomas Monjalon --- 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(+) diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_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. Action: ``OF_SET_MPLS_TTL`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Implements ``OFPAT_SET_MPLS_TTL`` ("MPLS TTL") as defined by the `OpenFlow Switch Specification`_. @@ -2254,6 +2255,7 @@ Switch Specification`_. Action: ``OF_DEC_MPLS_TTL`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Implements ``OFPAT_DEC_MPLS_TTL`` ("decrement MPLS TTL") as defined by the `OpenFlow Switch Specification`_. @@ -2270,6 +2272,7 @@ Implements ``OFPAT_DEC_MPLS_TTL`` ("decrement MPLS TTL") as defined by the Action: ``OF_SET_NW_TTL`` ^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Implements ``OFPAT_SET_NW_TTL`` ("IP TTL") as defined by the `OpenFlow Switch Specification`_. @@ -2286,6 +2289,7 @@ Switch Specification`_. Action: ``OF_DEC_NW_TTL`` ^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. 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 Action: ``OF_COPY_TTL_OUT`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. 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`_. Action: ``OF_COPY_TTL_IN`` ^^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. 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 tag") as defined by the Action: ``OF_SET_VLAN_VID`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. 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`_. Action: ``OF_SET_VLAN_PCP`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Implements ``OFPAT_SET_LAN_PCP`` ("set the 802.1q priority") as defined by the `OpenFlow Switch Specification`_. @@ -2589,6 +2597,7 @@ valid packet. Action: ``SET_IPV4_SRC`` ^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set a new IPv4 source address in the outermost IPv4 header. @@ -2607,6 +2616,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_IPV4_DST`` ^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set a new IPv4 destination address in the outermost IPv4 header. @@ -2625,6 +2635,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_IPV6_SRC`` ^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set a new IPv6 source address in the outermost IPv6 header. @@ -2643,6 +2654,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_IPV6_DST`` ^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set a new IPv6 destination address in the outermost IPv6 header. @@ -2661,6 +2673,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_TP_SRC`` ^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set a new source port number in the outermost TCP/UDP header. @@ -2679,6 +2692,7 @@ flow pattern item. Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_TP_DST`` ^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set a new destination port number in the outermost TCP/UDP header. @@ -2716,6 +2730,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``DEC_TTL`` ^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Decrease TTL value. @@ -2734,6 +2749,7 @@ in pattern, Some PMDs will reject rule because behavior will be undefined. Action: ``SET_TTL`` ^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Assigns a new TTL value. @@ -2752,6 +2768,7 @@ in pattern, Some PMDs will reject rule because behavior will be undefined. Action: ``SET_MAC_SRC`` ^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set source MAC address. @@ -2770,6 +2787,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_MAC_DST`` ^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set destination MAC address. @@ -2788,6 +2806,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``INC_TCP_SEQ`` ^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. 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 result in undefined behavior. Action: ``DEC_TCP_SEQ`` ^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. 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 result in undefined behavior. Action: ``INC_TCP_ACK`` ^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Increase acknowledgment number in the outermost TCP header. Value to increase TCP acknowledgment number by is a big-endian 32 bit integer. @@ -2812,6 +2833,7 @@ Using this action on non-matching traffic will result in undefined behavior. Action: ``DEC_TCP_ACK`` ^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Decrease acknowledgment number in the outermost TCP header. Value to decrease TCP acknowledgment number by is a big-endian 32 bit integer. @@ -2820,6 +2842,7 @@ Using this action on non-matching traffic will result in undefined behavior. Action: ``SET_TAG`` ^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set Tag. @@ -2842,6 +2865,7 @@ application. Multiple tags are supported by specifying index. Action: ``SET_META`` ^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set metadata. Item ``META`` matches metadata. @@ -2876,6 +2900,7 @@ used to connect the Rx and Tx flows if it can be propagated from Rx to Tx path. Action: ``SET_IPV4_DSCP`` ^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set IPv4 DSCP. @@ -2896,6 +2921,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_IPV6_DSCP`` ^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated. Consider `Action: MODIFY_FIELD`_. Set IPv6 DSCP. 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 use of these attributes will become invalid starting from DPDK 22.11. +* 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 supported 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 superseded + by generic MODIFY_FIELD action, will be removed in DPDK 22.11. + +* ethdev: Actions ``OF_SET_VLAN_VID``, ``OF_SET_VLAN_PCP`` are deprecated + as superseded by generic MODIFY_FIELD action. + * cryptodev: Hide structures ``rte_cryptodev_sym_session`` and ``rte_cryptodev_asym_session`` to remove unnecessary indirection between session and the private data of session. An opaque pointer can be exposed 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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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, /** + * @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 { }; /** + * @deprecated + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * 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 { }; /** + * @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 Switch @@ -3253,6 +3334,9 @@ struct rte_flow_action_raw_decap { }; /** + * @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 { }; /** + * @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 { }; /** + * @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 { }; /** + * @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 { }; /** + * @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 { }; /** + * @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 { }; /** + * @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 { }; /** + * @deprecated + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP * RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP *