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 48C89A0503; Wed, 18 May 2022 06:35:31 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D6EBA4282B; Wed, 18 May 2022 06:35:27 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2044.outbound.protection.outlook.com [40.107.236.44]) by mails.dpdk.org (Postfix) with ESMTP id 2CA684281D for ; Wed, 18 May 2022 06:35:27 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WEpf4fbqXn0L7+mtLehagPOfcuRd3H1MzgZkv4C3BSIpSwH/x6g+eKkSKhyzw11GfkD8Og0oFVHEWvZd+EMIDfAcPkUfYvcAZYHwH4CHYq1zBJqw4Ht1WBgWlfFpTuqQ8Whl0D/nKUHdyLCTjugcx8ZSXxyRZeHoOC7VANyoBopzSFvylhptEP6wPEP5RPydb0c2t25LBAyN+OhEnqZZwqGnjCDcPoNloPgAuYdKt8lZ6Xr/xx7/ZvCU4shC+4YEe8j6LS8eQLuTCzegh5kfRXjART21LMjzMfzEBaHuNl/8DO/xFeMeiKp1A4vzTCW4UAV8/j8lAroh75Na73THWw== 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=X8zKTL0OUN5KuBHKn5numd9LTE/MlGjzQQefxwLzwGQ=; b=cD9fNP+BwicjXoarhaIMSO5ECe7aG5eidZtiP59AFPFS7H47w/vfSVWsrdNH/z2QTnjWQfjqDPfmEj0BVlc+L9sauWUtmY25dgbSXCpyfoC3iPtptduT9YslEAJMG/+N0n+GhBPeqhMcYfBfzNng7VCddJZC53yI/utPz2B6Q2fA/TlwPddXn0zwzSjgjIASinBlhr7Q17W7yYM0fVFkwm/zLnnBlnoRFF8iCEDs+vAVby+brtavgRpulLyKVWS+mUnJWH9Fg43b1ydVCYAyyh+KA5rfioQgDgw1CM6wNrO+bKDWXB6lgcxb/YNwCgGQFPyB4lYWAhUzBW1buE5xsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.236) 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=X8zKTL0OUN5KuBHKn5numd9LTE/MlGjzQQefxwLzwGQ=; b=mn1Qpw+TjWvBiPbhc1nxfj/WnashIwoyFvtAKK9ISC2bl4N7acTAjZ5BMErU/GSSQHPWOsE+8hqgJiU/+qVMe+3C+Oiv+P0JDXiT+PyLd8CWZFmCtchcXZjIn/sg2L0NBTv1DjUEqAdTuZ2/nBHOIdSItiI1bBu/Xz7Hen+iEuYMkeGMX6bN3lJHISK3BR8OTAC5GjUJy34alPF949xffsbladQn5SVU/+taxrq12l4Wtffoo6QMhvXdZgecjker2PaMGxbJnwIvTUNnLuBZDJidOQYk95Zj6cECLjKRZ0AVoPzDTaNA264kwLu48MQAXtf9toEPP451TeAZtYJxyQ== Received: from MW4PR02CA0006.namprd02.prod.outlook.com (2603:10b6:303:16d::12) by BL3PR12MB6402.namprd12.prod.outlook.com (2603:10b6:208:3b2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14; Wed, 18 May 2022 04:35:25 +0000 Received: from CO1NAM11FT004.eop-nam11.prod.protection.outlook.com (2603:10b6:303:16d:cafe::8e) by MW4PR02CA0006.outlook.office365.com (2603:10b6:303:16d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14 via Frontend Transport; Wed, 18 May 2022 04:35:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.236) 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.236 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.236; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (12.22.5.236) by CO1NAM11FT004.mail.protection.outlook.com (10.13.175.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5273.14 via Frontend Transport; Wed, 18 May 2022 04:35:24 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL109.nvidia.com (10.27.9.19) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Wed, 18 May 2022 04:35:22 +0000 Received: from pegasus01.mtr.labs.mlnx (10.126.230.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, 17 May 2022 21:35:18 -0700 From: Alexander Kozyrev To: CC: , , , , , , , , , , , Subject: [PATCH 1/4] ethdev: add meter color flow matching item Date: Wed, 18 May 2022 07:34:56 +0300 Message-ID: <20220518043459.1281590-2-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20220518043459.1281590-1-akozyrev@nvidia.com> References: <20220502200439.4100965-1-akozyrev@nvidia.com> <20220518043459.1281590-1-akozyrev@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.126.230.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: 99966bee-54b0-4424-4e45-08da3887d374 X-MS-TrafficTypeDiagnostic: BL3PR12MB6402: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: Y1HMS4uN1HSoJva5P48JHu7tiN8Wxqh/RIAnVf4nawepzcNg1NGbJGqVHKITYOUc/0gCw0G8RtV7QQsASvzEVpKS2i8EyL9rkx0IqtwFKzIvTh7YgoLTYsP22OzZgiXl03DcrKrlNj8XuXe9Ly1u4Dm8UcZ4QYxdnK0ByTE+pvRLk64yxGCzL1iAMF+zT4eLrNjJoUteS10MzfGV1uWXcmvBWvQWQQzYN5hR/fnPO8Wd7R/KJStkG403HvukdAYa/74FPNEmYUfDkyHSsbw6RdkJtkY1tlnnJdmSYqrzydatkvZcuRHZ6tlB6ikxeh0Auq74GjfA69nAfgHnLd5H7ux5A/lkHB9XcnuCCOLTUHoVYeVGz5eVjMKavY9KwOMyfEqc1ooBxLb/AvP5bTlkGcp9patFP/vY7+9hZoV/Jj6SPGwnKkvuo7Oskloe1VH1TwFBpLHnv6uVF4ud4X0+ZbJVFNuqrVVQJ6fHDm+RLMd0w7Elu1swowUHy88iSxHhSGDLVfYpNm4Vy31wPt/aBfbjAOZM7YnC/fmpiq5kPCJpspro/M+L8Uln56ctguVmmWRcPd/s185LzNf8lELC/tUfJVhduLFpfr9AP+fNvQOfiMX4kczjNOe98tKesjh2t6eVrnAFM7wGZCAhdJcfb9JULY74Y/1ZEBbpxqMMhQyl246AnyQ4/wZ49HwNuEwAtNYz4bIyAvJGp2Z9tm9j5g== X-Forefront-Antispam-Report: CIP:12.22.5.236; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(40470700004)(46966006)(36840700001)(36756003)(40460700003)(81166007)(86362001)(70586007)(70206006)(36860700001)(2616005)(1076003)(356005)(16526019)(186003)(26005)(47076005)(426003)(336012)(83380400001)(5660300002)(7416002)(2906002)(316002)(54906003)(6666004)(6916009)(508600001)(8936002)(82310400005)(8676002)(4326008)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2022 04:35:24.4608 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 99966bee-54b0-4424-4e45-08da3887d374 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.236]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT004.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6402 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 DS field of 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..1877d4b9b5 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 in the DS field of a packet. + +- ``color``: Metering color code. + Actions ~~~~~~~ diff --git a/doc/guides/rel_notes/release_22_07.rst b/doc/guides/rel_notes/release_22_07.rst index a60a0d5f16..a61a4d77dc 100644 --- a/doc/guides/rel_notes/release_22_07.rst +++ b/doc/guides/rel_notes/release_22_07.rst @@ -60,6 +60,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..e3f0e86eb6 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 in the DS field of a packet. + */ +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