On 6/12/2024 6:53 PM, Damodharam Ammepalli wrote:
> On Tue, Jun 11, 2024 at 4:39 PM Ferruh Yigit <ferruh.yi...@amd.com> wrote:
>>
>> 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 <damodharam.ammepa...@broadcom.com>
>>> ---
>>>  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?
>>
> 
> Yes. I picked up from this. 
> app/test-pmd/config.c:device_infos_display_speeds()
> Can I make this function
> app/test-pmd/config.c:device_infos_display_speeds() a non-static and
> declare it in testpmd.h?
> 

If we can reduce duplication, I think it make sense. Thanks.

Reply via email to