[dpdk-dev] [PATCH v1 5/6] doc: update sample app with unknown speed

Andrew Rybchenko arybchenko at solarflare.com
Mon May 4 17:54:11 CEST 2020


On 5/4/20 6:46 PM, Ivan Dyukov wrote:
> 03.05.2020 16:57, Andrew Rybchenko пишет:
>> On 5/2/20 10:35 PM, Ivan Dyukov wrote:
>>> 01.05.2020 16:28, Andrew Rybchenko пишет:
>>>> On 4/27/20 12:57 PM, Ivan Dyukov wrote:
>>>>> Signed-off-by: Ivan Dyukov <i.dyukov at samsung.com>
>>>>> ---
>>>>>    doc/guides/sample_app_ug/link_status_intr.rst | 3 ++-
>>>>>    1 file changed, 2 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/doc/guides/sample_app_ug/link_status_intr.rst
>>>>> b/doc/guides/sample_app_ug/link_status_intr.rst
>>>>> index 5283be8b7..6ebc707b7 100644
>>>>> --- a/doc/guides/sample_app_ug/link_status_intr.rst
>>>>> +++ b/doc/guides/sample_app_ug/link_status_intr.rst
>>>>> @@ -177,7 +177,8 @@ An example callback function that has been
>>>>> written as indicated below.
>>>>>                printf("Failed to get port %d link status: %s\n\n",
>>>>>                       port_id, rte_strerror(-ret));
>>>>>            } else if (link.link_status) {
>>>>> -            printf("Port %d Link Up - speed %u Mbps - %s\n\n",
>>>>> port_id, (unsigned)link.link_speed,
>>>>> +            printf("Port %d Link Up - speed %u%s - %s\n\n", port_id,
>>>>> (unsigned)link.link_speed,
>>>>> +                  (link.link_speed == UINT32_MAX) ? ("(UNKNOWN)") :
>>>>> (" Mbps"),
>>>>>                      (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
>>>>> ("full-duplex") : ("half-duplex"));
>>>>>            } else
>>>>>                printf("Port %d Link Down\n\n", port_id);
>>>>>
>>>> I think that 0 looks nicer than UINT32_MAX when printed as integer
>>>> keeping in mind that it is unknown.
>>>>
>>> zero will mislead developers about real value of the link_speed.
>>> therefore we should print real value of the speed or print nothing. e.g.
>>>
>>>      if (link.link_speed == UINT32_MAX)
>>>
>>>           printf("Port %d Link Up - speed UNKNOWN - %s\n\n", port_id,
>>>                      (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
>>> ("full-duplex") : ("half-duplex"));
>>>      else
>>>
>>>           printf("Port %d Link Up - speed %u Mbps - %s\n\n", port_id,
>>> link.link_speed,
>>>
>>>                       (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
>>> ("full-duplex") : ("half-duplex"));
>> I'm not sure about 0 to be misleading, but it could be.
>> Above definitely will look better in stdout.
>> The only problem is code duplication in many-many places.
>> May be add simple function in ethdev to do it and use it in
>> all examples?
> Also we can introduce new printf specifier using 
> register_printf_specifier function or even rewrite %u which will print 
> UNKNOWN in case of
> UINT32_MAX.

True, but it is too libc-specific as far as I know.

>> Please, wait more feedback before doing it.
>>
>>



More information about the dev mailing list