[v4,1/3] ethdev: add new RSS offload types
Checks
Commit Message
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
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
> -----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
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
@@ -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