[v4,1/3] ethdev: add new RSS offload types

Message ID 20200414174225.64120-2-jia.guo@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series add RSS configuration for iavf |

Checks

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

Commit Message

Guo, Jia April 14, 2020, 5:42 p.m. UTC
  Defines some new RSS offload types for ETH/SVLAN/CVLAN/GTPU/L2TPV3/
ESP/AH/PFCP.

Signed-off-by: Jeff Guo <jia.guo@intel.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
---
v4->v3:
no change
---
 lib/librte_ethdev/rte_ethdev.h | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
  

Comments

Ori Kam April 14, 2020, 9:42 a.m. UTC | #1
Hi Jeff, 
PSB

Best,
Ori
> -----Original Message-----
> From: Jeff Guo <jia.guo@intel.com>
> Sent: Tuesday, April 14, 2020 8:42 PM
> To: Ori Kam <orika@mellanox.com>; bernard.iremonger@intel.com;
> xiaolong.ye@intel.com; qi.z.zhang@intel.com
> Cc: dev@dpdk.org; jingjing.wu@intel.com; yahui.cao@intel.com;
> simei.su@intel.com; jia.guo@intel.com
> Subject: [dpdk-dev v4 1/3] ethdev: add new RSS offload types
> 
> Defines some new RSS offload types for ETH/SVLAN/CVLAN/GTPU/L2TPV3/
> ESP/AH/PFCP.
> 
> Signed-off-by: Jeff Guo <jia.guo@intel.com>
> Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
> ---
> v4->v3:
> no change
> ---
>  lib/librte_ethdev/rte_ethdev.h | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index d1a593ad1..efe705ff0 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -511,6 +511,13 @@ struct rte_eth_rss_conf {
>  #define ETH_RSS_GENEVE             (1ULL << 20)
>  #define ETH_RSS_NVGRE              (1ULL << 21)
>  #define ETH_RSS_GTPU               (1ULL << 23)
> +#define ETH_RSS_ETH		   (1ULL << 24)
> +#define ETH_RSS_S_VLAN		   (1ULL << 25)
> +#define ETH_RSS_C_VLAN		   (1ULL << 26)
> +#define ETH_RSS_ESP		   (1ULL << 27)
> +#define ETH_RSS_AH		   (1ULL << 28)
> +#define ETH_RSS_L2TPV3		   (1ULL << 29)
> +#define ETH_RSS_PFCP		   (1ULL << 30)
> 
>  /*
>   * We use the following macros to combine with above ETH_RSS_* for
> @@ -524,7 +531,9 @@ struct rte_eth_rss_conf {
>  #define ETH_RSS_L3_SRC_ONLY        (1ULL << 63)
>  #define ETH_RSS_L3_DST_ONLY        (1ULL << 62)
>  #define ETH_RSS_L4_SRC_ONLY        (1ULL << 61)
> -#define ETH_RSS_L4_DST_ONLY        (1ULL << 60)
> +#define ETH_RSS_L4_DST_ONLY	   (1ULL << 60)
> +#define ETH_RSS_ETH_SRC_ONLY	   (1ULL << 59)
> +#define ETH_RSS_ETH_DST_ONLY	   (1ULL << 58)
> 
Why not change to L2_RSS_SRC_ONLY? Same for DST?
Also if it is not ABI/API change I would suggest to move the
ETH defines to be 63.

>  /**
>   * For input set change of hash filter, if SRC_ONLY and DST_ONLY of
> --
> 2.20.1
  
Qi Zhang April 15, 2020, 2:31 a.m. UTC | #2
> -----Original Message-----
> From: Ori Kam <orika@mellanox.com>
> Sent: Tuesday, April 14, 2020 5:43 PM
> To: Guo, Jia <jia.guo@intel.com>; Iremonger, Bernard
> <bernard.iremonger@intel.com>; Ye, Xiaolong <xiaolong.ye@intel.com>;
> Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Wu, Jingjing <jingjing.wu@intel.com>; Cao, Yahui
> <yahui.cao@intel.com>; Su, Simei <simei.su@intel.com>
> Subject: RE: [dpdk-dev v4 1/3] ethdev: add new RSS offload types
> 
> Hi Jeff,
> PSB
> 
> Best,
> Ori
> > -----Original Message-----
> > From: Jeff Guo <jia.guo@intel.com>
> > Sent: Tuesday, April 14, 2020 8:42 PM
> > To: Ori Kam <orika@mellanox.com>; bernard.iremonger@intel.com;
> > xiaolong.ye@intel.com; qi.z.zhang@intel.com
> > Cc: dev@dpdk.org; jingjing.wu@intel.com; yahui.cao@intel.com;
> > simei.su@intel.com; jia.guo@intel.com
> > Subject: [dpdk-dev v4 1/3] ethdev: add new RSS offload types
> >
> > Defines some new RSS offload types for ETH/SVLAN/CVLAN/GTPU/L2TPV3/
> > ESP/AH/PFCP.
> >
> > Signed-off-by: Jeff Guo <jia.guo@intel.com>
> > Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
> > ---
> > v4->v3:
> > no change
> > ---
> >  lib/librte_ethdev/rte_ethdev.h | 11 ++++++++++-
> >  1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/lib/librte_ethdev/rte_ethdev.h
> > b/lib/librte_ethdev/rte_ethdev.h index d1a593ad1..efe705ff0 100644
> > --- a/lib/librte_ethdev/rte_ethdev.h
> > +++ b/lib/librte_ethdev/rte_ethdev.h
> > @@ -511,6 +511,13 @@ struct rte_eth_rss_conf {
> >  #define ETH_RSS_GENEVE             (1ULL << 20)
> >  #define ETH_RSS_NVGRE              (1ULL << 21)
> >  #define ETH_RSS_GTPU               (1ULL << 23)
> > +#define ETH_RSS_ETH		   (1ULL << 24)
> > +#define ETH_RSS_S_VLAN		   (1ULL << 25)
> > +#define ETH_RSS_C_VLAN		   (1ULL << 26)
> > +#define ETH_RSS_ESP		   (1ULL << 27)
> > +#define ETH_RSS_AH		   (1ULL << 28)
> > +#define ETH_RSS_L2TPV3		   (1ULL << 29)
> > +#define ETH_RSS_PFCP		   (1ULL << 30)
> >
> >  /*
> >   * We use the following macros to combine with above ETH_RSS_* for
> @@
> > -524,7 +531,9 @@ struct rte_eth_rss_conf {
> >  #define ETH_RSS_L3_SRC_ONLY        (1ULL << 63)
> >  #define ETH_RSS_L3_DST_ONLY        (1ULL << 62)
> >  #define ETH_RSS_L4_SRC_ONLY        (1ULL << 61)
> > -#define ETH_RSS_L4_DST_ONLY        (1ULL << 60)
> > +#define ETH_RSS_L4_DST_ONLY	   (1ULL << 60)
> > +#define ETH_RSS_ETH_SRC_ONLY	   (1ULL << 59)
> > +#define ETH_RSS_ETH_DST_ONLY	   (1ULL << 58)
> >
> Why not change to L2_RSS_SRC_ONLY? Same for DST?
> Also if it is not ABI/API change I would suggest to move the ETH defines to be
> 63.

I think reorder will break Application which already use 19.11.

> 
> >  /**
> >   * For input set change of hash filter, if SRC_ONLY and DST_ONLY of
> > --
> > 2.20.1
  
Guo, Jia April 15, 2020, 3:11 a.m. UTC | #3
Ori and qi


On 4/15/2020 10:31 AM, Zhang, Qi Z wrote:
>
>> -----Original Message-----
>> From: Ori Kam <orika@mellanox.com>
>> Sent: Tuesday, April 14, 2020 5:43 PM
>> To: Guo, Jia <jia.guo@intel.com>; Iremonger, Bernard
>> <bernard.iremonger@intel.com>; Ye, Xiaolong <xiaolong.ye@intel.com>;
>> Zhang, Qi Z <qi.z.zhang@intel.com>
>> Cc: dev@dpdk.org; Wu, Jingjing <jingjing.wu@intel.com>; Cao, Yahui
>> <yahui.cao@intel.com>; Su, Simei <simei.su@intel.com>
>> Subject: RE: [dpdk-dev v4 1/3] ethdev: add new RSS offload types
>>
>> Hi Jeff,
>> PSB
>>
>> Best,
>> Ori
>>> -----Original Message-----
>>> From: Jeff Guo <jia.guo@intel.com>
>>> Sent: Tuesday, April 14, 2020 8:42 PM
>>> To: Ori Kam <orika@mellanox.com>; bernard.iremonger@intel.com;
>>> xiaolong.ye@intel.com; qi.z.zhang@intel.com
>>> Cc: dev@dpdk.org; jingjing.wu@intel.com; yahui.cao@intel.com;
>>> simei.su@intel.com; jia.guo@intel.com
>>> Subject: [dpdk-dev v4 1/3] ethdev: add new RSS offload types
>>>
>>> Defines some new RSS offload types for ETH/SVLAN/CVLAN/GTPU/L2TPV3/
>>> ESP/AH/PFCP.
>>>
>>> Signed-off-by: Jeff Guo <jia.guo@intel.com>
>>> Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
>>> ---
>>> v4->v3:
>>> no change
>>> ---
>>>   lib/librte_ethdev/rte_ethdev.h | 11 ++++++++++-
>>>   1 file changed, 10 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/lib/librte_ethdev/rte_ethdev.h
>>> b/lib/librte_ethdev/rte_ethdev.h index d1a593ad1..efe705ff0 100644
>>> --- a/lib/librte_ethdev/rte_ethdev.h
>>> +++ b/lib/librte_ethdev/rte_ethdev.h
>>> @@ -511,6 +511,13 @@ struct rte_eth_rss_conf {
>>>   #define ETH_RSS_GENEVE             (1ULL << 20)
>>>   #define ETH_RSS_NVGRE              (1ULL << 21)
>>>   #define ETH_RSS_GTPU               (1ULL << 23)
>>> +#define ETH_RSS_ETH		   (1ULL << 24)
>>> +#define ETH_RSS_S_VLAN		   (1ULL << 25)
>>> +#define ETH_RSS_C_VLAN		   (1ULL << 26)
>>> +#define ETH_RSS_ESP		   (1ULL << 27)
>>> +#define ETH_RSS_AH		   (1ULL << 28)
>>> +#define ETH_RSS_L2TPV3		   (1ULL << 29)
>>> +#define ETH_RSS_PFCP		   (1ULL << 30)
>>>
>>>   /*
>>>    * We use the following macros to combine with above ETH_RSS_* for
>> @@
>>> -524,7 +531,9 @@ struct rte_eth_rss_conf {
>>>   #define ETH_RSS_L3_SRC_ONLY        (1ULL << 63)
>>>   #define ETH_RSS_L3_DST_ONLY        (1ULL << 62)
>>>   #define ETH_RSS_L4_SRC_ONLY        (1ULL << 61)
>>> -#define ETH_RSS_L4_DST_ONLY        (1ULL << 60)
>>> +#define ETH_RSS_L4_DST_ONLY	   (1ULL << 60)
>>> +#define ETH_RSS_ETH_SRC_ONLY	   (1ULL << 59)
>>> +#define ETH_RSS_ETH_DST_ONLY	   (1ULL << 58)
>>>
>> Why not change to L2_RSS_SRC_ONLY? Same for DST?
>> Also if it is not ABI/API change I would suggest to move the ETH defines to be
>> 63.
> I think reorder will break Application which already use 19.11.


Will rename it to ETH_RSS_L2_XXX and keep the order which will not break 
the ABI/API, if no objection. Thanks.


>>>   /**
>>>    * For input set change of hash filter, if SRC_ONLY and DST_ONLY of
>>> --
>>> 2.20.1
  

Patch

diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index d1a593ad1..efe705ff0 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -511,6 +511,13 @@  struct rte_eth_rss_conf {
 #define ETH_RSS_GENEVE             (1ULL << 20)
 #define ETH_RSS_NVGRE              (1ULL << 21)
 #define ETH_RSS_GTPU               (1ULL << 23)
+#define ETH_RSS_ETH		   (1ULL << 24)
+#define ETH_RSS_S_VLAN		   (1ULL << 25)
+#define ETH_RSS_C_VLAN		   (1ULL << 26)
+#define ETH_RSS_ESP		   (1ULL << 27)
+#define ETH_RSS_AH		   (1ULL << 28)
+#define ETH_RSS_L2TPV3		   (1ULL << 29)
+#define ETH_RSS_PFCP		   (1ULL << 30)
 
 /*
  * We use the following macros to combine with above ETH_RSS_* for
@@ -524,7 +531,9 @@  struct rte_eth_rss_conf {
 #define ETH_RSS_L3_SRC_ONLY        (1ULL << 63)
 #define ETH_RSS_L3_DST_ONLY        (1ULL << 62)
 #define ETH_RSS_L4_SRC_ONLY        (1ULL << 61)
-#define ETH_RSS_L4_DST_ONLY        (1ULL << 60)
+#define ETH_RSS_L4_DST_ONLY	   (1ULL << 60)
+#define ETH_RSS_ETH_SRC_ONLY	   (1ULL << 59)
+#define ETH_RSS_ETH_DST_ONLY	   (1ULL << 58)
 
 /**
  * For input set change of hash filter, if SRC_ONLY and DST_ONLY of