[v2] net/i40e: fix argument in RSS action

Message ID 20201111101031.52758-1-kumar.amber@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Qi Zhang
Headers
Series [v2] net/i40e: fix argument in RSS action |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS

Commit Message

Amber, Kumar Nov. 11, 2020, 10:10 a.m. UTC
  The driver must check for the queue number
in the RSS action list and if not should
return with a proper error message to user.

Bugzilla ID: 573
Fixes: 9486d60b94b5 ("net/i40e: fix flow RSS queue index check")
Cc: wei.zhao1@intel.com

Signed-off-by: Kumar Amber <kumar.amber@intel.com>
---
 drivers/net/i40e/i40e_flow.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
  

Comments

Xing, Beilei Dec. 17, 2020, 3:20 a.m. UTC | #1
Hi, 

According to Bo's test, this fix patch will cause other cases fail, so NACK.
@Bo, could you please detail which cases will FAIL, thanks.

BR,
Beilei

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Kumar Amber
> Sent: Wednesday, November 11, 2020 6:11 PM
> To: dev@dpdk.org
> Cc: Zhao1, Wei <wei.zhao1@intel.com>
> Subject: [dpdk-dev] [PATCH v2] net/i40e: fix argument in RSS action
> 
> The driver must check for the queue number in the RSS action list and if not
> should return with a proper error message to user.
> 
> Bugzilla ID: 573
> Fixes: 9486d60b94b5 ("net/i40e: fix flow RSS queue index check")
> Cc: wei.zhao1@intel.com
> 
> Signed-off-by: Kumar Amber <kumar.amber@intel.com>
> ---
>  drivers/net/i40e/i40e_flow.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index
> 5bec0c7a84..975340cb1a 100644
> --- a/drivers/net/i40e/i40e_flow.c
> +++ b/drivers/net/i40e/i40e_flow.c
> @@ -4917,6 +4917,17 @@ i40e_flow_parse_rss_action(struct rte_eth_dev
> *dev,
>  	NEXT_ITEM_OF_ACTION(act, actions, index);
>  	rss = act->conf;
> 
> +	/**
> +	 * Check if Queue number is specified
> +	 * in argument else throw an error.
> +	 */
> +	if (rss->queue == NULL) {
> +		rte_flow_error_set(error, EINVAL,
> +			RTE_FLOW_ERROR_TYPE_ACTION,
> +			act, "Queue numbers not given.");
> +		return -rte_errno;
> +	}
> +
>  	/**
>  	 * RSS only supports forwarding,
>  	 * check if the first not void action is RSS.
> --
> 2.17.1
  
Chen, BoX C Dec. 17, 2020, 9:06 a.m. UTC | #2
Hi, Beilei

If you merge this patch, some common rules will fail to set on fvl, such as:
flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end / end

Regards,
Chen Bo

> -----Original Message-----
> From: Xing, Beilei <beilei.xing@intel.com>
> Sent: December 17, 2020 11:20
> To: Amber, Kumar <kumar.amber@intel.com>; dev@dpdk.org; Chen, BoX C
> <box.c.chen@intel.com>
> Cc: Zhao1, Wei <wei.zhao1@intel.com>
> Subject: RE: [dpdk-dev] [PATCH v2] net/i40e: fix argument in RSS action
> 
> Hi,
> 
> According to Bo's test, this fix patch will cause other cases fail, so NACK.
> @Bo, could you please detail which cases will FAIL, thanks.
> 
> BR,
> Beilei
> 
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Kumar Amber
> > Sent: Wednesday, November 11, 2020 6:11 PM
> > To: dev@dpdk.org
> > Cc: Zhao1, Wei <wei.zhao1@intel.com>
> > Subject: [dpdk-dev] [PATCH v2] net/i40e: fix argument in RSS action
> >
> > The driver must check for the queue number in the RSS action list and
> > if not should return with a proper error message to user.
> >
> > Bugzilla ID: 573
> > Fixes: 9486d60b94b5 ("net/i40e: fix flow RSS queue index check")
> > Cc: wei.zhao1@intel.com
> >
> > Signed-off-by: Kumar Amber <kumar.amber@intel.com>
> > ---
> >  drivers/net/i40e/i40e_flow.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> >
> > diff --git a/drivers/net/i40e/i40e_flow.c
> > b/drivers/net/i40e/i40e_flow.c index 5bec0c7a84..975340cb1a 100644
> > --- a/drivers/net/i40e/i40e_flow.c
> > +++ b/drivers/net/i40e/i40e_flow.c
> > @@ -4917,6 +4917,17 @@ i40e_flow_parse_rss_action(struct rte_eth_dev
> > *dev,
> >  	NEXT_ITEM_OF_ACTION(act, actions, index);
> >  	rss = act->conf;
> >
> > +	/**
> > +	 * Check if Queue number is specified
> > +	 * in argument else throw an error.
> > +	 */
> > +	if (rss->queue == NULL) {
> > +		rte_flow_error_set(error, EINVAL,
> > +			RTE_FLOW_ERROR_TYPE_ACTION,
> > +			act, "Queue numbers not given.");
> > +		return -rte_errno;
> > +	}
> > +
> >  	/**
> >  	 * RSS only supports forwarding,
> >  	 * check if the first not void action is RSS.
> > --
> > 2.17.1
  

Patch

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index 5bec0c7a84..975340cb1a 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -4917,6 +4917,17 @@  i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
 	NEXT_ITEM_OF_ACTION(act, actions, index);
 	rss = act->conf;
 
+	/**
+	 * Check if Queue number is specified
+	 * in argument else throw an error.
+	 */
+	if (rss->queue == NULL) {
+		rte_flow_error_set(error, EINVAL,
+			RTE_FLOW_ERROR_TYPE_ACTION,
+			act, "Queue numbers not given.");
+		return -rte_errno;
+	}
+
 	/**
 	 * RSS only supports forwarding,
 	 * check if the first not void action is RSS.