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 07B81A00C2; Mon, 26 Sep 2022 16:58:32 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E31E54281E; Mon, 26 Sep 2022 16:58:31 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2085.outbound.protection.outlook.com [40.107.244.85]) by mails.dpdk.org (Postfix) with ESMTP id 2AE814281E for ; Mon, 26 Sep 2022 16:58:30 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oq/vWJENGpMd9QSPPPrkhk7fTKKM/BEAYdMRipglithcU/K8jg3P2acgyKWyr7KvnEBgZjb4HiRQfu+mpDPV2lfIKF9PbAvRwZOwXdkGk07s9jquFuvd9ieAX6Q4RBnTCoG5boBofJ2Xv19EpvON6MagpqIYwqUSOq972rGHpAFkdONbyyFtugbZ450HboBNAledEuLacG8wSFbZqS+UWgslFXYTYx6T6AqeoBQLleQBTlPSTMbX3CLjw8vmdiB43o3bKQf4QhxioqFEAqQDX569IBHgCYLmb4I0rxSbKZuPzuJ3fDdajfN98/XQ7XcexVdjwRZV/aue1se9CpiOvQ== 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=bJOiIFakME6YTffkhKtTxUri8lnQF2QexJ2NgBpeGsA=; b=TKLECaBR7QDTFl5CMLvqIP/BYWJmaRu7jEUrLr//1ke9heyvJQdzD5+a3WhOUC8yyK5QaeaqQIUv9/0cX/PEMZbwdddFrtflk6IX9ymBfvti3ZaFYuSrLqtq8Nt9mREkgydnIpF3LLpq3O1vwQ7NW2TVrfDuHq5DWCCclvbULmNxzaQc9ln6JUXnuHh6jbqZqDEuTZ/SCo9vaYBhGuVwNZso8LuaUSX9397AS90M4hgxPPP8Ah6W62SU2W99JvQBZE19Afp/Zka5pwVEqYJdirsMgBSkl1AV+6N4lNnl624jvR6OxGVETpgAodlRfdLroud0OX0KxuCoGrIOyI83bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject 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=bJOiIFakME6YTffkhKtTxUri8lnQF2QexJ2NgBpeGsA=; b=bW5KhdQDQzIIjFKhDXVIV3tOmy3mMyCZ0y2GaJqUhPB/6R+c//n6QAUMX8zh6qtHfHhqLIUCJAw39ms5tIvDe8hFf7csfsDyROfV4iwa3Gi6yrU+NC9i9vzOXQqaNj2uPW9HUcmnWJ5iX6cP+H983ociCazlux/Y/Y27+OBIHteYqMF2XZNu8LC4a+5FM3uuFhuf6N3GNsQtPRhDvTLIdnRd7Qzx88BZYGxjD2AFr+vBd84lR8V9WV6Z7RDvA2oM6Ax8VBtGAuxWte9G9FgstdVHTKfnTaMb3aIKbJmcuPnUbzY+SSaZxbchMi7jXz39u2yiz6WBwABRENJW8Csexg== Received: from DM6PR06CA0049.namprd06.prod.outlook.com (2603:10b6:5:54::26) by BY5PR12MB4968.namprd12.prod.outlook.com (2603:10b6:a03:1d2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.25; Mon, 26 Sep 2022 14:58:28 +0000 Received: from DM6NAM11FT016.eop-nam11.prod.protection.outlook.com (2603:10b6:5:54:cafe::fc) by DM6PR06CA0049.outlook.office365.com (2603:10b6:5:54::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.26 via Frontend Transport; Mon, 26 Sep 2022 14:58:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) 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.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by DM6NAM11FT016.mail.protection.outlook.com (10.13.173.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14 via Frontend Transport; Mon, 26 Sep 2022 14:58:27 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Mon, 26 Sep 2022 07:58:16 -0700 Received: from pegasus01.mtr.labs.mlnx (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.29; Mon, 26 Sep 2022 07:58:13 -0700 From: Alexander Kozyrev To: CC: , , , , , , , , , , , Subject: [PATCH v5 1/7] ethdev: add meter color flow matching item Date: Mon, 26 Sep 2022 17:57:39 +0300 Message-ID: <20220926145745.3962600-2-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20220926145745.3962600-1-akozyrev@nvidia.com> References: <20220921021133.2982954-1-akozyrev@nvidia.com> <20220926145745.3962600-1-akozyrev@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT016:EE_|BY5PR12MB4968:EE_ X-MS-Office365-Filtering-Correlation-Id: a7ff9d84-e65a-4362-4a02-08da9fcf919a X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0i7Pl5xjI90veYsumNPcYbDi7YLfTPPgrZnerTspMW7WbKKfE1Q0U3OYk7wQacBM8/DjFssqMii/mc+PE8hi0MYhl2XJjPkkoAguCjvzcJgZURnVziqHmFUFR0Khuj4s5qvrhUd718r9/Gne0iPEbFQm4T3qz8Mao8GEeNyCaSEBDcOyeEJMz3gpztfg9NTinsOtncAko1E3uXXVeTBk2VCL8LnfGszV0JCY49cPKvNoDAP3FbguCS1alHnf7G2u/1Ki0nCWf4FRP9K4jjUwpWm9V7d4WRl/oTXZDjV2FOpFZCwJORmzUIhIFLwC2AIc1hWucuRpzdIVSecSUeWp6qXGH/T42JQNKkwMZozbBubsROrVwFPSKXeRGYUr491zN1SeEAQNZfbL5rOBe3BSEMQj1wCQy6epCrni+eDX5Kudwz0PYVVoGB6jRPx0RI6F1ACtSspSZLW/h/k6BEwpxYXBo1dwDVCms2ZSKRy/qO5sBfkrbaLU5N3CzTXW9znHshYGiqgtetfMTxAqU0DhS+p3uNS9L+GsuWIZkk0x1uSaO1clf/qQLp1YlBJVvhLYU0U0chbmbfgCkPKHzoW+/OV6cM52PnDWdsa2ECSzhAJOwT/z/prkSzkveUJ1uxd5nkdVZnRSBKISI2VEehUIPy/oll1p9VmeG55vLzxzlxHmQ3pz4N1GUA551RShjjpue2QEY92qz9JefQEqkIVA06o2SNiHT8f6dQfxMQVxNcP5l7RI3+QepATTGv/HQ7rUQRiR++PvkB4+tNhpOsXLwA== X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230022)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199015)(36840700001)(46966006)(40470700004)(336012)(186003)(16526019)(426003)(47076005)(1076003)(8936002)(7636003)(82310400005)(41300700001)(6666004)(82740400003)(40460700003)(86362001)(7416002)(5660300002)(4326008)(36756003)(356005)(83380400001)(26005)(2906002)(36860700001)(316002)(40480700001)(2616005)(54906003)(6916009)(8676002)(478600001)(70586007)(70206006); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2022 14:58:27.4638 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a7ff9d84-e65a-4362-4a02-08da9fcf919a X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT016.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4968 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 Provide an ability to use a Color Marker set by a Meter as a matching item in Flow API. The Color Marker reflects the metering result by setting the metadata for a packet to a particular codepoint: green, yellow or red. Signed-off-by: Alexander Kozyrev --- doc/guides/prog_guide/rte_flow.rst | 7 +++++++ doc/guides/rel_notes/release_22_11.rst | 5 ++++- lib/ethdev/rte_flow.c | 1 + lib/ethdev/rte_flow.h | 24 ++++++++++++++++++++++++ 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst index 588914b231..018def1033 100644 --- a/doc/guides/prog_guide/rte_flow.rst +++ b/doc/guides/prog_guide/rte_flow.rst @@ -1651,6 +1651,13 @@ Matches a PPP header. - ``proto_id``: PPP protocol identifier. - Default ``mask`` matches addr, ctrl, proto_id. +Item: ``METER_COLOR`` +^^^^^^^^^^^^^^^^^^^^^ + +Matches Color Marker set by a Meter. + +- ``color``: Metering color marker. + Actions ~~~~~~~ diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst index 235ac9bf94..eeed420ae3 100644 --- a/doc/guides/rel_notes/release_22_11.rst +++ b/doc/guides/rel_notes/release_22_11.rst @@ -55,11 +55,14 @@ New Features Also, make sure to start the actual text at the margin. ======================================================= +* **Extended Metering and Marking support in the Flow API.** + + * Added METER_COLOR item to match Color Marker set by a Meter. + * **Updated Wangxun ngbe driver.** * Added support to set device link down/up. - Removed Items ------------- diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c index 501be9d602..99247b599d 100644 --- a/lib/ethdev/rte_flow.c +++ b/lib/ethdev/rte_flow.c @@ -159,6 +159,7 @@ static const struct rte_flow_desc_data rte_flow_desc_item[] = { rte_flow_item_flex_conv), MK_FLOW_ITEM(L2TPV2, sizeof(struct rte_flow_item_l2tpv2)), MK_FLOW_ITEM(PPP, sizeof(struct rte_flow_item_ppp)), + MK_FLOW_ITEM(METER_COLOR, sizeof(struct rte_flow_item_meter_color)), }; /** Generate flow_action[] entry. */ diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index 017f690798..c0409a5ada 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -668,6 +668,14 @@ enum rte_flow_item_type { * See struct rte_flow_item_gre_opt. */ RTE_FLOW_ITEM_TYPE_GRE_OPTION, + + /** + * Matches Meter Color Marker. + * + * See struct rte_flow_item_meter_color. + */ + + RTE_FLOW_ITEM_TYPE_METER_COLOR, }; /** @@ -2198,6 +2206,22 @@ struct rte_flow_item_flex_conf { uint32_t nb_outputs; }; +/** + * RTE_FLOW_ITEM_TYPE_METER_COLOR. + * + * Matches Color Marker set by a Meter. + */ +struct rte_flow_item_meter_color { + enum rte_color color; /**< Meter color marker. */ +}; + +/** Default mask for RTE_FLOW_ITEM_TYPE_METER_COLOR. */ +#ifndef __cplusplus +static const struct rte_flow_item_meter_color rte_flow_item_meter_color_mask = { + .color = RTE_COLORS, +}; +#endif + /** * Action types. * -- 2.18.2