When the "hide_zero" parameter is parsed successfully in the ethdev
telemetry regs command, the else branch unconditionally resets
hide_zero back to false, discarding the parsed value. As a result the
hide_zero option is silently ignored.
Remove the unnecessary reset so the parsed hide_zero value is retained
and passed to eth_dev_get_port_regs().
Fixes: ba4d57bd849d ("ethdev: support hide zero in registers telemetry")
Cc: [email protected]
Signed-off-by: Chengwen Feng <[email protected]>
---
lib/ethdev/rte_ethdev_telemetry.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/lib/ethdev/rte_ethdev_telemetry.c
b/lib/ethdev/rte_ethdev_telemetry.c
index ca7f4681c9..caa7b33e1e 100644
--- a/lib/ethdev/rte_ethdev_telemetry.c
+++ b/lib/ethdev/rte_ethdev_telemetry.c
@@ -1515,13 +1515,11 @@ eth_dev_handle_port_regs(const char *cmd __rte_unused,
kvlist = rte_kvargs_parse(end_param, valid_keys);
filter_val = rte_kvargs_get(kvlist, "filter");
ret = rte_kvargs_process(kvlist, "hide_zero",
eth_dev_parse_hide_zero, &hide_zero);
- if (kvlist == NULL || (filter_val != NULL && strlen(filter_val)
== 0) || ret != 0) {
+ if (kvlist == NULL || (filter_val != NULL && strlen(filter_val)
== 0) || ret != 0)
RTE_ETHDEV_LOG_LINE(NOTICE,
"Unknown extra parameters passed to ethdev
telemetry command, ignoring");
- } else {
+ else
filter = (filter_val != NULL) ? strdup(filter_val) :
NULL;
- hide_zero = false;
- }
rte_kvargs_free(kvlist);
}
--
2.17.1