[v2] app/testpmd: fix flow flush with invalid port
Checks
Commit Message
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 <junyux.jiang@intel.com>
Reviewed-by: Suanming Mou <suanmingm@nvidia.com>
---
app/test-pmd/config.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
Comments
On 10/16/2020 3:03 AM, Junyu Jiang wrote:
> 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 <junyux.jiang@intel.com>
> Reviewed-by: Suanming Mou <suanmingm@nvidia.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Applied to dpdk-next-net/main, thanks.
@@ -1772,19 +1772,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) {