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 375C5A034C; Wed, 21 Sep 2022 04:12:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 140CF42670; Wed, 21 Sep 2022 04:12:21 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by mails.dpdk.org (Postfix) with ESMTP id AC5CF410EE for ; Wed, 21 Sep 2022 04:12:19 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MiKJeCOLU3xCovdMLckVkZcFQxfsog+JHRq8VoFUygauAdGClAGWvYqbnFUv2C/JhrUmpPhYuMq/u40FpaEvkUtAyuPVCCrbRAtVC+RiTBh8d97HHL72K3qsXfAR4cmXxiBEThmql5LW0RSPDdIHA892AkgBYJKTokJOjrqsvN0sz/wAeEDL/DV8FkTNnUjBVXUEJz4Ft229D9b/NQz6XrpJLVSUQWVafQ8RtqdtOLwsHWhkeZde3kaOHaVNTf0fcLw6zwnKdAGHnvbTJrNYjOlIpOl8X6HO0pOU6xrjdNdP7cwFJx9hy2E29J48HwNpcjHScMKl/Ix4MmHh16HHrg== 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=WJ9lsf8wuEGBLqPfAGVm2bmf8zEmK8HjPRmnBsJqUtY=; b=WnT5FulGgYEBK9fZUldyZoEZuJAN/99VUT0xsdjTC5B/xTDBSdlTDdkrUIV09MATVzJlYpeJIFz68msDQhSjtblQDlZjLjjIZ7WzLkH8rz7L0F55nV4nD/BbAnEMJnOEdvKB/Ge6LEZaQLSD9wlnGwWIrFLeCQWhbjvSfI/xKzlylvZvlE/Zaaz5nDWFqV0eK3MPlCAl7m3XUghbAvz2Yio/Ck/4FDxLq2BoD8hkMmTUt0einL855L2L3oCMSaJ5HWXS2QM92YjcFSm+ULZqApWtSsLHUSOlllS6KvJgjARvPr4h2Tg3tocFgNWMfpxs6JXl5D0JcJSCcVewPz/gug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) 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=WJ9lsf8wuEGBLqPfAGVm2bmf8zEmK8HjPRmnBsJqUtY=; b=C3GtfmE+bFbKjdJruKbScK9i39CExauEnNNZ2qnm6c6vM/dZhe7H/1HD8YY5YP/c3XHE4Gp4z79UdwBn39inSiAU2iUwGvCN5aJIGnjRHJGzFCfgJhiQzRKF6mqpq03b8zXKCVJhel+YniF4mOfyxs/JNX7UU9J2csWe2BjZaohQI1VPLGnJmRy1LiiHUEJV9hPlAiSvwc4gh2qboBlv2xpZUwC7t5g3KUTHBriRKMz5hht7W8ZePuDmSXB+dsIUaw/fJdFEK/l760UnxSXllARc9NIM5CbSBIZv0DCOB9wh57nP3X0x5Z+/03jBRdLMOpJ4dF/BG8YQqiV0YUxjxQ== Received: from MWH0EPF00056D04.namprd21.prod.outlook.com (2603:10b6:30f:fff2:0:1:0:c) by DM4PR12MB5343.namprd12.prod.outlook.com (2603:10b6:5:389::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14; Wed, 21 Sep 2022 02:12:17 +0000 Received: from CO1NAM11FT089.eop-nam11.prod.protection.outlook.com (2a01:111:f400:7eab::205) by MWH0EPF00056D04.outlook.office365.com (2603:1036:d20::b) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.4 via Frontend Transport; Wed, 21 Sep 2022 02:12:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CO1NAM11FT089.mail.protection.outlook.com (10.13.175.179) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14 via Frontend Transport; Wed, 21 Sep 2022 02:12:17 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Tue, 20 Sep 2022 19:12:06 -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; Tue, 20 Sep 2022 19:12:02 -0700 From: Alexander Kozyrev To: CC: , , , , , , , , , , , Subject: [PATCH v4 1/7] ethdev: add meter color flow matching item Date: Wed, 21 Sep 2022 05:11:27 +0300 Message-ID: <20220921021133.2982954-2-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20220921021133.2982954-1-akozyrev@nvidia.com> References: <20220601034408.2579943-1-akozyrev@nvidia.com> <20220921021133.2982954-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: CO1NAM11FT089:EE_|DM4PR12MB5343:EE_ X-MS-Office365-Filtering-Correlation-Id: b6c1fef9-511f-4c48-0005-08da9b76b507 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: gkUpSF4b+Hn3gZWjNcwkMQ7/BOwslNFrbr3eyqbe0r1PI921KFREzZFNC//2N9Pr07PnZb1om7FGqduR08Ui8zDSTH/R30sVpx6Z5ToN5lJipuxu6xHw0JOwUKQyV7q7SXEJP69Dy90jrgog5JI4sGQR6kpPIq4gn/fVXBMOQExNY+Rl9nV8HjjgqCBoIZ/GvUkUQPTScqehjjqE+FXCsoLG6dTxGqHnBLj5tODeymzd/4UwdzRikq1Np5tE8wyg/+JberwJ/mmObUxlnWuos9XocNQ4kEoHfdZu2vQO3JX323dtgZlw9OO9OANlX5I0iCj07/gCRFecYpLV2xZD+hCj59kvbagw3QumFzBh3i+pOSuD/G0SdI1yHpMxZZrBUbPijMRUfflVK+rjNg5aENHpiyJ/1kzDhf1p/kNAQ9w26npADMRgKPBsPTrlaDFu51mxDz9zJwmbqpuwDXgzS+HDzC0pkRCsF2Vwm0/IZs1lyAy+8ai4R9ppt5FpGnxX7MlJ7tFT9Ehn1D12edYnMfqJPeDhh3cmonzrIoxAdqsFtiICNIQx1r7O68R2KrOWpRR7IDCkrCKb+kWBkevoRr6PvEtTj88Perq02OP/UGPuE5SfIiAa9Ycjk3/Dw/wmZC6CNv5osneONVF/Za+rwaLLwWKgRAy7fFviVKVoRdLxf2dQZ1UwZyfVVl1EFhBhUuE5AzMRTdacAxBu1jdHGFhsXakglqyj65c2fCer0IjWJWQu/qcAGllGG/ddd7jbDiafFJdaD22licxDCyLpCA== X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230022)(4636009)(396003)(39860400002)(376002)(136003)(346002)(451199015)(46966006)(36840700001)(40470700004)(8676002)(7416002)(40460700003)(82310400005)(47076005)(82740400003)(4326008)(70586007)(5660300002)(8936002)(70206006)(7636003)(356005)(2906002)(86362001)(6916009)(54906003)(426003)(336012)(36860700001)(6666004)(41300700001)(16526019)(40480700001)(2616005)(186003)(1076003)(316002)(26005)(36756003)(478600001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2022 02:12:17.0365 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b6c1fef9-511f-4c48-0005-08da9b76b507 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.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT089.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5343 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 | 3 +++ lib/ethdev/rte_flow.c | 1 + lib/ethdev/rte_flow.h | 24 ++++++++++++++++++++++++ 4 files changed, 35 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_11.rst b/doc/guides/rel_notes/release_22_11.rst index 8c021cf050..f6c02bb5e7 100644 --- a/doc/guides/rel_notes/release_22_11.rst +++ b/doc/guides/rel_notes/release_22_11.rst @@ -55,6 +55,9 @@ 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. 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 a79f1e7ef0..d49f5fd1b7 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