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 84E3FA0093; Mon, 3 Oct 2022 07:44:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 64A1C40693; Mon, 3 Oct 2022 07:44:56 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 7BED640684 for ; Mon, 3 Oct 2022 07:44:54 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29350YqL012720; Sun, 2 Oct 2022 22:42:44 -0700 Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2048.outbound.protection.outlook.com [104.47.66.48]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3jxjwqvq3t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 02 Oct 2022 22:42:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XRggkf2pCYNGudJiJBqCV3Bz7YrqtPRxXQIYGAy1pw3cSSKGcH5RCwb66Im4XcV6G5iGQ8M1LkJvG7w14rxJVFxC7CLPQzvYu9weMnzJyEAlGwKmcxwPWrm2A0LcOPjRzgEL2zI4kbjxPH2Kb/H7AQB5n0z/wgDo9x3bTJlsmChpFQ7jEn9mNqVhk5pE0IXP86ni+Iyw99vWb7mubvpZgGfJRZpJL02qzvk4cqqMb3qcLUka/hS/NvQb+m9O9X8O0aRMCBijQ1jqnfC2dC5SAUOp5D6/lQ+wBiijwksepnQoUFUJVSL4DaGjKJmaKXcpV9cX9HpBJ3R9CYjzzFaAoQ== 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=8VBOya0th7gjQN0Pix+DJqmIhZiTFmc6PB67GP3nGUc=; b=K7HuVP+4Tp1HBYTL0eUBNYgxYevQ254c/+fb2IZA0NI9r3KWYCjChBRooRsGVqsbLJV7lJsuaCaPtX/TU+5Y3D9c0aeAHca6LXw9mYTqU6qJZ81u+t0ZxobHNIBARd96dGxTTD/WrGULGW78R0iDuHl5yjEEVTbh5qTOE4/bBHzDPhtQhmKOJTWOTrZfTX1FMy8qWpw3c1v3aOqGacZERHqbjRy139drme4q2jDJ+8y1sh1ynz5Kw1C2jIewDo9u1P26H8lnweMW/rqKG4yxXwlSogWiLmjPKZIU7kaidraObezUvOc7haGqXL5EW/codN9F/S4Lc0PMzz3g7IFV3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8VBOya0th7gjQN0Pix+DJqmIhZiTFmc6PB67GP3nGUc=; b=lHvV1TKxkxTO9GzpMVJvR3os3+/sv8e8IKMDzexwkIMdUuzRXWJeZnMSm7sKoLIp+B9D2RKDydnFJLWPsko3LscJVZ+eUu1isvJVGgnl11kFSEaGab/I2c3mf/ijYcOjDwkgxBc4rLIlkqtXJ9vuOzCFVGX+rJheZP7QNOO6qHU= Received: from PH0PR18MB4409.namprd18.prod.outlook.com (2603:10b6:510:e3::13) by DM6PR18MB3768.namprd18.prod.outlook.com (2603:10b6:5:267::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.29; Mon, 3 Oct 2022 05:42:42 +0000 Received: from PH0PR18MB4409.namprd18.prod.outlook.com ([fe80::ae7a:67d5:bdf:1493]) by PH0PR18MB4409.namprd18.prod.outlook.com ([fe80::ae7a:67d5:bdf:1493%6]) with mapi id 15.20.5676.028; Mon, 3 Oct 2022 05:42:41 +0000 From: Satha Koteswara Rao Kottidi To: Aman Singh , Yuying Zhang , Ray Kinsella , Ajit Khaparde , Somnath Kotur , Nithin Kumar Dabilpuram , Kiran Kumar Kokkilagadda , Sunil Kumar Kori , Qiming Yang , Wenjun Wu , Jiawen Wu , Jian Wang , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko CC: "dev@dpdk.org" , "ferruh.yigit@amd.com" , "bruce.richardson@intel.com" , "konstantin.v.ananyev@yandex.ru" , Jerin Jacob Kollanukkaran Subject: RE: [PATCH v3] ethdev: queue rate parameter changed from 16b to 32b Thread-Topic: [PATCH v3] ethdev: queue rate parameter changed from 16b to 32b Thread-Index: AQHY0v58noIEMJ/OjEqz+9jP/kMRJa33v8QAgARwFpA= Date: Mon, 3 Oct 2022 05:42:41 +0000 Message-ID: References: <1663939018-18898-1-git-send-email-skoteshwar@marvell.com> <1664344318-3594-1-git-send-email-skoteshwar@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4409:EE_|DM6PR18MB3768:EE_ x-ms-office365-filtering-correlation-id: a285b58e-bf1d-4735-6534-08daa502168c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /iq9M45KvsgsHKL33tPMLMQIaASxn1xUVzTTllqCow+lrRQWJmvly4g/7dx7O36d97IvGLYxRERh2HYnxDL6iTfP9UxHhhL5WLhRpixohyUi40YYtMHb08FTIPj6duv/sZYM+AFFZcNs5S8+1rsPy/c2HRH9mdxMeJj4hFd43vYM3lZy+VCBsHrBkp7xeqrHaqJz9g7vf/dB+ZLCiTxUpkQ/c02s08gqNAqXi+Olx0hZ29Uwm1wRrVewojdD9RjkgNtb5Pvim7AQnAH3cU/O3ZCuXWUnxB1E5tSWCrZQw9WzEN0QNRcSWbmUioV8eIq2zfNUzetEcj85OhmjbPV6LCrzr72+3iA+OWZ2WxpSDtTOlpZmvjCy0wv59BR02wRbirGYFzu5ysLdLJD+cwosHpHWoe07p+Bn1ozcg7lPWsnhDw9/0pSbqezStL5Z7zKYs47TUY2FlsA0sHulK+MawkbMTZEFAWMGlBkVOJtS59wLH8hc3iWopuw2bGXDkIK/HBFodo2iZbpgRHNL/omHcEeliwq99s9yOM4WszjAzhDoC8dN52yWeHfzjG9IenN7LkWpTraSF9etO0mLySLrUTkN7RXhgo5HwxFOz6fq6siOmN2zAMOK4YXRRfYEsPhBz425GwEsRtzhk+qghmrNvBzjUKqNt5+c+m5rklGBVq/Dm1eGoRtGvEPR8Emc3I8w/vK4qqggfCVWuTHRY3BHWLbddVCQBzHDvDtt/y7/6eB2xmZTTwKCwxpd2eb+zyVCyavrdQ3ce6Qcipofmemnbr0jPVwMMrmZg7bWHGOXtEaND3MfZ0v5oQiMxSS20iQCth+cfqxL0eyXjmAEU24OjA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4409.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(376002)(366004)(346002)(39850400004)(136003)(451199015)(30864003)(5660300002)(71200400001)(478600001)(8936002)(52536014)(122000001)(9686003)(26005)(83380400001)(2906002)(316002)(7696005)(54906003)(107886003)(110136005)(38100700002)(86362001)(41300700001)(53546011)(66946007)(76116006)(7416002)(186003)(33656002)(38070700005)(6506007)(55016003)(921005)(4326008)(8676002)(64756008)(66556008)(66446008)(66476007)(23180200003)(357404004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?zFI08GOg6t5I2hyyWiTFIComRkLql7BKtWrM9/vpxQkNwNyWM1i2QWI4cmI1?= =?us-ascii?Q?9r3Qpi5ie1JMAj2xMIikil0rVW8xGYJRgQQeJs9icM6P08Ps+RG4t8ZCWk8n?= =?us-ascii?Q?g3kXS+BGS8HfK4DoN+fvkLKXipplTyXhexxqWTSqUAQ/kgWWNho3MAhTTQ/2?= =?us-ascii?Q?vxmMtH2lN3J7tCiKGn5XvZDQ2WgBau8H5OB+Re+HHvhlYp+V+HJEh+O+0VJR?= =?us-ascii?Q?K2y+XPb1YfB9x4GwT99O0gIJlula1zoJi30LRxu3yoGVf6BLsUhM5t0qhoqj?= =?us-ascii?Q?ar7FERVJ1zP+b5r94x3wishr53djE7jETa78mI5YfZYhdJMR1e9xVttx/0eJ?= =?us-ascii?Q?OK1r0LJxco/ZdtFyR1Wfh2aL3rfgO0iOhEmQEbQHtQC3FsPyZGqufY+idEbY?= =?us-ascii?Q?HZ5rJAI62BZlx6F0RBjOEB7tHXGw5jFmE4i5t01I8kr2sCPPLnKzfV6VsaY6?= =?us-ascii?Q?7hRzEY/ufUrO9tHib+cLa0MicanLYQP/bO9FxKqoKFYPfpgohTnZgUFGBxGO?= =?us-ascii?Q?uA2aN+nyJ45COoi78sNOx+Oh7RxCxb/pKJ8oytB88hmlmwCAGQBBrZoUvRZo?= =?us-ascii?Q?fM+bgHEBHRlNZaITi7gJGoV0lcfnqpFKinMF0Db/ZRVO2AUYDj6zYaqxJ47S?= =?us-ascii?Q?djxsY8hChsZoW4mAnnoNeNQUiEm7qIJZtmSgBm8otZJtNsJ4P9gtNH5ruRi0?= =?us-ascii?Q?IhHtNp9Tx7CgHVtzUFWQm33OJiybh8Svl0012Jzw+rszHCRvCQ+4vMZoh/Hl?= =?us-ascii?Q?YxMdrJktMEV7LWDqk98QtQklCGyRypr4Sj+L9ekza0gGLVJerm6AXr9EhxZL?= =?us-ascii?Q?hzaYDF6jjkr3MnTUuOODYbG/7WKwasmDnf64mDxQGvc0wgfeWmu9X+xNVlOL?= =?us-ascii?Q?/I/zY0BCoLw37WywXIgmvSAM81ozm21bel27RRyIOY3wJ0S0x5homuydofpV?= =?us-ascii?Q?NOtW8/UmwveeyhgxysHXUWP3zNEO6zQL7oxIr9y3Tir1TGnrGhmVl6qAWddr?= =?us-ascii?Q?7B0TIyHqZuehzFTHccS9qqhk5OO8vcIxeq78zn+5wAt2LGh22wIOuV3lbclo?= =?us-ascii?Q?KItPZtOLag6O6FyC5NVAzUVLlO7t+68dBnB1j5dRsDGfO2raXMipVC/VqR/p?= =?us-ascii?Q?0BEhcds1Zy2Eji1ZwKhskVOCp+1K4hyxrE6brGJuRw/HOu7traoI6NLgvz/S?= =?us-ascii?Q?5kQ/51DxeRkSc/9mBTgW6w7kOdSvOEEPjzLDyTgb6tEh1XIh6jQwt/Nosl+9?= =?us-ascii?Q?qvuztZrP4DkJjMQjGJzWEdIG4pQarx4P3wBNvQWq35NB17vDw7Lnkw5EB5OM?= =?us-ascii?Q?A1NfBmMkSCASvMknq4d76LMWRHxqM11LuqNgL2YBw9+ju3+LE2p6Li+ms5Us?= =?us-ascii?Q?jrz7uNetoXoWjshssFrww7kG8EV+1X+vgKZBgmX6ditOkf0tweyF/Rv+bOIh?= =?us-ascii?Q?Gx3N7kRsB0aJIZgb/RdfNme9kJaKskmEtk7LZW/8tn5LDqe5ER7qRWI5zc3C?= =?us-ascii?Q?89GWXP9ohFwuBJ1mWg9STGGaMeG2BOv3MyENiP3ZuzXtHaoJcCiC0PqniktA?= =?us-ascii?Q?G3cd+rU2fBNB9sBAmQRP0eeLuZoGqQpjmTMl+cls?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4409.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a285b58e-bf1d-4735-6534-08daa502168c X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2022 05:42:41.2840 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7w+2692+wYwDoQ8PPHEaTAR/H4eLQgWeFxJNgG0NuRYIOMfP+rb+xW4c+1UC1DXS2HJ6zp8SO0s4xBOwPfzjRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB3768 X-Proofpoint-ORIG-GUID: pfpXYD_cYY7o3EFYbF6ZW5Y9n0PuplSW X-Proofpoint-GUID: pfpXYD_cYY7o3EFYbF6ZW5Y9n0PuplSW X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-03_01,2022-09-29_03,2022-06-22_01 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 Ping -----Original Message----- From: Satha Koteswara Rao Kottidi =20 Sent: Friday, September 30, 2022 3:27 PM To: Satha Koteswara Rao Kottidi ; Aman Singh ; Yuying Zhang ; Ray Kinsella = ; Ajit Khaparde ; Somnath Kotur = ; Nithin Kumar Dabilpuram ; Kiran Kumar Kokkilagadda ; Sunil Kumar Kori = ; Qiming Yang ; Wenjun Wu ; Jiawen Wu ; Jian Wang ; Thomas Monjalon ; Ferruh Yigit ; Andrew Rybchenko Cc: dev@dpdk.org; ferruh.yigit@amd.com; bruce.richardson@intel.com; konstan= tin.v.ananyev@yandex.ru; Jerin Jacob Kollanukkaran Subject: RE: [PATCH v3] ethdev: queue rate parameter changed from 16b to 32= b Hi All, Could you please review and provide suggestions if any. Thanks, Satha. -----Original Message----- From: skoteshwar@marvell.com Sent: Wednesday, September 28, 2022 11:22 AM To: Aman Singh ; Yuying Zhang ; Ray Kinsella ; Ajit Khaparde ; Somnath Kotur ; Nithin Kumar Dabilpuram = ; Kiran Kumar Kokkilagadda ; Sunil Kumar Kori ; Satha Koteswara Rao Kottidi ; Qiming Yang ; Wenjun Wu ; Jiawen Wu ; Jian Wang ; Thomas Monjalon ; Ferruh Yigit ; Andrew Rybchenko Cc: dev@dpdk.org; ferruh.yigit@amd.com; bruce.richardson@intel.com; konstan= tin.v.ananyev@yandex.ru; Jerin Jacob Kollanukkaran Subject: [PATCH v3] ethdev: queue rate parameter changed from 16b to 32b From: Satha Rao The rate parameter modified to uint32_t, so that it can work for more than = 64 Gbps. Signed-off-by: Satha Rao --- v2: Fixed checkpatch warnings v3: updated release notes, cleanup deprecation, addressed review comments app/test-pmd/cmdline.c | 8 ++++---- app/test-pmd/config.c | 4 ++-- app/test-pmd/testpmd.h | 4 ++-- doc/guides/rel_notes/deprecation.rst | 5 ----- doc/guides/rel_notes/release_22_11.rst | 3 +++ drivers/net/bnxt/rte_pmd_bnxt.c | 4 ++-- drivers/net/bnxt/rte_pmd_bnxt.h | 2 +- drivers/net/cnxk/cnxk_ethdev.h | 2 +- drivers/net/cnxk/cnxk_tm.c | 2 +- drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++-- drivers/net/ixgbe/ixgbe_ethdev.h | 4 ++-- drivers/net/ixgbe/rte_pmd_ixgbe.c | 2 +- drivers/net/ixgbe/rte_pmd_ixgbe.h | 2 +- drivers/net/txgbe/txgbe_ethdev.c | 2 +- drivers/net/txgbe/txgbe_ethdev.h | 2 +- lib/ethdev/ethdev_driver.h | 2 +- lib/ethdev/rte_ethdev.c | 2 +- lib/ethdev/rte_ethdev.h | 2 +- 18 files changed, 27 insertions(+), 29 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 51321de.= .adfdc1d 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -8106,7 +8106,7 @@ struct cmd_queue_rate_limit_result { cmdline_fixed_string_t queue; uint8_t queue_num; cmdline_fixed_string_t rate; - uint16_t rate_num; + uint32_t rate_num; }; =20 static void cmd_queue_rate_limit_parsed(void *parsed_result, @@ -8147,7 +8= 147,7 @@ static void cmd_queue_rate_limit_parsed(void *parsed_result, rate, "rate"); static cmdline_parse_token_num_t cmd_queue_rate_limit_ratenum =3D TOKEN_NUM_INITIALIZER(struct cmd_queue_rate_limit_result, - rate_num, RTE_UINT16); + rate_num, RTE_UINT32); =20 static cmdline_parse_inst_t cmd_queue_rate_limit =3D { .f =3D cmd_queue_rate_limit_parsed, @@ -8174,7 +8174,7 @@ struct cmd_vf_rate_limit_result { cmdline_fixed_string_t vf; uint8_t vf_num; cmdline_fixed_string_t rate; - uint16_t rate_num; + uint32_t rate_num; cmdline_fixed_string_t q_msk; uint64_t q_msk_val; }; @@ -8218,7 +8218,7 @@ static void cmd_vf_rate_limit_parsed(void *parsed_res= ult, rate, "rate"); static cmdline_parse_token_num_t cmd_vf_rate_limit_ratenum =3D TOKEN_NUM_INITIALIZER(struct cmd_vf_rate_limit_result, - rate_num, RTE_UINT16); + rate_num, RTE_UINT32); static cmdline_parse_token_string_t cmd_vf_rate_limit_q_msk =3D TOKEN_STRING_INITIALIZER(struct cmd_vf_rate_limit_result, q_msk, "queue_mask"); diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index c90cdfe..6= dd543d 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -5914,7 +5914,7 @@ struct igb_ring_desc_16_bytes { } =20 int -set_queue_rate_limit(portid_t port_id, uint16_t queue_idx, uint16_t rate) +set_queue_rate_limit(portid_t port_id, uint16_t queue_idx, uint32_t +rate) { int diag; struct rte_eth_link link; @@ -5942,7 +5942,7 @@ struct igb_ring_desc_16_bytes { } =20 int -set_vf_rate_limit(portid_t port_id, uint16_t vf, uint16_t rate, uint64_t q= _msk) +set_vf_rate_limit(portid_t port_id, uint16_t vf, uint32_t rate,=20 +uint64_t q_msk) { int diag =3D -ENOTSUP; =20 diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index ddf5e21.= .0af3aa1 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -1097,8 +1097,8 @@ void port_rss_reta_info(portid_t port_id, uint16_t nb_rx_desc, unsigned int socket_id, struct rte_eth_rxconf *rx_conf, struct rte_mempool *mp); =20 -int set_queue_rate_limit(portid_t port_id, uint16_t queue_idx, uint16_t ra= te); -int set_vf_rate_limit(portid_t port_id, uint16_t vf, uint16_t rate, +int set_queue_rate_limit(portid_t port_id, uint16_t queue_idx, uint32_t=20 +rate); int set_vf_rate_limit(portid_t port_id, uint16_t vf, uint32_t=20 +rate, uint64_t q_msk); =20 int set_rxq_avail_thresh(portid_t port_id, uint16_t queue_id, diff --git a= /doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rs= t index e0fa5ef..9292080 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -87,11 +87,6 @@ Deprecation Notices us extending existing enum/define. One solution can be using a fixed size array instead of ``.*MAX.*`` valu= e. =20 -* ethdev: The function ``rte_eth_set_queue_rate_limit`` takes ``rate`` in = Mbps. - The queue rate is limited to 64 Gbps because declared as ``uint16_t``. - The ``rate`` parameter will be modified to ``uint32_t`` in DPDK 22.11 - so that it can work for more than 64 Gbps. - * ethdev: Since no single PMD supports ``RTE_ETH_RX_OFFLOAD_HEADER_SPLIT`` offload and the ``split_hdr_size`` field in structure ``rte_eth_rxmode`` to enable per-port header split, they will be removed in DPDK 22.11. diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/= release_22_11.rst index 2e076ba..3c7e471 100644 --- a/doc/guides/rel_notes/release_22_11.rst +++ b/doc/guides/rel_notes/release_22_11.rst @@ -129,6 +129,9 @@ API Changes configuration (``dev_conf.fdir_conf``). Moved corresponding structures to internal API since some drivers still use it internally. =20 +* ethdev: The type of parameter ``rate`` of the=20 +``rte_eth_set_queue_rate_limit`` + changed from ``uint16_t`` to ``uint32_t`` to support more than 64 Gbps. + =20 ABI Changes ----------- diff --git a/drivers/net/bnxt/rte_pmd_bnxt.c b/drivers/net/bnxt/rte_pmd_bnx= t.c index 77ecbef..4dc38a2 100644 --- a/drivers/net/bnxt/rte_pmd_bnxt.c +++ b/drivers/net/bnxt/rte_pmd_bnxt.c @@ -172,12 +172,12 @@ int rte_pmd_bnxt_set_vf_mac_addr(uint16_t port, uint1= 6_t vf, } =20 int rte_pmd_bnxt_set_vf_rate_limit(uint16_t port, uint16_t vf, - uint16_t tx_rate, uint64_t q_msk) + uint32_t tx_rate, uint64_t q_msk) { struct rte_eth_dev *eth_dev; struct rte_eth_dev_info dev_info; struct bnxt *bp; - uint16_t tot_rate =3D 0; + uint32_t tot_rate =3D 0; uint64_t idx; int rc; =20 diff --git a/drivers/net/bnxt/rte_pmd_bnxt.h b/drivers/net/bnxt/rte_pmd_bnx= t.h index 86b8d71..174c18a 100644 --- a/drivers/net/bnxt/rte_pmd_bnxt.h +++ b/drivers/net/bnxt/rte_pmd_bnxt.h @@ -184,7 +184,7 @@ int rte_pmd_bnxt_set_vf_vlan_filter(uint16_t port, uint= 16_t vlan, * - (-EINVAL) if *vf* or *mac_addr* is invalid. */ int rte_pmd_bnxt_set_vf_rate_limit(uint16_t port, uint16_t vf, - uint16_t tx_rate, uint64_t q_msk); + uint32_t tx_rate, uint64_t q_msk); =20 /** * Get VF's statistics diff --git a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.= h index c09e9bf..5204c46 100644 --- a/drivers/net/cnxk/cnxk_ethdev.h +++ b/drivers/net/cnxk/cnxk_ethdev.h @@ -558,7 +558,7 @@ int cnxk_nix_timesync_write_time(struct rte_eth_dev *et= h_dev, uint64_t cnxk_nix_rxq_mbuf_setup(struct cnxk_eth_dev *dev); int cn= xk_nix_tm_ops_get(struct rte_eth_dev *eth_dev, void *ops); int cnxk_nix_tm= _set_queue_rate_limit(struct rte_eth_dev *eth_dev, - uint16_t queue_idx, uint16_t tx_rate); + uint16_t queue_idx, uint32_t tx_rate); int cnxk_nix_tm_mark_vlan_dei(struct rte_eth_dev *eth_dev, int mark_green, int mark_yellow, int mark_red, struct rte_tm_error *error); diff --git a/drivers/net/cnxk/cnxk_tm.c b/drivers/net/cnxk/cnxk_tm.c index = d45e70a..9d8cd3f 100644 --- a/drivers/net/cnxk/cnxk_tm.c +++ b/drivers/net/cnxk/cnxk_tm.c @@ -751,7 +751,7 @@ struct rte_tm_ops cnxk_tm_ops =3D { =20 int cnxk_nix_tm_set_queue_rate_limit(struct rte_eth_dev *eth_dev, - uint16_t queue_idx, uint16_t tx_rate_mbps) + uint16_t queue_idx, uint32_t tx_rate_mbps) { struct cnxk_eth_dev *dev =3D cnxk_eth_pmd_priv(eth_dev); uint64_t tx_rate =3D tx_rate_mbps * (uint64_t)1E6; diff --git a/drivers/n= et/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 1dfad0e..9ff8ee0 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -2475,7 +2475,7 @@ static int eth_ixgbevf_pci_remove(struct rte_pci_devi= ce *pci_dev) =20 int ixgbe_set_vf_rate_limit(struct rte_eth_dev *dev, uint16_t vf, - uint16_t tx_rate, uint64_t q_msk) + uint32_t tx_rate, uint64_t q_msk) { struct ixgbe_hw *hw; struct ixgbe_vf_info *vfinfo; @@ -6090,7 +6090,7 @@ static void ixgbevf_set_vfta_all(struct rte_eth_dev *= dev, bool on) =20 int ixgbe_set_queue_rate_limit(struct rte_eth_dev *dev, - uint16_t queue_idx, uint16_t tx_rate) + uint16_t queue_idx, uint32_t tx_rate) { struct ixgbe_hw *hw =3D IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private); uint32_t rf_dec, rf_int; diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_eth= dev.h index 0773a7e..b4db3f4 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.h +++ b/drivers/net/ixgbe/ixgbe_ethdev.h @@ -753,13 +753,13 @@ void ixgbe_fdir_stats_get(struct rte_eth_dev *dev, =20 int ixgbe_vt_check(struct ixgbe_hw *hw); int ixgbe_set_vf_rate_limit(stru= ct rte_eth_dev *dev, uint16_t vf, - uint16_t tx_rate, uint64_t q_msk); + uint32_t tx_rate, uint64_t q_msk); bool is_ixgbe_supported(struct rte_eth_dev *dev); int ixgbe_tm_ops_get(st= ruct rte_eth_dev *dev, void *ops); void ixgbe_tm_conf_init(struct rte_eth_= dev *dev); void ixgbe_tm_conf_uninit(struct rte_eth_dev *dev); int ixgbe_= set_queue_rate_limit(struct rte_eth_dev *dev, uint16_t queue_idx, - uint16_t tx_rate); + uint32_t tx_rate); int ixgbe_rss_conf_init(struct ixgbe_rte_flow_rss_conf *out, const struct rte_flow_action_rss *in); int ixgbe_action_rss_same(const= struct rte_flow_action_rss *comp, diff --git a/drivers/net/ixgbe/rte_pmd_i= xgbe.c b/drivers/net/ixgbe/rte_pmd_ixgbe.c index 9729f85..4ff7f37 100644 --- a/drivers/net/ixgbe/rte_pmd_ixgbe.c +++ b/drivers/net/ixgbe/rte_pmd_ixgbe.c @@ -498,7 +498,7 @@ =20 int rte_pmd_ixgbe_set_vf_rate_limit(uint16_t port, uint16_t vf, - uint16_t tx_rate, uint64_t q_msk) + uint32_t tx_rate, uint64_t q_msk) { struct rte_eth_dev *dev; =20 diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe.h b/drivers/net/ixgbe/rte_pmd_= ixgbe.h index 426fe58..7ca1126 100644 --- a/drivers/net/ixgbe/rte_pmd_ixgbe.h +++ b/drivers/net/ixgbe/rte_pmd_ixgbe.h @@ -380,7 +380,7 @@ int rte_pmd_ixgbe_macsec_select_rxsa(uint16_t port, uin= t8_t idx, uint8_t an, * - (-EINVAL) if bad parameter. */ int rte_pmd_ixgbe_set_vf_rate_limit(uint16_t port, uint16_t vf, - uint16_t tx_rate, uint64_t q_msk); + uint32_t tx_rate, uint64_t q_msk); =20 /** * Set all the TCs' bandwidth weight. diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_eth= dev.c index 4422472..86ef979 100644 --- a/drivers/net/txgbe/txgbe_ethdev.c +++ b/drivers/net/txgbe/txgbe_ethdev.c @@ -3764,7 +3764,7 @@ static int txgbe_dev_xstats_get_names_by_id(struct rt= e_eth_dev *dev, =20 int txgbe_set_queue_rate_limit(struct rte_eth_dev *dev, - uint16_t queue_idx, uint16_t tx_rate) + uint16_t queue_idx, uint32_t tx_rate) { struct txgbe_hw *hw =3D TXGBE_DEV_HW(dev); uint32_t bcnrc_val; diff --git a/drivers/net/txgbe/txgbe_ethdev.h b/drivers/net/txgbe/txgbe_eth= dev.h index e425ab4..5171a6c 100644 --- a/drivers/net/txgbe/txgbe_ethdev.h +++ b/drivers/net/txgbe/txgbe_ethdev.h @@ -586,7 +586,7 @@ int txgbe_set_vf_rate_limit(struct rte_eth_dev *dev, ui= nt16_t vf, void txgbe_tm_conf_init(struct rte_eth_dev *dev); void txgbe_t= m_conf_uninit(struct rte_eth_dev *dev); int txgbe_set_queue_rate_limit(str= uct rte_eth_dev *dev, uint16_t queue_idx, - uint16_t tx_rate); + uint32_t tx_rate); int txgbe_rss_conf_init(struct txgbe_rte_flow_rss_conf *out, const struct rte_flow_action_rss *in); int txgbe_action_rss_same(const= struct rte_flow_action_rss *comp, diff --git a/lib/ethdev/ethdev_driver.h = b/lib/ethdev/ethdev_driver.h index a0e0b2a..a89450c 100644 --- a/lib/ethdev/ethdev_driver.h +++ b/lib/ethdev/ethdev_driver.h @@ -598,7 +598,7 @@ typedef int (*eth_uc_all_hash_table_set_t)(struct rte_e= th_dev *dev, /** @internal Set queue Tx rate. */ typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev, uint16_t queue_idx, - uint16_t tx_rate); + uint32_t tx_rate); =20 /** @internal Add tunneling UDP port. */ typedef int (*eth_udp_tunnel_por= t_add_t)(struct rte_eth_dev *dev, diff --git a/lib/ethdev/rte_ethdev.c b/li= b/ethdev/rte_ethdev.c index 1979dc0..4b11dae 100644 --- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rte_ethdev.c @@ -4388,7 +4388,7 @@ enum { } =20 int rte_eth_set_queue_rate_limit(uint16_t port_id, uint16_t queue_idx, - uint16_t tx_rate) + uint32_t tx_rate) { struct rte_eth_dev *dev; struct rte_eth_dev_info dev_info; diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h index b62ac5= b..7149dd7 100644 --- a/lib/ethdev/rte_ethdev.h +++ b/lib/ethdev/rte_ethdev.h @@ -4165,7 +4165,7 @@ int rte_eth_dev_uc_hash_table_set(uint16_t port_id, s= truct rte_ether_addr *addr, * - (-EINVAL) if bad parameter. */ int rte_eth_set_queue_rate_limit(uint16_t port_id, uint16_t queue_idx, - uint16_t tx_rate); + uint32_t tx_rate); =20 /** * Configuration of Receive Side Scaling hash computation of Ethernet devi= ce. -- 1.8.3.1