net/i40e: fix error when create two RSS flow rule
Checks
Commit Message
There is need to refuse to create the second RSS flow rule
as only one RSS key and HASH register for each PF port.
Users should delete the first rule before setup the second
rule.
Fixes: ecad87d22383 ("net/i40e: move RSS to flow API")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
drivers/net/i40e/i40e_flow.c | 8 ++++++++
1 file changed, 8 insertions(+)
Comments
Tested-by: Li WenjieX <wenjiex.a.li@intel.com>
> -----Original Message-----
> From: Zhao1, Wei
> Sent: Thursday, May 9, 2019 11:00 AM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; Peng, Yuan
> <yuan.peng@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>
> Subject: [PATCH] net/i40e: fix error when create two RSS flow rule
>
> There is need to refuse to create the second RSS flow rule as only one RSS key
> and HASH register for each PF port.
> Users should delete the first rule before setup the second rule.
>
> Fixes: ecad87d22383 ("net/i40e: move RSS to flow API")
> Cc: stable@dpdk.org
>
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> ---
> drivers/net/i40e/i40e_flow.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index
> 5447e4e..bca93b6 100644
> --- a/drivers/net/i40e/i40e_flow.c
> +++ b/drivers/net/i40e/i40e_flow.c
> @@ -4444,6 +4444,14 @@ i40e_flow_parse_rss_action(struct rte_eth_dev
> *dev,
> }
> }
>
> + if (rss_info->conf.queue_num) {
> + rte_flow_error_set(error, EINVAL,
> + RTE_FLOW_ERROR_TYPE_ACTION,
> + act,
> + "rss only allow one valid rule");
> + return -rte_errno;
> + }
> +
> /* Parse RSS related parameters from configuration */
> if (rss->func != RTE_ETH_HASH_FUNCTION_DEFAULT)
> return rte_flow_error_set
> --
> 2.7.5
> -----Original Message-----
> From: Zhao1, Wei
> Sent: Thursday, May 9, 2019 11:35 AM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; Peng, Yuan
> <yuan.peng@intel.com>; Li, WenjieX A <wenjiex.a.li@intel.com>
> Subject: RE: [PATCH] net/i40e: fix error when create two RSS flow rule
>
> Tested-by: Li WenjieX <wenjiex.a.li@intel.com>
>
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Thursday, May 9, 2019 11:00 AM
> > To: dev@dpdk.org
> > Cc: stable@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; Peng, Yuan
> > <yuan.peng@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>
> > Subject: [PATCH] net/i40e: fix error when create two RSS flow rule
> >
> > There is need to refuse to create the second RSS flow rule as only one
> > RSS key and HASH register for each PF port.
> > Users should delete the first rule before setup the second rule.
> >
> > Fixes: ecad87d22383 ("net/i40e: move RSS to flow API")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
@@ -4444,6 +4444,14 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
}
}
+ if (rss_info->conf.queue_num) {
+ rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_ACTION,
+ act,
+ "rss only allow one valid rule");
+ return -rte_errno;
+ }
+
/* Parse RSS related parameters from configuration */
if (rss->func != RTE_ETH_HASH_FUNCTION_DEFAULT)
return rte_flow_error_set