[dpdk-dev] [PATCH v4] net/i40e: fix argument in RSS action

Zhang, Qi Z qi.z.zhang at intel.com
Thu Dec 24 02:00:13 CET 2020



> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Kumar Amber
> Sent: Thursday, November 12, 2020 6:43 PM
> To: dev at dpdk.org
> Cc: Zhao1, Wei <wei.zhao1 at 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.zhao1 at intel.com
> 
> Signed-off-by: Kumar Amber <kumar.amber at 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



More information about the dev mailing list