[dpdk-dev] net/i40e: fix flow RSS key array error

Message ID 1525671240-38485-1-git-send-email-wei.zhao1@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

Zhao1, Wei May 7, 2018, 5:34 a.m. UTC
  This is a bug introduced into RSS key array span.

Fixes: ac8d22de2394 ("ethdev: flatten RSS configuration in flow API")
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 drivers/net/i40e/i40e_ethdev.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Qi Zhang May 7, 2018, 6:27 a.m. UTC | #1
> -----Original Message-----
> From: Zhao1, Wei
> Sent: Monday, May 7, 2018 1:34 PM
> To: dev@dpdk.org
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; adrien.mazarguil@6wind.com; Zhao1,
> Wei <wei.zhao1@intel.com>
> Subject: [PATCH] net/i40e: fix flow RSS key array error
> 
> This is a bug introduced into RSS key array span.
> 
> Fixes: ac8d22de2394 ("ethdev: flatten RSS configuration in flow API")

Is this correct fix line? Looks like a bug already exist at beginning. Below definition is obviously wrong

        uint8_t key[(I40E_VFQF_HKEY_MAX_INDEX > I40E_PFQF_HKEY_MAX_INDEX ?
                     I40E_VFQF_HKEY_MAX_INDEX : I40E_PFQF_HKEY_MAX_INDEX) + 1 *
                    sizeof(uint32_t)]; /* Hash key. */

> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> ---
>  drivers/net/i40e/i40e_ethdev.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
> index 2cccc4f..4dd50eb 100644
> --- a/drivers/net/i40e/i40e_ethdev.h
> +++ b/drivers/net/i40e/i40e_ethdev.h
> @@ -886,7 +886,7 @@ struct i40e_rte_flow_rss_conf {
>  	struct rte_flow_action_rss conf; /**< RSS parameters. */
>  	uint16_t queue_region_conf; /**< Queue region config flag */
>  	uint8_t key[(I40E_VFQF_HKEY_MAX_INDEX >
> I40E_PFQF_HKEY_MAX_INDEX ?
> -		     I40E_VFQF_HKEY_MAX_INDEX : I40E_PFQF_HKEY_MAX_INDEX)
> + 1 *
> +		     I40E_VFQF_HKEY_MAX_INDEX : I40E_PFQF_HKEY_MAX_INDEX
> + 1) *
>  		    sizeof(uint32_t)]; /* Hash key. */
>  	uint16_t queue[I40E_MAX_Q_PER_TC]; /**< Queues indices to use. */  };
> --
> 2.7.5
  
Zhao1, Wei May 7, 2018, 6:30 a.m. UTC | #2
> -----Original Message-----
> From: Zhang, Qi Z
> Sent: Monday, May 7, 2018 2:28 PM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: adrien.mazarguil@6wind.com
> Subject: RE: [PATCH] net/i40e: fix flow RSS key array error
> 
> 
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Monday, May 7, 2018 1:34 PM
> > To: dev@dpdk.org
> > Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; adrien.mazarguil@6wind.com;
> > Zhao1, Wei <wei.zhao1@intel.com>
> > Subject: [PATCH] net/i40e: fix flow RSS key array error
> >
> > This is a bug introduced into RSS key array span.
> >
> > Fixes: ac8d22de2394 ("ethdev: flatten RSS configuration in flow API")
> 
> Is this correct fix line? Looks like a bug already exist at beginning. Below
> definition is obviously wrong
> 
>         uint8_t key[(I40E_VFQF_HKEY_MAX_INDEX >
> I40E_PFQF_HKEY_MAX_INDEX ?
>                      I40E_VFQF_HKEY_MAX_INDEX : I40E_PFQF_HKEY_MAX_INDEX) +
> 1 *
>                     sizeof(uint32_t)]; /* Hash key. */'

Yes, this is as adrien.mazarguil request.

> 
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > ---
> >  drivers/net/i40e/i40e_ethdev.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/i40e/i40e_ethdev.h
> > b/drivers/net/i40e/i40e_ethdev.h index 2cccc4f..4dd50eb 100644
> > --- a/drivers/net/i40e/i40e_ethdev.h
> > +++ b/drivers/net/i40e/i40e_ethdev.h
> > @@ -886,7 +886,7 @@ struct i40e_rte_flow_rss_conf {
> >  	struct rte_flow_action_rss conf; /**< RSS parameters. */
> >  	uint16_t queue_region_conf; /**< Queue region config flag */
> >  	uint8_t key[(I40E_VFQF_HKEY_MAX_INDEX >
> I40E_PFQF_HKEY_MAX_INDEX ?
> > -		     I40E_VFQF_HKEY_MAX_INDEX :
> I40E_PFQF_HKEY_MAX_INDEX)
> > + 1 *
> > +		     I40E_VFQF_HKEY_MAX_INDEX :
> I40E_PFQF_HKEY_MAX_INDEX
> > + 1) *
> >  		    sizeof(uint32_t)]; /* Hash key. */
> >  	uint16_t queue[I40E_MAX_Q_PER_TC]; /**< Queues indices to use.
> */
> > };
> > --
> > 2.7.5
  
