From patchwork Fri Dec 16 15:50:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Horman X-Patchwork-Id: 1716565 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::136; helo=smtp3.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=d4fct9Rd; dkim-atps=neutral Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) (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 4NYYW54pWqz23ym for ; Sat, 17 Dec 2022 02:51:45 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 94C0761178; Fri, 16 Dec 2022 15:51:43 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 94C0761178 Authentication-Results: smtp3.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=d4fct9Rd X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id n5geGStH0lcJ; Fri, 16 Dec 2022 15:51:42 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp3.osuosl.org (Postfix) with ESMTPS id 9925F61161; Fri, 16 Dec 2022 15:51:41 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 9925F61161 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 164EAC0083; Fri, 16 Dec 2022 15:51:40 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 99AD8C002D for ; Fri, 16 Dec 2022 15:51:36 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 5A0306115A for ; Fri, 16 Dec 2022 15:51:36 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 5A0306115A X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zmWCkDEBqxDN for ; Fri, 16 Dec 2022 15:51:34 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 7F4486115E Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2107.outbound.protection.outlook.com [40.107.243.107]) by smtp3.osuosl.org (Postfix) with ESMTPS id 7F4486115E for ; Fri, 16 Dec 2022 15:51:34 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RXSSHU5TOh6jIi6att1iAKzWFmd+dfb6qpLspA8mOP0mZYdfAyS7w0NgEoaY5kadHrORcl08x8X+FcB7oA2p56aM2SZgrIMDFGGVkz0+SY1QJnCn9XkFtd4M/cNwggOCh8S9hxG0/1Mgt+y1AdRHHA7bjUpCHgvMEb7Af5MQZmZ1v1hJnoSHrmFK4+kePA0UzGAwdS/bc9hUaSrHyoHAjqhb/wQ4a/ooAibMxuC3x3NzzDLwqJ8EsqPY6YnGULvyrKkX8fKM8l+br2bu06xMw+RY70I/x8S1PdezS7MT75CTY70LbTydMh1LSQbzO9DN7x4wfbEJHpIIM1lvpzFfHQ== 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=Q0LwJF9vYAtMSeIZDmOnzmDPYlfwcWDCzPDelGmVa04=; b=N7Olh44hmd49xmyqMZ5uhz7O+MU+UfV2OJSziRK8MkwH3Lfdk5W4GvfnmMPUX1qO45AvdHgyemh2oYwk/YjbDMbb2l57PKdADFwP9GttFcrcwXeekf/1FGNL9JE19VxKTtoyB+901gbRBtIs57W9ybAmkGiSkHmTEfJCYFqU3Jtf83N0tvcmrNmzGn3zMSbaeL5JX5jGgAODCJUNS/EVme4LH/0xibnwrZjBuezy9OGeJnsdjKY1aTcELMSAZrtmHB+DMtVbOp3s6rfbUZxAUEPAV9DQdhsV2OxqJZXfwsmIOd/0+INvF8yT57jxA+fNuKNI+cgt0jDajmaEjFf0Hg== 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=Q0LwJF9vYAtMSeIZDmOnzmDPYlfwcWDCzPDelGmVa04=; b=d4fct9Rd7kvckJDqPb1BdHD+00RCeCrsw+6RjQ7puqtPRo4ZIPViEBcXo6hK/uXB3H09qBkhcDxUq4tf1GjCZK3zSefqmA94YkTwafosg0s4mhscmG/kd168CoHAlClN+oTlK6QHQBDWzJlAVKq4vHWxfWYvBVI8QLWwBGIYmpQ= 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 SJ0PR13MB5621.namprd13.prod.outlook.com (2603:10b6:a03:420::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Fri, 16 Dec 2022 15:51:33 +0000 Received: from PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::483b:9e84:fadc:da30]) by PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::483b:9e84:fadc:da30%9]) with mapi id 15.20.5880.021; Fri, 16 Dec 2022 15:51:32 +0000 From: Simon Horman To: dev@openvswitch.org Date: Fri, 16 Dec 2022 16:50:52 +0100 Message-Id: <20221216155054.986464-5-simon.horman@corigine.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221216155054.986464-1-simon.horman@corigine.com> References: <20221216155054.986464-1-simon.horman@corigine.com> X-ClientProxiedBy: AM9P250CA0024.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:21c::29) To PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB4842:EE_|SJ0PR13MB5621:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e3d1d91-0e7a-4048-817e-08dadf7d66ae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bYcJ1HschJkJVmS9BeyMbYOmxDEHfjLQUxGGCuCBHZkuZGsUNhgBIXg7aYGTSXXL0dCsFfWTMU7b3aTiNrhsHXary/E6XOodddT5lgbBSjE1ATBLMU2KHaritQlNEB8HY9rINKCCL1293ddNlK2yj+RuHvQ4BjMLO/V5AQK0LaFfSDwjt3uRLAjSWZi4eyApIjpGogrDj2AQGk3KwOg5i1KLxDGecId/sD7jeFb+kexA1rjM0FG032M8dhNBwKNAKbRRniHMBTbDCKklDMXVk0Q+gbyJQhECQ/FvP9gx4IW+ymnhfPnXnHL/sji9+a7aM4+bhuPvw0AGYUOaMXbdYyrLg/JBp/McKMNhSfEpf8R+XrYy0EuYVhOBwnyRF116b+TBJ6goXEyo2R8SazuDG/IJ5P490pA6PO1n7eVqF7k5jXEkYTrrl3msL4gMefoG5Xigoz7pDsM+GMRvpX8ReKWtc7RBdFi15tH6fvC54q3pN/KslrU5mg6C78E0Pc/IXssebqwb9aMScdjRN8WGKaDaEMbGOMrauO7Y4+eaPrjDZ9QQIQal9r/1e/E+KVp4wkzcGTnbf8vn3x0BReHnhJfN1PoQj3BAWNXK7lOwP09QFDtdt0osW9wDL+y2EJZTvMmiHcJRs5ui43Z4K8/AMQ== 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:(13230022)(4636009)(366004)(136003)(376002)(39840400004)(396003)(346002)(451199015)(36756003)(2906002)(5660300002)(44832011)(86362001)(8936002)(2616005)(38100700002)(1076003)(83380400001)(6916009)(54906003)(316002)(186003)(6512007)(107886003)(41300700001)(6486002)(4326008)(66556008)(6666004)(52116002)(6506007)(478600001)(66476007)(8676002)(66946007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XPn8Y/noCFX1lhHhbItDqEs4cbBV2omCf4Rf2AYajefxjRuTQcxxSURA6cAitpQz+i/EPgV/OALjLNYHhYUrZxRQc93Y3s4FOtffRJsSqRAe8wTXqU6TR3b/rL3tg8C0YjNoFGXCet1Arikx+Qsav56i3j71HYbnQ4sfNwRODRyvIGymfmafYZ8/aSbyCpSk2PMKG9VOnOFVJvPh4CC6mTSh56HBn6oW5PcK5oISJdscssM5daeQk2+MImJ8oddl4YsC7AJLB6JpbsFj2+Pr2mJz9QUTdSSXfsu95faydP+PJRyBmwZhWAjs6vJpHBTGf5xgep06f/0heETmRbaQ5zkEJhdEU97Sg9MHctyImeJhhuF9ZRtWtqR4P5/+M2qAcjA8pn5x3CAlclxgc/gobscTPpGERaQEv6V3O6iFoGYWxHadKEfio/4G8FzB/JVtmm3gLLsYxm0/FLLYKL15xSzX3HLXuzadut0EAI0o654TOJQix2BkX0/XdSI9Hg24qU7cqxn5SDOImZRXWsOg0rwICxeFy9Qde4KHi/Y0Tdw165X7U9s81qkhZ8RyQ7b5qhFIKRhSz563tLhmUvHSjS3Ax/VJs4ZMlmpFlqmIT8NpTOqMMoeNx2kKpbjeH8HY+q8x3ffgZaYbSdq9i59er878PSbFwEACQ246YS9bCoafp0QLJxh2EBL+rbozt70YNZ1pZcpQetiNrjoXZs8BooTfRtGdDYF9NM+Lt4mq9xwl2qEy1wgAfy1985dhhhBQ4eu5dN5hwV3vDw77XnlH5mBjsAW28Nqk479qZAi8Ib7ltBq1DlVXV32ROOrmVJtpcU6iWKZWaZpl6G5lLhZrnA5Cet0MiqB01FpVZKpsrsYDbZpblCyQ6l/XG4UrjL69rQMasfRijzwXaLwzXADVfr7JMC9DdUrdMPQqvrcL0qJof39Ms+Qi749C02awWMxgV4gHmb2g9yIH+XJi8P6jj9hF76kD3YHrDV30jrR8biv9L3Fcjr9M8Ua0OAEBDhzzluxThAU3SuDa5zWVI43m82c9lCgLUhF6KkFNZZc6RIWMDiWV0CBhe+7ngORLXkv690Y+zWsdqOmeNUVGJ68KU5JQkoPV0fn3rVXA3FANNtinRHyyUlvdtmML0B/iO8Wn4jviwbkaCY/HFNmhKUjMHZWnBDjkmkTycq2bI2nmRYC9y+/sP4MSy2wtwDTFIQqvGj7u6SObT5ziiQiyfz9HI+JeAIoc68qpCcGq9aSBH+onW9S5DaCJi4M3YxZixcNCF953ubeKmcKjLlx71GiLibmHxYEfMcCHooEK4q48+zNOBot8ycMa2unPcwHN3O0k70ATIgKAmiBOwnll87z05c7bDyDOd5X0U+Zt4JZH3445E64pxmim5x6nK697nh7kB9hNwar5peUScCnez8c4neRCE//x3nFcsXahnLMRBwvLCpBswByRm5vFmGJ5md9RkmHF/w8aK+8/5m6F5waLICFowELc62XZVHbIRkFNIr/yWiIVVvLW2cPn9l6yga3r61bPs3/aKpPRbE+e6zEIOgAPidb4DOLPN9d+qYOvX5pyPH5Lh/DljE3I03/gHuE4T3GXOo+43iKVlEKue++5BzhCqyr2WR8FFNGnKljUQfzXOz5s5OU5xh6KriKqBBaETH7Ru5292oybZmi3IO9Pyw== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e3d1d91-0e7a-4048-817e-08dadf7d66ae X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB4842.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 15:51:31.4058 (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: 5YBdyGCuZxncULkRiAaBN7v+su3E9uLlhqOD1WmcNJ79JyGambxB/cbtQQ5XpojyQ/iuXW6CS3EAaxxA1Ds0NMRbDQIaAtTvs+zL5IC/wIg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR13MB5621 Cc: Eli Britstein , Jin Liu , Chaoyong He , oss-drivers@corigine.com, Ilya Maximets , Peng Zhang Subject: [ovs-dev] [PATCH 4/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 --- 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 180f3fb4b299..4e96c678aff7 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -5275,6 +5275,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_create(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_create(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_create(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_create(struct rte_mtr_meter_profile *profile, struct rte_mtr_capabilities *cap, @@ -5282,16 +5326,16 @@ netdev_dpdk_meter_profile_create(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_create(profile, rate, burst, flag); + } else if (cap->meter_trtcm_rfc2698_n_max) { + netdev_dpdk_meter_profile_rfc2698_create(profile, rate, burst, flag); + } else if (cap->meter_trtcm_rfc4115_n_max) { + netdev_dpdk_meter_profile_rfc4115_create(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; }