From patchwork Tue Jul 21 18:22:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74587 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 D6010A0526; Tue, 21 Jul 2020 20:23:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3A21F1C036; Tue, 21 Jul 2020 20:22:57 +0200 (CEST) Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by dpdk.org (Postfix) with ESMTP id 0E8CD1C02A for ; Tue, 21 Jul 2020 20:22:54 +0200 (CEST) Received: by mail-pl1-f169.google.com with SMTP id l6so10606804plt.7 for ; Tue, 21 Jul 2020 11:22:53 -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=OGcu3xcg18speI8PJalHUQz1UlnhhM1LURF7/aVZWuojRJkod9HR7cajA+wZYbc0iL V5gXy3Hd/T59T3cYeH6VkTUsGvHfEdad/xRlt9jEoQtKefoTDTU6TIqQjQBeJgBHWERt oWmMKDFOwHGkT68PwiI0VP8KyO3MgX/YD8w8ysZWpvqpWtGc1ULyDzuavFdhDddtWya5 nBtfecUXE/sTXrHA8Sdc1StWjJyUQ/ZaF9lbLG5yAHg/aA3yYra15NZi6YoeY3QtP1Zj eLapNHnO/+iusthq9UQD5QCPomYtOqF2hOpYPX4TSnsFeVI90JrMekLYRug/iqomMj5i /o8w== 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=IUeHkeOOeyAILlwg3W4E/nDgW4HMgHaX9WNvLcReizERVLg6m1T17nT0Gsq28A6fkS 8RgiAF0nGCVk319KE3jdCuSHx8ZneGuBhXrMIfampiaueqAHqJj0NUKSw0hmv1AIOp0n fYHzwy+JTtwZ8+6xuXtT4OmJdFK3m0TPyRblUrLWFU6ZBvs+aLRnD86DBa7lnOINCX+W icJaEZ01zImC9hzt0XEErbMRjQAZbt9d46TGd2JSQozxODK/Qn4DDdwYhRz0KBWuD6R3 u47vJdtEBkv/lr6IZ/OW/Ki7+ea/CAE8ylG9ET7FeqqLnLEJEzJiNEOrkOAehnee8UyJ u5Aw== X-Gm-Message-State: AOAM530FQHPgZaJcEDNf4cE4Ecv6wgcN5YcXHh8Nr069zOfvxVGcccoJ Ykcm33D4/3avJ8tBhS0WCaTH8kfTiQen1Q== X-Google-Smtp-Source: ABdhPJwtLr5JrplVGxtrdk/S77pLzAlm9eAW2JCSs8Escu55s/zxvKxgACL9ZlPJH4aqi6+k8l0sxw== X-Received: by 2002:a17:90b:188b:: with SMTP id mn11mr6082612pjb.179.1595355772683; Tue, 21 Jul 2020 11:22:52 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 76sm21434031pfu.139.2020.07.21.11.22.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 11:22:51 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 21 Jul 2020 11:22:35 -0700 Message-Id: <20200721182242.5366-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200721182242.5366-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200721182242.5366-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 1/8] 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 Tue Jul 21 18:22:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74588 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 F0419A0526; Tue, 21 Jul 2020 20:23:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7EC811C05C; Tue, 21 Jul 2020 20:22:58 +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 BB5C01C031 for ; Tue, 21 Jul 2020 20:22:55 +0200 (CEST) Received: by mail-pl1-f195.google.com with SMTP id p1so10624794pls.4 for ; Tue, 21 Jul 2020 11:22:55 -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=HwW8Tms4owyW7p0xl9abIL9TJcL4Wy2Hz8QJl2IYQnHBGJZMfvsB5+zsx1ERk+WIAr EJRL4wPkj3I+ANm8i/VWHkHOx08jdTnuBq4/QwLeWknBr5c504kLJ3OyOqPiVC1LA6Vo vU2tUXCpXdsKl78WMs3QQVp4fKcgU54OfvmSDvW+4grWAEv7dGVW5hrqXZALxFKHTr7R AzIWPjpAn6A9JwkHxqk9X58EuIGPln3BcfgBecIRUNYP3dELdlu0pjeZHBa0bPMOKvq7 NmSVC9paS3nMY8WKLuCTUlCykmy0OpyxF5iugIhZ1jTCj0FfRN71D6KpmBOGRpvfDzXl Rpmg== 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=MVDx46fSDFWKklVwzCFg60l/zUmO1JFGc9sxlzzX9ggg71mh+JQFfCF0pIFwdSZQJB 6/0HWu+OeIr8KlvsnZLMcms1nwK4mH54gqnzkDCXuv4qK2Sjns1u/4kija+k7YvWE6cB akBMP4SoMlHaJ/PmmXN7W/0qlVlIyeSbSiQjVN+6T3Y1vAto8rGnZAvmmYpbzbHM4Er8 o1PZZvT3nTnAfH2NTvNFs4xpzdNKNPkFi19z0RwxXhXUeyt4jTE/lPpadHjuM4jyVFRQ 5F6oQkAd554e1d1KrXoCCw1yJoVae2O89rFP5Bg0BlK7HOyuryyJGrOuDYcQdmwDr3WT exJg== X-Gm-Message-State: AOAM530gjbbAq0h+OvErUv4+3KmwH+hDai6Zd/rfRBMlhxOs6vFy3P3f 0ys2pqQOuxQRI+KOExtbpD7RVrYMnorIBg== X-Google-Smtp-Source: ABdhPJxnLqLX3FJnBzk+kceYgKdBWzNQvrNdgBKrAv3FhxQCf1BKyX+gipeEJ0uu9ELEPxGg++upjg== X-Received: by 2002:a17:90a:f996:: with SMTP id cq22mr6655232pjb.208.1595355774418; Tue, 21 Jul 2020 11:22:54 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 76sm21434031pfu.139.2020.07.21.11.22.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 11:22:53 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 21 Jul 2020 11:22:36 -0700 Message-Id: <20200721182242.5366-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200721182242.5366-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200721182242.5366-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 2/8] 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 Tue Jul 21 18:22:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74589 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 AA337A0526; Tue, 21 Jul 2020 20:23:22 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5FED61C0AD; Tue, 21 Jul 2020 20:23:02 +0200 (CEST) Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by dpdk.org (Postfix) with ESMTP id 3F61D1C037 for ; Tue, 21 Jul 2020 20:22:57 +0200 (CEST) Received: by mail-pf1-f195.google.com with SMTP id s26so11117459pfm.4 for ; Tue, 21 Jul 2020 11:22:57 -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=1gAOiH975hWVK8uLSrDnInFvyTeJ90lviqRYJuryNTRAecIc82W577Ch/DgpSQow3l WAVE4HrRQnSHxo6AKX6DaEJHNoGDpG3nr9E9diE8FUwL4k8IvYoEiFEcWrnc/+tbfCqh mWMgeoKwtsFukjpg7GEC6Qjw7uiwuT40eKTBCwWIT8pgBZIazXM4KSSOfMjvONfP6VL2 ji9qUmVLXO8OvKuIW3npR+9Gqsyu7Agok05qv/gdIqkbZUaXDG4iW74JOpgYaNxCLsTL 4kCOn0/KLBZHqbI4L2HVgKl1uC6ERQsOnBt0t3ywxaFb/VcdQNoFw1lJ2UO55cGqEAvg uzmg== 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=atX7dBi6fLiejuKb3Wu27rrhyd5RlJe+pe5y1TV0Avm9knMDhw6aDTqZWH09YGzX4/ DhWN/v6/DOeFCTWQdG2uRN2Jor/fmnqiNoVuZ32uLm+CvIE1q+sVZYFds1RKh0mLmjz1 HNe79gHTqDXlh/Dhy9lphct0ybWbl/vakTDhPlAGWoFFNUe+Od/WDBkPixnx9cB0ahb0 2K5FCxhiKtiu6oN0cwD3EFYVgMlatgQjrHtzLlkgaPZnvezVSojrP4s2ndtzzu8bx/b5 1cC9KLI3vyPJHc/ihj7r2NJO06G1tVpyVFOKftR52IlUnamg/HLx00tuiuHlRv+TsUzV UZVg== X-Gm-Message-State: AOAM533ce/3PlVhCzP8EJhX/5koeW2dpXGZSQgzGeB23JP5BnF+NDK4U NSWqtE5o7ckalmb1o2hUYAxsYBoxTAq35Q== X-Google-Smtp-Source: ABdhPJzUmoLKnFCl4gLfwHo+6KFf3fZ+IrMkodMNz368mQePBq5pZCEVcBxjFPEFmMzfzd0ZuBzPzA== X-Received: by 2002:a65:4c0b:: with SMTP id u11mr24123331pgq.383.1595355775835; Tue, 21 Jul 2020 11:22:55 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 76sm21434031pfu.139.2020.07.21.11.22.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 11:22:54 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 21 Jul 2020 11:22:37 -0700 Message-Id: <20200721182242.5366-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200721182242.5366-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200721182242.5366-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 3/8] 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 Tue Jul 21 18:22:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74590 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 66508A0526; Tue, 21 Jul 2020 20:23:31 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 893AF1C0B4; Tue, 21 Jul 2020 20:23:03 +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 433F81C068 for ; Tue, 21 Jul 2020 20:22:59 +0200 (CEST) Received: by mail-pg1-f194.google.com with SMTP id d4so12321342pgk.4 for ; Tue, 21 Jul 2020 11:22:59 -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=b6dv4mHkeGXE8zS4pZz35PEI+VfUKmDGMvJpfGdZ3dndRj8pI6kVtTiowga70dN5eG yZXSMEZhGCeWxXx6/mnN+AwCzhnMIR0SSlvgWVpi74srUp4KDZaND1PbpA0MR74jGbiK N+gxDPcj556KCXKFw7D/uxdbPJ9Ql6wOc9jsqjQfb9Q/pFItIkvu+HpVY3t4W7O+WAfe qLNIgJg7njRLCXw2NuPJdnQetre2S8QflTkfK7yp88pVgYU8B5yt9Dy87Kw1bRqb/vqb Wxeq9AKl18snm2cAdA9sAWLE2nX/uWBsQgBfQtdVqPfMcojEZI7AOeKPcoYpvLbnGaCG kAsA== 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=SWq2UKOs+vsY5c4IqHfX/1WIQCt1TFSRYeioBMfOjOQH9/ZK0+kG0zm1AZj1sBABNS 4zBWsyEnPtQ6BoRBpqjLl7gE5RvPpHdFGQpd6S5xCXub8rbB9ERVDrO/QRs05y6XCu3j mykNIB26NBoSxSrKZqRGppsUSFQDO7qswpUh/4CF7gC+GlcSr6goFYSGAaccvABk12zc /uwlG1pClLMfmXCyooJ9jN8qT/0ubFr3nihFNl6LEWeDkv+ocOXjhTSdR/p0SaW1FPts aF6WPSPLe2qDZGnrLqmqyXGZrdpmAVxms+cup1HK4xmL1mspZssncsfLsH2NgMdba5Uy fxtg== X-Gm-Message-State: AOAM532AHyTaxmyGJ++aZ2n4sMphI8YFvM7bln9nT83ngHrswtSPdK0g t7ilN5wETo9sad9Z15igK+iSaD3viINAoQ== X-Google-Smtp-Source: ABdhPJy4vwejUmMVmDE3esGwN88BHHOuu2cWsGLEtG1Jwtn35QUVX2iIDEvJz2HlxbHa1x++gbjMjA== X-Received: by 2002:a63:144c:: with SMTP id 12mr23633758pgu.189.1595355777809; Tue, 21 Jul 2020 11:22:57 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 76sm21434031pfu.139.2020.07.21.11.22.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 11:22:56 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 21 Jul 2020 11:22:38 -0700 Message-Id: <20200721182242.5366-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200721182242.5366-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200721182242.5366-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 4/8] 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 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 Tue Jul 21 18:22:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74591 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 D5E0BA0526; Tue, 21 Jul 2020 20:23:39 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CDC541C0BC; Tue, 21 Jul 2020 20:23:04 +0200 (CEST) Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) by dpdk.org (Postfix) with ESMTP id 82CE11C0AC for ; Tue, 21 Jul 2020 20:23:00 +0200 (CEST) Received: by mail-pl1-f193.google.com with SMTP id x8so10611598plm.10 for ; Tue, 21 Jul 2020 11:23:00 -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=6DljVwQwZifQ8F3xEcClWR3a4alMcuL6XIRUFg6hoPs=; b=jU5Gk+0n/W3QL1USq/T+3C5NIWZCfVnpzNxjI+2CYj9Zcw8zgJg5cTTDYrosPL4V3T YseDcZZSGU9hLdzpsdIqbw1aTsmtuILuJYJv4pf1QCTj27YzXILmG2WzM35jDBd1fT/y UQ35QUTrFPLu94PBp8WmpQHNWx0n6ABvntWkJQ7IIDbG7ZQasUt3K4RlptHUrsrb3w4f ujFvd2a0wJFI7JiaxF8c5h98i9Ie7/SdDRdF1eSqLo+8l3qmVdKAFr6JiKYxuDUcY5+v Duj9OHCYuLJcc3ZmLqxX9EoJTMQOTKzK7rOzz3nN4QW9bj19r8NdXUJFvmkbJsosVWUj E3hg== 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=6DljVwQwZifQ8F3xEcClWR3a4alMcuL6XIRUFg6hoPs=; b=Hof54o5/wHEz5fNd/Q//kWb1di8xpWX0m4ZHnGTQIcdDMHZS+SSdx3uLZIMkTlZMjK Dp7AU3gRXSBNUwzaSFmr4FtJ2dqFJE4yksNCGU7l6blfUx46ncrq8VyW0ZatWENIjGE2 VodDWdEhpuOQDabTniVXjoNXlECUz66itK3cqzTGNgLzRFFf8Jyimmmu0iryBA3kw5sD K+/qXRDQDjiRytLQeNVZMsA7P4bcdyvj/LE6TKDBoJqfLvFicmLytl9a9t2orn5xAbmG M1XHhFJGdvUeLi9gt4HOKZzzF1Kxzs9uk7wV5OSTE2I1mDBo9Aqk2ImAawAm2A93nSnx JclQ== X-Gm-Message-State: AOAM530C+s4xxJR40FLPYcSW1jKy6L4Y6FaMTXiDYtiIfYFgDv05dSSE tNTcTh/rlR63rdE5Q03iFUx5JJYp/hRNHA== X-Google-Smtp-Source: ABdhPJwhNPidMh75MFq7sEvr59hrQAbWiBcgfnlUcc/69UKlPk5T4ybgETIKoDgKiMTq4F2MWbKczA== X-Received: by 2002:a17:90a:32cb:: with SMTP id l69mr5462059pjb.205.1595355779305; Tue, 21 Jul 2020 11:22:59 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 76sm21434031pfu.139.2020.07.21.11.22.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 11:22:58 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Hemant Agrawal , Stephen Hemminger Date: Tue, 21 Jul 2020 11:22:39 -0700 Message-Id: <20200721182242.5366-6-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200721182242.5366-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200721182242.5366-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 5/8] app/proc-info: enhance mempool to print ops name 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 Enhance the mempool details to also print the ops index and name Signed-off-by: Hemant Agrawal Signed-off-by: Stephen Hemminger --- app/proc-info/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 7c1276b7fbc1..f3f83c0cea37 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -1219,7 +1219,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" @@ -1249,6 +1252,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 Tue Jul 21 18:22:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74592 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 613C5A0526; Tue, 21 Jul 2020 20:23:46 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 47F0B1C0CA; Tue, 21 Jul 2020 20:23:06 +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 EF5F51C0AC for ; Tue, 21 Jul 2020 20:23:01 +0200 (CEST) Received: by mail-pj1-f68.google.com with SMTP id t15so2073266pjq.5 for ; Tue, 21 Jul 2020 11:23:01 -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=MS29TzAnF/7DvK6A99faG+GGupmWaNY81pGDtnmH55I=; b=yChB63YSyvdybRYlPK0ao2X9PqyST6NwSGpFHhDWFEtmOAUqM75jBbtCy3yE36xZhT gftv52zSMSsx6gB6RL2ZvGmGD/Hrmg2h8vqsGMyoU5Y+8bwvRwwfRGnwoqRxKoDmMbGZ sXglTlfHv17mKYfaQ7IuH8t5cPxmi9mzh9uLczT1s6KwnAavEfwf12PQLq7o/sq4x+MY D5vpteG0o7wlpMRqURVFJ1rNDNZVWJExYcbObxUeRE+qDo5RDif5xvgpt247D06KxWDP 8WxkBPRNHicsf4kwKXF5LYkFuN8Jkb7o5IqfNaXmgO4xCvyRnxSNeIuoGZl6XLYpEAB5 8+YQ== 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=MS29TzAnF/7DvK6A99faG+GGupmWaNY81pGDtnmH55I=; b=cKjkIzMePmM9AcJasbHcwmEaXv0Ew/MtflO3Dft4ZqTXswyEljsGeKW7dJM6PeuQuK yk2OjDhS7Pd+Y2Ac4jfF/CTOf9ofN57HnD3VZBBf1hX73SfqFbiLQoK5Yzv7UCbzcOlP o6cdZlBreQ4SCtEP+3XJltVbPVFdYsfmSzZXX9ZAvBcjxTI1xUPhfT8szVyDq5ejhGDs ZQAz/XGD33nphcHQOs+9BgMl3pXnlVwhCRB/Iqz7RVrrTZbxS6DhkOvJEkFp0i1sMb/w CcZv0xitQY9KyoBhKP9S5qbdmmC/uJicUv3kRbh9bevo5wXrXJN3wMZdjGVszljiQvfR wWCw== X-Gm-Message-State: AOAM530xpeLjybUlv4fuiHlHE2BQMwYI3eXrIfaTYiYts38qDUKVos4h fDxQUhf1sFjYsxrmp8cN6HRRBm+Kh7+VZw== X-Google-Smtp-Source: ABdhPJyaw/Lv+tJz8yAo+b0YkmOlRv4/AYFoO9LJH5Gz/c9YEYfjhOyUtl3g38Bdrmh4dPUZEZBTpQ== X-Received: by 2002:a17:90a:20e9:: with SMTP id f96mr6189859pjg.13.1595355780635; Tue, 21 Jul 2020 11:23:00 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 76sm21434031pfu.139.2020.07.21.11.22.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 11:22:59 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 21 Jul 2020 11:22:40 -0700 Message-Id: <20200721182242.5366-7-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200721182242.5366-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200721182242.5366-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 6/8] 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 f3f83c0cea37..2ea554ab01f0 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 Tue Jul 21 18:22:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74593 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 C9651A0526; Tue, 21 Jul 2020 20:23:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BD23E1C0CD; Tue, 21 Jul 2020 20:23:11 +0200 (CEST) Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by dpdk.org (Postfix) with ESMTP id 7B1541C0B2 for ; Tue, 21 Jul 2020 20:23:03 +0200 (CEST) Received: by mail-pf1-f193.google.com with SMTP id j20so11124540pfe.5 for ; Tue, 21 Jul 2020 11:23:03 -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=APxh6TEqjihvxLTreWgYh1aslJ6OO9srNzUtwxDnuNY=; b=S+xafrLpqlgMBr+utEcUBD3l8SNIZn5Nxp9eWdJH6khifDtWaq+crq4B1sWEMJTJld KVVg2MhdWY/nA65K9x7qs6nBw0QhRtMcOGzStQPi1X5eLVem8b1AdyEruDVEu3yU/Cgs e4RCKL+FhJM0OPCrBpoGV7Grv8uZrYKakPyiMj8bqLQFgd3h5IFNE5IOvTuqxRWvGqUi UBcASWViW0OpsTI9DVZFCndKRneR5fDD2DvhBVHk0NT65U00f3XA5ZXeWIebaQ7JACqf oH5cLbW4d9H2LCXXZkv3vu3+upsYyGOhEQKtnri3Wqokf692PrTZS0mEfcC1qictvAV9 bzhA== 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=APxh6TEqjihvxLTreWgYh1aslJ6OO9srNzUtwxDnuNY=; b=czFxeTNDXkZgHBFU11AEk6lZ5ChYy9NiXwB9Uu4qFgsEy5L8QjqnI1oUhje9YluX13 myLeSXOqt61mxiaeGdQOMHRkhVs3UxAm/cWABOrfJjbo9oLlup08LyqNHSu2qAb8phW3 7mW8glCf85Tv3flaw4sJc7xFPyOmXY7/dQtHebdJlR5n+YaovjaJL5GPlzbbix1fl40j HNeuakzH1kf81xq0lMSiD0jjv9nO/zWq7TjmtzJ8meryUFwY9d4+J+bUrhtweE+wOZ8v BuT7DzBepyohNlwOOm6YtDgfmx/fBB1ZB94SkVJLyhwkG0OKP/N+U9R7NyDAzecSu+R7 0jMQ== X-Gm-Message-State: AOAM5326eU/yEV4zDZt4ocTMNb7l4DYj4mB2Xa9HivPIaosZ5ME2xZN/ Kq8ISM+JedL8BBQozhNcTpAR+2yBBvQkIw== X-Google-Smtp-Source: ABdhPJxKFy0GDdLJJaq0ry5lSTDFi77m7PPvW1iu2OAjKjYX7SS4+m26uUKhshaAXInefJW3aZcepQ== X-Received: by 2002:a65:6119:: with SMTP id z25mr24567219pgu.52.1595355782166; Tue, 21 Jul 2020 11:23:02 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 76sm21434031pfu.139.2020.07.21.11.23.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 11:23:01 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Hemant Agrawal , Stephen Hemminger Date: Tue, 21 Jul 2020 11:22:41 -0700 Message-Id: <20200721182242.5366-8-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200721182242.5366-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200721182242.5366-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 7/8] 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 2ea554ab01f0..aa074dc7c429 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -673,6 +673,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) { @@ -840,26 +866,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 } } @@ -1165,7 +1173,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', @@ -1199,14 +1207,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); @@ -1214,14 +1222,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 Tue Jul 21 18:22:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 74594 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 B52CDA0526; Tue, 21 Jul 2020 20:24:05 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 277961C0D4; Tue, 21 Jul 2020 20:23:14 +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 086B31C0C0 for ; Tue, 21 Jul 2020 20:23:05 +0200 (CEST) Received: by mail-pf1-f196.google.com with SMTP id s26so11117619pfm.4 for ; Tue, 21 Jul 2020 11:23:04 -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=ayjpsRuSmwaP8iEWgmrAlJ/SL79IxKv+SuNzii3piHE=; b=oVr9WPcdQcgAWHYYGpQjH/tBoa7PTwmb4mCZ2ER1AQqCgOWGmC0gJ0B35RdHyJN+IS Z1PCDZG0BYDGcX/uV54T3zdbD/wyExPwnHHSy+k3tmao2rd6SKFGLJLGdYblIqJlwO9r 5KGO0ou0SH7pMICxu2CAPbggvmcUlg9pZqcWhbcrCWSZl+f5ViDTt8BLxjDFJlrS5/S8 6l0OkOtdjxaqfjErM5Dw+nQZAhayQAUp8Jdseg13RgNr5rVSejgLsmH/qWMNFsXV05pW hXCUgvZJbsKsjDl2rn66i1utCER6AWa4jUdrOy65jz9peOB7IJFpf3pDqEbDbLqe1K11 v4pA== 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=ayjpsRuSmwaP8iEWgmrAlJ/SL79IxKv+SuNzii3piHE=; b=KMM3lHQ6R2OvwhO16Oh40F9NXJ4vZtvi6wLtc6vZYT0JpeRvs0oPSfBNgbIYL/nrf/ liy8v18YtFr78fIUM/HOtI9cH2RIDeDaVy9B6CFXM0qNRm2+9Wh8M1RqefFd62MKUFMD Hqmy+7Jir3WueOYCWs6H7o4zIIbWkZ5uBi4jCX8X2ys9lnUIYOARgW+KT4C+hgHy3RFO JZs/bThEaNRADVu2AUc9urbkO4WQtwlq2UvSVoShKRnUIB1gZbT8kAvkUPmjIAW9bUL5 9c51FG9dAM+cl0S94J1bfENBnA0wwu2L5m227SkJZ1Q+PmubJxjAlcTuv1Uqe1JLx3PT XRPA== X-Gm-Message-State: AOAM531IlD7d1P7qoRcb476bVxg02JzZbRbayvT8Ofqw8smjhWdwrTP2 VIdVWDPLHWt18G9+7twKFE2Hdp0ZIZbVuQ== X-Google-Smtp-Source: ABdhPJyPYVrPMzXih6RbBYmvWY+z0/9BPaJ1g7/tMPJfvmX6WPYzkZRSlqavOyLj7uDhm+XTF8DEXA== X-Received: by 2002:a63:5013:: with SMTP id e19mr23775662pgb.68.1595355783613; Tue, 21 Jul 2020 11:23:03 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 76sm21434031pfu.139.2020.07.21.11.23.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 11:23:02 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 21 Jul 2020 11:22:42 -0700 Message-Id: <20200721182242.5366-9-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200721182242.5366-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200721182242.5366-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 8/8] 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 Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- app/proc-info/main.c | 94 ++++++++++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 39 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index aa074dc7c429..77a59bcefb9b 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; } @@ -702,20 +695,28 @@ show_security_context(uint16_t portid) 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; 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; + /* 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)); snprintf(bdr_str, MAX_STRING_LEN, " Port %u ", i); @@ -733,6 +734,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", @@ -1411,28 +1417,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 */