Qi Zhang May 7, 2018, 6:35 a.m. UTC | #3
> -----Original Message-----
> From: Zhao1, Wei
> Sent: Monday, May 7, 2018 2:31 PM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; dev@dpdk.org
> Cc: adrien.mazarguil@6wind.com
> Subject: RE: [PATCH] net/i40e: fix flow RSS key array error
> 
> 
> 
> > -----Original Message-----
> > From: Zhang, Qi Z
> > Sent: Monday, May 7, 2018 2:28 PM
> > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> > Cc: adrien.mazarguil@6wind.com
> > Subject: RE: [PATCH] net/i40e: fix flow RSS key array error
> >
> >
> >
> > > -----Original Message-----
> > > From: Zhao1, Wei
> > > Sent: Monday, May 7, 2018 1:34 PM
> > > To: dev@dpdk.org
> > > Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; adrien.mazarguil@6wind.com;
> > > Zhao1, Wei <wei.zhao1@intel.com>
> > > Subject: [PATCH] net/i40e: fix flow RSS key array error
> > >
> > > This is a bug introduced into RSS key array span.
> > >
> > > Fixes: ac8d22de2394 ("ethdev: flatten RSS configuration in flow
> > > API")
> >
> > Is this correct fix line? Looks like a bug already exist at beginning.
> > Below definition is obviously wrong
> >
> >         uint8_t key[(I40E_VFQF_HKEY_MAX_INDEX >
> > I40E_PFQF_HKEY_MAX_INDEX ?
> >                      I40E_VFQF_HKEY_MAX_INDEX :
> > I40E_PFQF_HKEY_MAX_INDEX) +
> > 1 *
> >                     sizeof(uint32_t)]; /* Hash key. */'
> 
> Yes, this is as adrien.mazarguil request.

OK, the wrong code is part of the patch.

Thanks
Qi

> 
> >
> > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > > ---
> > >  drivers/net/i40e/i40e_ethdev.h | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/net/i40e/i40e_ethdev.h
> > > b/drivers/net/i40e/i40e_ethdev.h index 2cccc4f..4dd50eb 100644
> > > --- a/drivers/net/i40e/i40e_ethdev.h
> > > +++ b/drivers/net/i40e/i40e_ethdev.h
> > > @@ -886,7 +886,7 @@ struct i40e_rte_flow_rss_conf {
> > >  	struct rte_flow_action_rss conf; /**< RSS parameters. */
> > >  	uint16_t queue_region_conf; /**< Queue region config flag */
> > >  	uint8_t key[(I40E_VFQF_HKEY_MAX_INDEX >
> > I40E_PFQF_HKEY_MAX_INDEX ?
> > > -		     I40E_VFQF_HKEY_MAX_INDEX :
> > I40E_PFQF_HKEY_MAX_INDEX)
> > > + 1 *
> > > +		     I40E_VFQF_HKEY_MAX_INDEX :
> > I40E_PFQF_HKEY_MAX_INDEX
> > > + 1) *
> > >  		    sizeof(uint32_t)]; /* Hash key. */
> > >  	uint16_t queue[I40E_MAX_Q_PER_TC]; /**< Queues indices to use.
> > */
> > > };
> > > --
> > > 2.7.5
  
Qi Zhang May 7, 2018, 6:40 a.m. UTC | #4
> -----Original Message-----
> From: Zhao1, Wei
> Sent: Monday, May 7, 2018 1:34 PM
> To: dev@dpdk.org
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; adrien.mazarguil@6wind.com; Zhao1,
> Wei <wei.zhao1@intel.com>
> Subject: [PATCH] net/i40e: fix flow RSS key array error
> 
> This is a bug introduced into RSS key array span.
> 
> Fixes: ac8d22de2394 ("ethdev: flatten RSS configuration in flow API")
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> ---

Acked-by: Qi Zhang <qi.z.zhang@intel.com>
  
Zhang, Helin May 8, 2018, 1:56 a.m. UTC | #5
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Zhang, Qi Z
> Sent: Monday, May 7, 2018 2:40 PM
> To: Zhao1, Wei; dev@dpdk.org
> Cc: adrien.mazarguil@6wind.com
> Subject: Re: [dpdk-dev] [PATCH] net/i40e: fix flow RSS key array error
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Monday, May 7, 2018 1:34 PM
> > To: dev@dpdk.org
> > Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; adrien.mazarguil@6wind.com;
> > Zhao1, Wei <wei.zhao1@intel.com>
> > Subject: [PATCH] net/i40e: fix flow RSS key array error
> >
> > This is a bug introduced into RSS key array span.
> >
> > Fixes: ac8d22de2394 ("ethdev: flatten RSS configuration in flow API")
> > 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!

/Helin
  

Patch

diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
index 2cccc4f..4dd50eb 100644
--- a/drivers/net/i40e/i40e_ethdev.h
+++ b/drivers/net/i40e/i40e_ethdev.h
@@ -886,7 +886,7 @@  struct i40e_rte_flow_rss_conf {
 	struct rte_flow_action_rss conf; /**< RSS parameters. */
 	uint16_t queue_region_conf; /**< Queue region config flag */
 	uint8_t key[(I40E_VFQF_HKEY_MAX_INDEX > I40E_PFQF_HKEY_MAX_INDEX ?
-		     I40E_VFQF_HKEY_MAX_INDEX : I40E_PFQF_HKEY_MAX_INDEX) + 1 *
+		     I40E_VFQF_HKEY_MAX_INDEX : I40E_PFQF_HKEY_MAX_INDEX + 1) *
 		    sizeof(uint32_t)]; /* Hash key. */
 	uint16_t queue[I40E_MAX_Q_PER_TC]; /**< Queues indices to use. */
 };