From patchwork Wed Jul 15 21:22:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74136 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 5273DA0548; Wed, 15 Jul 2020 23:22:47 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A65141B1D5; Wed, 15 Jul 2020 23:22:40 +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 610E64F9A for ; Wed, 15 Jul 2020 23:22:38 +0200 (CEST) Received: by mail-pf1-f196.google.com with SMTP id 1so2654882pfn.9 for ; Wed, 15 Jul 2020 14:22:38 -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=BFlj8i6p9Fb6IxNUvnhyQZDVQtNv1FUzx0hry/PkhHc=; b=wu94Xg7s1KS++zak5V3PkW8KHeiWCbiJRFQb6wARZX05MuNtWxJ7odLBPw0lfkn3l9 dqPlTqtNZBCVd4fH+GcTHLJWIiLk5nOuilXh9tEJnJmY/StBhLLq81gGCwg1ho2XnzsV LwpUdpmVbDX+t+ztywWy55Q2UFMR71/bwBaIgQpOzqCk3EIa+VqT6oL361uwz7SiI7GR ZHZRjDKS2xODBw82P5xGaAImlU5QLEev4CJVNammC5A+QCL/HxpDJbJSyrGRb2PUwYuN g0Fqd+RoYvp49TYNKLedxQP2PUiVYTIlFl6ycDONuTnXX6aXZjfG8Y7Prulde+9d7wFR aw7g== 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=BFlj8i6p9Fb6IxNUvnhyQZDVQtNv1FUzx0hry/PkhHc=; b=S6l6QcVvtmw3HPRJ/c1MynRjI5CnaMeQCe1oEwRgb1dgJQW86gqvp+A8IZMG9BdOlc yrfKzumY10tMugg3Vhq+63YsvQeJhbplKxZlFnZEEp1MBqOmkYKV/Tg/dMVVI4atpRiK pFhEgJOMxnXKurKwP2OaMwhfnPPCNBdpeoNO/M1D4qDbICGY+PlAPV5oBVlE3p5UWBBw kSxgT9R6gqAEivoiwxR/vr6WyXr2/CaHqvF1TZTmDGbuxK0QNU1cZ4/k26wtf9fnf+iu G7XHHvqYMDzC9AfN8rgyhIDd3NOj2sJrwW+wAyk5zdzlZlMSGVVqzNcAbgMOSgR6J7aZ ju8Q== X-Gm-Message-State: AOAM532aR4JgAwsuE99yIxkAbmivn40H5ceSjubSlhW9gSmn7iEmXy9i abacv45gBnYobAZmhb9+7VgGwQ== X-Google-Smtp-Source: ABdhPJz3x/q4sZAFIWkl9NoTmz8CDA8h4xDjMN1QWOT5RqHuxMb2Bh1vIaCeYoOwb6zqQy/ew+Ro0w== X-Received: by 2002:a63:7b15:: with SMTP id w21mr1523098pgc.386.1594848157524; Wed, 15 Jul 2020 14:22:37 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s89sm2932600pjj.28.2020.07.15.14.22.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 14:22:36 -0700 (PDT) From: Stephen Hemminger To: maryam.tahhan@intel.com, reshma.pattan@intel.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Stephen Hemminger Date: Wed, 15 Jul 2020 14:22:22 -0700 Message-Id: <20200715212228.28010-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200715212228.28010-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200715212228.28010-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 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 abeca4aab438..69e3000616c0 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 Wed Jul 15 21:22:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74137 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 80911A0548; Wed, 15 Jul 2020 23:22:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 214C91BDAC; Wed, 15 Jul 2020 23:22:43 +0200 (CEST) Received: from mail-pj1-f68.google.com (mail-pj1-f68.google.com [209.85.216.68]) by dpdk.org (Postfix) with ESMTP id 085691B13C for ; Wed, 15 Jul 2020 23:22:40 +0200 (CEST) Received: by mail-pj1-f68.google.com with SMTP id t15so3612159pjq.5 for ; Wed, 15 Jul 2020 14:22:39 -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=1iSNtlfJy6gteAYsSYrqpxFpYkOwC+ZDBEYUD2FQ/IY=; b=OF/d/UfxBd1EiHgw+7gCoEjfU7qPDg/e9BhIKUC7ohuZ7Deg2p1dQhtA6dEAvcT6Uk VWMGS1pSdgnfgdhqdcrlzIrUcPOubfX/g84q35XQdq/YRjTDYocS79tVkprgv1GpvLoa KG5E2jUo6pz1fBG0na3eG3njl2Hp2sNdikx4pBEIVow3VTMLDK9sVwxY3TMw2a8E8K48 JLxIlOPdbdUjZp4uOi3KhuOXLKIhk2Waxy9fyl3Du7Ozu5RxbrDnf8ZWFdvMem2mRmU5 aaipjkGIsZnTeYuaj3tsL4OQf2979PhmuAGhcJFLu3b+T8QoEzAvwN+h/ZzTwmReMvTa L4gg== 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=1iSNtlfJy6gteAYsSYrqpxFpYkOwC+ZDBEYUD2FQ/IY=; b=Z7WwYXVRg1V0zXGzOIFniY6cJ0Wu4dwVWPpFfXZJOejrcMpegS936M4/LmvMTpmACD fTkvpn5szuJTvusxZHqS2/DRZX03daLaCZlwz6GkFRweLIzPEfbJfc0akR44HpS3bTgf TPrkJDDmLIy0xmd0aqfkpc8FuhS0i6N/pfmxr7QV6bQF9GEieL3nc469g7yx3/hPWPvW 5sr2JrxTZpPYX5I+nz2jrs/vyzLpYnooCc38T7al36/fYN/cuQDRYt8nqRoOD0fteh2T f/he+BtsT+oCE16BNvySniqzJ5ory2WSSd+bgXDvdFcbwb5Sjxb7NaZNsRs8o7RJbLRL HvEw== X-Gm-Message-State: AOAM531wMxAs3MdDaQVF0LiupZmD+xnqEm2eb+wIJpOIgjFJdoiUNTrU 1LLL2vdWaKQXswEFRCgfZkfJXw== X-Google-Smtp-Source: ABdhPJwmrBj0Cv3dXalSUuNFj7rYIgtrjDeocPFnuhnAXpegRInohV/FkTok6mJQro/l/MQVWluHuw== X-Received: by 2002:a17:90a:ce09:: with SMTP id f9mr1729104pju.55.1594848159152; Wed, 15 Jul 2020 14:22:39 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s89sm2932600pjj.28.2020.07.15.14.22.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 14:22:38 -0700 (PDT) From: Stephen Hemminger To: maryam.tahhan@intel.com, reshma.pattan@intel.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Stephen Hemminger Date: Wed, 15 Jul 2020 14:22:23 -0700 Message-Id: <20200715212228.28010-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200715212228.28010-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200715212228.28010-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 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 69e3000616c0..049818bad51f 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) { @@ -673,7 +672,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"); @@ -754,8 +753,6 @@ show_port(void) } #endif } - - STATS_BDR_STR(50, ""); } static void @@ -841,8 +838,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) { @@ -1038,8 +1034,6 @@ show_tm(void) stats.leaf.n_bytes_dropped[RTE_COLOR_RED]); } } - - STATS_BDR_STR(50, ""); } static void @@ -1085,8 +1079,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++) { @@ -1121,15 +1114,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) { @@ -1160,7 +1150,6 @@ show_ring(char *name) } rte_ring_list_dump(stdout); - STATS_BDR_STR(50, ""); } static void @@ -1168,8 +1157,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) { @@ -1206,13 +1194,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 @@ -1230,8 +1216,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) { @@ -1241,12 +1226,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 @@ -1347,8 +1329,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 Wed Jul 15 21:22:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74138 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 681EBA0548; Wed, 15 Jul 2020 23:23:06 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 97A9B1BE8E; Wed, 15 Jul 2020 23:22:44 +0200 (CEST) Received: from mail-pj1-f67.google.com (mail-pj1-f67.google.com [209.85.216.67]) by dpdk.org (Postfix) with ESMTP id 2D74D1B6B4 for ; Wed, 15 Jul 2020 23:22:41 +0200 (CEST) Received: by mail-pj1-f67.google.com with SMTP id b92so3611322pjc.4 for ; Wed, 15 Jul 2020 14:22:41 -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=/1V6xYLK+ALnDYRVtd4wKn0htZPkeHIvu9qpotfK7So=; b=Lb25hoOSyTsdxvxUaqWOnuJ4VuXDx1gdRl5mU3SXr6U38KX6ymvrGrpnOPIwykaAbd jvQ3vs6BtoyEkpWja/wEaxHEBMfodiNXQmJRUcrad6UYSsLo11VtydcIxEyYSU4Qe/tm OSbs5KfMZ2IhPOzK0jrCaSRr/yLgGUhXzrjgYMhSy8kY+PT4fHFLaVRjIursVdbefVbF 06H2vHbwLm5AHIl1bIC/6ybPUhA8phiHW6uQCm24s84VX7CjrmRoJqi2KGHBb2eCRpBU XmqQpDaoqTaZqELh8toORRiVhj9szcin6pRn/Q/A6rrwGdMTrXuwkR0dgBioWWhDMQhg p7gA== 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=/1V6xYLK+ALnDYRVtd4wKn0htZPkeHIvu9qpotfK7So=; b=HO2I9NsJ1v6+dm/msvZ0iV3Uqp/xvua08HkINEB4ZArzkVyXAsbTWmoDFeukWwvnip eGyuczDWbhB3qp/5BVS84W4MDIJhHVQHbqJ2obXkhRgUmVp/s4xJJdycij3UvXGaLwYi OSPVOkSFVBxOnDdXpEzYRhSoHrjD75ufOIo2oJKgP4QTdCeARD7QgW7vF7hsqqNTdGdy A7irYjkvqpOqAytIw76HEMngGqPwkyv3YM1V1Ofy/u5gQezF2jXqkGwU/s53RusDg5kf kMIY7CBzYaUXvQWskAUXPzc+8ROTSbe5paRNEZ0+7BGojrMPgdbSb/OTn0CGCU9L6GQT FE1A== X-Gm-Message-State: AOAM533xY8hVfYh2JR41n8RHsZeJ6qv7/AzU84RpUuRpW3IArPdof6WZ 5LcP/LRuYGt6iHCWbBzYLFJV6w== X-Google-Smtp-Source: ABdhPJzjFtU5HBljOHCpSevl1cm0YE+lq/RwdAfG+1Pl0lWgkfoonfeODPJFeRa8EbWSbQc7Oqplwg== X-Received: by 2002:a17:90a:2e85:: with SMTP id r5mr1659169pjd.232.1594848160491; Wed, 15 Jul 2020 14:22:40 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s89sm2932600pjj.28.2020.07.15.14.22.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 14:22:39 -0700 (PDT) From: Stephen Hemminger To: maryam.tahhan@intel.com, reshma.pattan@intel.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Stephen Hemminger Date: Wed, 15 Jul 2020 14:22:24 -0700 Message-Id: <20200715212228.28010-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200715212228.28010-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200715212228.28010-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 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 049818bad51f..e4914191bef9 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -1239,7 +1239,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 */ @@ -1253,18 +1254,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 Wed Jul 15 21:22:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74139 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 9F982A0548; Wed, 15 Jul 2020 23:23:15 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0F6161BEA3; Wed, 15 Jul 2020 23:22:46 +0200 (CEST) Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by dpdk.org (Postfix) with ESMTP id 0AD9B1B952 for ; Wed, 15 Jul 2020 23:22:43 +0200 (CEST) Received: by mail-pl1-f194.google.com with SMTP id k4so2910815pld.12 for ; Wed, 15 Jul 2020 14:22:42 -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=cLVk64kgZdaK3nTs9Q9TTw8imJyCV0REKP4gEuKNz6E=; b=iDyvxCHqm7qi+Z9lPLB3uKqJUPpZr9LxMHxDP91woStjftntpOFvZGHF0TCZ9vNmb6 ESPDHrfySecpsteh9+RRK4kvbTkQC5Nbb0MIec9O4UYvOimk55UXEN/aqd6EDEiobi4T vYtLE+1tYD3YFCblezx1+N/3q0Xkru3pZQ6Na4+eJP8sygpqg3Ry21aaIJ+8sztgQkvz CfvFIhcihqDJxcfWbdx0eR1/rDcvD8El0tXfC6xrRNiLixOxVKVTozqadB0MYNfrzA9B c8G9+oOTwuf1qTWGK1hxS7383eDi//vKHsk/ikILGiBtI+ItliouFtnUryIJdOn0y7Vz M2fQ== 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=cLVk64kgZdaK3nTs9Q9TTw8imJyCV0REKP4gEuKNz6E=; b=qLSrGbFLc/P3vZDWpAZCaz0VjdLnIRmHXlX0VZVfd62v+VAkIst0M4L1zkhL0XuOx5 U3pNtjyEG0olIqytbTtjj1KfT2lUPh6upAngpVR2KCNA9AGPYOLwOqJ9kZfp9iLaQQ3+ rmoeS24JmYhGXDYxqCwPQgvN9XOQ7fy6Qp9MRfqiXD9cDunztECE8HZ2uKl+tH0MfGOh z3LvwMt6X49YIufUGfmb7LzssB34fBNty5BXSGGDkPOzQUpceAwmsVRJ8987m3dVl7mb MkEm2kZ05cB+jX9zsIaRZyljBNcNhAMjbCBWLhZjrfaE1RNSWrrxWEsYvSm1CoZTx1/X tI9Q== X-Gm-Message-State: AOAM530hgzawk0nrvfHVYQCY01NbdO0OHM/NWqaxhWWmOdS665WVJGB1 d70hBmC8vdAd5oqrUtRC39YpGQ== X-Google-Smtp-Source: ABdhPJwghCr2Zwke2kLPwDVEhUaO8tUtzdIISG+8tz2uEWykAeXonZTKWT4OJT0n2E28lddjSWdrLw== X-Received: by 2002:a17:902:b610:: with SMTP id b16mr1138294pls.234.1594848162187; Wed, 15 Jul 2020 14:22:42 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s89sm2932600pjj.28.2020.07.15.14.22.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 14:22:41 -0700 (PDT) From: Stephen Hemminger To: maryam.tahhan@intel.com, reshma.pattan@intel.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Stephen Hemminger Date: Wed, 15 Jul 2020 14:22:25 -0700 Message-Id: <20200715212228.28010-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200715212228.28010-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200715212228.28010-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 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. * Display units for port speed, and decode link fields. * Show driver and device information * Show MAC address * Show flow control information * Combine lines if possible * Show all multicast mode Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- app/proc-info/main.c | 88 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 72 insertions(+), 16 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index e4914191bef9..7c1276b7fbc1 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -669,6 +669,8 @@ show_port(void) struct rte_eth_dev_info dev_info; struct rte_eth_rxq_info queue_info; struct rte_eth_rss_conf rss_conf; + struct rte_eth_fc_conf fc_conf; + struct rte_ether_addr mac; memset(&rss_conf, 0, sizeof(rss_conf)); @@ -676,32 +678,86 @@ 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", i, rte_strerror(-ret)); } else { - printf("\t -- link speed %d duplex %d," - " auto neg %d status %d\n", - link.link_speed, - link.link_duplex, - link.link_autoneg, - link.link_status); + uint32_t speed = link.link_speed; + char suffix = 'M'; + const char *duplex, *autoneg, *status; + + if (speed > 1000) { + suffix = 'G'; + speed /= 1000; + } + + if (link.link_duplex == ETH_LINK_FULL_DUPLEX) + duplex = "full"; + else + duplex = "half"; + + if (link.link_autoneg == ETH_LINK_AUTONEG) + autoneg = "auto neg"; + else + autoneg = "fixed"; + + if (link.link_status == ETH_LINK_UP) + status = "up"; + else + status = "down"; + + printf("\t -- link speed %u%cbps (%s), duplex %s, %s\n", + speed, suffix, autoneg, duplex, status); + } + + 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" : ""); } - printf("\t -- promiscuous (%d)\n", - rte_eth_promiscuous_get(i)); + + 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); From patchwork Wed Jul 15 21:22:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74140 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 85808A0548; Wed, 15 Jul 2020 23:23:22 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 773E61BEAA; Wed, 15 Jul 2020 23:22:47 +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 4E22E1BE0C for ; Wed, 15 Jul 2020 23:22:44 +0200 (CEST) Received: by mail-pl1-f196.google.com with SMTP id t6so2923573plo.3 for ; Wed, 15 Jul 2020 14:22: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=Ycfr1krCrOiHD4LOmL+qhnZ/LybeBBnpZvDhhnSqKL0=; b=GtkBP6o2mDc7QppM+WdM77YMY758ZBl42R61zXRIcw0OuaZevpJZBASmMPRwg28SPh xzWd0A7KLKv6Mo/Oxd+bFsXVp+tdet1DE+r6+fMgljf2Z9KTJqpZfhY4NUwWQ1HDLa2f VlQa8ET4AeGg5drA5DNeU3IJ1lUew1QHBcDUHvnbVOj4lpMevTCQsxpoOb3gXaOl2okU JG72QeeJW2UHLtWoBq8sGJkfMT49ZzoW4x7obkwmqienrIb9cwKFO+lwASU5NAYlE/Id qOGQf891Rm4Rv/uLR/O4fpUHqFnjOITIpRVr1Xs8DylkFDXbwnQ6PSWMuvlTkyBOleOL 3rLQ== 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=Ycfr1krCrOiHD4LOmL+qhnZ/LybeBBnpZvDhhnSqKL0=; b=CY+pqIzj8esYYelZ9oLSzKXFJ+pWnbfQ60wjHI3w+a5yxwNm2l3IrSoNQ+YCClnxgo 6sQzCqkZdpObGR3/f9eR9I0XoWP86PrLWz2jXlIx2xFX9EcSZ9uDcC64r/8ouZ5EyOiP EE9Kj8Xbf7fU9RVUPCcP+WYSKZePJLRbw2CBqb8/CI39DEE9f22oisVi9jjH+vdaDdcs +M/gR9DlbfV1hFBfNtY5dcLw8ic2yQr5sSw85AQi7baDWQm5jZhdXmOonQsG+1OKPxMk YHCACNlusIfT57Y8Y6XgRGn39PQTsZlzSufz4rRvxZTp+CxqH9WFph4R9WSHswFPnzB3 E7qQ== X-Gm-Message-State: AOAM5331QsQ6nkqtVF7NnHahOFytosNfjI7EmyFC5+kH0uoi0TkKb+l0 L2sZ78a7UDziKDV2F+wJIVCQeA== X-Google-Smtp-Source: ABdhPJxbzIw60daoKO9+1QT+mZ2Tlgf15nwrqqR84lh+fSAjZycP1rObrqGotvOxYhBoVXAqJ9qqdg== X-Received: by 2002:a17:90b:1b52:: with SMTP id nv18mr1703075pjb.129.1594848163602; Wed, 15 Jul 2020 14:22:43 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s89sm2932600pjj.28.2020.07.15.14.22.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 14:22:42 -0700 (PDT) From: Stephen Hemminger To: maryam.tahhan@intel.com, reshma.pattan@intel.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Stephen Hemminger Date: Wed, 15 Jul 2020 14:22:26 -0700 Message-Id: <20200715212228.28010-6-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200715212228.28010-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200715212228.28010-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 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 for both rx and tx as well as how many descriptors are in use. Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- app/proc-info/main.c | 79 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 66 insertions(+), 13 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 7c1276b7fbc1..5000724fcdd1 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -654,6 +654,25 @@ metrics_display(int port_id) rte_free(names); } +/* This could be replaced by an ethdev hook in future */ +static int +eth_tx_queue_available(uint16_t port_id, uint16_t queue_id, uint16_t n) +{ + uint16_t offset; + int count = 0; + + for (offset = 0; offset < n; offset++) { + int status; + + status = rte_eth_tx_descriptor_status(port_id, queue_id, offset); + if (status < 0) + return status; + if (status == RTE_ETH_TX_DESC_DONE) + ++count; + } + return count; +} + static void show_port(void) { @@ -667,7 +686,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; struct rte_eth_fc_conf fc_conf; struct rte_ether_addr mac; @@ -739,6 +757,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); } @@ -758,20 +777,54 @@ 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 %d rx scatter %d" - " descriptors %d" - " offloads 0x%"PRIx64 - " mempool socket %d\n", - j, - queue_info.scattered_rx, - queue_info.nb_desc, - queue_info.conf.offloads, - queue_info.mp->socket_id); - } + 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("%d", queue_info.nb_desc); + + if (queue_info.scattered_rx) + printf(" scattered_rx"); + + printf(" offloads %#"PRIx64" socket %d\n", + queue_info.conf.offloads, + queue_info.mp->socket_id); + } + + for (j = 0; j < dev_info.nb_tx_queues; j++) { + struct rte_eth_txq_info queue_info; + int count; + + 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 ", j); + + count = eth_tx_queue_available(i, j, queue_info.nb_desc); + if (count >= 0) + printf("%d/", count); + printf("%d", queue_info.nb_desc); + + if (queue_info.conf.tx_deferred_start) + printf(" deferred_start"); + + printf(" offloads %#"PRIx64"\n", + queue_info.conf.offloads); } ret = rte_eth_dev_rss_hash_conf_get(i, &rss_conf); From patchwork Wed Jul 15 21:22: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: 74141 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 B1D26A0548; Wed, 15 Jul 2020 23:23:35 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4767B1BED2; Wed, 15 Jul 2020 23:22:50 +0200 (CEST) Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by dpdk.org (Postfix) with ESMTP id 6BAAA1BEA8 for ; Wed, 15 Jul 2020 23:22:46 +0200 (CEST) Received: by mail-pl1-f194.google.com with SMTP id b9so2923958plx.6 for ; Wed, 15 Jul 2020 14:22: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=GOTx04kn4kl/sqSteU49fcx8GiOrIhe0gsAUDwIWhdk=; b=uhJdQfkISTV20gcJrXtOKRcKUliBPutpdat9WwXDJHh7QPIYlDu7jJu2iX9pbYUM7J ex8iyRuhe+zLHhkY0CX/ydWGyfa4SUPapbDrmg7+VgEw+k3Q5OQZ6/KF+PV7OBDjwxN0 pYtKbjismS2VzAz3RMTb1fWpal0nyPAe+Uw11FMFayiQXpK+fQgRfH42POtJ4bwA2n1k J9Seeu0SyIDLtWs4VDRH3t8UOlkXh6tFoMq/pwG+U41iAqLc3vwV6+d80btWo34ynMjX ycZRUClAG10/TyNGisVwWsCQMJMwSTSj8W+SeI7nzxjy3BGXJ0JvaX+1+BurK5pKlxna aBMQ== 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=GOTx04kn4kl/sqSteU49fcx8GiOrIhe0gsAUDwIWhdk=; b=NwBUuwFc7uAz57WkBgbtcyGuv63gC8oiSUsnWTwmuKqW3uHFbgUA9eUaHG/PGirDnL LBhGw9nRF5iXmcYRz+xxG7njQmDkdpBX0cRNT0enkR/0tlU5ssUFjHzRz8t+BUTKJQa9 fURsj6FP4o73Owlbo4tY4uPVKCeOAUZlsvhPmt9kf4s4+kj8yEqDfJKu/23kqsoF1y/7 erjAPSLiTrS00rCvCclrEKLKeVfg7H8kxce9By/8+UiJFN3EXIAgRFSdOJQPHYGQuNEZ AsaSq3V+8xhQ/ZtEbv/rX/iVrbAlGitoh2Ytrf5waBSnEbl4evjNlJTtPD8ng7bOBoFx k4tA== X-Gm-Message-State: AOAM531yMGOSKWKhPlw+Q18SQBNEqQc3fduPxr1AfkfqL4j6BOh01fUH jgykUP2Af+TUpcDg9Ks+Z29iSA== X-Google-Smtp-Source: ABdhPJyXyMiwkWvkiMHQc1gk0iX4ZkdHHldYIi+LqJm0NK6rDY4AXfOZdese3eKVmXw0sRWDtJCg3Q== X-Received: by 2002:a17:902:be0e:: with SMTP id r14mr1060810pls.309.1594848165588; Wed, 15 Jul 2020 14:22:45 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s89sm2932600pjj.28.2020.07.15.14.22.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 14:22:44 -0700 (PDT) From: Stephen Hemminger To: maryam.tahhan@intel.com, reshma.pattan@intel.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Stephen Hemminger Date: Wed, 15 Jul 2020 14:22:27 -0700 Message-Id: <20200715212228.28010-7-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200715212228.28010-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200715212228.28010-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 6/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. 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/Makefile | 3 ++ app/proc-info/main.c | 74 ++++++++++++++++++++++++++++-------------- 2 files changed, 53 insertions(+), 24 deletions(-) diff --git a/app/proc-info/Makefile b/app/proc-info/Makefile index 214f3f54a1e9..f777e037861f 100644 --- a/app/proc-info/Makefile +++ b/app/proc-info/Makefile @@ -5,7 +5,10 @@ include $(RTE_SDK)/mk/rte.vars.mk APP = dpdk-procinfo +CFLAGS += -DALLOW_EXPERIMENTAL_API +CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) +CFLAGS += -Wno-deprecated-declarations # all source are stored in SRCS-y diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 5000724fcdd1..14c04f8367f1 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -676,19 +677,26 @@ eth_tx_queue_available(uint16_t port_id, uint16_t queue_id, uint16_t n) static void show_port(void) { - uint16_t i = 0; - int ret = 0, j, k; + uint32_t port_mask = enabled_port_mask; + 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 (port_mask = enabled_port_mask; port_mask != 0; + port_mask &= ~(1u << i)) { uint16_t mtu = 0; struct rte_eth_link link; struct rte_eth_dev_info dev_info; struct rte_eth_rss_conf rss_conf; struct rte_eth_fc_conf fc_conf; struct rte_ether_addr mac; + struct rte_eth_dev_owner owner; + + i = ffs(port_mask) - 1; + + if (!rte_eth_dev_is_valid_port(i)) + continue; memset(&rss_conf, 0, sizeof(rss_conf)); @@ -707,6 +715,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", @@ -1351,6 +1364,7 @@ main(int argc, char **argv) char log_flag[] = "--log-level=6"; char *argp[argc + 4]; uint16_t nb_ports; + uint32_t port_mask; /* preparse app arguments */ ret = proc_info_preparse_args(argc, argv); @@ -1394,30 +1408,42 @@ 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; - - 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); + /* If no port mask was specified, one will be provided */ + if (enabled_port_mask == 0) { + RTE_ETH_FOREACH_DEV(i) { + enabled_port_mask |= 1u << i; } } + for (port_mask = enabled_port_mask; port_mask != 0; + port_mask &= ~(1u << i)) { + /* ffs() first bit is 1 not 0 */ + i = ffs(port_mask) - 1; + + if (i >= RTE_MAX_ETHPORTS) + break; + + 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); + + } + /* print port independent stats */ if (enable_metrics) metrics_display(RTE_METRICS_GLOBAL); From patchwork Wed Jul 15 21:22: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: 74142 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 1783AA0548; Wed, 15 Jul 2020 23:23:43 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BD8831BEDC; Wed, 15 Jul 2020 23:22:51 +0200 (CEST) Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by dpdk.org (Postfix) with ESMTP id B95B91BEB1 for ; Wed, 15 Jul 2020 23:22:47 +0200 (CEST) Received: by mail-pl1-f195.google.com with SMTP id k4so2910906pld.12 for ; Wed, 15 Jul 2020 14:22:47 -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=7qMco6owzSRRppoegkjBk6gyJ3foTnwTLT70++HgyZ0=; b=1pIqgUzU8w87HsWoGQ+Vp7AnFy/PQ9mxJubXqG3NcoibPqLOe5WEJe8cyJI/OJ/iye hO6N90XjyzOerjFLSyR9h816Mlw67m5/PFYAZntmS1vma6u+Q4cMSpJhEK47QpQXe6A9 bLfixftqMNKCvkeqaFteRWjRmCRrv+FsdF0m9eJ53VQ13I0mbhuOO9qIx0y9O/EwYUN4 jK0D6e3PEsOfVRl3adqDOs5tLSKDT+FR22TjeKJQ7UoTiF9zKsLbP3OZLGUk+e1Qi2B9 ZNuEuBVI7K6ewaE9QWqXBVWn08ov1ESCsEcgKzqaZzkhL+G0f+E0rmisZaNIevud0Qeo HoBg== 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=7qMco6owzSRRppoegkjBk6gyJ3foTnwTLT70++HgyZ0=; b=RetN67W1d6U0ksl1GiTqAwz+wVm1xSTl06jdtCsfN5R1bAZ9htDD4cEjPj7MDI/Lcu cjVgf7zRHPAR2yz3I7rtbhoe3zDQ5bWfPp4L70csWkOOHfx3hMydUaUlas3XGvitPro2 50Lp7Bet/aYqT2SkOLLz36ZHjT6USQNRL9vyyyevkC4z66LPgdbitDToFw9vp2zADaTr LntlTYe3qtwQxeGTiX8rhMy5ZlDIm99gE7fRMZPDishGyea/hA/ELcCwTfMRiLt4Qa8R 1okFoftRYi2Z5bgZ8Y0lsZasMoDWXzrXaLldCUP2ERvvElv/woDI5SWZV1gAxB9fx6Wo i+YQ== X-Gm-Message-State: AOAM531VREVIi1YNtbiJbNN2C+TgzXLGgatRFb+/yXWcypBaLJMU8OBh N4YjMfTnfCbyMcug8xocw/p7SQ== X-Google-Smtp-Source: ABdhPJzBTfxVQx6Jo54IbVBr7gmvPJz5kz0iwsWdZ/+JccZ+M9JJcmvaAGwRVRT2xXZuRfKBcDRbIA== X-Received: by 2002:a17:90a:368c:: with SMTP id t12mr1654868pjb.90.1594848166984; Wed, 15 Jul 2020 14:22:46 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s89sm2932600pjj.28.2020.07.15.14.22.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 14:22:46 -0700 (PDT) From: Stephen Hemminger To: maryam.tahhan@intel.com, reshma.pattan@intel.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Stephen Hemminger Date: Wed, 15 Jul 2020 14:22:28 -0700 Message-Id: <20200715212228.28010-8-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200715212228.28010-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200715212228.28010-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 7/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 14c04f8367f1..91205a51ad6b 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -674,6 +674,32 @@ eth_tx_queue_available(uint16_t port_id, uint16_t queue_id, uint16_t n) return count; } +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_port(void) { @@ -853,26 +879,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 } } @@ -1178,7 +1186,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', @@ -1212,14 +1220,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); @@ -1227,14 +1235,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 } }