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 959DF424D4; Wed, 12 Jun 2024 01:39:41 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 85E5A40DD7; Wed, 12 Jun 2024 01:39:35 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2080.outbound.protection.outlook.com [40.107.223.80]) by mails.dpdk.org (Postfix) with ESMTP id 618DC40B9C for ; Wed, 12 Jun 2024 01:39:33 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M2n1IGuqsEREzxnK2XEOIcSzYY0t+CDn/PXAKbcDxTnUqeTXpuTrlCOIi5IFdCvUcHlkwTBI6pAN1eh8pXpHzNL6UZkIj9SZxduAZrZ6eSgq3QLDiSW6QQJt41ewoCdQEJ2ase/4HaQlop33rc0/QWcEOkhJsW+qyDPo7XHvfjMKrWj9ktBRw7hAbVwcy/VP0hJkVNN0PIWCdjfTF8RLDozcxlA37T2C1Q9Sx5AT9PCeFL1krsxdAq6nQQ373ExI5YP4XH30Cc7EDbnLtndVSPnHlF8dvrIc3FzcIUnZ36Tv9gDTYO75FdLYtf+hCKZle0OR10k3onYN/Y7bNR3vlg== 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=s/AJw217WK5/zlklyXFduIDr33TvX5iKLRjfZi5RHpE=; b=ScC/nYX2BzbZQsHaCqAEbuDvHXlPKbtASRiWI1dAHrucYzkFPjG1g5JYoWA+CmWrqCYVnaSM8iW/1dV031BipRe4Inl+tRmJs5aH+FqxLhAEJBPMA2KsRVXHLDczmSZARqyvG4L4YuD5aSqTPt/Gi3AOfSKNQGkhG9uIR+FGda9DEzmfALUL1HUhHQ+J4xzRIiz0z2v+crVnZtY4rxTb+jtUJKqecHFBqCrbvOAjRZ6ohE6vR/VPPtLNVdk/Ub1wha/GDO6NSCwwKi0+dGn7PzFxIIVtZVKHbfRPE7thWZLzYifWZnFslM8ojHWr6NEqnUlFEuliVwTZbpClpN3y5w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s/AJw217WK5/zlklyXFduIDr33TvX5iKLRjfZi5RHpE=; b=lUthlNpcCwcL8HdJoT56xoPz5NZOtbIXwcRoCFPPPKcnJp9iDx3D2ZK18r1NjqZWiq+VmzoIF424Avms6hR7vWjYAQkAtv4hu7CpRAiT/xzeuUImTtg3VLiKa4tuoswiQpF5XudkBZa/YX8WwlLSSZmcRmjc9RJt6K8/Tij3SiQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) by MN2PR12MB4240.namprd12.prod.outlook.com (2603:10b6:208:1d3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.36; Tue, 11 Jun 2024 23:39:31 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::ebfb:2f9f:f9ca:82cd]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::ebfb:2f9f:f9ca:82cd%4]) with mapi id 15.20.7633.036; Tue, 11 Jun 2024 23:39:31 +0000 Message-ID: Date: Wed, 12 Jun 2024 00:39:27 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 4/4] testpmd: add support for displaying lanes capability To: Damodharam Ammepalli , dev@dpdk.org References: <20240602024504.179506-1-damodharam.ammepalli@broadcom.com> <20240602024504.179506-5-damodharam.ammepalli@broadcom.com> Content-Language: en-US From: Ferruh Yigit Autocrypt: addr=ferruh.yigit@amd.com; keydata= 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 8Zk= In-Reply-To: <20240602024504.179506-5-damodharam.ammepalli@broadcom.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0501.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1ab::20) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|MN2PR12MB4240:EE_ X-MS-Office365-Filtering-Correlation-Id: 242970cb-1a58-4ad1-0c2a-08dc8a6fbdfd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230032|376006|366008|1800799016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bjNnZlFtMzV2QisxaVZuMjBXUDNPb3lsVVpMQTVLc2xqbVdWc3JJMG5kQ0hw?= =?utf-8?B?dFlxcjFYSzc4WUZCbnlVeDBaTGVwSlN0OWdQbEFrZDJPaWNFQWFnZENlYnM0?= =?utf-8?B?REVkRHI0ZXZ4TFRIUGx0VkZiMnh5eTZtb0t6aEptOEtsNDhIQTBabFJOZE1j?= =?utf-8?B?UjhHdnBKUWp6eEhEdjhWYnk5RDVtenNVTHpIaktCMXdFRzFuaHpnUkQ2RWV6?= =?utf-8?B?c3VDbWhDVGVnM01CYUplWFl6cnVWYWN3dG50UjJRWFBZRmh1UC9Yd2pKNjRj?= =?utf-8?B?clp4R3VYc09KUUhzdDhVRmRMbnM3NFVCUVlxVG1QUnNjSFdPWm5BN0VQMDBu?= =?utf-8?B?ZFBqeDIxcUNNSDBDTDFYSTlCOGVVQnJBTDVVVUh4WU5TdUhndTA1V0FaNkRh?= =?utf-8?B?dWZpSElxdkgxQnZZNUFTOWVtVjBoQkkxZ1luVFhjZ1o0ZGNQYzU1eFB4TGxr?= =?utf-8?B?MkFPdHFjZ2wzRmQ5clljVG5zN2xpMmdVNWZGaUIrRFRMdUtqcXZEQ0ZBZlZC?= =?utf-8?B?NFV4dWdCTURva2NlaERwNmRuVWs3LzJzVnhqeFNhSWdjUEkyYk9YQncrcGFr?= =?utf-8?B?RjVGV2hYWndYWHlCK0tjbVpOWEFjQVl5WDdhWWZOY3JBQzdpMnRzZEVDN29F?= =?utf-8?B?bkxrdWJOekVSdXBPYWkyYlVOZ1BUTXVKLytSc09jaUpaS2hyTm5LdW1kbW5G?= =?utf-8?B?bVVVTjRCSFRwUWtocm0vUlM2aTFNYWt6a0pqTFA0UHJPby94WG51VFpDZVla?= =?utf-8?B?UHlWNjFyVS9uSUlYcXNGMy9XTHFDZkpqb2l5Q1RBeGoxeTFITHRPZG5FZ05R?= =?utf-8?B?YjdvWkpGbmlPZEoxTS9xZ04rTzVuZ3RQZFFjazBtVi9xSEJyL3NzWk9SWmZk?= =?utf-8?B?cHJzNzNzOWNZLytBVzcwcXlKM3hvM2VwdzIzMWZvK1NFbGtkMkNWR2R4ZlY5?= =?utf-8?B?RnQ2WlBuY0Vic2hCY3pKSGE2QWxIVHJ6aU1WVm5UdFNIRjI3TjNJWi9NRmlu?= =?utf-8?B?OW1ZR25ienEzSGl5T2FKdUJQOGJGUjdWbHJ2Ump0bk9BbG45aWc2aUprR1hs?= =?utf-8?B?WnVsV2JGT3BzRnQ2QnpOY3NoZ1JHYWxCaHh4djhjOVl6dkRaVEpQSmVnbjhQ?= =?utf-8?B?NHgwbkcvbUFoU2ttUUdYWFl1UmRzQVE5TjJhTG1MRTJpUDJMN0ZpRlp2Qzgz?= =?utf-8?B?L0dEMzhqWjVaTlMwWG56aVg2TFJSQ05tTVF3N3VUcU5uZThBZ2NYN0tleDYy?= =?utf-8?B?V1U1aWU3TUdYRGhoSXoyQUZVcytrY2YvTmhOSm9maDd3MWp4RitmeUw4eElH?= =?utf-8?B?NlA1bU5jRk8wbGdpQk1PKzZiRnAvRThXTUxLS09xb0lnM2NOZVRSd2xCaWht?= =?utf-8?B?SkJWQ2tmMVJBUGtKOUdGTG9UVEszZ1ZBR09yNFhEVWlhSzhlSlRsTnFuMnZ0?= =?utf-8?B?cnMrc1FGVG51czlJUUUrVE0yNU96ZW5wenlvZWNMbnR1TDBaa1M2d0gwbVdQ?= =?utf-8?B?V0ptTWMyUXRLQXB2L2hHQmQ0Mk54TE1ydW9oYWVkQTZPaUk2THdOSnFhbGJH?= =?utf-8?B?akEyZGZ3SEF4c2Z6bXFkL0J6QjZRbzBmYVo1bi83bFRWYlpSUWZtWUtXQ0pW?= =?utf-8?B?bFNFc1VRMVFLeVRJNVZtNEhiQk05VFIxZGYyRFNGZ2tzWFl2dzIxeXRSQ1FR?= =?utf-8?B?NWtWa01GQUtBSjU2L2ZSVHp5b1NaS1F4VmNzYU53b0c3S3E3eGZNS2I1K1I3?= =?utf-8?Q?nFS5/eAYKP1AD5C9UCaVMF/hKdsyg94IxFM/sqr?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4294.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230032)(376006)(366008)(1800799016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Rk9neDl6Sjc5cGQ3SXR5eTRqb3RjTkRVOHdQOFRmYmRFRjYzMlJ6TnB3MHky?= =?utf-8?B?VVJxb1lPL05GTCs1TnZQVTU0M01MZDN6QUtndFQ2SUhTczExSWlxTlFWaTl4?= =?utf-8?B?YjNxUzdYeUk4K3VjOHZ4blptaDBvYU1pZHEranJENnpveFRSUnJYaHd5QUQx?= =?utf-8?B?aDdLRDJBR1lnUjloNjFKdk9IMm5HYVF4eEJ5OVVLNzRZUm5maDlXYlNqQXph?= =?utf-8?B?elU2M0xEalVFblloSUNrOEtBNzQ3S0RUN3N5K2Mvd2xFQnE4dEk2emNZYVZh?= =?utf-8?B?T3dmS2lIYWRRWVBONUVwVGc1YzFjQWIrblhmYWFPUytqVzhFUHE1aVFEZVky?= =?utf-8?B?TWhyN2FUL05EbEhoVDVUQnBIZUJFSWs2OXFQVTN2QzZEZUdYaWVZcXVpcFpx?= =?utf-8?B?dW5NTmdmRmpjTmlaVGRuYlRxaEhBTGFYNW56UHdPV1IwSHVxbkYvb3ltc29U?= =?utf-8?B?RlNIUHRnbmZadEdoRU1lc1h0MGJCREZvLzBsbjZUTzVRNVhZU2FVWDJTdzE3?= =?utf-8?B?eVJ4dmgrd0dhRHV4YnJ3M2lzY3J5dVUzTURyZ2Q1K2tiYUtJRVJoYW5RTDlp?= =?utf-8?B?eURtZTRCRTlWNURPb3IvOFJQV2t5eGdabzlhbE9yblB0Q1ZFeU5CcEl1Z091?= =?utf-8?B?OERaaVh6QndsMUI2WXl6RXlweFZ3eWpWSmljaENrUWpLOUZBTDkzZjdoNTRL?= =?utf-8?B?WU9ieW9UN3FCczVMTTFNNVJwbnJNeHFZdXFScytMWHNjU250UllKbVFIWU81?= =?utf-8?B?YUxmTnFqVllBTFM5d2JtcGJIdVhvUGVvSlAva3FmSlYrRnp6YUVGWUVlMTVN?= =?utf-8?B?dUpkYVk3Vmt6QTJOWG1tOWJRTC9XdGJzR2UwQi9ZV0lLcnhaYzl5bnZlb3U0?= =?utf-8?B?aTBrTDN5d0t6YUJlZkg2ckNacWttVjF1RXV0d0V2UjVpSG4zMG9BbmZ2YnJ2?= =?utf-8?B?N3dLZXZsZVFrd3F4ck15OW5vajVCSU96aWNBMTk0L3cxSEdvc3FmZTdseHFh?= =?utf-8?B?VEE4VWxSL0dCcUl0c003UDMxZWcyNm15Mnp6cFI0SzZRYWVIOXJqUXl0NFA3?= =?utf-8?B?LzBNVStYNFc2dkIycE9qYVZDVjY2WHFVeVRXcGlMSkxjNXdBNElIUUNlSzdv?= =?utf-8?B?c2M0WjNocVo3UzNBS1NjSm0wVk5ncVRONzRWUVJaZmsrS0NYZ2NDcktPWisv?= =?utf-8?B?WFQ4MG55MlB2dlBJRFpGdDVOcldpdStxbVk0bjhadjN6RXZWejQ0WkNTbDBD?= =?utf-8?B?akNIVXh4dGloUHExUEp1ZHRkQnN0NnhXRVhGMkMrM2pOK014MUxEQWVpSzB0?= =?utf-8?B?WlRnTzhVS3A3TDVxemR0MUcralBDcFUyNzNyWUhsRXRkNkpRaTB2aFJEVzl3?= =?utf-8?B?QSt3cU5BOEhJS1A1L1QxN0RVMSszNUxEUmhlUDlpOUNmRFB4bjc5ZVBCWkR3?= =?utf-8?B?K0JPVjIvWmJvemNWR1hGQ3lWNG5mZm1KOXhQM0dpYWhJY1VXZkQ1eXppczA0?= =?utf-8?B?T1ZXZlJoUU5HdWlqY0RyN3pPc1MycDRncE4vN0JhZW1XZVNhZkM0U3JXeGU3?= =?utf-8?B?dkpjeEt4VVkwVDI0YkJWbVVqZmYrMlU5VXN4MXNPMFhxY3NRcllXM0czS3ow?= =?utf-8?B?RWxWM3FKQk5hUkl5cTZscDBXY1lyeUtpTmZ2UEhIMFdXMXQ2VWxCK1NpNkxv?= =?utf-8?B?YjRCdll4aUJDMWdaUzFmY0xDczZmNVlkNnVDWHNGdHBORVFwTFVpMENXZTdz?= =?utf-8?B?cTAwb0w4YVV6WUE3ejNEUTAwQkExZGJ0TzFNVW41N3NqUEtQdEZtakNhSjc2?= =?utf-8?B?KzUrRTA1SHFmYUVhR1N4MGgxUWY4cE1qdUNGb016eitRUjdBNVNoR0p3dkZH?= =?utf-8?B?QXVDc0w5cGxsd29PeTI5OUJWZjJRUWtmREcvbkRWdzdNbEZsQTI3dVBRdUhR?= =?utf-8?B?bktuL3k4ZEZDRlRESDZRKzA0RUh5K2tKK0xuUDZRelp1ZVQwazBTcDcvSVRT?= =?utf-8?B?RWhmNnFWQnd1bW4rNjhETEROTW9jQ24vdTNjdkNlMmtjZlBhMUhyeVNkQ2xI?= =?utf-8?B?THVWK01oTHVuY1BuWHA1eEdJbTgyTUowcThFc2JvM3ViQ2MvdTVvRVlCWHA5?= =?utf-8?Q?ZUFL0C8WxgC+0JRX3ykmgb4YW?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 242970cb-1a58-4ad1-0c2a-08dc8a6fbdfd X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2024 23:39:31.5085 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0UbbTwJCJaz9duZ5T2Mmn6J2myTCy12fOY5hMHuL66NEoCvbCux+asGB5L85ULaE X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4240 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 On 6/2/2024 3:45 AM, Damodharam Ammepalli wrote: > Add a new api support that displays the speeds and bitmap of > supported lanes configuration by the ethernet controller. > This patch adds support in the testpmd cli chain. > > Signed-off-by: Damodharam Ammepalli > --- > app/test-pmd/cmdline.c | 128 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 128 insertions(+) > > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c > index 785e5dd4de..8b0a85f632 100644 > --- a/app/test-pmd/cmdline.c > +++ b/app/test-pmd/cmdline.c > @@ -1637,6 +1637,133 @@ static cmdline_parse_inst_t cmd_config_loopback_all = { > }, > }; > > +/* *** display speed lanes per port capabilities *** */ > +struct cmd_show_speed_lanes_result { > + cmdline_fixed_string_t cmd_show; > + cmdline_fixed_string_t cmd_port; > + cmdline_fixed_string_t cmd_keyword; > + portid_t cmd_pid; > +}; > + > +static const char* > +get_device_infos_display_speeds(uint32_t speed_capa) > +{ > + if (speed_capa & RTE_ETH_LINK_SPEED_10M_HD) > + return(" 10 Mbps half-duplex "); > + if (speed_capa & RTE_ETH_LINK_SPEED_10M) > + return(" 10 Mbps full-duplex "); > + if (speed_capa & RTE_ETH_LINK_SPEED_100M_HD) > + return(" 100 Mbps half-duplex "); > + if (speed_capa & RTE_ETH_LINK_SPEED_100M) > + return(" 100 Mbps full-duplex "); > + if (speed_capa & RTE_ETH_LINK_SPEED_1G) > + return(" 1 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_2_5G) > + return(" 2.5 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_5G) > + return(" 5 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_10G) > + return(" 10 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_20G) > + return(" 20 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_25G) > + return(" 25 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_40G) > + return(" 40 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_50G) > + return(" 50 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_56G) > + return(" 56 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_100G) > + return(" 100 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_200G) > + return(" 200 Gbps "); > + if (speed_capa & RTE_ETH_LINK_SPEED_400G) > + return(" 400 Gbps "); > + > + return("Unkown"); > +} > As far as I remember, there was already a function to convert speed to string, can you please double check? > + > +static void > +cmd_show_speed_lanes_parsed(void *parsed_result, > + __rte_unused struct cmdline *cl, > + __rte_unused void *data) > +{ > + struct cmd_show_speed_lanes_result *res = parsed_result; > + uint32_t speed_lanes_bmap[RTE_ETH_LINK_SPEED_MAX_BIT] = {0}; > + struct rte_eth_speed_lanes_capa spd_lanes = {0}; > I think this function will change completely because of previous comments, but as a generic comment, can you please prefer full 'speed' wording instead of 'spd'. > + struct rte_eth_dev_info dev_info; > + //char lanes_speed_str[128] = {0}; > + bool skip_spd_chk = false; > + int ret, i; > + uint32_t j; > + > + if (!rte_eth_dev_is_valid_port(res->cmd_pid)) { > + fprintf(stderr, "Invalid port id %u\n", res->cmd_pid); > + return; > + } > + > + /* get max lanes this nic supports */ > + ret = rte_eth_speed_lanes_get(res->cmd_pid, &spd_lanes); > + if (ret == -ENOTSUP) > + return; > + > + /* Pull out capability if nic supports */ > + ret = rte_eth_speed_lanes_get_capa(res->cmd_pid, speed_lanes_bmap); > + if (ret == -ENOTSUP) > + return; > + > + ret = eth_dev_info_get_print_err(res->cmd_pid, &dev_info); > + /* when link is down, PHY does not report any speeds */ > + if (ret == 0) > + skip_spd_chk = true; > + > + printf("\n%-25s %-10s", " Supported speeds", "Valid lanes"); > + printf("\n-----------------------------------"); > + for (i = 1; i <= RTE_ETH_LINK_SPEED_MAX_BIT; i++) { > + if ((dev_info.speed_capa & RTE_BIT32(i) || skip_spd_chk) && > + (speed_lanes_bmap[i])) { > + printf("\n%-25s ", > + get_device_infos_display_speeds(RTE_BIT32(i))) ; > + for (j = 0; j <= spd_lanes.max_lanes_cap; j++) { > + if (RTE_BIT32(j) & speed_lanes_bmap[i]) > + printf("%-2d", j); > + } > + } > + } > + printf("\n"); > +} > + > +static cmdline_parse_token_string_t cmd_show_speed_lanes_show = > + TOKEN_STRING_INITIALIZER(struct cmd_show_speed_lanes_result, > + cmd_show, "show"); > +static cmdline_parse_token_string_t cmd_show_speed_lanes_port = > + TOKEN_STRING_INITIALIZER(struct cmd_show_speed_lanes_result, > + cmd_port, "port"); > +static cmdline_parse_token_num_t cmd_show_speed_lanes_pid = > + TOKEN_NUM_INITIALIZER(struct cmd_show_speed_lanes_result, > + cmd_pid, RTE_UINT16); > +static cmdline_parse_token_string_t cmd_show_speed_lanes_keyword = > + TOKEN_STRING_INITIALIZER(struct cmd_show_speed_lanes_result, > + cmd_keyword, "speed_lanes"); > +static cmdline_parse_token_string_t cmd_show_speed_lanes_cap_keyword = > + TOKEN_STRING_INITIALIZER(struct cmd_show_speed_lanes_result, > + cmd_keyword, "capabilities"); > + > +static cmdline_parse_inst_t cmd_show_speed_lanes = { > + .f = cmd_show_speed_lanes_parsed, > + .data = NULL, > + .help_str = "show port speed_lanes capabilities", > + .tokens = { > + (void *)&cmd_show_speed_lanes_show, > + (void *)&cmd_show_speed_lanes_port, > + (void *)&cmd_show_speed_lanes_pid, > + (void *)&cmd_show_speed_lanes_keyword, > + (void *)&cmd_show_speed_lanes_cap_keyword, > + NULL, > + }, > +}; > + > /* *** configure loopback for specific port *** */ > struct cmd_config_loopback_specific { > cmdline_fixed_string_t port; > @@ -13523,6 +13650,7 @@ static cmdline_parse_ctx_t builtin_ctx[] = { > (cmdline_parse_inst_t *)&cmd_config_tx_affinity_map, > (cmdline_parse_inst_t *)&cmd_config_speed_lanes_all, > (cmdline_parse_inst_t *)&cmd_config_speed_lanes_specific, > + (cmdline_parse_inst_t *)&cmd_show_speed_lanes, > NULL, > }; >