[dpdk-dev] net/i40e: fix bug in RSS flow action parser

Message ID 20180125051033.40453-1-qi.z.zhang@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 fail Compilation issues

Commit Message

Qi Zhang Jan. 25, 2018, 5:10 a.m. UTC
  Parameter action_flag is not used correctly in i40e_flow_parse_rss_action.
Also change it from point type to value type since it is not an output
parameter.

Fixes: ecad87d22383e ("net/i40e: move RSS to flow API")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_flow.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Zhao1, Wei Jan. 25, 2018, 5:16 a.m. UTC | #1
> -----Original Message-----
> From: Zhang, Qi Z
> Sent: Thursday, January 25, 2018 1:11 PM
> To: Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Subject: [PATCH] net/i40e: fix bug in RSS flow action parser
> 
> Parameter action_flag is not used correctly in i40e_flow_parse_rss_action.
> Also change it from point type to value type since it is not an output
> parameter.
> 
> Fixes: ecad87d22383e ("net/i40e: move RSS to flow API")
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> ---
>  drivers/net/i40e/i40e_flow.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
> index a74fa08ab..74708f168 100644
> --- a/drivers/net/i40e/i40e_flow.c
> +++ b/drivers/net/i40e/i40e_flow.c
> @@ -4188,7 +4188,7 @@ static int
>  i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
>  			    const struct rte_flow_action *actions,
>  			    struct rte_flow_error *error,
> -			    uint8_t *action_flag,
> +			    uint8_t action_flag,
>  			    struct i40e_queue_regions *conf_info,
>  			    union i40e_filter_t *filter)
>  {
> @@ -4378,7 +4378,7 @@ i40e_parse_rss_filter(struct rte_eth_dev *dev,
>  		return ret;
> 
>  	ret = i40e_flow_parse_rss_action(dev, actions, error,
> -					&action_flag, &info, filter);
> +					action_flag, &info, filter);
>  	if (ret)
>  		return ret;
> 
> --
> 2.13.6

Acked-by Wei Zhao <wei.zhao1@intel.com>
  
Yang, Zhiyong Jan. 25, 2018, 5:28 a.m. UTC | #2
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> Sent: Thursday, January 25, 2018 1:11 PM
> To: Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Subject: [dpdk-dev] [PATCH] net/i40e: fix bug in RSS flow action parser
> 
> Parameter action_flag is not used correctly in i40e_flow_parse_rss_action.
> Also change it from point type to value type since it is not an output
> parameter.
> 
> Fixes: ecad87d22383e ("net/i40e: move RSS to flow API")
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> ---

Acked-by Zhiyong Yang <zhiyong.yang@intel.com>
  
Yang, Zhiyong Jan. 25, 2018, 6:02 a.m. UTC | #3
Hi Qi,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> Sent: Thursday, January 25, 2018 1:11 PM
> To: Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Subject: [dpdk-dev] [PATCH] net/i40e: fix bug in RSS flow action parser
> 
> Parameter action_flag is not used correctly in i40e_flow_parse_rss_action.
> Also change it from point type to value type since it is not an output
> parameter.
> 
> Fixes: ecad87d22383e ("net/i40e: move RSS to flow API")
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> ---
>  drivers/net/i40e/i40e_flow.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
> index a74fa08ab..74708f168 100644
> --- a/drivers/net/i40e/i40e_flow.c
> +++ b/drivers/net/i40e/i40e_flow.c
> @@ -4188,7 +4188,7 @@ static int
>  i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
>  			    const struct rte_flow_action *actions,
>  			    struct rte_flow_error *error,
> -			    uint8_t *action_flag,
> +			    uint8_t action_flag,
>  			    struct i40e_queue_regions *conf_info,
>  			    union i40e_filter_t *filter)
>  {
> @@ -4378,7 +4378,7 @@ i40e_parse_rss_filter(struct rte_eth_dev *dev,
>  		return ret;
> 
>  	ret = i40e_flow_parse_rss_action(dev, actions, error,
> -					&action_flag, &info, filter);
> +					action_flag, &info, filter);

I wonder if action_flag == ture  targets to handle  only  the case RTE_FLOW_ITEM_TYPE_ETH ?

Thanks
Zhiyong

>  	if (ret)
>  		return ret;
> 
> --
> 2.13.6
  
Qi Zhang Jan. 25, 2018, 7:49 a.m. UTC | #4
> -----Original Message-----
> From: Yang, Zhiyong
> Sent: Thursday, January 25, 2018 2:03 PM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Subject: RE: [dpdk-dev] [PATCH] net/i40e: fix bug in RSS flow action parser
> 
> Hi Qi,
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> > Sent: Thursday, January 25, 2018 1:11 PM
> > To: Xing, Beilei <beilei.xing@intel.com>
> > Cc: dev@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>; Zhang, Qi Z
> > <qi.z.zhang@intel.com>
> > Subject: [dpdk-dev] [PATCH] net/i40e: fix bug in RSS flow action
> > parser
> >
> > Parameter action_flag is not used correctly in i40e_flow_parse_rss_action.
> > Also change it from point type to value type since it is not an output
> > parameter.
> >
> > Fixes: ecad87d22383e ("net/i40e: move RSS to flow API")
> >
> > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> > ---
> >  drivers/net/i40e/i40e_flow.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/i40e/i40e_flow.c
> > b/drivers/net/i40e/i40e_flow.c index a74fa08ab..74708f168 100644
> > --- a/drivers/net/i40e/i40e_flow.c
> > +++ b/drivers/net/i40e/i40e_flow.c
> > @@ -4188,7 +4188,7 @@ static int
> >  i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
> >  			    const struct rte_flow_action *actions,
> >  			    struct rte_flow_error *error,
> > -			    uint8_t *action_flag,
> > +			    uint8_t action_flag,
> >  			    struct i40e_queue_regions *conf_info,
> >  			    union i40e_filter_t *filter)
> >  {
> > @@ -4378,7 +4378,7 @@ i40e_parse_rss_filter(struct rte_eth_dev *dev,
> >  		return ret;
> >
> >  	ret = i40e_flow_parse_rss_action(dev, actions, error,
> > -					&action_flag, &info, filter);
> > +					action_flag, &info, filter);
> 
> I wonder if action_flag == ture  targets to handle  only  the case
> RTE_FLOW_ITEM_TYPE_ETH ?

Base on Zhao Wei's current design, action_flag is the flag to distinguish if queue region RSS is based on specific flow type ( when it is true) or based on vlan priority (when it is false)
Action_flag is decide by the pattern sequence  eth only => 1, or eth +vlan | vlan only => 0


Regards
Qi
> 
> Thanks
> Zhiyong
> 
> >  	if (ret)
> >  		return ret;
> >
> > --
> > 2.13.6
>
  
Yang, Zhiyong Jan. 25, 2018, 8:01 a.m. UTC | #5
> -----Original Message-----
> From: Zhang, Qi Z
> Sent: Thursday, January 25, 2018 3:50 PM
> To: Yang, Zhiyong <zhiyong.yang@intel.com>; Xing, Beilei
> <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>
> Subject: RE: [dpdk-dev] [PATCH] net/i40e: fix bug in RSS flow action parser
> 
> 
> 
> > -----Original Message-----
> > From: Yang, Zhiyong
> > Sent: Thursday, January 25, 2018 2:03 PM
> > To: Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei
> > <beilei.xing@intel.com>
> > Cc: dev@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>; Zhang, Qi Z
> > <qi.z.zhang@intel.com>
> > Subject: RE: [dpdk-dev] [PATCH] net/i40e: fix bug in RSS flow action
> > parser
> >
> > Hi Qi,
> >
> > > -----Original Message-----
> > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> > > Sent: Thursday, January 25, 2018 1:11 PM
> > > To: Xing, Beilei <beilei.xing@intel.com>
> > > Cc: dev@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>; Zhang, Qi Z
> > > <qi.z.zhang@intel.com>
> > > Subject: [dpdk-dev] [PATCH] net/i40e: fix bug in RSS flow action
> > > parser
> > >
> > > Parameter action_flag is not used correctly in
> i40e_flow_parse_rss_action.
> > > Also change it from point type to value type since it is not an
> > > output parameter.
> > >
> > > Fixes: ecad87d22383e ("net/i40e: move RSS to flow API")
> > >
> > > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> > > ---
> > >  drivers/net/i40e/i40e_flow.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/net/i40e/i40e_flow.c
> > > b/drivers/net/i40e/i40e_flow.c index a74fa08ab..74708f168 100644
> > > --- a/drivers/net/i40e/i40e_flow.c
> > > +++ b/drivers/net/i40e/i40e_flow.c
> > > @@ -4188,7 +4188,7 @@ static int
> > >  i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
> > >  			    const struct rte_flow_action *actions,
> > >  			    struct rte_flow_error *error,
> > > -			    uint8_t *action_flag,
> > > +			    uint8_t action_flag,
> > >  			    struct i40e_queue_regions *conf_info,
> > >  			    union i40e_filter_t *filter)  { @@ -4378,7 +4378,7
> @@
> > > i40e_parse_rss_filter(struct rte_eth_dev *dev,
> > >  		return ret;
> > >
> > >  	ret = i40e_flow_parse_rss_action(dev, actions, error,
> > > -					&action_flag, &info, filter);
> > > +					action_flag, &info, filter);
> >
> > I wonder if action_flag == ture  targets to handle  only  the case
> > RTE_FLOW_ITEM_TYPE_ETH ?
> 
> Base on Zhao Wei's current design, action_flag is the flag to distinguish if
> queue region RSS is based on specific flow type ( when it is true) or based on
> vlan priority (when it is false) Action_flag is decide by the pattern sequence
> eth only => 1, or eth +vlan | vlan only => 0

Ok,  thanks for detailed explanation.

Zhiyong

> 
> Regards
> Qi
  
Zhang, Helin Jan. 26, 2018, 9:51 a.m. UTC | #6
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Zhao1, Wei
> Sent: Thursday, January 25, 2018 1:16 PM
> To: Zhang, Qi Z; Xing, Beilei
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] net/i40e: fix bug in RSS flow action parser
> 
> 
> > -----Original Message-----
> > From: Zhang, Qi Z
> > Sent: Thursday, January 25, 2018 1:11 PM
> > To: Xing, Beilei <beilei.xing@intel.com>
> > Cc: dev@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>; Zhang, Qi Z
> > <qi.z.zhang@intel.com>
> > Subject: [PATCH] net/i40e: fix bug in RSS flow action parser
> >
> > Parameter action_flag is not used correctly in i40e_flow_parse_rss_action.
> > Also change it from point type to value type since it is not an output
> > parameter.
> >
> > Fixes: ecad87d22383e ("net/i40e: move RSS to flow API")
> >
> > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> > ---
> >  drivers/net/i40e/i40e_flow.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/i40e/i40e_flow.c
> > b/drivers/net/i40e/i40e_flow.c index a74fa08ab..74708f168 100644
> > --- a/drivers/net/i40e/i40e_flow.c
> > +++ b/drivers/net/i40e/i40e_flow.c
> > @@ -4188,7 +4188,7 @@ static int
> >  i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
> >  			    const struct rte_flow_action *actions,
> >  			    struct rte_flow_error *error,
> > -			    uint8_t *action_flag,
> > +			    uint8_t action_flag,
> >  			    struct i40e_queue_regions *conf_info,
> >  			    union i40e_filter_t *filter)
> >  {
> > @@ -4378,7 +4378,7 @@ i40e_parse_rss_filter(struct rte_eth_dev *dev,
> >  		return ret;
> >
> >  	ret = i40e_flow_parse_rss_action(dev, actions, error,
> > -					&action_flag, &info, filter);
> > +					action_flag, &info, filter);
> >  	if (ret)
> >  		return ret;
> >
> > --
> > 2.13.6
> 
> Acked-by Wei Zhao <wei.zhao1@intel.com>
Applied to dpdk-next-net-intel, thanks!

/Helin
  

Patch

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index a74fa08ab..74708f168 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -4188,7 +4188,7 @@  static int
 i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
 			    const struct rte_flow_action *actions,
 			    struct rte_flow_error *error,
-			    uint8_t *action_flag,
+			    uint8_t action_flag,
 			    struct i40e_queue_regions *conf_info,
 			    union i40e_filter_t *filter)
 {
@@ -4378,7 +4378,7 @@  i40e_parse_rss_filter(struct rte_eth_dev *dev,
 		return ret;
 
 	ret = i40e_flow_parse_rss_action(dev, actions, error,
-					&action_flag, &info, filter);
+					action_flag, &info, filter);
 	if (ret)
 		return ret;