From patchwork Wed Nov 24 08:06:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Slava Ovsiienko X-Patchwork-Id: 104646 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 39ADBA0C52; Wed, 24 Nov 2021 09:06:31 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 22EE940DF7; Wed, 24 Nov 2021 09:06:31 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2063.outbound.protection.outlook.com [40.107.244.63]) by mails.dpdk.org (Postfix) with ESMTP id 5BE9940688 for ; Wed, 24 Nov 2021 09:06:29 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JkUT/mDAbfq4qRdJEIFiWv7yMGoGh3wPqOy4aGY4yylZ3ejTlQiogMwP5l08XpgPGP078h2CjHxOu7cvkAr4qpLPeB7GRwWuDSb/kjis1n2Ed+6yr0TO4zBHe1LCkA3izqgAT0XrNbgTx1H0IxDPxEQV6AWpMuFc/FHP6mReNfmEHTsrn3L7RMkDg8dGfgrflSoVlk0oF9BJ/QwXwZheJ47eTOZi+ygTUG3+e2Fovi56xShMgAs+LjjdHZE/o+zhlxyLnp7Scy27e/SLg37Ev6fB4j1UeOpXeeAZ42f+qA+2zCcbp6IJfNESFGTlrL16FkqCRWW/oOlNqQtChPQL2g== 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=an1QMAvTKkDAcpVidFLVLHrO6xhybyvWXvnJzjtot8Y=; b=lUvJJ2ijwweVRF+ajTKoRU0C5ZeIlfFeyHD73oGipRO4+o57sFgLM56Tk3Con28dZR2V9J1BFqMd4dOM3htLI+wExICB0Z5kxQ4mg8jDLeujgVw/Ukn57LGztCkHl1JI0NDv6cONUmIQ/fcQNx7mVWZ87SccO5V0eznXLBG8ONRfgGAW+ZkIaON3Px/S0ifGBiXQIgG0FZbEl/WuZlRmdIJ3/KEFEsc5reAGBBv8xdg8jIt8QT4O3LK0k+3YTFt22/1FESvSi7pP9gjOeXXpdbZsfGK0Q9FjGxAlqMGUkA8kp2i0cVECX1AgI0BRAp95vkDd0gew8iPk0mHW5kFPWw== 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=an1QMAvTKkDAcpVidFLVLHrO6xhybyvWXvnJzjtot8Y=; b=RVc/qu2Zurxr9SdnyIF9vi3q4Tvf0N/mMuWu2EKSC/iVkmUv9Bxo+COhEKSMrJ2PN2aPjQb2ySiUegHeTHQheKIBaoWyEKpHN5YnjQWZbrZ77Q1lNCw999GfIwVTLKcWLYQQtZ2FI9yqCSlSo3DE7IcTCqN+d0rVv4eplHxxDasosEo+7ameglKHhIAYSdZzppn4ExrMVSzpiz9UP2ksPWJvPIeZd2V1Q/q+TMBabkZbQ4U1Hphlg5W4tKdMxg3uVZ1+5LP6BGQ4fvfwhF1KbFLNLoqBRPUii4IiEiYlyyOWm4hsiL1GL9kSLwWHbOQMl3p0Ck5b75+s3QoUPwhPYQ== Received: from DM5PR07CA0159.namprd07.prod.outlook.com (2603:10b6:3:ee::25) by BN6PR12MB1346.namprd12.prod.outlook.com (2603:10b6:404:1e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.20; Wed, 24 Nov 2021 08:06:27 +0000 Received: from DM6NAM11FT037.eop-nam11.prod.protection.outlook.com (2603:10b6:3:ee:cafe::32) by DM5PR07CA0159.outlook.office365.com (2603:10b6:3:ee::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.21 via Frontend Transport; Wed, 24 Nov 2021 08:06:26 +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 DM6NAM11FT037.mail.protection.outlook.com (10.13.172.122) 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 08:06:26 +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 08:06:24 +0000 From: Viacheslav Ovsiienko To: CC: , Subject: [PATCH v2] ethdev: deprecate header fields and metadata flow actions Date: Wed, 24 Nov 2021 10:06:10 +0200 Message-ID: <20211124080610.2430-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: HQMAIL101.nvidia.com (172.20.187.10) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 914220ba-05d6-4902-8fa6-08d9af21503a X-MS-TrafficTypeDiagnostic: BN6PR12MB1346: 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: 4BF7PvLnrN+cI/UD9H3cENEmmcvrkRbY7gWGXJLTUi7h0SNZvEcLp/NltOEXxnMLLD0USHrxX1afcF9Y9ujLBDVj2zMX3A4Kv0HvAZQT8bqAdLzHEhgwc51B6FmADX7sdBLF0Ogvj2Y/rdUgIx93Dm/FygBUaB3PEgOSs11hfP/CUgw3+SrSB8rD+5Ad7eAci/TUpbwMPQyC9bQDVoT4OZprk4TX9hZM0AX9ETAfnl8dulFKPLsuvkPkTraegldKTeTUteH2PnbF4EKMtPIn8AA5Dk9KAhv/MM5v0nFKDkRgI+idFLw2zsVGXaajLZlSewW+fwbKAAXE6tPD70nk4rOuPF/k3OveDORrGeqeUY7hIllwL9VnSnPsZZFWMnHMsWrKvOwWQlzBbbbkKVyBYFQ02jTri5wFQWW65OL+v1w+ax2O8XXPYe/18NQ5DkQU78P9nOZNh/uQyRRHrRXzxmd/iZwY2fUtgs9exzmwaR5YzQbL9ODguPgSwrH9uTbvdbVHQA6a8AMvozh3w/kKBjRnqZ6JlbPPHkh1csov7NTLfMnJFew/BweF3Jh695csubM2Z/AErrszI4aTPKlCogCGdA5Xxu7c2TCFzLIPIZbilqMyJ8kSPIEa2on7DpOTuiZ+yfJCEdBoAeNUf8jLUf7LRrGq/AnfoRodKRGP8AyUeXzXz9IUDyDomxfkGcwqvgJrZnHwnfQKDW27ZiQCCQ== 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)(46966006)(36840700001)(26005)(336012)(55016003)(1076003)(4326008)(8936002)(6916009)(508600001)(16526019)(426003)(6666004)(36860700001)(2906002)(7636003)(2616005)(82310400004)(356005)(5660300002)(54906003)(7696005)(8676002)(30864003)(47076005)(86362001)(70206006)(316002)(186003)(70586007)(83380400001)(6286002)(36756003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2021 08:06:26.3003 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 914220ba-05d6-4902-8fa6-08d9af21503a 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: DM6NAM11FT037.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1346 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 There generic RTE_FLOW_ACTION_TYPE_MODIFY_FIELD action was introduced by [1]. This action provides the 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 bnxt* RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL bnxt* RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL bnxt* RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL bnxt*, sfc RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT bnxt* RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN bnxt* 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 bnxt*, cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_SET_IPV6_DST bnxt*, cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_SET_TP_SRC bnxt, cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_SET_TP_DST bnxt, cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_DEC_TTL bnxt, mlx5, sfc RTE_FLOW_ACTION_TYPE_SET_TTL bnxt*, mlx5 RTE_FLOW_ACTION_TYPE_SET_MAC_SRC bnxt*, cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_SET_MAC_DST bnxt*, cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ bnxt*, mlx5 RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ bnxt*, mlx5 RTE_FLOW_ACTION_TYPE_INC_TCP_ACK bnxt*, mlx5 RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK bnxt*, 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 [bnxt*] means the PMD source code references the action, but there is no support implemented (actions rejected with ENOTSUP error) 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 not to be deprecated. Signed-off-by: Viacheslav Ovsiienko Acked-by: Thomas Monjalon --- v2 deprecation.rst is updated --- doc/guides/prog_guide/rte_flow.rst | 43 ++++++++++++ doc/guides/rel_notes/deprecation.rst | 11 ++++ lib/ethdev/rte_flow.h | 99 ++++++++++++++++++++++++++++ 3 files changed, 153 insertions(+) diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst index 77de8da973..37321de14f 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 as there are no PMDs supporting this. 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 as there are no PMDs supporting this. 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 as there are no PMDs supporting this. Implements ``OFPAT_SET_NW_TTL`` ("IP TTL") as defined by the `OpenFlow Switch Specification`_. @@ -2286,6 +2289,8 @@ 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 +2307,7 @@ Implements ``OFPAT_DEC_NW_TTL`` ("decrement IP TTL") as defined by the Action: ``OF_COPY_TTL_OUT`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated as there are no PMDs supporting this. Implements ``OFPAT_COPY_TTL_OUT`` ("copy TTL "outwards" -- from next-to-outermost to outermost") as defined by the `OpenFlow Switch @@ -2319,6 +2325,7 @@ Specification`_. Action: ``OF_COPY_TTL_IN`` ^^^^^^^^^^^^^^^^^^^^^^^^^^ +This action is deprecated as there are no PMDs supporting this. Implements ``OFPAT_COPY_TTL_IN`` ("copy TTL "inwards" -- from outermost to next-to-outermost") as defined by the `OpenFlow Switch Specification`_. @@ -2589,6 +2596,8 @@ 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,8 @@ 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 +2636,8 @@ 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 +2656,8 @@ 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 +2676,8 @@ 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 +2696,8 @@ 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 +2735,8 @@ 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 +2755,8 @@ 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 +2775,8 @@ 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 +2795,8 @@ 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 +2815,8 @@ 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 +2825,8 @@ 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 +2835,8 @@ 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 +2845,8 @@ 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 +2855,8 @@ 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 +2879,8 @@ 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 +2915,8 @@ 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 +2937,8 @@ 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..8ee284ee61 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -101,6 +101,17 @@ 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. + * 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..267c11b332 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. @@ -2509,6 +2524,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 +2537,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 +2550,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 +2563,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 +2576,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 +2590,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 +2615,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 +2625,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 +2635,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 +2648,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 +2661,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 +2678,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 +2695,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 +2712,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 +2729,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 +2742,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 +2752,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 +2765,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 +3138,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 +3151,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 +3328,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 +3346,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 +3364,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 +3382,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 +3394,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 +3406,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 +3424,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 +3451,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 *