[dpdk-dev] net/i40e: fix FDIR rule confiliction issue

Message ID 1512023768-53485-1-git-send-email-beilei.xing@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Helin Zhang
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Xing, Beilei Nov. 30, 2017, 6:36 a.m. UTC
  Failed to create two FDIR rules with different vlan id for
the same PCTYPE. Root cause is that wrong hash key length
is used.

Fixes: 4149825bbdb9 ("net/i40e: finish integration FDIR with generic flow API")
Cc: stable@dpdk.org

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Qi Zhang Dec. 22, 2017, 1:26 a.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Beilei Xing
> Sent: Thursday, November 30, 2017 2:36 PM
> To: Wu, Jingjing <jingjing.wu@intel.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/i40e: fix FDIR rule confiliction issue
> 
> Failed to create two FDIR rules with different vlan id for the same PCTYPE.
> Root cause is that wrong hash key length is used.
> 
> Fixes: 4149825bbdb9 ("net/i40e: finish integration FDIR with generic flow
> API")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Beilei Xing <beilei.xing@intel.com>
> ---
>  drivers/net/i40e/i40e_ethdev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index 811cc9f..583f100 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -1006,7 +1006,7 @@ i40e_init_fdir_filter_list(struct rte_eth_dev *dev)
>  	struct rte_hash_parameters fdir_hash_params = {
>  		.name = fdir_hash_name,
>  		.entries = I40E_MAX_FDIR_FILTER_NUM,
> -		.key_len = sizeof(struct rte_eth_fdir_input),
> +		.key_len = sizeof(struct i40e_fdir_input),
>  		.hash_func = rte_hash_crc,
>  		.hash_func_init_val = 0,
>  		.socket_id = rte_socket_id(),
> --
> 2.5.5

Acked-by: Qi Zhang <qi.z.zhang@intel.com>
  
Zhang, Helin Jan. 9, 2018, 7:34 a.m. UTC | #2
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Zhang, Qi Z
> Sent: Friday, December 22, 2017 9:27 AM
> To: Xing, Beilei; Wu, Jingjing
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] net/i40e: fix FDIR rule confiliction issue
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Beilei Xing
> > Sent: Thursday, November 30, 2017 2:36 PM
> > To: Wu, Jingjing <jingjing.wu@intel.com>
> > Cc: dev@dpdk.org; stable@dpdk.org
> > Subject: [dpdk-dev] [PATCH] net/i40e: fix FDIR rule confiliction issue
> >
> > Failed to create two FDIR rules with different vlan id for the same PCTYPE.
> > Root cause is that wrong hash key length is used.
> >
> > Fixes: 4149825bbdb9 ("net/i40e: finish integration FDIR with generic
> > flow
> > API")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Beilei Xing <beilei.xing@intel.com>
> > ---
> >  drivers/net/i40e/i40e_ethdev.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/i40e/i40e_ethdev.c
> > b/drivers/net/i40e/i40e_ethdev.c index 811cc9f..583f100 100644
> > --- a/drivers/net/i40e/i40e_ethdev.c
> > +++ b/drivers/net/i40e/i40e_ethdev.c
> > @@ -1006,7 +1006,7 @@ i40e_init_fdir_filter_list(struct rte_eth_dev *dev)
> >  	struct rte_hash_parameters fdir_hash_params = {
> >  		.name = fdir_hash_name,
> >  		.entries = I40E_MAX_FDIR_FILTER_NUM,
> > -		.key_len = sizeof(struct rte_eth_fdir_input),
> > +		.key_len = sizeof(struct i40e_fdir_input),
> >  		.hash_func = rte_hash_crc,
> >  		.hash_func_init_val = 0,
> >  		.socket_id = rte_socket_id(),
> > --
> > 2.5.5
> 
> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Applied to dpdk-next-net-intel, thanks!

/Helin
  

Patch

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 811cc9f..583f100 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -1006,7 +1006,7 @@  i40e_init_fdir_filter_list(struct rte_eth_dev *dev)
 	struct rte_hash_parameters fdir_hash_params = {
 		.name = fdir_hash_name,
 		.entries = I40E_MAX_FDIR_FILTER_NUM,
-		.key_len = sizeof(struct rte_eth_fdir_input),
+		.key_len = sizeof(struct i40e_fdir_input),
 		.hash_func = rte_hash_crc,
 		.hash_func_init_val = 0,
 		.socket_id = rte_socket_id(),