From patchwork Thu Mar 30 11:20:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Horman X-Patchwork-Id: 1763201 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=corigine.onmicrosoft.com header.i=@corigine.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-corigine-onmicrosoft-com header.b=CEt0f9HN; dkim-atps=neutral Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PnLbT6X4vz1yXv for ; Thu, 30 Mar 2023 22:21:41 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 0378B41FC5; Thu, 30 Mar 2023 11:21:40 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 0378B41FC5 Authentication-Results: smtp4.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=corigine.onmicrosoft.com header.i=@corigine.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-corigine-onmicrosoft-com header.b=CEt0f9HN X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gncoJpgsTKr4; Thu, 30 Mar 2023 11:21:37 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id E938F41FEF; Thu, 30 Mar 2023 11:21:35 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org E938F41FEF Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 5D588C008F; Thu, 30 Mar 2023 11:21:34 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 07206C0037 for ; Thu, 30 Mar 2023 11:21:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 9D07841FD5 for ; Thu, 30 Mar 2023 11:21:30 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 9D07841FD5 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lz2MJNTsGt6G for ; Thu, 30 Mar 2023 11:21:29 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 591E341FD9 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on20713.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eab::713]) by smtp4.osuosl.org (Postfix) with ESMTPS id 591E341FD9 for ; Thu, 30 Mar 2023 11:21:29 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bYOE+NllygAMLps9Ty3fpeteRMxwYJh/yuo9EaJVnteM6FQuJMtvovwKBf3yezpCwvXNXA0ExtuRQNktG2yLN851cWbYv6/ujHR2PQWbGdww1zIc4Ynagnf1vVV46M6x5XLUW22c8YrlRIpyRJPuOW8eQkQ4BWznV/0hTN2VsheM6N7KKrwsAJQbCLhIKzGzfXeHkFBKJxGjaxW48PT6PP2bUp5e72K5qAmEOK8rSd1V133rAistEf/MWfC8a7uBLqCh/UwCR0ZlzQGHHxDqz6ECmfpnn8YHS9IjsiPW35e7MSU71ayaRHHes1IN6jC4vMj/n0tZERULomP09FJkhg== 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=xL9Tmzt5AoCuwf8ixrIts+ROsW9AkCyF7VDqkTGE938=; b=dBbEVfYZnGLismfC7os4uZDGBjDRX8jjEi8i1C44ANApS1cLbLk/xG486DuZ8/co7a43l2PD4WPG3bqOC5GhgSMnh3uEEnfmpp7DqmIsx5MIVe8lsXF36Sm54W6zVf6j308M4DzD+LLfbWwxwMmRgXgOUiV+2lTOcnGW+AeP0c04OyEyDubzZvef4ah+nWrXZJsodCldn2VbCWzE5J0SLAEwKVjc6G/Q+I3a7CUXC/W2nFM8PrvHCSDZugFjEKRDVLVjEJcPtX025MO50TwGUJ4fuva7PuYau0B6hhCIZSVKcbcQNcAYNUd8NxnQXTuUm1XNb3LpT+Z9gyevgzJZKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xL9Tmzt5AoCuwf8ixrIts+ROsW9AkCyF7VDqkTGE938=; b=CEt0f9HNP7p07xsRpT7YFvwVCywvKh6FiC1zREDScN1BKeTWhpSSCBf1VWVBGQz17UidUKvpQGjJI1y4G+i4v3ceYKYZ0pV9e+YTVKm2dCmLO8BG2ApcC0tExl+ZurlD30jSl5NedDnSHitIgKJsMQ077mfwACKPZWAUuvbt//M= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) by SA0PR13MB3999.namprd13.prod.outlook.com (2603:10b6:806:70::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar 2023 11:21:27 +0000 Received: from PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::c506:5243:557e:82cb]) by PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::c506:5243:557e:82cb%5]) with mapi id 15.20.6254.021; Thu, 30 Mar 2023 11:21:27 +0000 From: Simon Horman To: dev@openvswitch.org Date: Thu, 30 Mar 2023 13:20:56 +0200 Message-Id: <20230330112057.14242-6-simon.horman@corigine.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230330112057.14242-1-simon.horman@corigine.com> References: <20230330112057.14242-1-simon.horman@corigine.com> X-ClientProxiedBy: AM0PR01CA0111.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::16) To PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB4842:EE_|SA0PR13MB3999:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e44c06e-f149-486e-69bd-08db3110e786 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: R9aOa+Q8bi+cMziapxn9A6Kc9jWsPQAI38tKDoWQXg+6qQD825c2YHwm/htFyAMhgSKNyt0s+zb6DosdxaxI86/xxznBRI7WeloRncf0Gwpwgfso4jGSEugVQBlq1a+SKZfFcPEiTEQadi/qvgl7WkN0S8uuTd4Kq0vKun/h10hC/KnaAuC8kOONCMp7LdhxHlChuCril/mG7ulV3iuQfLAFigfJFapKTcV7Q3PlqP5J35c+JFOC7l7+bbIfk0MjYcps3l+ttZecyqY/r8/vgYwKiNzBf/TjQSob0EyiEdP6jzuLhBy694ZHTjswRLI2lDPnERiQJeVtXfc+zjazBF+avVFZMDYJUG/kLe6WPhNQogCYY7u1rmEejLN3PQs0Q8mvAfggplJN175KXJmC4rMNMnL50gZmlJXQUkkNVb3KYWXeJdSvjy1klOzseOuOYuWGTnphFFhJGNl8fJaSmMLOhsFVq3xDOC1C/QF40IsLy29XjyAYoIinDh0QVDHbA10dOeBWK14KlOSnZmdlFxonExUBgn0P8NXe1PNvfwY5SpYiIAc/t7+bWrWyQf2L X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR13MB4842.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(136003)(376002)(396003)(346002)(366004)(39840400004)(451199021)(38100700002)(36756003)(86362001)(8936002)(6666004)(107886003)(5660300002)(83380400001)(2616005)(1076003)(41300700001)(478600001)(44832011)(52116002)(316002)(186003)(4326008)(8676002)(66556008)(6916009)(66476007)(6512007)(6506007)(54906003)(66946007)(2906002)(6486002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: E+tO+h1BPZOGLC/H45RDSitVq9ZmnQZXRfLY94HMX8wtZGnZPI10NgHOW+6nEBUFOwMCBVBaB8tpPkHJ+H0mhwLItFHWBN33WUEkEF/UK6D18mcZta3EaTVXWtTaZQM1GX5YecwNRsa4u7am0JUTGuv8ezW8UEdltlPxdPgmvhJGF+OKeeqoMQgnMQBTScQykQ5JPniHEsSnfpmLN6z0USYLmgELOSRlX3gqZtIM+Q/XXE7Gc7wNH08/isRQeQ9gRmiqMqIa3xFfAc7KfEvffatsg7yyrUDTb2EKNVmLqLxKyeX+GgSukWWLIcpaTV5G4EuMPrI/4tNmJdd5YpdJSCrXB5PCYwXFNVkyzpTQnET6ss0rH/Q2U4oHjOTJ1adRMQSrMMbNZiv913R4nwIQtBxXSLShqSxt2qOL7pBT2MIkE59gKqlSQHLNiKCMahTuPsOzYqCC1IE8fvUp2+FLFA7lLkx6Sf/7pqBkifeQeLpfJyoNYrF1FGrqChnLo11HAIbc1nSwDRXEt582DKnYRyorHNm0/cJsbGgFaak18pr9uRsbfN+NfA2jtkKznowwE4QCx/5Ll4t3v6A8L0ai3q3ej7GWjI29+0dgzPzv0DK/lOy8cxXEDh4ddNgyB8BUDbDUz4hO3kDoeltWZQNMkJC/tKthcwn/ldYxlkrqznceEn7dZd/7EE+kK/lvVJOuXp70/zUa+wQav4rAtyCPngSxH2e/04yTLUIsufWL4fGPbXs0vBUhL8D6ho/obGTUmXRTzRRUoUTlpuegl3xSzjf46zc5WQglBDaloHnQTG9wYy3cIXeE55VqVbgCWz/VyI+CTgs6hEBdfv6ByQdLDFbgzfT9tZdlkwz6FMsGelnrKKPbEAgR7Uefl6mAr/4Y9Kv5IGuLlHO1SmsqE+xbxxOavE2soTMYO4f1E1asFWIKm32d2xB0VuRLqgprODAnKp3xmeR9Af+oWmAEEsytLjFb1nAtx6cHV+LGv/UNidnjKcOA8pdpcZ4M2SeDCbFp7RIduJW4jTLhzhOrRnm/yRyC8bP3gT4/LuzubqkCYozG/zlHNQnI+BQyIaQX1XXHMxZankJwdf8xXx2T1x4yEmNukPQLy7+csWfL6xhN+uNWCgfpBCbQlxV/Dpl6czlByc2NohA+XlC/5+FMQGI0klEDKEQVYgKVpVMK35aoqeLFGG3xYVtioIbKfpeVRALJeMNZF99AbqTVPdysT9AMG4GY+XvEJWW+X2CAWYgxNFOI+iNzkkQqMjxBiP735LlsruRIxNp4VLM1jqzZSXYdirix7CfHoSOdkiMhG33QvCAXl7UMDsQOpS+by0irKQhfxO87PT5ayKpdkFLqeYAyK1fxzSRw3ZBBGfQTr02QS3VSVKKkVIrGTwLIS9eGrfj05XaUmynFsm61Yo5WJrKAGRl464hWikTnKG24g+tNV4hXbGDa4RZeukJ5EQfMA4gNAeghuQKsLp8ep1TmnJ1lvxXI1n8FyZZ9gC5wL/iF0D/dfB+lXI20sHYZFT4R3BS5E1GufawNkDRaV6NY/8JzST9O4s03ycBlFNdMEnGUiOQD6qdCwvimCWJUDYmDMDYETF1KbNKQNojjp71tyAkIjwOST7uKaZAxGj9kBxhiUvnA1LfuNvKeFYrz0JYSafv56UqYtmZNbdIP/+EUIiYZbg== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e44c06e-f149-486e-69bd-08db3110e786 X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB4842.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:21:27.8394 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sbd5GG7PNokRij6HRAYyNq4FwtbKQKKF5nUQ+dGL6zjOjM6LwROX2ejnsq45eDRz1k8Xsakq9DWRZ8te8coZlBwWkYWjda7aE7PPmYqJKHU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR13MB3999 Cc: Eli Britstein , Jin Liu , Chaoyong He , oss-drivers@corigine.com, Ilya Maximets , Peng Zhang Subject: [ovs-dev] [PATCH dpdk-latest v3 5/6] netdev-dpdk: add meter algorithms X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" From: Peng Zhang Add the meter algorithms. DPDK meter support three algorithms, and OVS also can support these algorithms. Signed-off-by: Peng Zhang Signed-off-by: Jin Liu Co-authored-by: Jin Liu Signed-off-by: Simon Horman --- lib/netdev-dpdk.c | 58 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 7 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index cc2d0762226f..2ce95aed2455 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -5331,6 +5331,50 @@ netdev_dpdk_rte_flow_query_count(struct netdev *netdev, return ret; } +/* RTE_MTR_TRTCM_RFC2697 meter profile */ +static void +netdev_dpdk_meter_profile_rfc2697_init(struct rte_mtr_meter_profile *profile, + const uint64_t rate, + const uint64_t burst, + const int flag) +{ + profile->alg = RTE_MTR_SRTCM_RFC2697; + profile->packet_mode = flag; + profile->srtcm_rfc2697.cir = rate; + profile->srtcm_rfc2697.cbs = burst; + profile->srtcm_rfc2697.ebs = burst; +} + +/* RTE_MTR_TRTCM_RFC2698 meter profile */ +static void +netdev_dpdk_meter_profile_rfc2698_init(struct rte_mtr_meter_profile *profile, + const uint64_t rate, + const uint64_t burst, + const int flag) +{ + profile->alg = RTE_MTR_TRTCM_RFC2698; + profile->packet_mode = flag; + profile->trtcm_rfc2698.cir = rate; + profile->trtcm_rfc2698.cbs = burst; + profile->trtcm_rfc2698.pir = rate; + profile->trtcm_rfc2698.pbs = burst; +} + +/* RTE_MTR_TRTCM_RFC2698 meter profile */ +static void +netdev_dpdk_meter_profile_rfc4115_init(struct rte_mtr_meter_profile *profile, + const uint64_t rate, + const uint64_t burst, + const int flag) +{ + profile->alg = RTE_MTR_TRTCM_RFC4115; + profile->packet_mode = flag; + profile->trtcm_rfc4115.cir = rate; + profile->trtcm_rfc4115.cbs = burst; + profile->trtcm_rfc4115.eir = rate; + profile->trtcm_rfc4115.ebs = burst; +} + static int OVS_UNUSED netdev_dpdk_meter_profile_init(struct rte_mtr_meter_profile *profile, struct rte_mtr_capabilities *cap, @@ -5338,16 +5382,16 @@ netdev_dpdk_meter_profile_init(struct rte_mtr_meter_profile *profile, const uint64_t burst, const int flag) { - if (!cap->meter_srtcm_rfc2697_n_max) { + if (cap->meter_srtcm_rfc2697_n_max) { + netdev_dpdk_meter_profile_rfc2697_init(profile, rate, burst, flag); + } else if (cap->meter_trtcm_rfc2698_n_max) { + netdev_dpdk_meter_profile_rfc2698_init(profile, rate, burst, flag); + } else if (cap->meter_trtcm_rfc4115_n_max) { + netdev_dpdk_meter_profile_rfc4115_init(profile, rate, burst, flag); + } else { return EOPNOTSUPP; } - profile->alg = RTE_MTR_SRTCM_RFC2697; - profile->packet_mode = flag; - profile->srtcm_rfc2697.cir = rate; - profile->srtcm_rfc2697.cbs = burst; - profile->srtcm_rfc2697.ebs = burst; - return 0; }