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> --- app/test-pmd/config.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index fe31a9d52..cc4527386 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -1775,16 +1775,17 @@ port_flow_flush(portid_t port_id) struct rte_port *port = &ports[port_id]; int ret = 0; + if (port_id_is_invalid(port_id, ENABLED_WARN) || + port_id == (portid_t)RTE_PORT_ALL) + return -EINVAL; + 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.17.1
Hi, > -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Junyu Jiang > Sent: Wednesday, October 14, 2020 4:30 PM > To: dev@dpdk.org > Cc: Beilei Xing <beilei.xing@intel.com>; Wenzhuo Lu <wenzhuo.lu@intel.com>; > Junyu Jiang <junyux.jiang@intel.com>; stable@dpdk.org > Subject: [dpdk-dev] [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 <junyux.jiang@intel.com> > --- > app/test-pmd/config.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index > fe31a9d52..cc4527386 100644 > --- a/app/test-pmd/config.c > +++ b/app/test-pmd/config.c > @@ -1775,16 +1775,17 @@ port_flow_flush(portid_t port_id) > struct rte_port *port = &ports[port_id]; > int ret = 0; > > + if (port_id_is_invalid(port_id, ENABLED_WARN) || > + port_id == (portid_t)RTE_PORT_ALL) > + return -EINVAL; > + Also better to move the port initialize after this check to make the code clean? Reviewed-by: Suanming Mou <suanmingm@nvidia.com> > 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.17.1
On 10/14/2020 11:16 AM, Suanming Mou wrote:
> Hi,
>
>> -----Original Message-----
>> From: dev <dev-bounces@dpdk.org> On Behalf Of Junyu Jiang
>> Sent: Wednesday, October 14, 2020 4:30 PM
>> To: dev@dpdk.org
>> Cc: Beilei Xing <beilei.xing@intel.com>; Wenzhuo Lu <wenzhuo.lu@intel.com>;
>> Junyu Jiang <junyux.jiang@intel.com>; stable@dpdk.org
>> Subject: [dpdk-dev] [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 <junyux.jiang@intel.com>
>> ---
>> app/test-pmd/config.c | 9 +++++----
>> 1 file changed, 5 insertions(+), 4 deletions(-)
>>
>> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index
>> fe31a9d52..cc4527386 100644
>> --- a/app/test-pmd/config.c
>> +++ b/app/test-pmd/config.c
>> @@ -1775,16 +1775,17 @@ port_flow_flush(portid_t port_id)
>> struct rte_port *port = &ports[port_id];
>> int ret = 0;
>>
>> + if (port_id_is_invalid(port_id, ENABLED_WARN) ||
>> + port_id == (portid_t)RTE_PORT_ALL)
>> + return -EINVAL;
>> +
>
> Also better to move the port initialize after this check to make the code clean?
>
+1
Hi,
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Friday, October 16, 2020 6:14 AM
> To: Suanming Mou <suanmingm@nvidia.com>; Jiang, JunyuX
> <junyux.jiang@intel.com>; dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix flow flush with invalid port
>
> On 10/14/2020 11:16 AM, Suanming Mou wrote:
> > Hi,
> >
> >> -----Original Message-----
> >> From: dev <dev-bounces@dpdk.org> On Behalf Of Junyu Jiang
> >> Sent: Wednesday, October 14, 2020 4:30 PM
> >> To: dev@dpdk.org
> >> Cc: Beilei Xing <beilei.xing@intel.com>; Wenzhuo Lu
> >> <wenzhuo.lu@intel.com>; Junyu Jiang <junyux.jiang@intel.com>;
> >> stable@dpdk.org
> >> Subject: [dpdk-dev] [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 <junyux.jiang@intel.com>
> >> ---
> >> app/test-pmd/config.c | 9 +++++----
> >> 1 file changed, 5 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index
> >> fe31a9d52..cc4527386 100644
> >> --- a/app/test-pmd/config.c
> >> +++ b/app/test-pmd/config.c
> >> @@ -1775,16 +1775,17 @@ port_flow_flush(portid_t port_id)
> >> struct rte_port *port = &ports[port_id];
> >> int ret = 0;
> >>
> >> + if (port_id_is_invalid(port_id, ENABLED_WARN) ||
> >> + port_id == (portid_t)RTE_PORT_ALL)
> >> + return -EINVAL;
> >> +
> >
> > Also better to move the port initialize after this check to make the code
> clean?
> >
>
> +1
I will fix in V2.
Thanks.
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(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index fe31a9d52..541952ab8 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -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) { -- 2.17.1
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.