From patchwork Thu Mar 9 13:02:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Horman X-Patchwork-Id: 1754629 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::133; helo=smtp2.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=nBu9hpOu; dkim-atps=neutral Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (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 4PXTrz2gF7z2469 for ; Fri, 10 Mar 2023 00:03:47 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id D17AB4034B; Thu, 9 Mar 2023 13:03:43 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org D17AB4034B Authentication-Results: smtp2.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=nBu9hpOu X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2V0c6sibotMU; Thu, 9 Mar 2023 13:03:41 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id 6466540FCE; Thu, 9 Mar 2023 13:03:37 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 6466540FCE Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id D4A41C009E; Thu, 9 Mar 2023 13:03:32 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 4DDFBC009B for ; Thu, 9 Mar 2023 13:03:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 24D6640494 for ; Thu, 9 Mar 2023 13:03:31 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 24D6640494 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AK3lRQvv1t7j for ; Thu, 9 Mar 2023 13:03:28 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 30F894034B Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on20700.outbound.protection.outlook.com [IPv6:2a01:111:f400:7ea9::700]) by smtp2.osuosl.org (Postfix) with ESMTPS id 30F894034B for ; Thu, 9 Mar 2023 13:03:28 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=agxoAAXK2X4Tl5igEL2JkBeop1yBg8DpC+iODjFeq04UA/xdjf9tz5HVPIafqV2nwlGuWuLvBTQIcwkNjscULIFCGHtfgl8KDwWkYDyaPiQKyzmU+sXKkBGwzxXdLP8NnyYNJheu7dcnD1cVI01ivW12Fc/Loq57B7g6u/GpD5qiZwWrfQsxQhfOXdZt4osvv+7SzKhxJJeB2HquJVQiPAFoIS/9wuDayaXhhlvexUoDN609Rz7TrK3/SqFqXXY/MHDarDKlMV0nvAteN1z+wmQLuE3HOTIaVCyrfdTUz4VgzIkTgNS5118fq6PyEJqKa4WiqgGR25t41cEP1DMjqQ== 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=rTSCTuMBJOcOUJYgll99vOSrjqseljOOns8oWySs+74=; b=d3ksLnC2KzvXAMXLnZUXrw4KGS5o8ELhQwtOKMD4qxVKu9jYg6hbPzZDbuSHpnFtDPr+QrCwwbpkU+14iGjDEBwH8yGDClyMebwetjabgsUhMlX6cHzBIzQsaDKJ3Uv++AUyitY6tjRe1THqCR69wdKNdykQN6Bh/BF5JUl/V5W9iWc0G+KM73ASFXQ+wuHzCkrRacZTCvPSJOZEGzXGO6XrDpNUAP2IuRPeXkcsgja468ngW5qPye26Xc097qsVVW5KM3538EsHds7oNFFSo/sF/XphLCYIMFmuraXZu4GV/dVmKIj2kWltzrIWa37i4w+FIlsGP5frZFp0nz4MCg== 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=rTSCTuMBJOcOUJYgll99vOSrjqseljOOns8oWySs+74=; b=nBu9hpOuJu56Xc1Sm8RirB/h0FhP75VohCaM6MSKNxJQzkrz5pgwaYg0n2av9n6MJeqyKmmRPoVCAXUs39PNBx2r2pEonGemQCLwoUMJz56+rEHfSdfK4d5BcRymtQnr42crbvatRbnpAvwJ+ib+SFab4CqWZP8RUJygenI6C8I= 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 MW3PR13MB4156.namprd13.prod.outlook.com (2603:10b6:303:2d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.17; Thu, 9 Mar 2023 13:03:26 +0000 Received: from PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::85f5:bdb:fb9e:294c]) by PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::85f5:bdb:fb9e:294c%2]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023 13:03:25 +0000 From: Simon Horman To: dev@openvswitch.org Date: Thu, 9 Mar 2023 14:02:51 +0100 Message-Id: <20230309130252.356289-6-simon.horman@corigine.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230309130252.356289-1-simon.horman@corigine.com> References: <20230309130252.356289-1-simon.horman@corigine.com> X-ClientProxiedBy: AM9P250CA0028.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:21c::33) To PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB4842:EE_|MW3PR13MB4156:EE_ X-MS-Office365-Filtering-Correlation-Id: b57f0e19-3c3d-41cc-9275-08db209eab7b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M6KIeuY26Hawok8emXsKF71hchzIR80AmoNlVU8G+gheEm8GbJ91aySjUflYtSKehHEMFJxP7yGtJUWOPif9LX5DolUUAnViCwyVDU1NBEiLLhJIgtHMdlW1co4WH0i0yDlbv00SInI+Bmk/WI18xSr1aStjZ6fdMqKTqquXN4n+w8Btl406tYlomLCnyVHxcGaLeE7PKZY1AJ+uIe0osDc16K0NbUKL7ascRIGRjIhxxGodBYg/NEMJ2nA47MQo0ubfYmkGu7DWF/JsVJa70CL5ylPGj7MD4fyCCkboY1j2kzUvpmodAegiGcdkPl8eM21bvR9kgpyFe17ecLmrXBFIhQYakkBAP0uEyoozgTsg4NviGl0ZcCawWH4n91YwKzZbR9FBCXoiAg7xLCHvsTW4hAKzMXUiMPz0Ds1T8I+Le5Fmnxy2wIq1N509uhpyjzdzDPskJAix6spNp9CdWIM6fBSdCZYbST+UB+7JTU7z5AGOIq3Pr6d7r04uQ3LndbQrnPAAghF242TxL38PIj0Bxt905TZYpIQ6Ln2JB8BQqsaC5eBHs7WH2dskvUcDppcfznaJ40IsnU36lRwmL9hfTDyc9W/sLONJrQkKLCTmOffwLQ6I7ctcVS0pX5LkOHGCGvbcsVF9M0yWCMtiAg== 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:(13230025)(4636009)(136003)(376002)(396003)(366004)(39840400004)(346002)(451199018)(8676002)(41300700001)(66476007)(66556008)(66946007)(6916009)(4326008)(52116002)(2906002)(54906003)(316002)(8936002)(38100700002)(5660300002)(186003)(44832011)(478600001)(6506007)(36756003)(6486002)(1076003)(107886003)(6512007)(6666004)(83380400001)(2616005)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MMm6vnab2hwXGRVzY1XAbUY5tkubh/MNivs2bCvR0/NSKeQCiL1u2phjsgA5RPw6ORDPQtYktp+phdPYybspp/med4RS4FoA8S5EIavM/Uqss+fOw3T0BAM8Uu3pn4uZX/RkfrQgWM/ZHM59FdQeqMnTjGStNuxpN6KF9YH7mOJjH9GWSn5TC9Gu69WU+3SkYA+T9dIOtE1IT6zYA1mLdeoG4Ogfed1b4VvHriT1B0Zi2W9oKnJl2ogSvheEu3/dS3OYg4FWS3b+IFkD54Qrm2lgq6HVsCMgor6g11s/kVYhE3zqYzISXqZrnRGqI4mbnr4PMaNli0HAZg/4F8JGpP4woJS0Rbu6r4mrnov+kbzTUOGnzIf2ape1YaV8QapewCC4mNjr7T1Npm5QztqOpCPErGweoSj+mDt7+4R5DoQIMU7mroI8HS5ZQB0tA2oOdVt+dHcdFw7vIIhxSJkPUPvwNblgqFajkl77qS3eCHKUNuhsWLrscKDcncHbmQKWm6XhF8/Mx+O5PzhbaRGeYe8FgzQMYN1rD5+qDFKdc9f+oAxRDhICbbMlYCDSRvz4YliY/b90ODJMnxkcHbll9ZWqA8NpV7fs1Sai8Y6k2+5qVvo6anO4NuTbdqFIonAkw9Y48Z+a8XfaDcDr6uadDnGwXKyXyb1eDR46HDOIM0tEnu5dGFtpzZEsiZyxU4mRCRz5XB4RzWLeewLSlXnfsaXYgS25D1KIVD35Kl+BOEveR+P4ffapMVss+JLCwtNMBRcnBmHaGOVjvWa0VcLgHrCjmE99ahS3b05O5CZgMHmd39QNH69HtmPmvYhRDvFzFuJcaWCTPRt5R4pQj7QwOYcoJChxv2PiHC14E/q5zLJ+hBQ1sPbm4nSc7UmtlkNtQ0/z3c6m/6DVtldGxiIWYANLpGu69jLN/3jrD3Q7xWieN635RbTCqhiqlXVdV7mvqm4d87bciX9o9P8EiKh6g3/HnweJ5pDoDiNAItXaf2+DLhDu4mHHSYvQxsP+G/W9Fo2Vpn0ROHRjFPCZH51qcUXGWkoEMmyzTTQGYXNeuabreZNhLe6K+2cwZ5a38eic2ddZbXPLa2gsrMWFex1Fs9GXV82rtNWovWiFJh2kfIG/gMnspjIZp2xeXnsVNF0nonKEqi9gEQazpgLu4ywDPJY20TZdzop5NR4sOAq38Et6+zBvcMgfIE5niaS8JUkduaZfZ/GWKmzQA+Hhb5nzEiRtLvwlXRJwPuRpinD7yCRTFW7WAw/aMUddN0WWZgspsOXJQ+9/0i0Q25iuGFOMaZnA4f7//6ZpjW/yx5gw5DDewPGX4Gf7+KhisMQfUzu5twnlYzBGGj3X2skKqjPorxupipMgGG/NChgF2QcZj9jLBC3tM5A7CQg62SKdiFIcQNYzJtSXx/t4h+ViT/LBHf/f3rvqPOITikFS5+KNJv0E/7DT3P7+l56d2Nv32bsHzYd6MbBd7B3FqAiaNtOz0sxuO+iys6lBKF2PYuzKL0VM3lCFHm2EjsfA7BwtaTXrrWLcCGbkLndS+Sct1thYgl/8pJooWP0RoW7Bj6qsr4cajotVK5BJQo5o5JVmq/KprWKLpsf5NwQzx1nAWTYMxs1VKZQdJqfsAhUqofCH6up13uyB41Ih49a/y0cP3thrCoZWVSYUV/cRiXuW3UznAA== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: b57f0e19-3c3d-41cc-9275-08db209eab7b X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB4842.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 13:03:25.8230 (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: cgMaTbKBjO58x4aTti3TXX4cSK7/dnulZh702gkIrTjvgmpMvKMn3BcoQcc/mfPgpruupro1EW+/Hn4YBuZP2bMTSvZlEA9TkCsg3EMGfmM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR13MB4156 Cc: Eli Britstein , Jin Liu , Simon Horman , Chaoyong He , oss-drivers@corigine.com, Ilya Maximets , Peng Zhang Subject: [ovs-dev] [PATCH v2 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 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; }