[PATCH 3/3] app/testpmd: compact RSS flow type output in port info

lihuisong (C) lihuisong at huawei.com
Wed Jun 1 09:08:17 CEST 2022


在 2022/6/1 0:35, Andrew Rybchenko 写道:
> On 5/25/22 20:37, Ferruh Yigit wrote:
>> In port info command output, 'show port info all', supported RSS flow
>> types printed one type per line, and although this information is not
>> most important part of the command it takes big part of the command
>> output.
>>
>> Compacting the supported RSS flow type output by printing 6 (hardcoded
>> value) items per line, instead of one per line. Output becomes as
>> following:
>>
>>   Supported RSS offload flow types:
>>     ipv4  ipv4-frag  ipv4-tcp  ipv4-udp  ipv4-sctp  ipv4-other
>>     ipv6  ipv6-frag  ipv6-tcp  ipv6-udp  ipv6-sctp  ipv6-other
>>     l2-payload  ipv6-ex  ipv6-tcp-ex  ipv6-udp-ex  port  vxlan
>>     geneve  nvgre  mpls
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit at xilinx.com>
>> ---
>>   app/test-pmd/config.c | 14 ++++++++++++--
>>   1 file changed, 12 insertions(+), 2 deletions(-)
>>
>> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
>> index 47de5b6d9458..5496ccd7f8ad 100644
>> --- a/app/test-pmd/config.c
>> +++ b/app/test-pmd/config.c
>> @@ -805,6 +805,7 @@ port_infos_display(portid_t port_id)
>>       else {
>>           uint64_t rss_types = dev_info.flow_type_rss_offloads;
>>           uint16_t i;
>> +        uint16_t len = 0;
>>             printf("Supported RSS offload flow types:\n");
>>           for (i = 0; rss_types != 0; i++) {
>> @@ -813,12 +814,21 @@ port_infos_display(portid_t port_id)
>>                   const char *p = rsstype_to_str(rss_type);
>>                     if (p)
>> -                    printf("  %s\n", p);
>> +                    printf("  %s", p);
>>                   else
>> -                    printf("  user defined 0x%"PRIx64"\n", rss_type);
>> +                    printf("  user defined 0x%"PRIx64, rss_type);
>> +
>> +                len++;
>> +                /* wrap on every 6 items */
>> +                if (len == 6) {
>
> Variable name 'len' is misleading here since the first idea is
> like length, not a number of items.
>
> Also 6 sounds to be to much in the worst case scenario with 6
> user defined types. Each uses at least 18 chars. So, 18 * 6 = 108.
> May be printing algorithm should be a bit more sophisticated and
> really track line length.
ok. I will fix it in my set.
>
>> +                    printf("\n");
>> +                    len = 0;
>> +                }
>>               }
>>               rss_types >>= 1;
>>           }
>> +        if (len)
>> +            printf("\n");
>>       }
>>         printf("Minimum size of RX buffer: %u\n", 
>> dev_info.min_rx_bufsize);
>
> .


More information about the dev mailing list