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 9E4D0A0552; Wed, 1 Jun 2022 05:44:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 01C3141143; Wed, 1 Jun 2022 05:44:37 +0200 (CEST) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam08on2089.outbound.protection.outlook.com [40.107.101.89]) by mails.dpdk.org (Postfix) with ESMTP id 183B441143 for ; Wed, 1 Jun 2022 05:44:35 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OMDHszHQ9zU4lP3C8Y6lzKrq/PlkEdbW7WAf1WXphaeRfX1Nn/fMWxGQpiZ7jnoOqFVMWrgGuX/eap5jaVUKepeMDpYEtU2A20My4IeZEeDRp9tpU1osDn/gUWmCHsbf7qnvbWp9oHSVoog7HCuMTpMnOzTf1Jm/v3inKFlfNaNkI6Uajt/RlIg9fOGNDuyvoI14rXtB2JF5eeAW2ai6JW1Hue6k61kJ/80EVo68YKQ7ythxPVhr3mQ5mJgnlEMEwihTUs5pkfvtbvP3oPve5HoZgMeEy1R6q2vyODpqDDM+F5xVa2ZTOs9sdkpOOUcCnhGiXMVQXllYoiLv9THzZQ== 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=99OQTBeI3vYDMpm92s3ntNBUJVKzzgRnQZd9ZUO7Fdg=; b=ji0p8jjSftPCZLjE7xQQnihYqX1pseiXfERC5VfqPXpdBHnnTSPiVX9PGLR9S+fEQlmVFSuzw/G3goQAfHxdY+FvlToAPUwfUv9BkQQcwW0v7/KTs5d0UTGx+P1ALcvISzvcaGggzVqsIwcEXUSDcbzbi6dlXaaXDkwA/Tn0ngJyJDGTBDXdRHN+wkTpstM0QAhETX6fXFumpwybKON82emPHSkv5dDw2E/OmmFfekpBFpccsUwF+1OGD9yGehJBSxibINksTkKXT3eAS3oE2/Axi08RQfzDkpPX2G4dDcJo+0J8/haUkiRZMh9V2UVwAXV+1KuPyoLBem+CLllfUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.235) smtp.rcpttodomain=intel.com 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=99OQTBeI3vYDMpm92s3ntNBUJVKzzgRnQZd9ZUO7Fdg=; b=UNbFWOOuynfIEPBlE5B7jnh0mMzmq4AgHGBn+GF7JUa0OlNvdvG+ihs7xdDnRqoHeb0SjoBa2+uGB/mCA87HyngKvpFUAfqZJPux7C92lrCxP9wDCWRHeUalqntnE04YUAmzRac4Dm0OQ6+cQ0GeRtsBHrvt9oUMqy+2u2kjOJNxa1ZLHilfVXlktsSmEImGoQ6liSELGdDXSjg4jB0uoRx8SdedeQ9zZXmt6SR7mb+YUe4l81tkhiU4VvkzKfqMlkvYlbPGrUbe4WAnhuklpUmd+7tFTpucNMY9KAija++DCr44Si9VGC03Gxk78OQPpDW2ifAZF2z5fabTXJI8jQ== Received: from BN0PR10CA0024.namprd10.prod.outlook.com (2603:10b6:408:143::15) by MN0PR12MB6318.namprd12.prod.outlook.com (2603:10b6:208:3c1::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Wed, 1 Jun 2022 03:44:32 +0000 Received: from BN8NAM11FT005.eop-nam11.prod.protection.outlook.com (2603:10b6:408:143:cafe::f9) by BN0PR10CA0024.outlook.office365.com (2603:10b6:408:143::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12 via Frontend Transport; Wed, 1 Jun 2022 03:44:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.235) 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 12.22.5.235 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.235; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (12.22.5.235) by BN8NAM11FT005.mail.protection.outlook.com (10.13.176.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5314.12 via Frontend Transport; Wed, 1 Jun 2022 03:44:31 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Wed, 1 Jun 2022 03:44:31 +0000 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.22; Tue, 31 May 2022 20:44:27 -0700 From: Alexander Kozyrev To: CC: , , , , , , , , , , , Subject: [PATCH v3 1/7] ethdev: add meter color flow matching item Date: Wed, 1 Jun 2022 06:44:02 +0300 Message-ID: <20220601034408.2579943-2-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20220601034408.2579943-1-akozyrev@nvidia.com> References: <20220522105102.1692526-1-akozyrev@nvidia.com> <20220601034408.2579943-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-Office365-Filtering-Correlation-Id: 4dc660fa-d60d-4bf6-711d-08da438109c7 X-MS-TrafficTypeDiagnostic: MN0PR12MB6318:EE_ X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qTE7Nh5mPd1o7lr4Jw41WUyMZ9l6O4//gLzd/GlV78g1C8PHNUfNv7KNxMyVVevLJZtYwQMoHki3D/cb8P/wgL5EUeQOLbNUP1oJk3QuE1ierPPfEiwXSgF+eTSHVd9ts7si5RF/O2MD5llpp8B6n76ZFSaRunkkoMJqBsz+hMK8B//4O89e/a9gbBjwofe/Zvribl7vMcpEk+SSBdQ4hnAb/iaMZUmvC5BKcHp0OB5SdvxuufCW8xt0MRWwaiqsDUelO15eY5DW8pzuf63MW9Q8k3fO/BRdQ3zlxdH0p67qHG7aPOskoeVVVwvHGfm3R0//dN9zaIKjnGOqg/OjabF0VuFzEvtt83GRvV8K3prPYPiSwbHtFH4E6Po3yjm3nAnMzl5/ufj+pe7lRH+WI/6DhdgBfYrSmbdpFg/RuI99mTZQD+piuPkQH+t8+E1uZ5haoKOabFX0bvPmjsNhN3AJohsjoi9qL097CptWN0wTe84UHcXnnslu5JJtyZ/JEVQ0ARWs9hbzizlRowB/YrB4xpqAepMMJ/vnCuxLxW+1kL5nMzduLLDJsHqGj3Ga3c1wQmKc5vMoaNJkIn/H2Gdsnm9UGQgpJYcboFAItKOIVNU3WU1CsxP3+tpHnP8d/6PZUh8yc25YTABTKLE3qIvYJhifyMe8mRRx/j90DxouPt0B8pZcHqjaglHyb0UcH1dqGsw67Ha+RZeihaWNGA== X-Forefront-Antispam-Report: CIP:12.22.5.235; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(356005)(81166007)(36860700001)(70206006)(5660300002)(316002)(6666004)(8936002)(6916009)(70586007)(7416002)(2906002)(86362001)(40460700003)(36756003)(47076005)(4326008)(8676002)(426003)(83380400001)(336012)(1076003)(2616005)(54906003)(26005)(508600001)(82310400005)(16526019)(186003)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 03:44:31.8379 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4dc660fa-d60d-4bf6-711d-08da438109c7 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.235]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT005.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6318 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_07.rst | 4 ++++ lib/ethdev/rte_flow.c | 1 + lib/ethdev/rte_flow.h | 24 ++++++++++++++++++++++++ 4 files changed, 36 insertions(+) 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_07.rst b/doc/guides/rel_notes/release_22_07.rst index 0ed4f92820..c1804bc74f 100644 --- a/doc/guides/rel_notes/release_22_07.rst +++ b/doc/guides/rel_notes/release_22_07.rst @@ -69,6 +69,10 @@ New Features Added an API which can get the number of in-flight packets in vhost async data path without using lock. +* **Extended Metering and Marking support in the Flow API.** + + * Added METER_COLOR item to match Color Marker set by a Meter. + * **Updated Intel iavf driver.** * Added Tx QoS queue rate limitation support. diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c index 2c35a2f13e..07d7e998c0 100644 --- a/lib/ethdev/rte_flow.c +++ b/lib/ethdev/rte_flow.c @@ -161,6 +161,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 d8827dd184..75ec6621ac 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -671,6 +671,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, }; /** @@ -2201,6 +2209,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