From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f67.google.com (mail-lf0-f67.google.com [209.85.215.67]) by dpdk.org (Postfix) with ESMTP id 0EBA41B703 for ; Tue, 15 May 2018 19:20:09 +0200 (CEST) Received: by mail-lf0-f67.google.com with SMTP id y72-v6so1405726lfd.2 for ; Tue, 15 May 2018 10:20:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=xj/tuyB5RRBncG3HCkK56e+HCT1ofkQ6zGGQseMHxXg=; b=PX5fH4LikAVR09P5vpjSH/nf/zCmx7iFpjtzv112eSX6kaiZ9LpAxtt/e4TwK3tE5y s2uBBIjNkN/tNnvPLVZWy7HssD2PgtQS3XfNR0XgWE78RvBYo1jWaGUM0J3OkLXJiL4G ZOAv0B2+Mhsw48fD4mQZmTicrbv99hdbt+UdSmhxE49HdBY9n88a37UVxG986AAH7vjn 4oem6IKaED1qYMU7Rsqx2aWM+xStnYi6ZxEMc3NeNWBlHbmPhv8SFGOJeaguF9TKgPsd JAwlyrgmHXSngFLX+cyIPIHgRAYyrl3hoFnnQh+tWNAZGcxGkqfb0sPUJfUO9CjFvYlA Aanw== 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; bh=xj/tuyB5RRBncG3HCkK56e+HCT1ofkQ6zGGQseMHxXg=; b=tQfYUBKJFQiC8nMteu+/J16T953UFg6p2bC2k35z4/BvPlxToVpXY5RxUKvEdPYrOS aEpGTyGoBu/tS+xPwKWsH3v5A/iTEVUjQMshwKwGa6fbpeHYDxFDbSreZH2xBTO7OQEs Vc4nyVC5hN8VgOkUpmuG2x5s4Ynmy9q/lEmrPoNyfMMJVkGNyowsmkg1/MTbIL56iXco eXf1bO6o7Jh7w4E8b+i78RdKQv+jaDP4eo70Y+VtwSO/eEdv0rjMh6nhcyIPazffOjrd H8osk/nDTlpJj11bLX3ubPlPWNursAzCf9I8zU7Hmm7OYOYA8qdBw/no5JesRxa3/Rnp FLIQ== X-Gm-Message-State: ALKqPwdyR3Jk19O+dO2HcHBbdbnMYydIVmLSA3QGH7F5/nhXsI5iXW+Z nvKXdKpWVcveun7Ba3Vv9Vs= X-Google-Smtp-Source: AB8JxZoflIiPS2mAbnZWl443hv0ISQXUlAZXke5DzaCIZ+mLBgU45nkeJE5rXSK5Nt1SOJkj3cI8Gg== X-Received: by 2002:a2e:3112:: with SMTP id x18-v6mr7434754ljx.107.1526404808561; Tue, 15 May 2018 10:20:08 -0700 (PDT) Received: from localhost ([2a00:23c5:be9a:5200:ce4c:82c0:d567:ecbb]) by smtp.gmail.com with ESMTPSA id p20-v6sm83141ljj.23.2018.05.15.10.20.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 15 May 2018 10:20:07 -0700 (PDT) From: luca.boccassi@gmail.com To: Matan Azrad Cc: dpdk stable Date: Tue, 15 May 2018 18:19:16 +0100 Message-Id: <20180515171933.12882-15-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20180515171933.12882-1-luca.boccassi@gmail.com> References: <20180501104509.17238-46-luca.boccassi@gmail.com> <20180515171933.12882-1-luca.boccassi@gmail.com> Subject: [dpdk-stable] patch 'app/testpmd: fix valid ports prints' has been queued to LTS release 16.11.7 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 May 2018 17:20:09 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/16/18. So please shout if anyone has objections. Thanks. Luca Boccassi --- >>From 7b0aba99264016554e6583ba3d5df5800a7dd2b1 Mon Sep 17 00:00:00 2001 From: Matan Azrad Date: Thu, 3 May 2018 10:31:43 +0000 Subject: [PATCH] app/testpmd: fix valid ports prints [ upstream commit 8f3c4176fc11ed10dac9384a33ca470f3ef52c6a ] There are several cases of an invalid port data access that causes the printing of all the valid ports, for example, when the user asks to receive a port information of an invalid port. Wrongly, the port with id 0 is printed in all the above described cases, regardless of its validity. Print port 0 only if it is valid as done for the rest of the ports. Fixes: af75078fece3 ("first public release") Fixes: b6ea6408fbc7 ("ethdev: store numa_node per device") Fixes: edab33b1c01d ("app/testpmd: support port hotplug") Signed-off-by: Matan Azrad --- app/test-pmd/config.c | 36 +++++++++++++++--------------------- app/test-pmd/parameters.c | 12 ++---------- app/test-pmd/testpmd.h | 1 + 3 files changed, 18 insertions(+), 31 deletions(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 69fa04be4..130ff1480 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -163,15 +163,11 @@ nic_stats_display(portid_t port_id) struct rte_eth_stats stats; struct rte_port *port = &ports[port_id]; uint8_t i; - portid_t pid; static const char *nic_stats_border = "########################"; if (port_id_is_invalid(port_id, ENABLED_WARN)) { - printf("Valid port range is [0"); - FOREACH_PORT(pid, ports) - printf(", %d", pid); - printf("]\n"); + print_valid_ports(); return; } rte_eth_stats_get(port_id, &stats); @@ -245,13 +241,8 @@ nic_stats_display(portid_t port_id) void nic_stats_clear(portid_t port_id) { - portid_t pid; - if (port_id_is_invalid(port_id, ENABLED_WARN)) { - printf("Valid port range is [0"); - FOREACH_PORT(pid, ports) - printf(", %d", pid); - printf("]\n"); + print_valid_ports(); return; } rte_eth_stats_reset(port_id); @@ -325,15 +316,11 @@ nic_stats_mapping_display(portid_t port_id) { struct rte_port *port = &ports[port_id]; uint16_t i; - portid_t pid; static const char *nic_stats_mapping_border = "########################"; if (port_id_is_invalid(port_id, ENABLED_WARN)) { - printf("Valid port range is [0"); - FOREACH_PORT(pid, ports) - printf(", %d", pid); - printf("]\n"); + print_valid_ports(); return; } @@ -445,13 +432,9 @@ port_infos_display(portid_t port_id) int vlan_offload; struct rte_mempool * mp; static const char *info_border = "*********************"; - portid_t pid; if (port_id_is_invalid(port_id, ENABLED_WARN)) { - printf("Valid port range is [0"); - FOREACH_PORT(pid, ports) - printf(", %d", pid); - printf("]\n"); + print_valid_ports(); return; } port = &ports[port_id]; @@ -554,6 +537,17 @@ port_id_is_invalid(portid_t port_id, enum print_warning warning) return 1; } +void print_valid_ports(void) +{ + portid_t pid; + + printf("The valid ports array is ["); + FOREACH_PORT(pid, ports) { + printf(" %d", pid); + } + printf(" ]\n"); +} + static int vlan_id_is_invalid(uint16_t vlan_id) { diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index 092339174..4a74ada22 100644 --- a/app/test-pmd/parameters.c +++ b/app/test-pmd/parameters.c @@ -370,7 +370,6 @@ parse_portnuma_config(const char *q_arg) }; unsigned long int_fld[_NUM_FLD]; char *str_fld[_NUM_FLD]; - portid_t pid; /* reset from value set at definition */ while ((p = strchr(p0,'(')) != NULL) { @@ -394,10 +393,7 @@ parse_portnuma_config(const char *q_arg) port_id = (portid_t)int_fld[FLD_PORT]; if (port_id_is_invalid(port_id, ENABLED_WARN) || port_id == (portid_t)RTE_PORT_ALL) { - printf("Valid port range is [0"); - FOREACH_PORT(pid, ports) - printf(", %d", pid); - printf("]\n"); + print_valid_ports(); return -1; } socket_id = (uint8_t)int_fld[FLD_SOCKET]; @@ -429,7 +425,6 @@ parse_ringnuma_config(const char *q_arg) }; unsigned long int_fld[_NUM_FLD]; char *str_fld[_NUM_FLD]; - portid_t pid; #define RX_RING_ONLY 0x1 #define TX_RING_ONLY 0x2 #define RXTX_RING 0x3 @@ -456,10 +451,7 @@ parse_ringnuma_config(const char *q_arg) port_id = (portid_t)int_fld[FLD_PORT]; if (port_id_is_invalid(port_id, ENABLED_WARN) || port_id == (portid_t)RTE_PORT_ALL) { - printf("Valid port range is [0"); - FOREACH_PORT(pid, ports) - printf(", %d", pid); - printf("]\n"); + print_valid_ports(); return -1; } socket_id = (uint8_t)int_fld[FLD_SOCKET]; diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index 9c1e7039c..81034d0ea 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -599,6 +599,7 @@ enum print_warning { DISABLED_WARN }; int port_id_is_invalid(portid_t port_id, enum print_warning warning); +void print_valid_ports(void); /* * Work-around of a compilation error with ICC on invocations of the -- 2.14.2