> -----Original Message-----
> From: dev <dev-boun...@dpdk.org> On Behalf Of Kumar Amber
> Sent: Thursday, November 12, 2020 6:43 PM
> To: dev@dpdk.org
> Cc: Zhao1, Wei <wei.zh...@intel.com>
> Subject: [dpdk-dev] [PATCH v4] 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.zh...@intel.com
> 
> Signed-off-by: Kumar Amber <kumar.am...@intel.com>
> ---
>  drivers/net/i40e/i40e_flow.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index
> 5bec0c7a84..397ed0ae77 100644
> --- a/drivers/net/i40e/i40e_flow.c
> +++ b/drivers/net/i40e/i40e_flow.c
> @@ -4917,6 +4917,18 @@ 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 || !rss->queue_num) {
> +             rte_flow_error_set(error, EINVAL,
> +                             RTE_FLOW_ERROR_TYPE_ACTION,
> +                             act,
> +                        "no valid queues");
> +             return -rte_errno;
> +     }

I'm not sure if this is the right solution, the case we may have is: apply a 
RSS for a specific pattern for all enabled queues, so an empty queue configure 
that implicit for all enabled queues could still be acceptable. Can you share 
what kind of expected failure you are looking for?

> +
>       /**
>        * RSS only supports forwarding,
>        * check if the first not void action is RSS.
> --
> 2.17.1

Reply via email to