From patchwork Mon May 2 20:04:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kozyrev X-Patchwork-Id: 110580 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8B00AA034C; Mon, 2 May 2022 22:05:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BC48D4282C; Mon, 2 May 2022 22:05:14 +0200 (CEST) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam07on2080.outbound.protection.outlook.com [40.107.95.80]) by mails.dpdk.org (Postfix) with ESMTP id 8815A4282A for ; Mon, 2 May 2022 22:05:13 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YibdLV4Xi87b+Ot58HMhx1xYdEZJBa9anxJ6oPx/Rg48HLTBvKlvNOw1FsGBOujspDbIkf7paTPimeJLifwObTys9k4nlN08ZZdxMcNy6U76UNi95U7bhiKXLlUwLpNWuzcISddhcClqnxbPVbs519GcV5RCcx60OTkxnf+11ROFVYvrwQEZ9iwkYh+Wxkm6mTIaPqlbCKwxxWO3qRlNaF2ksMPWYqLxnjdxowKt/sFirO3OVz51uWqszPKRrfbYbMWPU5iOl/RL6wzf+1g4GvEZLpO7nTFl3PRlXY/3sZjbXXVfhUqM7O+/I3S261ZOXCfLIg6SDrh3azk5zyigmQ== 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=sKapLqOQseupwetYB4TJiqADjoz3sRzXFu3hlpCJ5S4=; b=BCJUCM9jSN1tR2Nm6tDLTA02cTwMafeZ4+rT6V4qN5xYsBFJJgU7q6dgTi5Di54mo+ZJrSS2wnkUSznbZK4uvaDQCjeqKv9b7o2+U59YXo1FK/Gm9dSHCowqr615vp+zyYF/SsJCuMMf+wdOFRnPERm0WG0b5BfJsr5EnZUomKQsIb6WOCpkbt3ljWOzy9dIxBDo7eHykdPIhj9CFElHYpYFATtMwxcgL3zPnz9+NEUvrBbOcv7G/XceTzIsc+gLxp35//k+AjQmMuicIgVZaiei1b3DScFhnPPq3hbi0LKzKKvEW34g6/JTSewosrf1L1Pa9Um6bMcjICaEbSAGAQ== 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=sKapLqOQseupwetYB4TJiqADjoz3sRzXFu3hlpCJ5S4=; b=hDPFRXPtk8AfPaOK9fB+jWVtiPXihxisx5X8apwSlio3lwzpX4lsHzwEGKxUj3nDx5wKDbeXfTQOth6dLTvx8NxVvDDEdhY95yhBMQkT+KApfXNlXUvrTf51gup5r/wdLF4kj67Pdc+pMMKoOTFmViF5wM3qblBwRZnzYBqFs53zuE06SprOQi1RFpTJTqGchNSJJQEzNj5PNlxjHflKb13i8+3Drsio1vHs8LhnK8JTMR28vGCnn5sbtwG09ThDwvZLHEmldcM7Sv0bVuVsqvNQwP/zb2Ve2GvEFP40obWc3Ed/OK7lmzzOdFngWBzX/nuZmJ/kKJX3hu8EihQ5JQ== Received: from MW4PR04CA0035.namprd04.prod.outlook.com (2603:10b6:303:6a::10) by BN7PR12MB2836.namprd12.prod.outlook.com (2603:10b6:408:32::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.17; Mon, 2 May 2022 20:05:11 +0000 Received: from CO1NAM11FT028.eop-nam11.prod.protection.outlook.com (2603:10b6:303:6a:cafe::40) by MW4PR04CA0035.outlook.office365.com (2603:10b6:303:6a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.24 via Frontend Transport; Mon, 2 May 2022 20:05:11 +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; Received: from mail.nvidia.com (12.22.5.235) by CO1NAM11FT028.mail.protection.outlook.com (10.13.175.214) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5206.12 via Frontend Transport; Mon, 2 May 2022 20:05:11 +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; Mon, 2 May 2022 20:05:10 +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; Mon, 2 May 2022 13:05:06 -0700 From: Alexander Kozyrev To: CC: , , , , , , , , , , , Subject: [PATCH v2 3/3] ethdev: add extended meter action to Flow API Date: Mon, 2 May 2022 23:04:39 +0300 Message-ID: <20220502200439.4100965-4-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20220502200439.4100965-1-akozyrev@nvidia.com> References: <20220408024658.2004918-1-akozyrev@nvidia.com> <20220502200439.4100965-1-akozyrev@nvidia.com> MIME-Version: 1.0 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: de4519b6-af74-4bda-6853-08da2c77104b X-MS-TrafficTypeDiagnostic: BN7PR12MB2836: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: ssk/z5PauXnlDxknJKfF55X5MHIcRBM3Y8KspnMDgFgxgprXGFY4425QX7vOiy71EUq+48dcXUgUlD32OJMqvkiFYwEbqj1TZxLQ6auaYtiOXuKUs5OEhnCchWaS8G1IEYJjNQlEC7bL+B3v/XbIGrl8N0VDUIpejVBVsXH119/jIiUa2/YzfBezGw2imnbPZ24KezbDvtKcdX7s6gZca2tblzK8/LYoI6TSCFtTs6596N90PBLnOLEQzMKnRLmUp20D+Ckq7G0ERB5w2RptMMC8kpSRXL3Vw7DFl1UFhShjnN9/o+p/2ESj72eZd6OQkWMCcsGoo26pdzs0nJNvILSuaZQCbkBMZUXRSqCDM9tD7KckWOQRjkmLFLO8SYv0H1eN7cjrmfOn/zYWqO1ks/NJQqzOj5uKx1zGMf7FvqtGHTxdKLUQHO6EBv2Z2qpPMRrBwmSCwwIIIUP5CI/5fU7h6q0fE3LvOM/+QlGzSpmYeL0GTCiOFgVB6eb/NCdcCTtTcznzOJja+FXVskAw++uOU3qx6NIbtNA9MwNaw6bFmv75cbJeclJkk+fQxyXMSIM9kTaml0DGdYHX6eeVQOBQqSihzsqJsRCyJvXTepkUuBOLOwH5OIBhj94jRxvHGT+ay2laEL0s/68PDdFaAhKPXpUzgnvz3NpiHmxcNG7/ojbOe/hnbKaXRn8On4Bp2jtb6r9MtV0aFg9cSh6JbA== 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)(40470700004)(46966006)(36840700001)(7416002)(6666004)(8936002)(6916009)(316002)(83380400001)(5660300002)(40460700003)(82310400005)(36860700001)(2906002)(36756003)(2616005)(4326008)(8676002)(47076005)(1076003)(86362001)(336012)(16526019)(186003)(426003)(356005)(81166007)(54906003)(70206006)(70586007)(508600001)(26005)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2022 20:05:11.0891 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: de4519b6-af74-4bda-6853-08da2c77104b 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: CO1NAM11FT028.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR12MB2836 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 Configure a meter profile at the time of the flow rule insertion. Pass all the needed parameters to configure the meter profile and insert the metering rule simultaneously. The meter profile can be reused in multiple flow rules in order to share the profile and optimize the flow insertion process. Setting meter profile to NULL means keeping old profile config. Signed-off-by: Alexander Kozyrev --- lib/ethdev/rte_flow.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index 870d1b4a06..964f057fa2 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -2908,6 +2909,13 @@ enum rte_flow_action_type { * @see struct rte_flow_action_ethdev */ RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT, + /** + * Extended Traffic metering and policing (MTR). + * + * See struct rte_flow_action_meter_ext. + * See file rte_mtr.h for MTR object configuration. + */ + RTE_FLOW_ACTION_TYPE_METER_EXT, }; /** @@ -3154,6 +3162,20 @@ struct rte_flow_action_meter { uint32_t mtr_id; /**< MTR object ID created with rte_mtr_create(). */ }; +/** + * RTE_FLOW_ACTION_TYPE_METER_EXT + * + * Traffic metering and policing (MTR). + * + * Meters an IP packet stream and marks its packets either + * green, yellow, or red for future processing, according to a policy. + */ +struct rte_flow_action_meter_ext { + uint32_t mtr_id; /**< MTR object ID. */ + struct rte_meter_profile *profile; /**< MTR profile. */ + struct rte_mtr_params *params; /**< MTR parameters. */ +}; + /** * RTE_FLOW_ACTION_TYPE_SECURITY *