From patchwork Tue Jul 28 19:13: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: 74955 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 1CDC9A052B; Tue, 28 Jul 2020 21:13:52 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AD1051BFF4; Tue, 28 Jul 2020 21:13:46 +0200 (CEST) Received: from mail-pj1-f66.google.com (mail-pj1-f66.google.com [209.85.216.66]) by dpdk.org (Postfix) with ESMTP id E749B255 for ; Tue, 28 Jul 2020 21:13:43 +0200 (CEST) Received: by mail-pj1-f66.google.com with SMTP id k1so396872pjt.5 for ; Tue, 28 Jul 2020 12:13: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=BFlj8i6p9Fb6IxNUvnhyQZDVQtNv1FUzx0hry/PkhHc=; b=dypQKNZ5zDMF049tLFdpioU/crY5+TLFvvrhmawblzgmfeQbGMyl8g3To5ddPsZS+d W9kkUajkTatU5Fow7SWrMczfDNKRwpH+hHep4w4KSvV7N6nNYc7veiXX/8LtI8Rgp6aX pzbqvuAhi8/FqolT7FdEYXP5vgLEEYThmHOx62iuboSiuzEXVyPimAHfpLgsE/Z5YtOh 27qSiRVl9Fj1KBx5qU6MOW1OT5WcOD0zkddMKSV63DeNFDb5JXhtvT1YG49KbhTPyYJ3 Upk6g5062TojdTM9zRlTKpfwNXzworwzc858n13/7PurG/FuUsCD3qKCPYlg8y5GB1oF W52w== 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=WAC2CNuz3YvOnX2dlblquwEcZx90qRV27+aJRay56Fnuoq59cx/ol3fdeur7G0W/6U CQXiEXnPVwwCvWRKaF6LOFXHobhmTad+K5lj5f/8idNA81v68M7cZZeZOV3G/Zf1H5gI Amr+ssH6UVuSX463UMFZR/RGR2EWHQi5Zg3jTpmkgZsVihHnd6DIHynOT0eX8BYj2Thx 3Y45wfWNuzvAuJppD/uMN8RUAuifneNiUsqHpE2nbDZly6FVZLqMXrfbawbm1e66h1f+ 3YHkewek7P8lS08RKGv53XiDYd/PNvFOzOFXhHYIeZwRP9Ebm85AsA2T/rRd/2QME3l6 2WGA== X-Gm-Message-State: AOAM533I8cSYumcnXU+ISnccv9S3eQ6Oh7XOVUciiHWq0N5wssEH2/o/ zUpppO+Wj4g0I5tC9hWiLbsupLa06mY1Og== X-Google-Smtp-Source: ABdhPJw98RHAzORSM/pM1z56luwPd/FKsT3svnBZLvxK+DaP/FjHyjLE53+nKqoOhsFKL/fcJkeFSg== X-Received: by 2002:a17:902:a9cb:: with SMTP id b11mr25054009plr.1.1595963622658; Tue, 28 Jul 2020 12:13:42 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id x66sm19045748pgb.12.2020.07.28.12.13.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 12:13:41 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 28 Jul 2020 12:13:23 -0700 Message-Id: <20200728191330.20864-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200728191330.20864-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200728191330.20864-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5 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 28 19:13: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: 74956 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 93060A052B; Tue, 28 Jul 2020 21:14:00 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 437C01C012; Tue, 28 Jul 2020 21:13:48 +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 9D8EC1BFF3 for ; Tue, 28 Jul 2020 21:13:45 +0200 (CEST) Received: by mail-pf1-f193.google.com with SMTP id z188so3656139pfc.6 for ; Tue, 28 Jul 2020 12:13: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=1iSNtlfJy6gteAYsSYrqpxFpYkOwC+ZDBEYUD2FQ/IY=; b=q73f+Y/b34Sjak12zJprqloRQr7zM7IFzZw2hup35H9VzW2WotuPwJWLhZ0/0pYJTU z6d/putCSMCI27i4qSmHGyv0WQSLMiuYHG0RKt+YH1o1NyPfSdjOq9gtYb7jQzT93DuY VDpO1C+lbe3BEGiAT8K65338eWnR83kVuAvzbpCR6KWvLSXClpVGOXliMgzvbw9EOK2I o1werQtzN4PPN3OItuGW2IRpm5fxMrhh8dkJE517FCGTM5ZPwWXw9Jp/DdbTHn9NBDDr j28vgU0aritPkLTU/InsqL4Z+/yh7JwMmH/Z0gDaHySgWknsWj2jK8jqGzBmCywaicev keeQ== 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=Ae9NHv03KrTJb8IE2vbvtrPE5NFDH48N49A/F32H0I5bmkIaeK+fltoytKQqBgACqU 40N/20eTS+jeydcquad7gQ0Qw2liBR8L/k/nxsi57Kjrga23qpTb20n0wg8e4rHCiecx 15iLDH8xFz2WS3DkHf2s3tXFiEPjLc844ganqot8UF+uMl/KuvmwOrG1jXedAwQm8Hx+ KMlPtHq3ksV3LyeVJy3UF3SNpxOOO5urVu4JcIgsHhz7rxn21C0Po2DpsRTkj0iGf4u7 4gd6iH/ilwKp/4W68y1L1STxH9acZ0rxmKcarhcOhp8o5CjYeLY8eassl1F3Ufa86o4c tonQ== X-Gm-Message-State: AOAM531s76ZWS5ft/gUa//tlW52tUspHDPmwChh+yE6BcwqU8f5/T5vM PXjycAHNoiBsbFKRoTrE/2EgQIIHeXp7Hg== X-Google-Smtp-Source: ABdhPJzrKLRxUnUzO9hnP6rCQv6b9SAbkVUgq8jIbD7V5OhQMhvIsF8jELW0hAonftbOO5ZcB01P9A== X-Received: by 2002:a63:182:: with SMTP id 124mr24286309pgb.288.1595963624114; Tue, 28 Jul 2020 12:13:44 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id x66sm19045748pgb.12.2020.07.28.12.13.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 12:13:43 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 28 Jul 2020 12:13:24 -0700 Message-Id: <20200728191330.20864-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200728191330.20864-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200728191330.20864-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5 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 28 19:13: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: 74957 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 99422A052B; Tue, 28 Jul 2020 21:14:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CD01F1C02E; Tue, 28 Jul 2020 21:13:51 +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 B21A41BFF5 for ; Tue, 28 Jul 2020 21:13:46 +0200 (CEST) Received: by mail-pj1-f68.google.com with SMTP id a9so402428pjd.3 for ; Tue, 28 Jul 2020 12:13: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=/1V6xYLK+ALnDYRVtd4wKn0htZPkeHIvu9qpotfK7So=; b=wyS5ykbgiVEeYH7w+nds5hqGkfX8Uy3ad3aKtMnJk3qzIohfV8CZsr1UoV0inQk6Qk cgL4n4kWq+TDPjqxG7+20UEMXasuB6Xwqh+ZtrRuGht5V498w/EjolStamXBc8s/Bwsy yPkCTHM699yXeYLAp7XrbQrOxzDg9xJlmm1BwDWa9H51t2Fj5JBbuJY0IGW1sKEN3CP6 gncDbsFGqxoFWeTmfjO4xkoq8r8PRbStSIC7cdaEGvDE/MaBJt5zeYpBy+FHtPC898SU f6lrtMSY8O7cdxUOrDvDcl+aChaEu8cuZaLkAvFRlI0ItwQMrEp1rmetRPcg9K4sfcB3 ZJ5A== 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=YQR4gfgZeEiZOLZ1WONFu14B6tg51wZq4ecUced/LCPavFpqtaBLWSY9fIUGENg5g3 zIbRqxxTP8SZvQGpsJvBmZT/s7U734Y66mgEW4LCLIl1IE4Umuob2Xv1sR9D7++b7hX2 YfhLo0Lbl5N+QVaGrooYHqEKovUVKjtNF/DlvKfFGvOwasoyWXY7xBQ+BT8fhyZlf7rF W2cOnD2yx1xCVxO3B3EELxJemEj+yY8siDbCnMoXJKBRhc2HVsbIVKBV9gmTT2MVYIDe ZzURW7pMqWxR7l6lZhtBANCYsvxElKkqSEEpz2oP9DXeYNnPqCgGjpdDNPmxbfHc5VdJ ElCg== X-Gm-Message-State: AOAM533nRC+Z8XG2rOLFzqrdaqtj0KUDxXvTvUUiqTjKEEjuTqaDiUyS Tozcj8JR9Hh308F5gjcg0QL76tJE1nZagQ== X-Google-Smtp-Source: ABdhPJxXqBqNSvD2jWZ8qKphSJ7mZHG5pLVoPTJ7c1CoujL1lBwsRfUdKU9G5ffMPrVhOUGkEsAz5g== X-Received: by 2002:a17:902:b20a:: with SMTP id t10mr23674797plr.185.1595963625530; Tue, 28 Jul 2020 12:13:45 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id x66sm19045748pgb.12.2020.07.28.12.13.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 12:13:44 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 28 Jul 2020 12:13:25 -0700 Message-Id: <20200728191330.20864-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200728191330.20864-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200728191330.20864-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5 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 28 19:13: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: 74958 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 7D070A052B; Tue, 28 Jul 2020 21:14:20 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 159111C0AC; Tue, 28 Jul 2020 21:13:53 +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 1DEF41C00D for ; Tue, 28 Jul 2020 21:13:48 +0200 (CEST) Received: by mail-pj1-f67.google.com with SMTP id lx9so454424pjb.2 for ; Tue, 28 Jul 2020 12:13: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=aqlSZ9jLKuxEHylb3JSTjYPwvQoT1r6AkVy+DoW0hBM=; b=F26NHpbckhfZEsUrSP5Za955Sjevs8dJMTQjoVf5PjFc6tRfmsKVQnqZ1WQA5Y7UXs fa4HkZ7nq3oSpmBAQCScwRDls397k78DW3z3yuWt66MNZnmK21zEckmIrxZjDbhNVGcK Eio472CE4DEGuMlPaVtMI1IVf+q+CnF/h8DQVp9ZnJk4yZhni/fHDFHfRK+4KWXSS/V8 1XOVsfpAA2T85CjgDkPJH6kjq3H7edYAXNLD+dSxm+iZXkj5Z841MB87GbtgAgq0e1ce y/iMC4Yz3eGe7hqhzyErZxqskfMk4fGyc5XJl4YSjcKcdUfsVwQzhgGSfqhGKYOnS1mk qgAw== 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=aqlSZ9jLKuxEHylb3JSTjYPwvQoT1r6AkVy+DoW0hBM=; b=DYa0G3ZN6WIV73MqOBoUArHwwy1ac6axgEsFWKP1qbqmpeSLFvcemqvswnCPwXZ8YR UwZgQN9bsEp6e/y0JKv+HbhuW8rJEgp4VTxAAJw34qagADz5GQwDvp8eY/WoKxlNgLWQ KYrFUGhIE+sRU3YlKXfCpccnJcK86khiS2M4RiTRXC9KpLewifS77Bd/hQeT4hExkvHn IlbkwS5WJ3Nl7uNzFQIZ7zHTG8uNCGlIwJ22eOO36Bu5tLZqIeRu8NqIFs1QSteRm2un JUKYJCiE5cdW5sRy5TTpa7+JU+A9kozra2TSLeE2jEHGYV52siEVpUjiMJMhPQ8smny4 p8pw== X-Gm-Message-State: AOAM532VslcEH0etHtlF2N0NPw52FECPF/qMclaoNWKSg/PGjaqWHrGb h3PUmsMgeUf+ff4RmIkFwupXh2EZqpC74A== X-Google-Smtp-Source: ABdhPJzO7giEyWS3vU38b30CiypG7h+L2t/SwoHInE5tkgvmF3QNrkJlz1Am7cq83dV4Lc8CVkDiEA== X-Received: by 2002:a17:90b:3713:: with SMTP id mg19mr5735503pjb.3.1595963626852; Tue, 28 Jul 2020 12:13:46 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id x66sm19045748pgb.12.2020.07.28.12.13.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 12:13:46 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 28 Jul 2020 12:13:26 -0700 Message-Id: <20200728191330.20864-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200728191330.20864-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200728191330.20864-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5 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 * Show queue mempool name Signed-off-by: Stephen Hemminger Acked-by: Hemant Agrawal --- app/proc-info/main.c | 100 +++++++++++++++++++++++++++++++++---------- 1 file changed, 78 insertions(+), 22 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index e4914191bef9..28838be882b9 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); @@ -709,12 +765,12 @@ show_port(void) 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); + " mempool name %s socket %d\n", + j, queue_info.scattered_rx, + queue_info.nb_desc, + queue_info.conf.offloads, + queue_info.mp->name, + queue_info.mp->socket_id); } } From patchwork Tue Jul 28 19:13: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: 74959 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 E7A72A052B; Tue, 28 Jul 2020 21:14:26 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 782C71C0B6; Tue, 28 Jul 2020 21:13:54 +0200 (CEST) Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by dpdk.org (Postfix) with ESMTP id 7A6661C027 for ; Tue, 28 Jul 2020 21:13:49 +0200 (CEST) Received: by mail-pg1-f193.google.com with SMTP id l63so12573081pge.12 for ; Tue, 28 Jul 2020 12:13: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=9a1Muj0yhg5qN2YZyeRJeEfa7ViIacgWiKYyExxeKOY=; b=HmXyD6C2EtI228lvC2Y6hwA8P4XHhMAjYx759sTKUJxxcBZQnehCa8e/AnLN1yEUw5 d7v3c1p6fjNQNwnAINhXPGWAl23W0NzAcam+WOhdCgaGPqpj9ISsYoypl/8RDLCCERrq t1dH0v8f1WdQj8CT6vPhHjvsixr8c5yUT+SGTemvzW9xE+YmVWv5R5rOdagNkRLeXEVS qRQgRQY1womKA/rxwd+p4SyTJripmDoobkOm7Ym8wbK/gjwlQI3kt9piK+ZdLGH+4xyS XNu/HCSF3vZ3KrDsT4TSuHnLII+8i+9RiZBbWbO29gYLDQx+Li54H/S5HgPhYfxFJaLZ 0edw== 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=9a1Muj0yhg5qN2YZyeRJeEfa7ViIacgWiKYyExxeKOY=; b=qZpxsck3tSUmPFXLuEhpEjlQCozEzxOM4Rru/UIjWa/7B12JwDxu4tfOGLrjmcwNux n+Bu/1d9PPMircnjEMAx2+0YPqf9lNupvIKJpHB51XUMYcmXkUMGb6ssFvjiC6HYIdJA ZUwv/VG1q6k7xqhs7BsLA1rSRcbqLqrFfBk9DwsY3/qsNCmktvhVVyFXo0Z6wk4wbhyi 8RJC4FCL4iG/ZL8ViYitPoJssWv8om4khPSFT0YCqDPINnnLV43XjiVVZ64+jkjm0BmV VW4EcEtEQkKFLgYPUnKIpmfZJBHqiUhsN+LVwrsglBK1KZohyWv5aYLTj+G/kXZO9xcs YC6Q== X-Gm-Message-State: AOAM533DaS+dCuxDprGIFdASi6QbvA/NTXaSBAIo65uGhISGuxsPCIbw WUjAJ9/EYgFE4NtboYpOvQ9bCkW9phtTLQ== X-Google-Smtp-Source: ABdhPJwqGMb0Z+ha8S6d4ORyuLJ6imjDW+PXbdh6PhMZLuYsZ3rnnms9xI0+DqDku/yC/xZF4py+Qg== X-Received: by 2002:a05:6a00:2283:: with SMTP id f3mr25642506pfe.89.1595963628298; Tue, 28 Jul 2020 12:13:48 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id x66sm19045748pgb.12.2020.07.28.12.13.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 12:13:47 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Hemant Agrawal , Stephen Hemminger Date: Tue, 28 Jul 2020 12:13:27 -0700 Message-Id: <20200728191330.20864-6-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200728191330.20864-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200728191330.20864-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5 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 28838be882b9..b2011c448577 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 28 19:13: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: 74960 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 41EC9A052B; Tue, 28 Jul 2020 21:14:39 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4CD4A1C0BE; Tue, 28 Jul 2020 21:14:00 +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 1EED41C027 for ; Tue, 28 Jul 2020 21:13:51 +0200 (CEST) Received: by mail-pg1-f194.google.com with SMTP id o13so12604068pgf.0 for ; Tue, 28 Jul 2020 12:13:51 -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=7637U8yBp2t87COCx24Gi+DXcnULS9DvOuhNOvJL/jc=; b=obqzdGFq3qTDgzcNHH9jJ5zpW9cRZP8D3FdDgqtcw2XcNU2gEkOnV5vmzY5AmytBax vX1jnKaAVa1IMmpvDNyV++Wl4gEfOw/4JFYKJ2stq3Nb8PmaYE1jwGvJvPVTb2dWtDf0 OGFrU2pSWRaAZrKxNKGoLK/9VC+foy12L5kn6N6qQK556+nS8MJg5pcgpGPB0099WMoQ OTPONzedbECkmGsHiL7+H5xootaONK1MV30sP2EmemWfl7pIIRobS4Pye345ObO54KBg Mpcc+7VoE1b5HzxompYLOt8HNucrIvLfj6+GHomTFGb9QmAhvs26b2XBK2WYKK2kn7wl mgDg== 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=7637U8yBp2t87COCx24Gi+DXcnULS9DvOuhNOvJL/jc=; b=RnkIbZUyRdr4eRrhxL3YMwOl3ssxd3qX2UxobuQCoN1j0mZrQuHsXazL0lHPlNSSwh 4WmllKyPp/HoH8qJayJ7vEcQXvb3hhY2lLv3f8Yu1pSrnQc/tk4x+c7CNsdP1J1PY7MV BUlJTB96qtv8L9XEjO48/5cgIZ2UjwNHBIwNx3X5yjUdIHBh8MneWOwBrbDPSzaa4ECU wsFc2XcrbHO+ewV0rspOROadnfduKQW9cajsuHgJFy+H6MIKXczL20ByatYsWQZOvI6l oT95DrG9Rg9aKFPqpfx2BbtFp25r4A4/RmAPT5Q0KIR5shtnE/Ts5qEXxz6Lu4m73xk7 YzXQ== X-Gm-Message-State: AOAM532oLovNclb8VgVSywD5QxUqeRLEsgK/hsmSFwje1D10T5araFvH 81y9UB925NQMgd9KFBzcwnDRuume30jNjA== X-Google-Smtp-Source: ABdhPJyiOCMZTjmKm1WGvyKeqwMOa0/I4bXF3k0m+fVuCAIgKvWVoe+v6QP1WkVaU5Pqeq6nq2cZMg== X-Received: by 2002:aa7:8096:: with SMTP id v22mr27214866pff.132.1595963629901; Tue, 28 Jul 2020 12:13:49 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id x66sm19045748pgb.12.2020.07.28.12.13.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 12:13:48 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 28 Jul 2020 12:13:28 -0700 Message-Id: <20200728191330.20864-7-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200728191330.20864-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200728191330.20864-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5 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 | 80 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 67 insertions(+), 13 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index b2011c448577..4e2e647498ff 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,55 @@ 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 name %s socket %d\n", - j, queue_info.scattered_rx, - queue_info.nb_desc, - queue_info.conf.offloads, - queue_info.mp->name, - 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" mempool %s socket %d\n", + queue_info.conf.offloads, + queue_info.mp->name, + 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 28 19:13: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: 74961 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 2080FA052B; Tue, 28 Jul 2020 21:14:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B53C71C0C6; Tue, 28 Jul 2020 21:14:01 +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 E700E1C043 for ; Tue, 28 Jul 2020 21:13:52 +0200 (CEST) Received: by mail-pj1-f68.google.com with SMTP id gc9so405990pjb.2 for ; Tue, 28 Jul 2020 12:13:52 -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=eZjTWwbqvqVSSxQh00ui5CqRv4SW9nnllNk3zygOnFI=; b=d1wxHGzlPRDfepVwK+wyIrpWHEKiL8BiqhAI9SdedxYzo+xYFkwle8PcKDWCMHVZQF XbBcUhHASmtU2NOzaMhB5XdoIISUMZjcMSXsFWMg7Fy5OVnVSBAGBL1aEjacFGJorTo5 MBUfj8KL+x0uxtsaMp8cisb6tGWnlAWc+IkLI7TTITzcDyLXp8UI6wrI9WRPlAFpWs5k ufr+r5mvG/iLEaY4RuhAC66AUaERJIT6dlQWEgJdB4v99RtaojHB5KxVIfzTQJ8Zrzqo k6/HJtLSetmY+RzNJmKdpqY5jdAgso7RCbO9Q/OrOtlOZA/66f7aYuKwxbKwuDMgchKG lqMg== 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=eZjTWwbqvqVSSxQh00ui5CqRv4SW9nnllNk3zygOnFI=; b=Hl8+dI2jkr9gnYdNBJt+xGBu4SLWfkkwxCNo3OLvtpxvhnaE9fzWLo0xQ2GH+glDgN BOtTn7rdF+lGE4wtu5uGU8GQvLYD+XUtNxGMgXrofFiAlvLph7OC9FPz52Dx9IocxQeF KGEGAE279Fklw76Jg95JamoJmPO5gdtef250P7wlOBpLBGM6XP3tLPhTLR9BQ6Ri2jSr f0zzUgrEdRdc/ZAQDEajh80NsPhD3esd/q2CFRa8/LCgEMNKKbMITU119/Po1RJAnfCR q4jqpZRZzsfAnOZHlDRRVyEqUDV2b7VKafQFFGyRe2x81TfhSrsSvGOjVPIbU070/QLp UkZQ== X-Gm-Message-State: AOAM533q1cCCo0ikcuKiR2mOMXi4xjSkSP4OjH+PhhlQ0mUFPvMZoj4D HJmseihieJ0BIhblX80GiWtWSE6CrrEURw== X-Google-Smtp-Source: ABdhPJz8ErYrCf1ii/Bg0QIeyFXCXupmvGocuPji8wkG66+7SjtEh7kc22sQWe5N5ujsCmz21PM0UA== X-Received: by 2002:a17:902:7689:: with SMTP id m9mr24101276pll.240.1595963631642; Tue, 28 Jul 2020 12:13:51 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id x66sm19045748pgb.12.2020.07.28.12.13.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 12:13:50 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Hemant Agrawal , Stephen Hemminger Date: Tue, 28 Jul 2020 12:13:29 -0700 Message-Id: <20200728191330.20864-8-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200728191330.20864-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200728191330.20864-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5 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 4e2e647498ff..282af670d20a 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) { @@ -841,26 +867,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 } } @@ -1166,7 +1174,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', @@ -1200,14 +1208,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); @@ -1215,14 +1223,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 28 19:13: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: 74962 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 DDA91A052B; Tue, 28 Jul 2020 21:14:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 39A781C0CE; Tue, 28 Jul 2020 21:14:03 +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 543F71C0B4 for ; Tue, 28 Jul 2020 21:13:54 +0200 (CEST) Received: by mail-pl1-f194.google.com with SMTP id q17so10429609pls.9 for ; Tue, 28 Jul 2020 12:13:54 -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=xcX9eNGEAnm0RHIiNky2usP0Kr61Z7Vlgzqb1yCT9/E=; b=FGwin6pwbA+wE2vb0h9Gpchm7VDsEd3GSqzT7dFLb6eSc+WxK4Pv54jCpVoVYZkUrZ VrJq4pJUoj8KuSEUy5I5fLNYaRRF/jjfmpj9joPejS/cPCZ+fD0GVeroMyrhnya9bY/g qWyNMBWX45gCTHW600W3qIwN5H6prNPgVe1/AA/0Bqj1/mPy/751+qsywHDv62ZuXWjH lvioOefpYNrlIjbsz4FSctgyUBrdkcR76aA+c+N1mWDrnHT2THUkES1AqOzNqLInnZxo mq8TxssZ/LyrlP8z5DDH9cxfbMyzMnwawzUKcFFcoYG8C/gbZo4skLbB2o94/fu+F8RP 7yWA== 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=xcX9eNGEAnm0RHIiNky2usP0Kr61Z7Vlgzqb1yCT9/E=; b=XFzzWMZJDSf3gd3uWKrMrGkhpkuzhoTlYQB2PPLM+UdBfdVatmSdaYGKdNwgdFeXhF sQ6x33wjjaMvh4oiAqYk/v/avql0R1XeShztXEyunkep7UIMMOFEMlZCjuSrCMyYMDuN 76SztF62AV+C/zyKejXOZ7Yq2tmJPVyQk+/VXB+/vYwYlvlqMbHsv8MyJVh9PdEjDpDc 8V+KdJvPH740Yj7G4uIJouwWh9yHc4wP02NIpjt3L+0WOxAz7LNwwpfbt4hbmxwMvZjl sUrwAtNJWsLOjmfOu5M9nI/FAb8kwG7Wq0IzVfDkH0sylhwTDuKl6k0W5LSn4rTU8+X+ uPuA== X-Gm-Message-State: AOAM530Hdk4DovumaGQZBjYuFEnFNqZ7uHugCHebEA4R8UqtyhG8Szml omTeK5w12tAw9u1Z3/OqXhDpRGAqRoDI8w== X-Google-Smtp-Source: ABdhPJwI9Yio+xq/1Awfu48Qd48P2eFHZYDNZ59Fz/pKJnQZCu6CTDJWRmfCmkaTHtFGsdxMhXZRSw== X-Received: by 2002:a17:902:6b43:: with SMTP id g3mr18997469plt.303.1595963632991; Tue, 28 Jul 2020 12:13:52 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id x66sm19045748pgb.12.2020.07.28.12.13.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 12:13:52 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Hemant Agrawal Date: Tue, 28 Jul 2020 12:13:30 -0700 Message-Id: <20200728191330.20864-9-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200728191330.20864-1-stephen@networkplumber.org> References: <20200506193741.24117-1-stephen@networkplumber.org> <20200728191330.20864-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5 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 --- 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 282af670d20a..f78cc0f59c74 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,19 +695,27 @@ 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)); @@ -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", @@ -1412,28 +1418,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 */