From patchwork Thu Sep 24 05:34:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 78638 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 99C53A04B1; Thu, 24 Sep 2020 07:34:50 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 26B781DD1E; Thu, 24 Sep 2020 07:34:46 +0200 (CEST) Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by dpdk.org (Postfix) with ESMTP id 2CECB1DCF8 for ; Thu, 24 Sep 2020 07:34:43 +0200 (CEST) Received: by mail-pf1-f196.google.com with SMTP id f18so1174403pfa.10 for ; Wed, 23 Sep 2020 22:34:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=S6pDLUgFalpulXIwOmXMcW5NJJjgaxs+Eu84xNzRl7s=; b=kOeH7QYvIx8t/+yM6YuyCcUjNfJ0Hf3CdXLbzeoKZ23d4g5c50ECBWNKMiXIvj1nHV G+UY1C5TmngWANHGW64r1voR84JOvnw/AhgBUeBV9Co8T+5J8EaSqX8rVw/8Cf1f8M4v Nzbj1QXraIadPCMjZT0jwNU7590gVY9K7AxD+80i5S4H36nhlOeqtyN9IjckYC6mMGM4 +2VQ6tQC63l34p6U6RV2qlIQdi84nFzUDm9olvfGBlQ+2VUnvjJE/6HSHWxOKgjSQKn8 Jaoyd4WAyasWOJ7uZpFFjk4S32Lx/bfpe4o/wyzulWdxoLh6v7v2S9vA+YoyvW3yPmtA 8OFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=S6pDLUgFalpulXIwOmXMcW5NJJjgaxs+Eu84xNzRl7s=; b=nl1q8as8w705At2BunJ9JH0rqQgpBTzUHtU8F+z5mhnBqTcPcVg4JI3YAGwV+XBqKp kyYBvsGOUdIKtLUUcSK6JPor5cpgIQ1MUHUsqXNQrA//svXlXnr7BvvIzq9vAF7TOCmF oz4861JpY0WR501auvd7g2HnexweDXEPXXS/FwU0ylYcwVQKgrdXngKcjcdTPG7CkIOh DTpUolFsWzLsg3vViTkgVKSqSLs4payHylkDgWypD9NS3cOeshWbolOpeJw9zy0nnwkS biB2436npodTEKlbILzI6C1M5H03jLw5CoOwZ86oZhcsDzVBfEARB7sSz//nAMlW6gDJ g7hA== X-Gm-Message-State: AOAM530RCi/o9SW2qZVlfFZ8YPe8Jiwxpzgy7c6m0LP3o0YcvUsIE1bU fCM4DNTHI2rz8LgziH4yxJe4Ca3+sll8IA== X-Google-Smtp-Source: ABdhPJxY8rIwRnGtumpSpMfx4bRA2En9Z3CVtidl/x8Mid2g7T1jH/Pw1OqAI1lKqK3qFk6ujv3+WA== X-Received: by 2002:a63:c5:: with SMTP id 188mr2547052pga.6.1600925682111; Wed, 23 Sep 2020 22:34:42 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id v8sm1529609pgg.58.2020.09.23.22.34.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2020 22:34:41 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Wed, 23 Sep 2020 22:34:27 -0700 Message-Id: <20200924053433.12648-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200924053433.12648-1-stephen@networkplumber.org> References: <20200728191330.20864-1-stephen@networkplumber.org> <20200924053433.12648-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 1/7] app/proc-info: remove unused logtype #define X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This logtype is defined but never used. Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- app/proc-info/main.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 64fb83b38dd4..1623c3723b3e 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -39,8 +39,6 @@ /* Maximum long option length for option parsing. */ #define MAX_LONG_OPT_SZ 64 -#define RTE_LOGTYPE_APP RTE_LOGTYPE_USER1 - #define MAX_STRING_LEN 256 #define STATS_BDR_FMT "========================================" From patchwork Thu Sep 24 05:34:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 78639 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7A921A04B1; Thu, 24 Sep 2020 07:34:58 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 717981DD37; Thu, 24 Sep 2020 07:34:47 +0200 (CEST) Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by dpdk.org (Postfix) with ESMTP id 8536B1DD1A for ; Thu, 24 Sep 2020 07:34:44 +0200 (CEST) Received: by mail-pf1-f196.google.com with SMTP id x22so1168134pfo.12 for ; Wed, 23 Sep 2020 22:34:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fJLgDcwAY75eJo/g5WkIbbI1RS4Ra/fQ9hmMyG+nJSE=; b=tZzcIY6XIKN4xXQxkAZ/0C2IOx48vgbW+XE9f2j+fKA85S+P9AdDNOnR10NlcO8fSm vu4BjOHV8xDZGDfw5KgNUSAQCxDP2E8GM2ZQ7QnA+qgJCe87dd7qdMH0misYrtGPEaLf jmFSkdA0yqf39GBT6lvtXkycpqGP5K3RFRnbwFPLrfLRIFwWMeIVty5whUhswtEPW02/ XcUTsk4KBzK3ZMvVdtey4Mg0YnbUJJeyYCmG5/AAzIHgKhN/Vb+r3luO8yCTU1wIl/Or nSI3PBFAjCq3TRhfE0c2+bCyk3GiliKM79FYPR+p6RD1dNZqmmvHcPrsUXyNA7Rt5q2G k0Zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fJLgDcwAY75eJo/g5WkIbbI1RS4Ra/fQ9hmMyG+nJSE=; b=Mwf6gtT3KycdsZXYaADk5ytDqfiwYyja2NiTyp9BDtPi5rFFhsbr6Mz+nhQhYhJUJ4 8RKDA0ijtjqr/3fgyAdEucDCASrzilBC0CHrImqJBOdjxexmPNh5B2zytShc4sl07ekN 9NFWcEapNyZlqD8Q3Ib9LvJbIgwf2hD1rEyU3nKdwrM+0z79D53CcFxwGHcCJnc4Wjj5 jsTXStPrHCS2SoJAfyicYfIqCkaAPVMtdQ18CR4KEnkZl+gUxkCBAHAbozpwpWd0nPOs dA8OLeoYzkznXcydycz7Ppqm16BR8Ig6Y3isfyJ84EChnSSLboqVgMkXYY9QpvEmxIxy T0+w== X-Gm-Message-State: AOAM530KWA8BVRiFNWOPtbCeprXF0KgyWm0qruKDpxRSkBXgFP9sFKTP 5L6B8HHu0CyzC/LQ7D4UCrKYGoWZrW9GTA== X-Google-Smtp-Source: ABdhPJyd4wGBxxjCbYbL4MDtyMLu4WcEJULIXu3htMq8rCvJ6jWBzu+qZ7CsRhEnkuzS5fzZKLpgcA== X-Received: by 2002:a63:c804:: with SMTP id z4mr2637954pgg.170.1600925683287; Wed, 23 Sep 2020 22:34:43 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id v8sm1529609pgg.58.2020.09.23.22.34.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2020 22:34:42 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Wed, 23 Sep 2020 22:34:28 -0700 Message-Id: <20200924053433.12648-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200924053433.12648-1-stephen@networkplumber.org> References: <20200728191330.20864-1-stephen@networkplumber.org> <20200924053433.12648-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 2/7] app/proc-info: eliminate useless borders X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Printing extra borders does not improve readability, and is just unnecessary. Putting TSC hz in header also makes no sense here. Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- app/proc-info/main.c | 35 +++++++---------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 1623c3723b3e..6cf5bb4ea48a 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -660,8 +660,7 @@ show_port(void) uint16_t i = 0; int ret = 0, j, k; - snprintf(bdr_str, MAX_STRING_LEN, " show - Port PMD %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " show - Port PMD "); STATS_BDR_STR(10, bdr_str); RTE_ETH_FOREACH_DEV(i) { @@ -674,7 +673,7 @@ show_port(void) memset(&rss_conf, 0, sizeof(rss_conf)); - snprintf(bdr_str, MAX_STRING_LEN, " Port (%u)", i); + snprintf(bdr_str, MAX_STRING_LEN, " Port %u ", i); STATS_BDR_STR(5, bdr_str); printf(" - generic config\n"); @@ -758,8 +757,6 @@ show_port(void) } #endif } - - STATS_BDR_STR(50, ""); } static void @@ -845,8 +842,7 @@ show_tm(void) unsigned int j, k; uint16_t i = 0; - snprintf(bdr_str, MAX_STRING_LEN, " show - TM PMD %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " show - TM PMD "); STATS_BDR_STR(10, bdr_str); RTE_ETH_FOREACH_DEV(i) { @@ -1042,8 +1038,6 @@ show_tm(void) stats.leaf.n_bytes_dropped[RTE_COLOR_RED]); } } - - STATS_BDR_STR(50, ""); } static void @@ -1089,8 +1083,7 @@ show_crypto(void) { uint8_t crypto_dev_count = rte_cryptodev_count(), i; - snprintf(bdr_str, MAX_STRING_LEN, " show - CRYPTO PMD %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " show - CRYPTO PMD "); STATS_BDR_STR(10, bdr_str); for (i = 0; i < crypto_dev_count; i++) { @@ -1125,15 +1118,12 @@ show_crypto(void) stats.dequeue_err_count); } } - - STATS_BDR_STR(50, ""); } static void show_ring(char *name) { - snprintf(bdr_str, MAX_STRING_LEN, " show - RING %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " show - RING "); STATS_BDR_STR(10, bdr_str); if (name != NULL) { @@ -1164,7 +1154,6 @@ show_ring(char *name) } rte_ring_list_dump(stdout); - STATS_BDR_STR(50, ""); } static void @@ -1172,8 +1161,7 @@ show_mempool(char *name) { uint64_t flags = 0; - snprintf(bdr_str, MAX_STRING_LEN, " show - MEMPOOL %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " show - MEMPOOL "); STATS_BDR_STR(10, bdr_str); if (name != NULL) { @@ -1210,13 +1198,11 @@ show_mempool(char *name) rte_mempool_avail_count(ptr), rte_mempool_in_use_count(ptr)); - STATS_BDR_STR(50, ""); return; } } rte_mempool_list_dump(stdout); - STATS_BDR_STR(50, ""); } static void @@ -1234,8 +1220,7 @@ mempool_itr_obj(struct rte_mempool *mp, void *opaque, static void iter_mempool(char *name) { - snprintf(bdr_str, MAX_STRING_LEN, " iter - MEMPOOL %"PRIu64, - rte_get_tsc_hz()); + snprintf(bdr_str, MAX_STRING_LEN, " iter - MEMPOOL "); STATS_BDR_STR(10, bdr_str); if (name != NULL) { @@ -1245,12 +1230,9 @@ iter_mempool(char *name) uint32_t ret = rte_mempool_obj_iter(ptr, mempool_itr_obj, NULL); printf("\n - iterated %u objects\n", ret); - STATS_BDR_STR(50, ""); return; } } - - STATS_BDR_STR(50, ""); } int @@ -1351,8 +1333,5 @@ main(int argc, char **argv) if (ret) printf("Error from rte_eal_cleanup(), %d\n", ret); - strlcpy(bdr_str, " ", MAX_STRING_LEN); - STATS_BDR_STR(50, bdr_str); - return 0; } From patchwork Thu Sep 24 05:34:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 78640 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6E2EEA04B1; Thu, 24 Sep 2020 07:35:06 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C065A1DD4D; Thu, 24 Sep 2020 07:34:48 +0200 (CEST) Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by dpdk.org (Postfix) with ESMTP id 93A7C1DD1E for ; Thu, 24 Sep 2020 07:34:45 +0200 (CEST) Received: by mail-pg1-f195.google.com with SMTP id l71so1215368pge.4 for ; Wed, 23 Sep 2020 22:34:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2yHtxHSc5EjRPXaUsLL9YfypFsSCqPTscmgsN1WRpB0=; b=lpHVaCQ9300QdbRFoHHvTSqVyW/tUAl8GOHuQLKPOIHHbcy0+yGu+tgeot3QonawRq GnWmHCkDiQ4QcHSzaIcwDUgn+8yGCh/QL/jsl7GTiUvcWwtUf4c+m91MkzuewndslAMj rp6sb3h5nqQa7DUmvF8brOoLBFWO4k5UkT1Dvyuq3W8s+PaSAWar+gwQq3KqJzN1RD51 KtIpPkgBK3Zj/nmnTaWBNyFk8uR5aA3fCyXqA9Hv563ZsMw4PTIa0xXJdbnuC1f7BZKU ATJ/RHTfOKpd2BtT43E+nTc/leysoLvfSvjQVRfGSWBdbZJibtWK12H6oxeJw5MIokTH sZew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2yHtxHSc5EjRPXaUsLL9YfypFsSCqPTscmgsN1WRpB0=; b=BbKTF5Gk2OIMfRWULYfmxKYz9TesNajFIY0FXjHtY+z+ZPfYa4zxksjU+hKfFbey/X Avs4Kr/btqdt870t1RyGp8FtoSYRo2KcPzm3NGIO0nPkbb4VW+l1+iOC/lRzGTb6N30+ iW5emNA6K7+SqXffvSiyHJ4wUhkBfBVdI8WdhNO4pqmWW4f4UxkJLyBmfku/KfKl1b+4 SouI/VDDHmmVXmO+Bxaw+ekcPzWqehYc17PAOqaqsWar0EtEGzTXmhyaFaTD25jpbv+y fpmt3KHygPtuib5+pBpCBQbwezWy2A0FJ9U7EMaSKLWXOu4M32/rGBegmrsrMN9xfCyi ObXA== X-Gm-Message-State: AOAM533kwxB3ggNzSG0LsbUDCoZTiQB92W8kl6HNB/kAmwzren/XSpKc V0wKmamDDHNRkOcJoJtJUz98/LrmCq0khA== X-Google-Smtp-Source: ABdhPJxgM6idIvO2QZh8p1I6PA66BFvY9/I5cVVqoNhVBGGARD2U1nPlNhBCsgAqOcyULA8/LZkBmw== X-Received: by 2002:a63:df42:: with SMTP id h2mr2724374pgj.239.1600925684565; Wed, 23 Sep 2020 22:34:44 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id v8sm1529609pgg.58.2020.09.23.22.34.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2020 22:34:43 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Wed, 23 Sep 2020 22:34:29 -0700 Message-Id: <20200924053433.12648-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200924053433.12648-1-stephen@networkplumber.org> References: <20200728191330.20864-1-stephen@networkplumber.org> <20200924053433.12648-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 3/7] app/proc-info: hide EAL info messages X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The DPDK EAL info messages at the start of a diagnostic application are not helpful to end user. Suppress them by setting log-level by default. Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- app/proc-info/main.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 6cf5bb4ea48a..66918a834877 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -1243,7 +1243,8 @@ main(int argc, char **argv) char c_flag[] = "-c1"; char n_flag[] = "-n4"; char mp_flag[] = "--proc-type=secondary"; - char *argp[argc + 3]; + char log_flag[] = "--log-level=6"; + char *argp[argc + 4]; uint16_t nb_ports; /* preparse app arguments */ @@ -1257,18 +1258,19 @@ main(int argc, char **argv) argp[1] = c_flag; argp[2] = n_flag; argp[3] = mp_flag; + argp[4] = log_flag; for (i = 1; i < argc; i++) - argp[i + 3] = argv[i]; + argp[i + 4] = argv[i]; - argc += 3; + argc += 4; ret = rte_eal_init(argc, argp); if (ret < 0) rte_panic("Cannot init EAL\n"); argc -= ret; - argv += (ret - 3); + argv += ret - 4; if (!rte_eal_primary_proc_alive(NULL)) rte_exit(EXIT_FAILURE, "No primary DPDK process is running.\n"); From patchwork Thu Sep 24 05:34:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 78641 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 535DCA04B1; Thu, 24 Sep 2020 07:35:14 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 42F7E1DCFC; Thu, 24 Sep 2020 07:34:54 +0200 (CEST) Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by dpdk.org (Postfix) with ESMTP id F0A3D1DD2F for ; Thu, 24 Sep 2020 07:34:46 +0200 (CEST) Received: by mail-pg1-f194.google.com with SMTP id k133so1203131pgc.7 for ; Wed, 23 Sep 2020 22:34:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=lcUOeme3pd+4myZZ+wZofT4Go8L2mLkArnPdeVNO+FA=; b=b9PBygNNzVKZdvvLkmPWpwTTAAz+CojIq/PO3bxd/gyzpBigQO6/T8PJWxZkrPvjlZ 8hBQQyq+wKBMyv0cAxTHliu/fSdpcn04pjCvcxVcfaANJL/486ba9KcjYYz7SM7mHAxe i4zdG+yPYUHJb3n5WDZuW8fsuvP/FJ7/iBQHxohxMLYONaUAS27Xm+QAt5l4DFVcenwQ Hx49T0ieEj80zfPdRHbFDkw/IgEywVKiabRnD7rpmpJyBfgY9jMPwtDhROyWVWjeqwdQ voNrmpN3LVFU0+xX/FMo/vI85/bAdQKLcfNxi8/Yc+oCcJKH5KcidU6/YwC2T312qBog jJWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lcUOeme3pd+4myZZ+wZofT4Go8L2mLkArnPdeVNO+FA=; b=Rx57cnBtD7wu9BEC2IubUze6YWxjGaLJyRg7aR6IwzbMRNA7VBQYHSvF9LOmpKXXK6 rWgHKCr/KWbHvT01WEwa9YtCoO5T37yxhLpQLlia3aUM+jaUuO+/tVPiR0FMqXbs856s hlhxoSMy0PG9TeVEJHthr9QZJNPY7Bfa/dwjj5ghG037iGmLzBj+8aClhn1J50AEhyFr zQ5ERUwbSGY+ibUqp+pe6axI+HEZAjSlhwjL08mD1S9KyV+CM8/3N1bVP4CS2GdrZdMl ZKu2q+rTpnst7P7S5daOxOaUjitZ3KnWHY78xQfPMoG0hsiVP8Tu93WbiF4TVXcN6CB2 xYng== X-Gm-Message-State: AOAM532UKpdRwoJ4yRqDxRlSyvN8WLRBo25pZazkXCmiGNDO+JMRrDj2 Hoi561f4KvItGnonyPLyf7T+tmFI9WPnHQ== X-Google-Smtp-Source: ABdhPJx8jXGxEh2CisDz3yR8kwI0jmpY967uXZeMhZJqH8YgvYK0Nfpt02onKJe0wSaJrxl7NWc3Xw== X-Received: by 2002:a65:468b:: with SMTP id h11mr2681012pgr.46.1600925685758; Wed, 23 Sep 2020 22:34:45 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id v8sm1529609pgg.58.2020.09.23.22.34.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2020 22:34:45 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Wed, 23 Sep 2020 22:34:30 -0700 Message-Id: <20200924053433.12648-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200924053433.12648-1-stephen@networkplumber.org> References: <20200728191330.20864-1-stephen@networkplumber.org> <20200924053433.12648-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 4/7] app/proc-info: add more info to show_ports X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Revise the display of port information to include more data and be more human friendly. * Show driver and device information * Show MAC address * Show flow control information * Combine lines if possible * Show all multicast mode * Show queue mempool name Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- app/proc-info/main.c | 77 +++++++++++++++++++++++++++++++++----------- 1 file changed, 59 insertions(+), 18 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 66918a834877..ab754daefa50 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -670,6 +670,8 @@ show_port(void) struct rte_eth_rxq_info queue_info; struct rte_eth_rss_conf rss_conf; char link_status_text[RTE_ETH_LINK_MAX_STR_LEN]; + struct rte_eth_fc_conf fc_conf; + struct rte_ether_addr mac; memset(&rss_conf, 0, sizeof(rss_conf)); @@ -677,7 +679,17 @@ show_port(void) STATS_BDR_STR(5, bdr_str); printf(" - generic config\n"); - printf("\t -- Socket %d\n", rte_eth_dev_socket_id(i)); + ret = rte_eth_dev_info_get(i, &dev_info); + if (ret != 0) { + printf("Error during getting device info: %s\n", + strerror(-ret)); + return; + } + + printf("\t -- driver %s device %s socket %d\n", + dev_info.driver_name, dev_info.device->name, + rte_eth_dev_socket_id(i)); + ret = rte_eth_link_get(i, &link); if (ret < 0) { printf("Link get failed (port %u): %s\n", @@ -688,32 +700,56 @@ show_port(void) &link); printf("\t%s\n", link_status_text); } - printf("\t -- promiscuous (%d)\n", - rte_eth_promiscuous_get(i)); + + ret = rte_eth_dev_flow_ctrl_get(i, &fc_conf); + if (ret == 0 && fc_conf.mode != RTE_FC_NONE) { + printf("\t -- flow control mode %s%s high %u low %u pause %u%s%s\n", + fc_conf.mode == RTE_FC_RX_PAUSE ? "rx " : + fc_conf.mode == RTE_FC_TX_PAUSE ? "tx " : + fc_conf.mode == RTE_FC_FULL ? "full" : "???", + fc_conf.autoneg ? " auto" : "", + fc_conf.high_water, + fc_conf.low_water, + fc_conf.pause_time, + fc_conf.send_xon ? " xon" : "", + fc_conf.mac_ctrl_frame_fwd ? " mac_ctrl" : ""); + } + + ret = rte_eth_macaddr_get(i, &mac); + if (ret == 0) { + char ebuf[RTE_ETHER_ADDR_FMT_SIZE]; + rte_ether_format_addr(ebuf, sizeof(ebuf), &mac); + printf("\t -- mac %s\n", ebuf); + } + + ret = rte_eth_promiscuous_get(i); + if (ret >= 0) + printf("\t -- promiscuous mode %s\n", + ret > 0 ? "enabled" : "disabled"); + + ret = rte_eth_allmulticast_get(i); + if (ret >= 0) + printf("\t -- all multicast mode %s\n", + ret > 0 ? "enabled" : "disabled"); + ret = rte_eth_dev_get_mtu(i, &mtu); if (ret == 0) printf("\t -- mtu (%d)\n", mtu); - ret = rte_eth_dev_info_get(i, &dev_info); - if (ret != 0) { - printf("Error during getting device (port %u) info: %s\n", - i, strerror(-ret)); - return; - } - printf(" - queue\n"); for (j = 0; j < dev_info.nb_rx_queues; j++) { ret = rte_eth_rx_queue_info_get(i, j, &queue_info); if (ret == 0) { printf("\t -- queue %u rx scatter %u" - " descriptors %u" - " offloads 0x%" PRIx64 - " mempool socket %d", - j, - queue_info.scattered_rx, - queue_info.nb_desc, - queue_info.conf.offloads, - queue_info.mp->socket_id); + " descriptors %u" + " offloads %#" PRIx64 + " mempool name %s socket %d", + j, + queue_info.scattered_rx, + queue_info.nb_desc, + queue_info.conf.offloads, + queue_info.mp->name, + queue_info.mp->socket_id); if (queue_info.rx_buf_size != 0) printf(" rx buffer size %u", @@ -1167,7 +1203,10 @@ show_mempool(char *name) if (name != NULL) { struct rte_mempool *ptr = rte_mempool_lookup(name); if (ptr != NULL) { + struct rte_mempool_ops *ops; + flags = ptr->flags; + ops = rte_mempool_get_ops(ptr->ops_index); printf(" - Name: %s on socket %d\n" " - flags:\n" "\t -- No spread (%c)\n" @@ -1197,6 +1236,8 @@ show_mempool(char *name) printf(" - Count: avail (%u), in use (%u)\n", rte_mempool_avail_count(ptr), rte_mempool_in_use_count(ptr)); + printf(" - ops_index %d ops_name %s\n", + ptr->ops_index, ops ? ops->name : "NA"); return; } From patchwork Thu Sep 24 05:34:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 78642 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C23D6A04B1; Thu, 24 Sep 2020 07:35:22 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 775841DD5F; Thu, 24 Sep 2020 07:34:55 +0200 (CEST) Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by dpdk.org (Postfix) with ESMTP id 31BB61DD4A for ; Thu, 24 Sep 2020 07:34:48 +0200 (CEST) Received: by mail-pg1-f196.google.com with SMTP id o25so1231087pgm.0 for ; Wed, 23 Sep 2020 22:34:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pB3RwbhgCnn/O0WzPSGpSG6t/7EDd3Q1To/7rDHYhro=; b=EUdeOUg2abSSPuwi9RvPW7MDKPwtry8veLCzfqSgOR+/4o1KlbKeGmDwhJUhktdKUw 6BsPe36S4eUlduBwjO1t9v7tWUynNW1eUkFLYTfMthl38xy3c/s8IzIZ8TUjhfaDF/Kc sDQ0qtfRsO9ReHcXZh5T+akic6n0otVepouVCgRllCaEgGLMUE2eLjzEMiXisaxJxATC HOq6jChiPk/R/ArbUT+IOmojqQwyo7XUTVYi1h6u0OAJTaL1xSpkN0bbyVPG2+iFYQWq oCnZO5GJ6ExwFfcJjOjbNOLeeqMGqbpAtWe6C8PJs1QlwNHtGLK06rZDzM4BkakZOEzj NttA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pB3RwbhgCnn/O0WzPSGpSG6t/7EDd3Q1To/7rDHYhro=; b=gefYDxku+fgxUufKrB7YNy0OyOdKBBe+ayWcYQhVFgEuRNsoJiL/a/TF+M7GRf4AW4 sM2ud38CQa4P9a8L5+qG3laxYrx5b061en7NEC6GCckAsCtmljFBkh53lf0aMQ3A1XYU oS5BKvl95Aps7Ma9wKk3YS4iYBHr12/dAGMocsxtgTPBz0m6pAKdcufR8QdTRaoqVvaO rZIVRa/OHq8Z+eVa5WMkDzUouImShtMLfjkFzHuRLTru39xq8/pLltnLSJSUIw2SNzjS +9NnknQFF7D46RvBMqafn2EzgHuepS0T/DSiuZnsvh/sWfs0dD6EkEHRN/ophPlrQiSD P+sw== X-Gm-Message-State: AOAM532mz1D1siGXvlVsfuOeOnGkqXr30SS64iNvIKxLfIbwtwHorScw 9YqVzVGHAtEX7uH8vvJVutV4UTknLbQmZA== X-Google-Smtp-Source: ABdhPJwB+rl/9z5a3hhI9hLwDdt//wS+b+4Lz0Sb4mfvyUxbnLcj8Nz8X8PSpVfExeV262iiGhIyFw== X-Received: by 2002:a65:4641:: with SMTP id k1mr2590754pgr.133.1600925687002; Wed, 23 Sep 2020 22:34:47 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id v8sm1529609pgg.58.2020.09.23.22.34.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2020 22:34:46 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Wed, 23 Sep 2020 22:34:31 -0700 Message-Id: <20200924053433.12648-6-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200924053433.12648-1-stephen@networkplumber.org> References: <20200728191330.20864-1-stephen@networkplumber.org> <20200924053433.12648-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 5/7] app/proc-info: dump rx and tx descriptor info X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Many drivers will report per queue info as well as how many descriptors are in use. Also display per-queue offload flags. Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- app/proc-info/main.c | 93 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 74 insertions(+), 19 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index ab754daefa50..c36f9f4d7471 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -654,6 +654,18 @@ metrics_display(int port_id) rte_free(names); } +static void +show_offloads(uint64_t offloads, + const char *(show_offload)(uint64_t)) +{ + printf(" offloads :"); + while (offloads != 0) { + uint64_t offload_flag = 1ULL << __builtin_ctzll(offloads); + printf(" %s", show_offload(offload_flag)); + offloads &= ~offload_flag; + } +} + static void show_port(void) { @@ -667,7 +679,6 @@ show_port(void) uint16_t mtu = 0; struct rte_eth_link link; struct rte_eth_dev_info dev_info; - struct rte_eth_rxq_info queue_info; struct rte_eth_rss_conf rss_conf; char link_status_text[RTE_ETH_LINK_MAX_STR_LEN]; struct rte_eth_fc_conf fc_conf; @@ -718,6 +729,7 @@ show_port(void) ret = rte_eth_macaddr_get(i, &mac); if (ret == 0) { char ebuf[RTE_ETHER_ADDR_FMT_SIZE]; + rte_ether_format_addr(ebuf, sizeof(ebuf), &mac); printf("\t -- mac %s\n", ebuf); } @@ -736,26 +748,69 @@ show_port(void) if (ret == 0) printf("\t -- mtu (%d)\n", mtu); - printf(" - queue\n"); for (j = 0; j < dev_info.nb_rx_queues; j++) { + struct rte_eth_rxq_info queue_info; + int count; + ret = rte_eth_rx_queue_info_get(i, j, &queue_info); - if (ret == 0) { - printf("\t -- queue %u rx scatter %u" - " descriptors %u" - " offloads %#" PRIx64 - " mempool name %s socket %d", - j, - queue_info.scattered_rx, - queue_info.nb_desc, - queue_info.conf.offloads, - queue_info.mp->name, - queue_info.mp->socket_id); - - if (queue_info.rx_buf_size != 0) - printf(" rx buffer size %u", - queue_info.rx_buf_size); - printf("\n"); - } + if (ret != 0) + break; + + if (j == 0) + printf(" - rx queue\n"); + + printf("\t -- %d descriptors ", j); + count = rte_eth_rx_queue_count(i, j); + if (count >= 0) + printf("%d/", count); + printf("%u", queue_info.nb_desc); + + if (queue_info.scattered_rx) + printf(" scattered"); + + if (queue_info.conf.rx_drop_en) + printf(" drop_en"); + + if (queue_info.conf.rx_deferred_start) + printf(" deferred_start"); + + if (queue_info.rx_buf_size != 0) + printf(" rx buffer size %u", + queue_info.rx_buf_size); + + printf(" mempool %s socket %d", + queue_info.mp->name, + queue_info.mp->socket_id); + + if (queue_info.conf.offloads != 0) + show_offloads(queue_info.conf.offloads, rte_eth_dev_rx_offload_name); + + printf("\n"); + } + + for (j = 0; j < dev_info.nb_tx_queues; j++) { + struct rte_eth_txq_info queue_info; + + ret = rte_eth_tx_queue_info_get(i, j, &queue_info); + if (ret != 0) + break; + + if (j == 0) + printf(" - tx queue\n"); + + printf("\t -- %d descriptors %d", + j, queue_info.nb_desc); + + printf(" thresh %u/%u", + queue_info.conf.tx_rs_thresh, + queue_info.conf.tx_free_thresh); + + if (queue_info.conf.tx_deferred_start) + printf(" deferred_start"); + + if (queue_info.conf.offloads != 0) + show_offloads(queue_info.conf.offloads, rte_eth_dev_tx_offload_name); + printf("\n"); } ret = rte_eth_dev_rss_hash_conf_get(i, &rss_conf); From patchwork Thu Sep 24 05:34:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 78643 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 103ACA04B1; Thu, 24 Sep 2020 07:35:29 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B5B2F1DD66; Thu, 24 Sep 2020 07:34:56 +0200 (CEST) Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by dpdk.org (Postfix) with ESMTP id 9FF121DD56 for ; Thu, 24 Sep 2020 07:34:49 +0200 (CEST) Received: by mail-pl1-f196.google.com with SMTP id bb1so1078471plb.2 for ; Wed, 23 Sep 2020 22:34:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fTElCX3vFG04xc93DAgMHACNuypYEu6nOBwSgv76rgk=; b=h+rlMwU54MZtH4GsLdGs5oNLPjemW9JtC+x5wss+3r94hpRRr6rpGBqg3k3fV5Ilkr TNDoaiw0EB7WY0xKJIhyh0KhklbxZlnniZmPfN4x9qt+7YU+sTMlR3jS4W1D+w4Zr2Nl BPPjJXjM0KSHC5ED9XBbdkmZZR+5gYvtAEbTrRNcrHf+8zolgSN5QyZzX3U/+wHH4k2e wZDRqHCvHtt7t4SFyqQrd0sqWsT0mieLMVfz/kgAtp9vSwkGejEwqo3/Fifq1x/HBG7b 3EcN4MKKB99XdCu1zukusPYihzQZ/e8W9w3BMK/NcDakaN1hIVsIBm/sr3Mw0zzdW3av 21RQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fTElCX3vFG04xc93DAgMHACNuypYEu6nOBwSgv76rgk=; b=KxN9lXhx4cq5dSOZIRbbUlfHkc5l5CnyZRIiK6MQcdKJMa3xUknCTR2en07SnhQ41V VqhR6fk+uKdYXOh/7gqt3qaJt+zqN3A48B/kWuTDfVEbldVyBkP0lHdrvSWnKvq/KPwS jd1axvLS0epCixZsM6VDnxInpoMPQAOn+Ss1nL2gk6mtu5ekFpyZhF2Z8xknaR3OUeqk bJISkYc/XAWwT8BihAJ++hGj09/4bHMQHeKUrHZ7xLOc+WE4k/wgGM9El6LzoEA1aBYB bOjfWTRCCNgKvp8yrhZR14wUjdxJUAIzT/FD8BT7KFbeemLZr4eCE+8vQavkNokBXgCv cTCg== X-Gm-Message-State: AOAM532Lp8jH+AEVMr7bFhFmctBdkf1u3zD7ql7MZ6UZ8b0k6xUI1JXy Idru951Dy5ThQ6tj8A8KzdLY5Lf4HvLhYA== X-Google-Smtp-Source: ABdhPJzAwu57iXQKT75hvHPOJuED+t/44g3IYinTfD0zG2ST844QCx0wqkkhNwcq3fzO1YslhKiXVg== X-Received: by 2002:a17:90b:138e:: with SMTP id hr14mr2323239pjb.161.1600925688429; Wed, 23 Sep 2020 22:34:48 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id v8sm1529609pgg.58.2020.09.23.22.34.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2020 22:34:47 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Hemant Agrawal , Stephen Hemminger Date: Wed, 23 Sep 2020 22:34:32 -0700 Message-Id: <20200924053433.12648-7-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200924053433.12648-1-stephen@networkplumber.org> References: <20200728191330.20864-1-stephen@networkplumber.org> <20200924053433.12648-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 6/7] app/proc-info: add crypto security context info X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Hemant Agrawal If crypto context is not present, no point in displaying it. This patch adds the crypto based security context info. Also improve the flag printing to SECURITY OFFLOAD from INLINE. Use common code for displaying crypto context information when doing show_ports and show_crypto. Signed-off-by: Hemant Agrawal Signed-off-by: Stephen Hemminger --- app/proc-info/main.c | 80 +++++++++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 34 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index c36f9f4d7471..e90e9aba080e 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -654,6 +654,32 @@ metrics_display(int port_id) rte_free(names); } +static void +show_security_context(uint16_t portid) +{ + void *p_ctx = rte_eth_dev_get_sec_ctx(portid); + const struct rte_security_capability *s_cap; + + if (p_ctx == NULL) + return; + + printf(" - crypto context\n"); + printf("\t -- security context - %p\n", p_ctx); + printf("\t -- size %u\n", + rte_security_session_get_size(p_ctx)); + + s_cap = rte_security_capabilities_get(p_ctx); + if (s_cap) { + printf("\t -- action (0x%x), protocol (0x%x)," + " offload flags (0x%x)\n", + s_cap->action, + s_cap->protocol, + s_cap->ol_flags); + printf("\t -- capabilities - oper type %x\n", + s_cap->crypto_capabilities->op); + } +} + static void show_offloads(uint64_t offloads, const char *(show_offload)(uint64_t)) @@ -826,26 +852,8 @@ show_port(void) } } - printf(" - cyrpto context\n"); #ifdef RTE_LIBRTE_SECURITY - void *p_ctx = rte_eth_dev_get_sec_ctx(i); - printf("\t -- security context - %p\n", p_ctx); - - if (p_ctx) { - printf("\t -- size %u\n", - rte_security_session_get_size(p_ctx)); - const struct rte_security_capability *s_cap = - rte_security_capabilities_get(p_ctx); - if (s_cap) { - printf("\t -- action (0x%x), protocol (0x%x)," - " offload flags (0x%x)\n", - s_cap->action, - s_cap->protocol, - s_cap->ol_flags); - printf("\t -- capabilities - oper type %x\n", - s_cap->crypto_capabilities->op); - } - } + show_security_context(i); #endif } } @@ -1151,7 +1159,7 @@ display_crypto_feature_info(uint64_t x) printf("\t\t + AESNI: CPU (%c), HW (%c)\n", (x & RTE_CRYPTODEV_FF_CPU_AESNI) ? 'y' : 'n', (x & RTE_CRYPTODEV_FF_HW_ACCELERATED) ? 'y' : 'n'); - printf("\t\t + INLINE (%c)\n", + printf("\t\t + SECURITY OFFLOAD (%c)\n", (x & RTE_CRYPTODEV_FF_SECURITY) ? 'y' : 'n'); printf("\t\t + ARM: NEON (%c), CE (%c)\n", (x & RTE_CRYPTODEV_FF_CPU_NEON) ? 'y' : 'n', @@ -1185,14 +1193,14 @@ show_crypto(void) printf(" - device (%u)\n", i); printf("\t -- name (%s)\n" - "\t -- driver (%s)\n" - "\t -- id (%u) on socket (%d)\n" - "\t -- queue pairs (%d)\n", - rte_cryptodev_name_get(i), - dev_info.driver_name, - dev_info.driver_id, - dev_info.device->numa_node, - rte_cryptodev_queue_pair_count(i)); + "\t -- driver (%s)\n" + "\t -- id (%u) on socket (%d)\n" + "\t -- queue pairs (%d)\n", + rte_cryptodev_name_get(i), + dev_info.driver_name, + dev_info.driver_id, + dev_info.device->numa_node, + rte_cryptodev_queue_pair_count(i)); display_crypto_feature_info(dev_info.feature_flags); @@ -1200,14 +1208,18 @@ show_crypto(void) if (rte_cryptodev_stats_get(i, &stats) == 0) { printf("\t -- stats\n"); printf("\t\t + enqueue count (%"PRIu64")" - " error (%"PRIu64")\n", - stats.enqueued_count, - stats.enqueue_err_count); + " error (%"PRIu64")\n", + stats.enqueued_count, + stats.enqueue_err_count); printf("\t\t + dequeue count (%"PRIu64")" - " error (%"PRIu64")\n", - stats.dequeued_count, - stats.dequeue_err_count); + " error (%"PRIu64")\n", + stats.dequeued_count, + stats.dequeue_err_count); } + +#ifdef RTE_LIBRTE_SECURITY + show_security_context(i); +#endif } } From patchwork Thu Sep 24 05:34:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 78644 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AA2CAA04B1; Thu, 24 Sep 2020 07:35:38 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 180D31DD71; Thu, 24 Sep 2020 07:34:58 +0200 (CEST) Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by dpdk.org (Postfix) with ESMTP id D919C1DD56 for ; Thu, 24 Sep 2020 07:34:50 +0200 (CEST) Received: by mail-pf1-f194.google.com with SMTP id b124so1161523pfg.13 for ; Wed, 23 Sep 2020 22:34:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=saEJf9aDDP8G1rcyLHugLFE2Yje+nPwZEKkPL359VRQ=; b=rbXRYPuLaXBpmLh0zi27wdgxSScCutFx5g6YOybw7R4YBft8oS9RSoRSf9EnRKBz41 wwiHLw3RPzmOqfu7WbJaAUsi7DS48bWlHtdL64snGUnM1h4QU10ByA1nhXEnvTX0zWAr jKH9g1gUXL1dSCz0d6BQGw453xBfp7jE4vOG99kv93pNHPSFA6ySPgClwjyqehjIhBaJ CaPy8DzfxAVV6twA6QVpO56Kzq+QLUa+v25k08j4nBWpb+a0KJrKCC8SzuLzRg6CUNd0 e5EnloMId/zO3X6GvDVpJZt377o5KJs2kSyE1hW3t7rByUYScadoDBswSfqsB74u/gvo qo5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=saEJf9aDDP8G1rcyLHugLFE2Yje+nPwZEKkPL359VRQ=; b=H+V433BnsSGh8DGe5WjiAHRBN3VCkewxldLhIopbUxod6gJPhZHPU+1kOrlj2aL6Km exXr15TWvL1zRRORCBlharqc52/nck3GDwvUN2ZOh9RoQnLDPhe+ZgPPMCKLUDTdu9Na kYrRbTGdYdwhQ7Hs4ysOES4jgPxLl9neiXDaeFOA79+autx+PytRan/8LYzNykGmqvlq 9YLZ31cjBZLhTOuUHpf1rvgaQdrzXOdeeftVP8pur6ep1uw/uEpDXG9snN+F7+f9cjZC xKkmYTn0jGZJITAOh40gs67CcE+y+RI5vZx47mMqxFHb7FgyQz9zpy5tLkpQZhimFMmD OQIg== X-Gm-Message-State: AOAM532kISBfSAv9EmaX/ArMHHDS04hzT84VuHhb600vdfiEgHGIL7ri GnIVyUc/bKQny8ZSDwEEUURM08ahNEDYiA== X-Google-Smtp-Source: ABdhPJyMJ0jurWZju2arc0dcpaRusOXr78nGKJ5FVXB40tUo+IeoPhH7oqs+3OfoQwm7EH3AxBE6Qg== X-Received: by 2002:a63:1408:: with SMTP id u8mr2428462pgl.297.1600925689651; Wed, 23 Sep 2020 22:34:49 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id v8sm1529609pgg.58.2020.09.23.22.34.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2020 22:34:48 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Wed, 23 Sep 2020 22:34:33 -0700 Message-Id: <20200924053433.12648-8-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200924053433.12648-1-stephen@networkplumber.org> References: <20200728191330.20864-1-stephen@networkplumber.org> <20200924053433.12648-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 7/7] app/proc-info: provide way to request info on owned ports X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" There are cases where a port maybe owned by another (failsafe, netvsc, bond); but currently proc-info has no way to look at stats of those ports. This patch provides way for the user to explicitly ask for these ports. If no portmask is given the output is unchanged; it only shows the top level ports. If portmask requests a specific port it will be shown even if owned. Increase the size of port mask variable to unsigned long to allow up to 64 ports to be handled on 64 bit architecture. The device owner is also a useful thing to show in port info. Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- app/proc-info/main.c | 92 ++++++++++++++++++++++++++------------------ 1 file changed, 54 insertions(+), 38 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index e90e9aba080e..267e16bc318b 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -46,7 +47,7 @@ STATS_BDR_FMT, s, w, STATS_BDR_FMT) /**< mask of enabled ports */ -static uint32_t enabled_port_mask; +static unsigned long enabled_port_mask; /**< Enable stats. */ static uint32_t enable_stats; /**< Enable xstats. */ @@ -128,23 +129,17 @@ static int parse_portmask(const char *portmask) { char *end = NULL; - unsigned long pm; errno = 0; /* parse hexadecimal string */ - pm = strtoul(portmask, &end, 16); - if ((portmask[0] == '\0') || (end == NULL) || (*end != '\0') || - (errno != 0)) { - printf("%s ERROR parsing the port mask\n", __func__); + enabled_port_mask = strtoul(portmask, &end, 16); + if (portmask[0] == '\0' || end == NULL || *end != '\0' || errno != 0) { + fprintf(stderr, "Invalid portmask '%s'\n", portmask); return -1; } - if (pm == 0) - return -1; - - return pm; - + return 0; } /* @@ -242,9 +237,7 @@ proc_info_parse_args(int argc, char **argv) switch (opt) { /* portmask */ case 'p': - enabled_port_mask = parse_portmask(optarg); - if (enabled_port_mask == 0) { - printf("invalid portmask\n"); + if (parse_portmask(optarg) < 0) { proc_info_usage(prgname); return -1; } @@ -695,13 +688,12 @@ show_offloads(uint64_t offloads, static void show_port(void) { - uint16_t i = 0; - int ret = 0, j, k; + int i, ret, j, k; snprintf(bdr_str, MAX_STRING_LEN, " show - Port PMD "); STATS_BDR_STR(10, bdr_str); - RTE_ETH_FOREACH_DEV(i) { + for (i = 0; i < RTE_MAX_ETHPORTS; i++) { uint16_t mtu = 0; struct rte_eth_link link; struct rte_eth_dev_info dev_info; @@ -709,6 +701,15 @@ show_port(void) char link_status_text[RTE_ETH_LINK_MAX_STR_LEN]; struct rte_eth_fc_conf fc_conf; struct rte_ether_addr mac; + struct rte_eth_dev_owner owner; + + /* Skip if port is not in mask */ + if ((enabled_port_mask & (1ul << i)) == 0) + continue; + + /* Skip if port is unused */ + if (!rte_eth_dev_is_valid_port(i)) + continue; memset(&rss_conf, 0, sizeof(rss_conf)); @@ -727,6 +728,11 @@ show_port(void) dev_info.driver_name, dev_info.device->name, rte_eth_dev_socket_id(i)); + ret = rte_eth_dev_owner_get(i, &owner); + if (ret == 0 && owner.id != RTE_ETH_DEV_NO_OWNER) + printf("\t -- owner %#"PRIx64":%s\n", + owner.id, owner.name); + ret = rte_eth_link_get(i, &link); if (ret < 0) { printf("Link get failed (port %u): %s\n", @@ -1397,28 +1403,38 @@ main(int argc, char **argv) if (nb_ports == 0) rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); - /* If no port mask was specified*/ - if (enabled_port_mask == 0) - enabled_port_mask = 0xffff; + /* If no port mask was specified, then show non-owned ports */ + if (enabled_port_mask == 0) { + RTE_ETH_FOREACH_DEV(i) + enabled_port_mask = 1ul << i; + } + + for (i = 0; i < RTE_MAX_ETHPORTS; i++) { + + /* Skip if port is not in mask */ + if ((enabled_port_mask & (1ul << i)) == 0) + continue; + + /* Skip if port is unused */ + if (!rte_eth_dev_is_valid_port(i)) + continue; + + if (enable_stats) + nic_stats_display(i); + else if (enable_xstats) + nic_xstats_display(i); + else if (reset_stats) + nic_stats_clear(i); + else if (reset_xstats) + nic_xstats_clear(i); + else if (enable_xstats_name) + nic_xstats_by_name_display(i, xstats_name); + else if (nb_xstats_ids > 0) + nic_xstats_by_ids_display(i, xstats_ids, + nb_xstats_ids); + else if (enable_metrics) + metrics_display(i); - RTE_ETH_FOREACH_DEV(i) { - if (enabled_port_mask & (1 << i)) { - if (enable_stats) - nic_stats_display(i); - else if (enable_xstats) - nic_xstats_display(i); - else if (reset_stats) - nic_stats_clear(i); - else if (reset_xstats) - nic_xstats_clear(i); - else if (enable_xstats_name) - nic_xstats_by_name_display(i, xstats_name); - else if (nb_xstats_ids > 0) - nic_xstats_by_ids_display(i, xstats_ids, - nb_xstats_ids); - else if (enable_metrics) - metrics_display(i); - } } /* print port independent stats */