From 8c2c75be6b4fa542d52e55fdaf03a5f28c0f964b Mon Sep 17 00:00:00 2001 From: Junyu Jiang Date: Fri, 16 Oct 2020 02:03:10 +0000 Subject: [PATCH] app/testpmd: fix flow flush with invalid port There is no error info displayed when running flow flush command with invalid port. This patch fixed the issue. Fixes: 2a449871a12d ("app/testpmd: align behaviour of multi-port detach") Cc: stable@dpdk.org Signed-off-by: Junyu Jiang Reviewed-by: Suanming Mou --- app/test-pmd/config.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 2c00b55440..c7831089ed 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -1988,19 +1988,22 @@ int port_flow_flush(portid_t port_id) { struct rte_flow_error error; - struct rte_port *port = &ports[port_id]; + struct rte_port *port; int ret = 0; + if (port_id_is_invalid(port_id, ENABLED_WARN) || + port_id == (portid_t)RTE_PORT_ALL) + return -EINVAL; + + port = &ports[port_id]; + if (port->flow_list == NULL) return ret; /* Poisoning to make sure PMDs update it in case of error. */ memset(&error, 0x44, sizeof(error)); if (rte_flow_flush(port_id, &error)) { - ret = port_flow_complain(&error); - if (port_id_is_invalid(port_id, DISABLED_WARN) || - port_id == (portid_t)RTE_PORT_ALL) - return ret; + port_flow_complain(&error); } while (port->flow_list) { -- 2.20.1