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 EB40FA0C5B; Fri, 26 Nov 2021 10:51:39 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6C12C406FF; Fri, 26 Nov 2021 10:51:39 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2076.outbound.protection.outlook.com [40.107.93.76]) by mails.dpdk.org (Postfix) with ESMTP id 1583240140 for ; Fri, 26 Nov 2021 10:51:38 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jmft7TKccI04m9lLFW2+CvxtJzrpoTsEtrgQW97U/5v3X6prQTpnU4uSQokbHhNNtX2XkL4HH4ZRckwpMbN1Fm7w2FQcXAgi51xSMV+AiJEDwf03HSS4TPfy+UVpjzSSdsjbabeTvNTLQGMhwbtpVssncKaFP+T91E9d2Snbwx8iTFCPzzsk3hFMbSw/rGYBU+uFwd8H2F3rDi1SpdGLHOs/cNb+/NCwS4dTaFwEiLv+To9iyJfN3VcdpSWQPCalz8d8rDsv/kNRLI2DMddT4empiY7iIHPaurQMlYwSSIIkCPOEQWEig+q2xi9b153qp7uJiAaGKx8NSvTKpQwkBw== 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=5qBRe/Zy3Kt+tiT7qRWaKBKPFfj+wl32z+1Cb4b4g3w=; b=PQdiuddNWPJSI7ALc2qzhOLa7xH1lTuCWBKWAGw2x8usOA1SS+dKRk1nhIQ8DzSJu+vQud0g/968TXXL70eqCDMAXIh23Ffv/SOKZdOiZZ0ncKJOtekmRsGGjigzCDe15M7IXQnllI6SAGXyS21KXumezlnHDU2k2oVVJBLBDs4gtKCWCS5CvETr4X8kL2gxMZvxNjUSUF6mD9PEwnUxlUAy99VZvSWiCTGBPOreUBsMxwjUuptQUvmCc7bzBzJLzNwhkE6DbjToAvjUU9jmJGuiMm0/LXYnZ2Elwm67S5txqbxVHmsnoMtYfPsdmpTdi1veYDoUZLJUxgAU1hY9OQ== 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=5qBRe/Zy3Kt+tiT7qRWaKBKPFfj+wl32z+1Cb4b4g3w=; b=fBREuP4eP271ldO8vlQY34Jxta1wde53WX5l+qah8uXZiKrE9XquEgDIFXPAjICmoPQgbJo5hOtE5tDxRWTCoizWXSz1FP9SAIZHZ6mmAY9YjOXIClFtVz6nA04G8V+e0NrJiQdvsqRBYv6CUn86WQ/NwwVCrpRNdsnBlJwbKBsWRKxgreJaL2s3kRnmlZ6bDXhG8e6XP70TBchIHhQDADWCfTUiR/OOuozkrg4oCwL8+M/pvqY3meJ4bzv7a4QzlLpMKiwVlqDwqrP+1dR3+xsPrtc9y5oRm4fhUIjzAwBCCyKqThSAGpBSvCrZOnpHZbuRqYhssw/TkuQEXuNm8g== Received: from DM5PR07CA0100.namprd07.prod.outlook.com (2603:10b6:4:ae::29) by BN9PR12MB5132.namprd12.prod.outlook.com (2603:10b6:408:119::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.23; Fri, 26 Nov 2021 09:51:34 +0000 Received: from DM6NAM11FT062.eop-nam11.prod.protection.outlook.com (2603:10b6:4:ae:cafe::76) by DM5PR07CA0100.outlook.office365.com (2603:10b6:4:ae::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.19 via Frontend Transport; Fri, 26 Nov 2021 09:51:34 +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 DM6NAM11FT062.mail.protection.outlook.com (10.13.173.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4734.22 via Frontend Transport; Fri, 26 Nov 2021 09:51:34 +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; Fri, 26 Nov 2021 09:51:32 +0000 From: Viacheslav Ovsiienko To: CC: , Subject: [PATCH v4] ethdev: deprecate header fields and metadata flow actions Date: Fri, 26 Nov 2021 11:51:16 +0200 Message-ID: <20211126095116.9882-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 Content-Type: text/plain 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: 47ce22ac-d488-4f08-e9b0-08d9b0c254e3 X-MS-TrafficTypeDiagnostic: BN9PR12MB5132: 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: m/7DOAx+942DSVVlG2nAAoybFrbra+kSidb46l+5Ksc1DsqIzz2wETOlgicEUNNRTJmq+fGWVDOp3LCEp9kl4w+e/Sre3IlUhJOfB+N8V8iDnv1IMvnCshVgOf6PY0sXJNra9MD6XpRqbHo2v75J0SuNqRGTezAu8B03YmdROKvNlg8Uskx5Fwibgo4T6hAHR94eUuapDhqrjlUiKTchlRKcS/6pwIJCWoFYWVVYBCpJmV7ryGoiDV3l6nrSsr5Cy7go8508QSv0NcTY7mTCKy7DXk+y9bh4eEjShCmYLO51djaQPB80GDD5/S7kAZ7w8ay5jlMNywwiyzHI6vK1ZDOMDuCiQO2zsP5odfUIHbw9VSpKXksJtvGopYrWPj5rZc04mgZxw/qmUdFrP+L6wp64btMEIpJ1UaojknG967MNkgM2PIUice4HbZsklKFX+XRrS6moOXdgzU1BuiREVKmvyKTeM/5ZnAzRseYkKqVbY0MCw7cOZu4mSGkmtpsYvnd+LRTXsl9NXi10RzCotiW1CbIgSpQ2P2vpmIAakQMK2GNVh9Zyq3ytvruX3zADme1wMEHIPdDpE2Q8QHSrTEclfhZYIY7q4MgjDQcGhL5ZB5jBxaK/iuYPg/dGOdkHt45ysh7WeupcaZm4KCu9AAtxENIRYEKwpNBHCI7sPgmW+cbJfqo2gDWf7v0838l7RCrfGEdNs3YqGjXYJAYsgg== 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)(47076005)(8936002)(5660300002)(7636003)(6286002)(8676002)(7696005)(36860700001)(508600001)(16526019)(186003)(26005)(6666004)(86362001)(356005)(336012)(55016003)(316002)(70206006)(6916009)(54906003)(82310400004)(4326008)(426003)(2616005)(1076003)(30864003)(70586007)(83380400001)(2906002)(36756003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Nov 2021 09:51:34.2543 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 47ce22ac-d488-4f08-e9b0-08d9b0c254e3 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: DM6NAM11FT062.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5132 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, 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 The following actions are supposed to be deprecated in 22.07 and replaced by generic 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 widely used by applications and not supposed to be deprecated due to potential large impact on drivers and applications. Signed-off-by: Viacheslav Ovsiienko -- 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 v4 - modify actions API update plan addressed: - deprecate in 21.11 only not supported actions - other actions will be deprecated in 22.07 once we have MODIFY_FIELD action support in PMDs as alternative --- doc/guides/prog_guide/rte_flow.rst | 24 +++++++++ doc/guides/rel_notes/deprecation.rst | 14 +++++ lib/ethdev/rte_flow.h | 78 ++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst index 77de8da973..c51ed88cfe 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 is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. 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`_. @@ -2589,6 +2595,7 @@ valid packet. Action: ``SET_IPV4_SRC`` ^^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set a new IPv4 source address in the outermost IPv4 header. @@ -2607,6 +2614,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_IPV4_DST`` ^^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set a new IPv4 destination address in the outermost IPv4 header. @@ -2625,6 +2633,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_IPV6_SRC`` ^^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set a new IPv6 source address in the outermost IPv6 header. @@ -2643,6 +2652,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_IPV6_DST`` ^^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set a new IPv6 destination address in the outermost IPv6 header. @@ -2661,6 +2671,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_TP_SRC`` ^^^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set a new source port number in the outermost TCP/UDP header. @@ -2679,6 +2690,7 @@ flow pattern item. Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_TP_DST`` ^^^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set a new destination port number in the outermost TCP/UDP header. @@ -2716,6 +2728,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``DEC_TTL`` ^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Decrease TTL value. @@ -2734,6 +2747,7 @@ in pattern, Some PMDs will reject rule because behavior will be undefined. Action: ``SET_TTL`` ^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Assigns a new TTL value. @@ -2752,6 +2766,7 @@ in pattern, Some PMDs will reject rule because behavior will be undefined. Action: ``SET_MAC_SRC`` ^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set source MAC address. @@ -2770,6 +2785,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_MAC_DST`` ^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set destination MAC address. @@ -2788,6 +2804,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``INC_TCP_SEQ`` ^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Increase sequence number in the outermost TCP header. Value to increase TCP sequence number by is a big-endian 32 bit integer. @@ -2796,6 +2813,7 @@ Using this action on non-matching traffic will result in undefined behavior. Action: ``DEC_TCP_SEQ`` ^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Decrease sequence number in the outermost TCP header. Value to decrease TCP sequence number by is a big-endian 32 bit integer. @@ -2804,6 +2822,7 @@ Using this action on non-matching traffic will result in undefined behavior. Action: ``INC_TCP_ACK`` ^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Increase acknowledgment number in the outermost TCP header. Value to increase TCP acknowledgment number by is a big-endian 32 bit integer. @@ -2812,6 +2831,7 @@ Using this action on non-matching traffic will result in undefined behavior. Action: ``DEC_TCP_ACK`` ^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Decrease acknowledgment number in the outermost TCP header. Value to decrease TCP acknowledgment number by is a big-endian 32 bit integer. @@ -2820,6 +2840,7 @@ Using this action on non-matching traffic will result in undefined behavior. Action: ``SET_TAG`` ^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set Tag. @@ -2842,6 +2863,7 @@ application. Multiple tags are supported by specifying index. Action: ``SET_META`` ^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set metadata. Item ``META`` matches metadata. @@ -2876,6 +2898,7 @@ used to connect the Rx and Tx flows if it can be propagated from Rx to Tx path. Action: ``SET_IPV4_DSCP`` ^^^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set IPv4 DSCP. @@ -2896,6 +2919,7 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. Action: ``SET_IPV6_DSCP`` ^^^^^^^^^^^^^^^^^^^^^^^^^ +This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative. Set IPv6 DSCP. diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 6d087c64ef..0e623abd6c 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 + any PMD, so they 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 marked as legacy and + superseded by the generic MODIFY_FIELD action. + The legacy actions should be deprecated in 22.07, once MODIFY_FIELD + alternative is implemented. + The legacy actions should 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..1031fb246b 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. * @@ -2387,6 +2396,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL, /** + * @warning This is a legacy action. + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * Implements OFPAT_DEC_NW_TTL ("decrement IP TTL") as defined by * the OpenFlow Switch Specification. * @@ -2395,6 +2407,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 +2419,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 +2527,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_RAW_DECAP, /** + * @warning This is a legacy action. + * @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 +2540,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC, /** + * @warning This is a legacy action. + * @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 +2553,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_IPV4_DST, /** + * @warning This is a legacy action. + * @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 +2566,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC, /** + * @warning This is a legacy action. + * @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 +2579,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_IPV6_DST, /** + * @warning This is a legacy action. + * @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 +2593,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_TP_SRC, /** + * @warning This is a legacy action. + * @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 +2618,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_MAC_SWAP, /** + * @warning This is a legacy action. + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * Decrease TTL value directly * * No associated configuration structure. @@ -2589,6 +2628,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_DEC_TTL, /** + * @warning This is a legacy action. + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * Set TTL value * * See struct rte_flow_action_set_ttl @@ -2596,6 +2638,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_TTL, /** + * @warning This is a legacy action. + * @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 +2651,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_MAC_SRC, /** + * @warning This is a legacy action. + * @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 +2664,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_MAC_DST, /** + * @warning This is a legacy action. + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * Increase sequence number in the outermost TCP header. * * Action configuration specifies the value to increase @@ -2630,6 +2681,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ, /** + * @warning This is a legacy action. + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * Decrease sequence number in the outermost TCP header. * * Action configuration specifies the value to decrease @@ -2644,6 +2698,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ, /** + * @warning This is a legacy action. + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * Increase acknowledgment number in the outermost TCP header. * * Action configuration specifies the value to increase @@ -2658,6 +2715,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_INC_TCP_ACK, /** + * @warning This is a legacy action. + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * Decrease acknowledgment number in the outermost TCP header. * * Action configuration specifies the value to decrease @@ -2672,6 +2732,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK, /** + * @warning This is a legacy action. + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * Set Tag. * * Tag is for internal flow usage only and @@ -2682,6 +2745,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_TAG, /** + * @warning This is a legacy action. + * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD + * * Set metadata on ingress or egress path. * * See struct rte_flow_action_set_meta. @@ -2689,6 +2755,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_META, /** + * @warning This is a legacy action. + * @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 +2768,9 @@ enum rte_flow_action_type { RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP, /** + * @warning This is a legacy action. + * @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 +3141,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 +3154,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 -- 2.18.1