[1/2] app/testpmd: block xstats for hidden ports

Message ID 20191101201255.4853-2-stephen@networkplumber.org (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series xstats related patches |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-compilation success Compile Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Stephen Hemminger Nov. 1, 2019, 8:12 p.m. UTC
  All the other testpmd commands block access to devices that
are owned. Looks like xstat got overlooked.

Fixes: bfd5051b43b5 ("app/testpmd: new command to get extended statistics")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 app/test-pmd/config.c | 8 ++++++++
 1 file changed, 8 insertions(+)
  

Comments

Iremonger, Bernard Nov. 4, 2019, 11:25 a.m. UTC | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Stephen Hemminger
> Sent: Friday, November 1, 2019 8:13 PM
> To: dev@dpdk.org
> Cc: Stephen Hemminger <stephen@networkplumber.org>
> Subject: [dpdk-dev] [PATCH 1/2] app/testpmd: block xstats for hidden ports
> 
> All the other testpmd commands block access to devices that are owned.
> Looks like xstat got overlooked.
> 
> Fixes: bfd5051b43b5 ("app/testpmd: new command to get extended
> statistics")

> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

./devtools/check-git-log.sh -1
Is it candidate for Cc: stable@dpdk.org backport?

Otherwise:
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
  

Patch

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index efe2812a85ef..ad926d573b81 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -238,6 +238,10 @@  nic_xstats_display(portid_t port_id)
 	int cnt_xstats, idx_xstat;
 	struct rte_eth_xstat_name *xstats_names;
 
+	if (port_id_is_invalid(port_id, ENABLED_WARN)) {
+		print_valid_ports();
+		return;
+	}
 	printf("###### NIC extended statistics for port %-2d\n", port_id);
 	if (!rte_eth_dev_is_valid_port(port_id)) {
 		printf("Error: Invalid port number %i\n", port_id);
@@ -295,6 +299,10 @@  nic_xstats_clear(portid_t port_id)
 {
 	int ret;
 
+	if (port_id_is_invalid(port_id, ENABLED_WARN)) {
+		print_valid_ports();
+		return;
+	}
 	ret = rte_eth_xstats_reset(port_id);
 	if (ret != 0) {
 		printf("%s: Error: failed to reset xstats (port %u): %s",