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.dyu...@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.
>
> Please, wait more feedback before doing it.
>
>