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 40110A0032; Fri, 24 Jun 2022 16:04:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C431C4069D; Fri, 24 Jun 2022 16:04:41 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2081.outbound.protection.outlook.com [40.107.93.81]) by mails.dpdk.org (Postfix) with ESMTP id 86A11400EF for ; Fri, 24 Jun 2022 16:04:39 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R/DGLZF/KznhveWV95bBtdWuwdevZSHNzVm4R9tVXNzPIGUReGetMRltADSx6pjK4Ab1d93e5+FE4F8B3cRfhlmvvKNrN5b8UVlV7eSOJP+xEl0YGzl603eM4xwmqb3G8UCiYR73uVjwTCgE3j2Wj/d6T5LSBcN+BaGysha+/Bp3qEkw/BElPz0ah78eQVNM3ZTXuk1FzYwaHehnwc+wOGPhEs79xHVnaT+hcaH/62C+L3M3umAHejWl6w5S/acLhFP3DMxgsWudc7Zg0wSKZiVozYZRFJ98yFoCiP4RVJkpWFdBKNTR/DUGjlvbeShwGxrrjHcjy06ZWoN28HKzcg== 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=1hzyFdDF6nYjslZVWNKs6z+54CeQdPiqJeK2GNd1hRw=; b=ZwQPezKzhuNzkdyHd4YNizsIvebCoh4OBPuE9Kkf0ILzjkg291ElbnC559hvISTsNax89FboyXQoC69PFs3DVKJqjgydPPmYBPhBjsEuGB1xsOBq/61I56xmfc14+cexhCVIiU2vy7CikrAR+OGlzsQMYc3l0b+DJjDTXnZfzV8FjZyzxtSmB3jHQhn4nzmbopNn2x9wQvHo9W8U3bEItfKkFt5BjhvUsbs7tJmz5P41SvhRPut8s33L/K689Ezf3tN0ztD4xsGXiTePLKjjvbrYN/9FeqgxvucAtefP9msPM2nP8lBd7OZNnkjtPvIFSZCODyg6bnlE18DOx88I2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.80.198) smtp.rcpttodomain=huawei.com smtp.mailfrom=xilinx.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1hzyFdDF6nYjslZVWNKs6z+54CeQdPiqJeK2GNd1hRw=; b=a8v29gK73WWCI+C6k0jVviEiPXfu5gr74GcOVVmUaD9YDPRiA0uZ2AefNuua7QpySHw+X88jr69ed9ZTTAS36iRqVwzBCjM8LLky1K7ZKCJqyHaLWD88Lm80O2iPz/aJdXuqDXOzGqIccalZLz1wWA5HtiAx8HLWXIVm7hDdCTk= Received: from BN1PR13CA0030.namprd13.prod.outlook.com (2603:10b6:408:e2::35) by BL3PR02MB8988.namprd02.prod.outlook.com (2603:10b6:208:3b8::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Fri, 24 Jun 2022 14:04:37 +0000 Received: from BN1NAM02FT048.eop-nam02.prod.protection.outlook.com (2603:10b6:408:e2:cafe::c6) by BN1PR13CA0030.outlook.office365.com (2603:10b6:408:e2::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.15 via Frontend Transport; Fri, 24 Jun 2022 14:04:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198) smtp.mailfrom=xilinx.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.80.198 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.80.198; helo=xir-pvapexch02.xlnx.xilinx.com; pr=C Received: from xir-pvapexch02.xlnx.xilinx.com (149.199.80.198) by BN1NAM02FT048.mail.protection.outlook.com (10.13.2.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5373.15 via Frontend Transport; Fri, 24 Jun 2022 14:04:36 +0000 Received: from xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) by xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.14; Fri, 24 Jun 2022 15:04:35 +0100 Received: from smtp.xilinx.com (172.21.105.198) by xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server id 15.1.2176.14 via Frontend Transport; Fri, 24 Jun 2022 15:04:35 +0100 Envelope-to: lihuisong@huawei.com, aman.deep.singh@intel.com, yuying.zhang@intel.com, andrew.rybchenko@oktetlabs.ru, dev@dpdk.org, thomas@monjalon.net, huangdaode@huawei.com, liudongdong3@huawei.com Received: from [10.71.119.54] (port=55398) by smtp.xilinx.com with esmtp (Exim 4.90) (envelope-from ) id 1o4jvG-0005Ol-9L; Fri, 24 Jun 2022 15:04:35 +0100 Message-ID: Date: Fri, 24 Jun 2022 15:04:33 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH V5 5/7] app/testpmd: compact RSS types output in some commands Content-Language: en-US To: Huisong Li , , , CC: , , , References: <20220429102445.23711-1-lihuisong@huawei.com> <20220624072401.21839-1-lihuisong@huawei.com> <20220624072401.21839-6-lihuisong@huawei.com> From: Ferruh Yigit In-Reply-To: <20220624072401.21839-6-lihuisong@huawei.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bf0e1b07-0f02-4d1a-89b3-08da55ea7914 X-MS-TrafficTypeDiagnostic: BL3PR02MB8988:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qUOeSJqbQRfnHOtEDe56Ron/k+M5G9MOtTrrFnmchPSINBvnOqk/2rdWxzDDlhS8jBUxvmC5YXNzTzQaFCDhKhRseL3oSjoxfB4nBsDYWTZChAWu7Hxe2iOJcfQYA1w3uTSCUvd5gIaJ8+n8LuUtJrxnPu3H09OVrgf68Pka0Ck6mrWChvGCbfRpo8jJimZE/SU2tF3yyRcG+ThduUB4Pxg53EkHqDq0tp82R/MKzUDhAFwf9Cz2aGpr3yiiqkdAM7fLTobJV+j/8d8tbragBXX+BTSzWhJCoRs7KjVhUZbm79kJ4zh4P7j36PnJQr7WXSxz5TuvTle5sOkhyeJQHzmzT58yvbqoIjeQMLTraPNx4tns4e93Gffkr7Y8xHigkUPJch+OjCShK5a6K7/Lz3lIALfdmriNUIpYCnQyblz1SpEIESsDZz7lqd4dxG/n4ZKR6EBqN1QIIL3wMVMVn+fxK6jrs4RJ291GPx7EJoLgNWc+PNCc729S2BdVE57dcYtnjmllts3VAoTmOhBziz2J7aUm89zzB9BxRdTabBAQiQrnmJSSnc8W0imZkMPuvCVG31YO6314FKZnJoP9Q4SJTsoi8IgVbDUk7JNNikTT/JxW935Fl0IqvoNGpnJWFyZLVXE3Bk0Pi6WyMJ1n/iAIbpE7UUCnROe7UM2WCZ3Xnts12W5GmQU5TPq5MeLxNrDUHGKRR9F720gjBS8gnkGBeea25d3gHILBwMjeJKFq0zA3PHWbNWtasE5JBEuypEp5c6OdqKNWvCACmBE/vEgmWdhgbE3xDbst7uVGZHNp5xD4SusjO+gkH7GgbMQx/FfbTNiQ6MkevizlQF3V1/wtPTAoegQcdRAHpei6dnw= X-Forefront-Antispam-Report: CIP:149.199.80.198; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:xir-pvapexch02.xlnx.xilinx.com; PTR:unknown-80-198.xilinx.com; CAT:NONE; SFS:(13230016)(4636009)(346002)(136003)(396003)(39860400002)(376002)(36840700001)(40470700004)(46966006)(5660300002)(53546011)(83380400001)(2906002)(40460700003)(82310400005)(478600001)(316002)(426003)(36756003)(41300700001)(26005)(31686004)(336012)(47076005)(70586007)(44832011)(2616005)(31696002)(8676002)(9786002)(54906003)(4326008)(7636003)(70206006)(186003)(356005)(36860700001)(8936002)(110136005)(40480700001)(82740400003)(50156003)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2022 14:04:36.6725 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bf0e1b07-0f02-4d1a-89b3-08da55ea7914 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.80.198]; Helo=[xir-pvapexch02.xlnx.xilinx.com] X-MS-Exchange-CrossTenant-AuthSource: BN1NAM02FT048.eop-nam02.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR02MB8988 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/24/2022 8:23 AM, Huisong Li wrote: > CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email. > > > From: Ferruh Yigit > > In port info command output, 'show port info all', supported RSS offload > 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. > > In port RSS hash and flow RSS command output, 'show port 0 rss-hash', > and 'flow query 0 0 rss', all enabled RSS types are printed on one line. > If there are many types, the print will be very long. > > Compacting these RSS offloads and types output by fixing the length of the > character string printed on each line, instead of one per line or one line. > Output becomes as following: > > Supported RSS offload flow types: > ipv4-frag ipv4-tcp ipv4-udp ipv4-sctp ipv4-other > ipv6-frag ipv6-tcp ipv6-udp ipv6-sctp ipv6-other > l4-dst-only l4-src-only l3-dst-only l3-src-only > > Signed-off-by: Ferruh Yigit > Signed-off-by: Huisong Li > --- > app/test-pmd/config.c | 68 +++++++++++++++++++++++++++++++----------- > app/test-pmd/testpmd.h | 2 ++ > 2 files changed, 52 insertions(+), 18 deletions(-) > > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c > index a0a5f12c71..b3cb68003c 100644 > --- a/app/test-pmd/config.c > +++ b/app/test-pmd/config.c > @@ -699,6 +699,38 @@ rsstypes_to_str(uint64_t rss_type) > return NULL; > } > > +static void > +rss_offload_types_display(uint64_t offload_types, uint16_t char_num_per_line) > +{ > + uint16_t unknown_offload_str_len; > + uint16_t total_len = 0; > + uint16_t str_len = 0; > + uint64_t rss_offload; > + uint16_t i; > + > + for (i = 0; i < sizeof(offload_types) * CHAR_BIT; i++) { > + rss_offload = RTE_BIT64(i); > + if ((offload_types & rss_offload) != 0) { > + const char *p = rsstypes_to_str(rss_offload); > + > + unknown_offload_str_len = > + strlen("unknown_offload(BIT())") + (i / 10 + 1); > + str_len = p ? strlen(p) : unknown_offload_str_len; > + str_len += 2; /* add two spaces */ > + if (total_len + str_len >= char_num_per_line) { > + total_len = 0; > + printf("\n"); > + } > + > + if (p) > + printf(" %s", p); > + else > + printf(" unknown_offload(BIT(%u))", i); > + total_len += str_len; > + } > + } > +} > + > void > port_infos_display(portid_t port_id) > { > @@ -803,21 +835,10 @@ port_infos_display(portid_t port_id) > if (!dev_info.flow_type_rss_offloads) > printf("No RSS offload flow type is supported.\n"); > else { > - uint64_t rss_offload_types = dev_info.flow_type_rss_offloads; > - uint16_t i; > - > printf("Supported RSS offload flow types:\n"); > - for (i = 0; i < sizeof(rss_offload_types) * CHAR_BIT; i++) { > - uint64_t rss_offload = RTE_BIT64(i); > - if ((rss_offload_types & rss_offload) != 0) { > - const char *p = rsstypes_to_str(rss_offload); > - if (p) > - printf(" %s\n", p); > - else > - printf(" unknown_offload(BIT(%u))\n", > - i); > - } > - } > + rss_offload_types_display(dev_info.flow_type_rss_offloads, > + TESTPMD_RSS_TYPES_CHAR_NUM_PER_LINE); > + printf("\n"); Why 'rss_types_display()' is not reused, but new function 'rss_offload_types_display()' created?