* [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type
2019-04-05 9:05 [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro Qi Zhang
` (5 subsequent siblings)
6 siblings, 0 replies; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev
---
v5:
1. add ABI break notification in commit log of PATCH 1/5
2. fix missing help string/document in testpmd cmdline (Bernard Iremonger's
comments)
V4:
1. rebased to the latest code.
2. deleted misleading statement.
V3:
1. fixed issue in release note.
2. fixed check patch issue.
3. spilted eal related change to a new patch.
V2:
1. move testpmd related changes to a new patch.
2. added release note update.
Qiming Yang (5):
ethdev: add VXLAN-GPE macro
net/i40e: add support for VXLAN-GPE
net/i40e: support VXLAN-GPE classification
app/testpmd: add VXLAN-GPE to tunnel type
doc: add release note for VXLAN-GPE support
app/test-pmd/cmdline.c | 19 ++++++++++++-------
doc/guides/rel_notes/release_19_05.rst | 7 +++++++
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 11 +++++++----
drivers/net/i40e/i40e_ethdev.c | 16 ++++++++++++----
lib/librte_ethdev/rte_eth_ctrl.h | 1 +
5 files changed, 39 insertions(+), 15 deletions(-)
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
2019-04-05 9:05 [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Qi Zhang
2019-04-05 9:05 ` Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:36 ` Ananyev, Konstantin
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 2/5] net/i40e: add support for VXLAN-GPE Qi Zhang
` (4 subsequent siblings)
6 siblings, 2 replies; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev, Qiming Yang
From: Qiming Yang <qiming.yang@intel.com>
This patch added VXLAN-GPE macro in rte_eth_tunnel_type.
This patch will break the ABI, RTE_TUNNEL_TYPE_MAX will have
problem when running with new version of the ethdev shared
library.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
lib/librte_ethdev/rte_eth_ctrl.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h
index 5ea8ae24c..b3416341b 100644
--- a/lib/librte_ethdev/rte_eth_ctrl.h
+++ b/lib/librte_ethdev/rte_eth_ctrl.h
@@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
RTE_TUNNEL_TYPE_NVGRE,
RTE_TUNNEL_TYPE_IP_IN_GRE,
RTE_L2_TUNNEL_TYPE_E_TAG,
+ RTE_TUNNEL_TYPE_VXLAN_GPE,
RTE_TUNNEL_TYPE_MAX,
};
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:36 ` Ananyev, Konstantin
1 sibling, 0 replies; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev, Qiming Yang
From: Qiming Yang <qiming.yang@intel.com>
This patch added VXLAN-GPE macro in rte_eth_tunnel_type.
This patch will break the ABI, RTE_TUNNEL_TYPE_MAX will have
problem when running with new version of the ethdev shared
library.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
lib/librte_ethdev/rte_eth_ctrl.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h
index 5ea8ae24c..b3416341b 100644
--- a/lib/librte_ethdev/rte_eth_ctrl.h
+++ b/lib/librte_ethdev/rte_eth_ctrl.h
@@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
RTE_TUNNEL_TYPE_NVGRE,
RTE_TUNNEL_TYPE_IP_IN_GRE,
RTE_L2_TUNNEL_TYPE_E_TAG,
+ RTE_TUNNEL_TYPE_VXLAN_GPE,
RTE_TUNNEL_TYPE_MAX,
};
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro Qi Zhang
2019-04-05 9:05 ` Qi Zhang
@ 2019-04-05 9:36 ` Ananyev, Konstantin
2019-04-05 9:36 ` Ananyev, Konstantin
2019-04-05 9:42 ` Ferruh Yigit
1 sibling, 2 replies; 24+ messages in thread
From: Ananyev, Konstantin @ 2019-04-05 9:36 UTC (permalink / raw)
To: Zhang, Qi Z, Yigit, Ferruh, Zhang, Qi Z, Iremonger, Bernard
Cc: dev, Yang, Qiming
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> Sent: Friday, April 5, 2019 10:06 AM
> To: Yigit, Ferruh <ferruh.yigit@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>; Iremonger, Bernard <bernard.iremonger@intel.com>
> Cc: dev@dpdk.org; Yang, Qiming <qiming.yang@intel.com>
> Subject: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
>
> From: Qiming Yang <qiming.yang@intel.com>
>
> This patch added VXLAN-GPE macro in rte_eth_tunnel_type.
> This patch will break the ABI, RTE_TUNNEL_TYPE_MAX will have
> problem when running with new version of the ethdev shared
> library.
>
> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
> ---
> lib/librte_ethdev/rte_eth_ctrl.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h
> index 5ea8ae24c..b3416341b 100644
> --- a/lib/librte_ethdev/rte_eth_ctrl.h
> +++ b/lib/librte_ethdev/rte_eth_ctrl.h
> @@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
> RTE_TUNNEL_TYPE_NVGRE,
> RTE_TUNNEL_TYPE_IP_IN_GRE,
> RTE_L2_TUNNEL_TYPE_E_TAG,
> + RTE_TUNNEL_TYPE_VXLAN_GPE,
Not sure, why do you consider it as an ABI breakage?
Konstantin
> RTE_TUNNEL_TYPE_MAX,
> };
>
> --
> 2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
2019-04-05 9:36 ` Ananyev, Konstantin
@ 2019-04-05 9:36 ` Ananyev, Konstantin
2019-04-05 9:42 ` Ferruh Yigit
1 sibling, 0 replies; 24+ messages in thread
From: Ananyev, Konstantin @ 2019-04-05 9:36 UTC (permalink / raw)
To: Zhang, Qi Z, Yigit, Ferruh, Zhang, Qi Z, Iremonger, Bernard
Cc: dev, Yang, Qiming
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> Sent: Friday, April 5, 2019 10:06 AM
> To: Yigit, Ferruh <ferruh.yigit@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>; Iremonger, Bernard <bernard.iremonger@intel.com>
> Cc: dev@dpdk.org; Yang, Qiming <qiming.yang@intel.com>
> Subject: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
>
> From: Qiming Yang <qiming.yang@intel.com>
>
> This patch added VXLAN-GPE macro in rte_eth_tunnel_type.
> This patch will break the ABI, RTE_TUNNEL_TYPE_MAX will have
> problem when running with new version of the ethdev shared
> library.
>
> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
> ---
> lib/librte_ethdev/rte_eth_ctrl.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h
> index 5ea8ae24c..b3416341b 100644
> --- a/lib/librte_ethdev/rte_eth_ctrl.h
> +++ b/lib/librte_ethdev/rte_eth_ctrl.h
> @@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
> RTE_TUNNEL_TYPE_NVGRE,
> RTE_TUNNEL_TYPE_IP_IN_GRE,
> RTE_L2_TUNNEL_TYPE_E_TAG,
> + RTE_TUNNEL_TYPE_VXLAN_GPE,
Not sure, why do you consider it as an ABI breakage?
Konstantin
> RTE_TUNNEL_TYPE_MAX,
> };
>
> --
> 2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
2019-04-05 9:36 ` Ananyev, Konstantin
2019-04-05 9:36 ` Ananyev, Konstantin
@ 2019-04-05 9:42 ` Ferruh Yigit
2019-04-05 9:42 ` Ferruh Yigit
2019-04-05 10:37 ` Thomas Monjalon
1 sibling, 2 replies; 24+ messages in thread
From: Ferruh Yigit @ 2019-04-05 9:42 UTC (permalink / raw)
To: Ananyev, Konstantin, Zhang, Qi Z, Iremonger, Bernard; +Cc: dev, Yang, Qiming
On 4/5/2019 10:36 AM, Ananyev, Konstantin wrote:
>
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
>> Sent: Friday, April 5, 2019 10:06 AM
>> To: Yigit, Ferruh <ferruh.yigit@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>; Iremonger, Bernard <bernard.iremonger@intel.com>
>> Cc: dev@dpdk.org; Yang, Qiming <qiming.yang@intel.com>
>> Subject: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
>>
>> From: Qiming Yang <qiming.yang@intel.com>
>>
>> This patch added VXLAN-GPE macro in rte_eth_tunnel_type.
>> This patch will break the ABI, RTE_TUNNEL_TYPE_MAX will have
>> problem when running with new version of the ethdev shared
>> library.
>>
>> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
>> ---
>> lib/librte_ethdev/rte_eth_ctrl.h | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h
>> index 5ea8ae24c..b3416341b 100644
>> --- a/lib/librte_ethdev/rte_eth_ctrl.h
>> +++ b/lib/librte_ethdev/rte_eth_ctrl.h
>> @@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
>> RTE_TUNNEL_TYPE_NVGRE,
>> RTE_TUNNEL_TYPE_IP_IN_GRE,
>> RTE_L2_TUNNEL_TYPE_E_TAG,
>> + RTE_TUNNEL_TYPE_VXLAN_GPE,
>
> Not sure, why do you consider it as an ABI breakage?
I think it is API breakage instead of ABI.
This changes the value of the 'RTE_TUNNEL_TYPE_MAX'
If the application is using the MAX enum item, with the new version of the
ethdev the MAX value will be different and this can break the app.
Like:
app_function(..) {
ret = lib_foo()
if (ret == RTE_TUNNEL_TYPE_MAX)
ret -1;
}
lib_foo(..) {
return RTE_TUNNEL_TYPE_MAX;
}
When app compiled, MAX was '7' and app is comparing ret value against '7', but
with new version of DPDK, 'lib_foo()' will return '8' instead.
> Konstantin
>
>> RTE_TUNNEL_TYPE_MAX,
>> };
>>
>> --
>> 2.13.6
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
2019-04-05 9:42 ` Ferruh Yigit
@ 2019-04-05 9:42 ` Ferruh Yigit
2019-04-05 10:37 ` Thomas Monjalon
1 sibling, 0 replies; 24+ messages in thread
From: Ferruh Yigit @ 2019-04-05 9:42 UTC (permalink / raw)
To: Ananyev, Konstantin, Zhang, Qi Z, Iremonger, Bernard; +Cc: dev, Yang, Qiming
On 4/5/2019 10:36 AM, Ananyev, Konstantin wrote:
>
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
>> Sent: Friday, April 5, 2019 10:06 AM
>> To: Yigit, Ferruh <ferruh.yigit@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>; Iremonger, Bernard <bernard.iremonger@intel.com>
>> Cc: dev@dpdk.org; Yang, Qiming <qiming.yang@intel.com>
>> Subject: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
>>
>> From: Qiming Yang <qiming.yang@intel.com>
>>
>> This patch added VXLAN-GPE macro in rte_eth_tunnel_type.
>> This patch will break the ABI, RTE_TUNNEL_TYPE_MAX will have
>> problem when running with new version of the ethdev shared
>> library.
>>
>> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
>> ---
>> lib/librte_ethdev/rte_eth_ctrl.h | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h
>> index 5ea8ae24c..b3416341b 100644
>> --- a/lib/librte_ethdev/rte_eth_ctrl.h
>> +++ b/lib/librte_ethdev/rte_eth_ctrl.h
>> @@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
>> RTE_TUNNEL_TYPE_NVGRE,
>> RTE_TUNNEL_TYPE_IP_IN_GRE,
>> RTE_L2_TUNNEL_TYPE_E_TAG,
>> + RTE_TUNNEL_TYPE_VXLAN_GPE,
>
> Not sure, why do you consider it as an ABI breakage?
I think it is API breakage instead of ABI.
This changes the value of the 'RTE_TUNNEL_TYPE_MAX'
If the application is using the MAX enum item, with the new version of the
ethdev the MAX value will be different and this can break the app.
Like:
app_function(..) {
ret = lib_foo()
if (ret == RTE_TUNNEL_TYPE_MAX)
ret -1;
}
lib_foo(..) {
return RTE_TUNNEL_TYPE_MAX;
}
When app compiled, MAX was '7' and app is comparing ret value against '7', but
with new version of DPDK, 'lib_foo()' will return '8' instead.
> Konstantin
>
>> RTE_TUNNEL_TYPE_MAX,
>> };
>>
>> --
>> 2.13.6
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
2019-04-05 9:42 ` Ferruh Yigit
2019-04-05 9:42 ` Ferruh Yigit
@ 2019-04-05 10:37 ` Thomas Monjalon
2019-04-05 10:37 ` Thomas Monjalon
2019-04-05 11:12 ` Ferruh Yigit
1 sibling, 2 replies; 24+ messages in thread
From: Thomas Monjalon @ 2019-04-05 10:37 UTC (permalink / raw)
To: Ferruh Yigit, Ananyev, Konstantin, Yang, Qiming
Cc: dev, Zhang, Qi Z, Iremonger, Bernard, bruce.richardson
Hi,
Sorry for not catching it before, but I was not Cc.
Please use git send-email --to-cmd devtools/get-maintainer.sh
05/04/2019 11:42, Ferruh Yigit:
> On 4/5/2019 10:36 AM, Ananyev, Konstantin wrote:
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> >> From: Qiming Yang <qiming.yang@intel.com>
> >>
> >> This patch added VXLAN-GPE macro in rte_eth_tunnel_type.
> >> This patch will break the ABI, RTE_TUNNEL_TYPE_MAX will have
> >> problem when running with new version of the ethdev shared
> >> library.
> >>
> >> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
> >> ---
[...]
> >> --- a/lib/librte_ethdev/rte_eth_ctrl.h
> >> +++ b/lib/librte_ethdev/rte_eth_ctrl.h
> >> @@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
> >> RTE_TUNNEL_TYPE_NVGRE,
> >> RTE_TUNNEL_TYPE_IP_IN_GRE,
> >> RTE_L2_TUNNEL_TYPE_E_TAG,
> >> + RTE_TUNNEL_TYPE_VXLAN_GPE,
> >
> > Not sure, why do you consider it as an ABI breakage?
>
> I think it is API breakage instead of ABI.
>
> This changes the value of the 'RTE_TUNNEL_TYPE_MAX'
> If the application is using the MAX enum item, with the new version of the
> ethdev the MAX value will be different and this can break the app.
>
> Like:
>
> app_function(..) {
> ret = lib_foo()
> if (ret == RTE_TUNNEL_TYPE_MAX)
> ret -1;
> }
>
> lib_foo(..) {
> return RTE_TUNNEL_TYPE_MAX;
> }
>
>
> When app compiled, MAX was '7' and app is comparing ret value against '7', but
> with new version of DPDK, 'lib_foo()' will return '8' instead.
I would vote for ABI because it is a value change.
Anyway, it must be noticed in the release notes.
As we are already breaking ethdev ABI in this release,
and it is a very basic change, I agree to accept it in 19.05.
In future, we should make sure that such addition is possible
without any breakage.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
2019-04-05 10:37 ` Thomas Monjalon
@ 2019-04-05 10:37 ` Thomas Monjalon
2019-04-05 11:12 ` Ferruh Yigit
1 sibling, 0 replies; 24+ messages in thread
From: Thomas Monjalon @ 2019-04-05 10:37 UTC (permalink / raw)
To: Ferruh Yigit, Ananyev, Konstantin, Yang, Qiming
Cc: dev, Zhang, Qi Z, Iremonger, Bernard, bruce.richardson
Hi,
Sorry for not catching it before, but I was not Cc.
Please use git send-email --to-cmd devtools/get-maintainer.sh
05/04/2019 11:42, Ferruh Yigit:
> On 4/5/2019 10:36 AM, Ananyev, Konstantin wrote:
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> >> From: Qiming Yang <qiming.yang@intel.com>
> >>
> >> This patch added VXLAN-GPE macro in rte_eth_tunnel_type.
> >> This patch will break the ABI, RTE_TUNNEL_TYPE_MAX will have
> >> problem when running with new version of the ethdev shared
> >> library.
> >>
> >> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
> >> ---
[...]
> >> --- a/lib/librte_ethdev/rte_eth_ctrl.h
> >> +++ b/lib/librte_ethdev/rte_eth_ctrl.h
> >> @@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
> >> RTE_TUNNEL_TYPE_NVGRE,
> >> RTE_TUNNEL_TYPE_IP_IN_GRE,
> >> RTE_L2_TUNNEL_TYPE_E_TAG,
> >> + RTE_TUNNEL_TYPE_VXLAN_GPE,
> >
> > Not sure, why do you consider it as an ABI breakage?
>
> I think it is API breakage instead of ABI.
>
> This changes the value of the 'RTE_TUNNEL_TYPE_MAX'
> If the application is using the MAX enum item, with the new version of the
> ethdev the MAX value will be different and this can break the app.
>
> Like:
>
> app_function(..) {
> ret = lib_foo()
> if (ret == RTE_TUNNEL_TYPE_MAX)
> ret -1;
> }
>
> lib_foo(..) {
> return RTE_TUNNEL_TYPE_MAX;
> }
>
>
> When app compiled, MAX was '7' and app is comparing ret value against '7', but
> with new version of DPDK, 'lib_foo()' will return '8' instead.
I would vote for ABI because it is a value change.
Anyway, it must be noticed in the release notes.
As we are already breaking ethdev ABI in this release,
and it is a very basic change, I agree to accept it in 19.05.
In future, we should make sure that such addition is possible
without any breakage.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
2019-04-05 10:37 ` Thomas Monjalon
2019-04-05 10:37 ` Thomas Monjalon
@ 2019-04-05 11:12 ` Ferruh Yigit
2019-04-05 11:12 ` Ferruh Yigit
1 sibling, 1 reply; 24+ messages in thread
From: Ferruh Yigit @ 2019-04-05 11:12 UTC (permalink / raw)
To: Thomas Monjalon, Ananyev, Konstantin, Yang, Qiming
Cc: dev, Zhang, Qi Z, Iremonger, Bernard, bruce.richardson
On 4/5/2019 11:37 AM, Thomas Monjalon wrote:
> Hi,
>
> Sorry for not catching it before, but I was not Cc.
> Please use git send-email --to-cmd devtools/get-maintainer.sh
>
> 05/04/2019 11:42, Ferruh Yigit:
>> On 4/5/2019 10:36 AM, Ananyev, Konstantin wrote:
>>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
>>>> From: Qiming Yang <qiming.yang@intel.com>
>>>>
>>>> This patch added VXLAN-GPE macro in rte_eth_tunnel_type.
>>>> This patch will break the ABI, RTE_TUNNEL_TYPE_MAX will have
>>>> problem when running with new version of the ethdev shared
>>>> library.
>>>>
>>>> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
>>>> ---
> [...]
>>>> --- a/lib/librte_ethdev/rte_eth_ctrl.h
>>>> +++ b/lib/librte_ethdev/rte_eth_ctrl.h
>>>> @@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
>>>> RTE_TUNNEL_TYPE_NVGRE,
>>>> RTE_TUNNEL_TYPE_IP_IN_GRE,
>>>> RTE_L2_TUNNEL_TYPE_E_TAG,
>>>> + RTE_TUNNEL_TYPE_VXLAN_GPE,
>>>
>>> Not sure, why do you consider it as an ABI breakage?
>>
>> I think it is API breakage instead of ABI.
>>
>> This changes the value of the 'RTE_TUNNEL_TYPE_MAX'
>> If the application is using the MAX enum item, with the new version of the
>> ethdev the MAX value will be different and this can break the app.
>>
>> Like:
>>
>> app_function(..) {
>> ret = lib_foo()
>> if (ret == RTE_TUNNEL_TYPE_MAX)
>> ret -1;
>> }
>>
>> lib_foo(..) {
>> return RTE_TUNNEL_TYPE_MAX;
>> }
>>
>>
>> When app compiled, MAX was '7' and app is comparing ret value against '7', but
>> with new version of DPDK, 'lib_foo()' will return '8' instead.
>
> I would vote for ABI because it is a value change.
>
> Anyway, it must be noticed in the release notes.
>
> As we are already breaking ethdev ABI in this release,
> and it is a very basic change, I agree to accept it in 19.05.
+1
>
> In future, we should make sure that such addition is possible
> without any breakage.
+1. Otherwise there is no escape from it and adding a new tunnel type shouldn't
cause and ABI/API breakage.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
2019-04-05 11:12 ` Ferruh Yigit
@ 2019-04-05 11:12 ` Ferruh Yigit
0 siblings, 0 replies; 24+ messages in thread
From: Ferruh Yigit @ 2019-04-05 11:12 UTC (permalink / raw)
To: Thomas Monjalon, Ananyev, Konstantin, Yang, Qiming
Cc: dev, Zhang, Qi Z, Iremonger, Bernard, bruce.richardson
On 4/5/2019 11:37 AM, Thomas Monjalon wrote:
> Hi,
>
> Sorry for not catching it before, but I was not Cc.
> Please use git send-email --to-cmd devtools/get-maintainer.sh
>
> 05/04/2019 11:42, Ferruh Yigit:
>> On 4/5/2019 10:36 AM, Ananyev, Konstantin wrote:
>>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
>>>> From: Qiming Yang <qiming.yang@intel.com>
>>>>
>>>> This patch added VXLAN-GPE macro in rte_eth_tunnel_type.
>>>> This patch will break the ABI, RTE_TUNNEL_TYPE_MAX will have
>>>> problem when running with new version of the ethdev shared
>>>> library.
>>>>
>>>> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
>>>> ---
> [...]
>>>> --- a/lib/librte_ethdev/rte_eth_ctrl.h
>>>> +++ b/lib/librte_ethdev/rte_eth_ctrl.h
>>>> @@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
>>>> RTE_TUNNEL_TYPE_NVGRE,
>>>> RTE_TUNNEL_TYPE_IP_IN_GRE,
>>>> RTE_L2_TUNNEL_TYPE_E_TAG,
>>>> + RTE_TUNNEL_TYPE_VXLAN_GPE,
>>>
>>> Not sure, why do you consider it as an ABI breakage?
>>
>> I think it is API breakage instead of ABI.
>>
>> This changes the value of the 'RTE_TUNNEL_TYPE_MAX'
>> If the application is using the MAX enum item, with the new version of the
>> ethdev the MAX value will be different and this can break the app.
>>
>> Like:
>>
>> app_function(..) {
>> ret = lib_foo()
>> if (ret == RTE_TUNNEL_TYPE_MAX)
>> ret -1;
>> }
>>
>> lib_foo(..) {
>> return RTE_TUNNEL_TYPE_MAX;
>> }
>>
>>
>> When app compiled, MAX was '7' and app is comparing ret value against '7', but
>> with new version of DPDK, 'lib_foo()' will return '8' instead.
>
> I would vote for ABI because it is a value change.
>
> Anyway, it must be noticed in the release notes.
>
> As we are already breaking ethdev ABI in this release,
> and it is a very basic change, I agree to accept it in 19.05.
+1
>
> In future, we should make sure that such addition is possible
> without any breakage.
+1. Otherwise there is no escape from it and adding a new tunnel type shouldn't
cause and ABI/API breakage.
^ permalink raw reply [flat|nested] 24+ messages in thread
* [dpdk-dev] [PATCH v5 2/5] net/i40e: add support for VXLAN-GPE
2019-04-05 9:05 [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Qi Zhang
2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 3/5] net/i40e: support VXLAN-GPE classification Qi Zhang
` (3 subsequent siblings)
6 siblings, 1 reply; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev, Qiming Yang
From: Qiming Yang <qiming.yang@intel.com>
Add new protocol type VXLAN-GPE support for UDP tunnel.
inner IP/TCP/UDP checksum and RSS configuration shared
the same implementation of VXLAN.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acke-by: Qi Zhang <qi.z.zhang@intel.com>
---
drivers/net/i40e/i40e_ethdev.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index b031bf4c6..f382013c4 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -8370,7 +8370,7 @@ i40e_get_vxlan_port_idx(struct i40e_pf *pf, uint16_t port)
}
static int
-i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port)
+i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port, int udp_type)
{
int idx, ret;
uint8_t filter_idx;
@@ -8393,7 +8393,7 @@ i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port)
return -ENOSPC;
}
- ret = i40e_aq_add_udp_tunnel(hw, port, I40E_AQC_TUNNEL_TYPE_VXLAN,
+ ret = i40e_aq_add_udp_tunnel(hw, port, udp_type,
&filter_idx, NULL);
if (ret < 0) {
PMD_DRV_LOG(ERR, "Failed to add VXLAN UDP port %d", port);
@@ -8461,9 +8461,13 @@ i40e_dev_udp_tunnel_port_add(struct rte_eth_dev *dev,
switch (udp_tunnel->prot_type) {
case RTE_TUNNEL_TYPE_VXLAN:
- ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port);
+ ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port,
+ I40E_AQC_TUNNEL_TYPE_VXLAN);
+ break;
+ case RTE_TUNNEL_TYPE_VXLAN_GPE:
+ ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port,
+ I40E_AQC_TUNNEL_TYPE_VXLAN_GPE);
break;
-
case RTE_TUNNEL_TYPE_GENEVE:
case RTE_TUNNEL_TYPE_TEREDO:
PMD_DRV_LOG(ERR, "Tunnel type is not supported now.");
@@ -8492,6 +8496,7 @@ i40e_dev_udp_tunnel_port_del(struct rte_eth_dev *dev,
switch (udp_tunnel->prot_type) {
case RTE_TUNNEL_TYPE_VXLAN:
+ case RTE_TUNNEL_TYPE_VXLAN_GPE:
ret = i40e_del_vxlan_port(pf, udp_tunnel->udp_port);
break;
case RTE_TUNNEL_TYPE_GENEVE:
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* [dpdk-dev] [PATCH v5 2/5] net/i40e: add support for VXLAN-GPE
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 2/5] net/i40e: add support for VXLAN-GPE Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
0 siblings, 0 replies; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev, Qiming Yang
From: Qiming Yang <qiming.yang@intel.com>
Add new protocol type VXLAN-GPE support for UDP tunnel.
inner IP/TCP/UDP checksum and RSS configuration shared
the same implementation of VXLAN.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acke-by: Qi Zhang <qi.z.zhang@intel.com>
---
drivers/net/i40e/i40e_ethdev.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index b031bf4c6..f382013c4 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -8370,7 +8370,7 @@ i40e_get_vxlan_port_idx(struct i40e_pf *pf, uint16_t port)
}
static int
-i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port)
+i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port, int udp_type)
{
int idx, ret;
uint8_t filter_idx;
@@ -8393,7 +8393,7 @@ i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port)
return -ENOSPC;
}
- ret = i40e_aq_add_udp_tunnel(hw, port, I40E_AQC_TUNNEL_TYPE_VXLAN,
+ ret = i40e_aq_add_udp_tunnel(hw, port, udp_type,
&filter_idx, NULL);
if (ret < 0) {
PMD_DRV_LOG(ERR, "Failed to add VXLAN UDP port %d", port);
@@ -8461,9 +8461,13 @@ i40e_dev_udp_tunnel_port_add(struct rte_eth_dev *dev,
switch (udp_tunnel->prot_type) {
case RTE_TUNNEL_TYPE_VXLAN:
- ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port);
+ ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port,
+ I40E_AQC_TUNNEL_TYPE_VXLAN);
+ break;
+ case RTE_TUNNEL_TYPE_VXLAN_GPE:
+ ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port,
+ I40E_AQC_TUNNEL_TYPE_VXLAN_GPE);
break;
-
case RTE_TUNNEL_TYPE_GENEVE:
case RTE_TUNNEL_TYPE_TEREDO:
PMD_DRV_LOG(ERR, "Tunnel type is not supported now.");
@@ -8492,6 +8496,7 @@ i40e_dev_udp_tunnel_port_del(struct rte_eth_dev *dev,
switch (udp_tunnel->prot_type) {
case RTE_TUNNEL_TYPE_VXLAN:
+ case RTE_TUNNEL_TYPE_VXLAN_GPE:
ret = i40e_del_vxlan_port(pf, udp_tunnel->udp_port);
break;
case RTE_TUNNEL_TYPE_GENEVE:
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* [dpdk-dev] [PATCH v5 3/5] net/i40e: support VXLAN-GPE classification
2019-04-05 9:05 [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Qi Zhang
` (2 preceding siblings ...)
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 2/5] net/i40e: add support for VXLAN-GPE Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 4/5] app/testpmd: add VXLAN-GPE to tunnel type Qi Zhang
` (2 subsequent siblings)
6 siblings, 1 reply; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev, Qiming Yang
From: Qiming Yang <qiming.yang@intel.com>
Added VXLAN-GPE tunnel filter, supported filter to queue.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
drivers/net/i40e/i40e_ethdev.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index f382013c4..5b01dc1f0 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -7722,6 +7722,9 @@ i40e_dev_tunnel_filter_set(struct i40e_pf *pf,
case RTE_TUNNEL_TYPE_IP_IN_GRE:
tun_type = I40E_AQC_ADD_CLOUD_TNL_TYPE_IP;
break;
+ case RTE_TUNNEL_TYPE_VXLAN_GPE:
+ tun_type = I40E_AQC_ADD_CLOUD_TNL_TYPE_VXLAN_GPE;
+ break;
default:
/* Other tunnel types is not supported. */
PMD_DRV_LOG(ERR, "tunnel type is not supported.");
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* [dpdk-dev] [PATCH v5 3/5] net/i40e: support VXLAN-GPE classification
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 3/5] net/i40e: support VXLAN-GPE classification Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
0 siblings, 0 replies; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev, Qiming Yang
From: Qiming Yang <qiming.yang@intel.com>
Added VXLAN-GPE tunnel filter, supported filter to queue.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
drivers/net/i40e/i40e_ethdev.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index f382013c4..5b01dc1f0 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -7722,6 +7722,9 @@ i40e_dev_tunnel_filter_set(struct i40e_pf *pf,
case RTE_TUNNEL_TYPE_IP_IN_GRE:
tun_type = I40E_AQC_ADD_CLOUD_TNL_TYPE_IP;
break;
+ case RTE_TUNNEL_TYPE_VXLAN_GPE:
+ tun_type = I40E_AQC_ADD_CLOUD_TNL_TYPE_VXLAN_GPE;
+ break;
default:
/* Other tunnel types is not supported. */
PMD_DRV_LOG(ERR, "tunnel type is not supported.");
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* [dpdk-dev] [PATCH v5 4/5] app/testpmd: add VXLAN-GPE to tunnel type
2019-04-05 9:05 [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Qi Zhang
` (3 preceding siblings ...)
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 3/5] net/i40e: support VXLAN-GPE classification Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 5/5] doc: add release note for VXLAN-GPE support Qi Zhang
2019-04-05 11:31 ` [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Ferruh Yigit
6 siblings, 1 reply; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev, Qiming Yang
From: Qiming Yang <qiming.yang@intel.com>
This patch added new item "vxlan-gpe" to tunnel_type to
support new VXLAN-GPE packet type, and its clasification.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
app/test-pmd/cmdline.c | 19 ++++++++++++-------
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 11 +++++++----
2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index ee50e4566..2ab03c111 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -376,12 +376,12 @@ static void cmd_help_long_parsed(void *parsed_result,
"filtered for VF(s) from port_id.\n\n"
"tunnel_filter add (port_id) (outer_mac) (inner_mac) (ip_addr) "
- "(inner_vlan) (vxlan|nvgre|ipingre) (imac-ivlan|imac-ivlan-tenid|"
+ "(inner_vlan) (vxlan|nvgre|ipingre|vxlan-gpe) (imac-ivlan|imac-ivlan-tenid|"
"imac-tenid|imac|omac-imac-tenid|oip|iip) (tenant_id) (queue_id)\n"
" add a tunnel filter of a port.\n\n"
"tunnel_filter rm (port_id) (outer_mac) (inner_mac) (ip_addr) "
- "(inner_vlan) (vxlan|nvgre|ipingre) (imac-ivlan|imac-ivlan-tenid|"
+ "(inner_vlan) (vxlan|nvgre|ipingre|vxlan-gpe) (imac-ivlan|imac-ivlan-tenid|"
"imac-tenid|imac|omac-imac-tenid|oip|iip) (tenant_id) (queue_id)\n"
" remove a tunnel filter of a port.\n\n"
@@ -863,7 +863,7 @@ static void cmd_help_long_parsed(void *parsed_result,
" for ports.\n\n"
"port config all rss (all|default|ip|tcp|udp|sctp|"
- "ether|port|vxlan|geneve|nvgre|none|<flowtype_id>)\n"
+ "ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|<flowtype_id>)\n"
" Set the RSS mode.\n\n"
"port config port-id rss reta (hash,queue)[,(hash,queue)]\n"
@@ -2190,7 +2190,7 @@ cmdline_parse_inst_t cmd_config_rss = {
.f = cmd_config_rss_parsed,
.data = NULL,
.help_str = "port config all rss "
- "all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none|<flowtype_id>",
+ "all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|<flowtype_id>",
.tokens = {
(void *)&cmd_config_rss_port,
(void *)&cmd_config_rss_keyword,
@@ -8758,6 +8758,8 @@ cmd_tunnel_filter_parsed(void *parsed_result,
if (!strcmp(res->tunnel_type, "vxlan"))
tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_VXLAN;
+ else if (!strcmp(res->tunnel_type, "vxlan-gpe"))
+ tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_VXLAN_GPE;
else if (!strcmp(res->tunnel_type, "nvgre"))
tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_NVGRE;
else if (!strcmp(res->tunnel_type, "ipingre"))
@@ -8807,7 +8809,7 @@ cmdline_parse_token_ipaddr_t cmd_tunnel_filter_ip_value =
ip_value);
cmdline_parse_token_string_t cmd_tunnel_filter_tunnel_type =
TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
- tunnel_type, "vxlan#nvgre#ipingre");
+ tunnel_type, "vxlan#nvgre#ipingre#vxlan-gpe");
cmdline_parse_token_string_t cmd_tunnel_filter_filter_type =
TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
@@ -8931,6 +8933,8 @@ cmd_cfg_tunnel_udp_port_parsed(void *parsed_result,
tunnel_udp.prot_type = RTE_TUNNEL_TYPE_VXLAN;
} else if (!strcmp(res->tunnel_type, "geneve")) {
tunnel_udp.prot_type = RTE_TUNNEL_TYPE_GENEVE;
+ } else if (!strcmp(res->tunnel_type, "vxlan-gpe")) {
+ tunnel_udp.prot_type = RTE_TUNNEL_TYPE_VXLAN_GPE;
} else {
printf("Invalid tunnel type\n");
return;
@@ -8965,7 +8969,7 @@ cmdline_parse_token_string_t cmd_config_tunnel_udp_port_action =
"add#rm");
cmdline_parse_token_string_t cmd_config_tunnel_udp_port_tunnel_type =
TOKEN_STRING_INITIALIZER(struct cmd_config_tunnel_udp_port, tunnel_type,
- "vxlan#geneve");
+ "vxlan#geneve#vxlan-gpe");
cmdline_parse_token_num_t cmd_config_tunnel_udp_port_value =
TOKEN_NUM_INITIALIZER(struct cmd_config_tunnel_udp_port, udp_port,
UINT16);
@@ -8973,7 +8977,7 @@ cmdline_parse_token_num_t cmd_config_tunnel_udp_port_value =
cmdline_parse_inst_t cmd_cfg_tunnel_udp_port = {
.f = cmd_cfg_tunnel_udp_port_parsed,
.data = NULL,
- .help_str = "port config <port_id> udp_tunnel_port add|rm vxlan|geneve <udp_port>",
+ .help_str = "port config <port_id> udp_tunnel_port add|rm vxlan|geneve|vxlan-gpe <udp_port>",
.tokens = {
(void *)&cmd_config_tunnel_udp_port_port,
(void *)&cmd_config_tunnel_udp_port_config,
@@ -11987,6 +11991,7 @@ flowtype_to_str(uint16_t ftype)
{"vxlan", RTE_ETH_FLOW_VXLAN},
{"geneve", RTE_ETH_FLOW_GENEVE},
{"nvgre", RTE_ETH_FLOW_NVGRE},
+ {"vxlan-gpe", RTE_ETH_FLOW_VXLAN_GPE},
};
for (i = 0; i < RTE_DIM(ftype_table); i++) {
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index bcf1449a2..5d4dc6f0c 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -218,6 +218,7 @@ For example:
vxlan
geneve
nvgre
+ vxlan-gpe
show port rss reta
~~~~~~~~~~~~~~~~~~
@@ -830,7 +831,7 @@ tunnel_filter add
Add a tunnel filter on a port::
testpmd> tunnel_filter add (port_id) (outer_mac) (inner_mac) (ip_addr) \
- (inner_vlan) (vxlan|nvgre|ipingre) (imac-ivlan|imac-ivlan-tenid|\
+ (inner_vlan) (vxlan|nvgre|ipingre|vxlan-gpe) (imac-ivlan|imac-ivlan-tenid|\
imac-tenid|imac|omac-imac-tenid|oip|iip) (tenant_id) (queue_id)
The available information categories are:
@@ -841,6 +842,8 @@ The available information categories are:
* ``ipingre``: Set tunnel type as IP-in-GRE.
+* ``vxlan-gpe``: Set tunnel type as VXLAN-GPE
+
* ``imac-ivlan``: Set filter type as Inner MAC and VLAN.
* ``imac-ivlan-tenid``: Set filter type as Inner MAC, VLAN and tenant ID.
@@ -868,7 +871,7 @@ tunnel_filter remove
Remove a tunnel filter on a port::
testpmd> tunnel_filter rm (port_id) (outer_mac) (inner_mac) (ip_addr) \
- (inner_vlan) (vxlan|nvgre|ipingre) (imac-ivlan|imac-ivlan-tenid|\
+ (inner_vlan) (vxlan|nvgre|ipingre|vxlan-gpe) (imac-ivlan|imac-ivlan-tenid|\
imac-tenid|imac|omac-imac-tenid|oip|iip) (tenant_id) (queue_id)
rx_vxlan_port add
@@ -2059,7 +2062,7 @@ port config - RSS
Set the RSS (Receive Side Scaling) mode on or off::
- testpmd> port config all rss (all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)
+ testpmd> port config all rss (all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|vxlan-gpe|none)
RSS is on by default.
@@ -2170,7 +2173,7 @@ port config udp_tunnel_port
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add/remove UDP tunnel port for VXLAN/GENEVE tunneling protocols::
- testpmd> port config (port_id) udp_tunnel_port add|rm vxlan|geneve (udp_port)
+ testpmd> port config (port_id) udp_tunnel_port add|rm vxlan|geneve|vxlan-gpe (udp_port)
port config tx_metadata
~~~~~~~~~~~~~~~~~~~~~~~
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* [dpdk-dev] [PATCH v5 4/5] app/testpmd: add VXLAN-GPE to tunnel type
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 4/5] app/testpmd: add VXLAN-GPE to tunnel type Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
0 siblings, 0 replies; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev, Qiming Yang
From: Qiming Yang <qiming.yang@intel.com>
This patch added new item "vxlan-gpe" to tunnel_type to
support new VXLAN-GPE packet type, and its clasification.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
app/test-pmd/cmdline.c | 19 ++++++++++++-------
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 11 +++++++----
2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index ee50e4566..2ab03c111 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -376,12 +376,12 @@ static void cmd_help_long_parsed(void *parsed_result,
"filtered for VF(s) from port_id.\n\n"
"tunnel_filter add (port_id) (outer_mac) (inner_mac) (ip_addr) "
- "(inner_vlan) (vxlan|nvgre|ipingre) (imac-ivlan|imac-ivlan-tenid|"
+ "(inner_vlan) (vxlan|nvgre|ipingre|vxlan-gpe) (imac-ivlan|imac-ivlan-tenid|"
"imac-tenid|imac|omac-imac-tenid|oip|iip) (tenant_id) (queue_id)\n"
" add a tunnel filter of a port.\n\n"
"tunnel_filter rm (port_id) (outer_mac) (inner_mac) (ip_addr) "
- "(inner_vlan) (vxlan|nvgre|ipingre) (imac-ivlan|imac-ivlan-tenid|"
+ "(inner_vlan) (vxlan|nvgre|ipingre|vxlan-gpe) (imac-ivlan|imac-ivlan-tenid|"
"imac-tenid|imac|omac-imac-tenid|oip|iip) (tenant_id) (queue_id)\n"
" remove a tunnel filter of a port.\n\n"
@@ -863,7 +863,7 @@ static void cmd_help_long_parsed(void *parsed_result,
" for ports.\n\n"
"port config all rss (all|default|ip|tcp|udp|sctp|"
- "ether|port|vxlan|geneve|nvgre|none|<flowtype_id>)\n"
+ "ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|<flowtype_id>)\n"
" Set the RSS mode.\n\n"
"port config port-id rss reta (hash,queue)[,(hash,queue)]\n"
@@ -2190,7 +2190,7 @@ cmdline_parse_inst_t cmd_config_rss = {
.f = cmd_config_rss_parsed,
.data = NULL,
.help_str = "port config all rss "
- "all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none|<flowtype_id>",
+ "all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|<flowtype_id>",
.tokens = {
(void *)&cmd_config_rss_port,
(void *)&cmd_config_rss_keyword,
@@ -8758,6 +8758,8 @@ cmd_tunnel_filter_parsed(void *parsed_result,
if (!strcmp(res->tunnel_type, "vxlan"))
tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_VXLAN;
+ else if (!strcmp(res->tunnel_type, "vxlan-gpe"))
+ tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_VXLAN_GPE;
else if (!strcmp(res->tunnel_type, "nvgre"))
tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_NVGRE;
else if (!strcmp(res->tunnel_type, "ipingre"))
@@ -8807,7 +8809,7 @@ cmdline_parse_token_ipaddr_t cmd_tunnel_filter_ip_value =
ip_value);
cmdline_parse_token_string_t cmd_tunnel_filter_tunnel_type =
TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
- tunnel_type, "vxlan#nvgre#ipingre");
+ tunnel_type, "vxlan#nvgre#ipingre#vxlan-gpe");
cmdline_parse_token_string_t cmd_tunnel_filter_filter_type =
TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
@@ -8931,6 +8933,8 @@ cmd_cfg_tunnel_udp_port_parsed(void *parsed_result,
tunnel_udp.prot_type = RTE_TUNNEL_TYPE_VXLAN;
} else if (!strcmp(res->tunnel_type, "geneve")) {
tunnel_udp.prot_type = RTE_TUNNEL_TYPE_GENEVE;
+ } else if (!strcmp(res->tunnel_type, "vxlan-gpe")) {
+ tunnel_udp.prot_type = RTE_TUNNEL_TYPE_VXLAN_GPE;
} else {
printf("Invalid tunnel type\n");
return;
@@ -8965,7 +8969,7 @@ cmdline_parse_token_string_t cmd_config_tunnel_udp_port_action =
"add#rm");
cmdline_parse_token_string_t cmd_config_tunnel_udp_port_tunnel_type =
TOKEN_STRING_INITIALIZER(struct cmd_config_tunnel_udp_port, tunnel_type,
- "vxlan#geneve");
+ "vxlan#geneve#vxlan-gpe");
cmdline_parse_token_num_t cmd_config_tunnel_udp_port_value =
TOKEN_NUM_INITIALIZER(struct cmd_config_tunnel_udp_port, udp_port,
UINT16);
@@ -8973,7 +8977,7 @@ cmdline_parse_token_num_t cmd_config_tunnel_udp_port_value =
cmdline_parse_inst_t cmd_cfg_tunnel_udp_port = {
.f = cmd_cfg_tunnel_udp_port_parsed,
.data = NULL,
- .help_str = "port config <port_id> udp_tunnel_port add|rm vxlan|geneve <udp_port>",
+ .help_str = "port config <port_id> udp_tunnel_port add|rm vxlan|geneve|vxlan-gpe <udp_port>",
.tokens = {
(void *)&cmd_config_tunnel_udp_port_port,
(void *)&cmd_config_tunnel_udp_port_config,
@@ -11987,6 +11991,7 @@ flowtype_to_str(uint16_t ftype)
{"vxlan", RTE_ETH_FLOW_VXLAN},
{"geneve", RTE_ETH_FLOW_GENEVE},
{"nvgre", RTE_ETH_FLOW_NVGRE},
+ {"vxlan-gpe", RTE_ETH_FLOW_VXLAN_GPE},
};
for (i = 0; i < RTE_DIM(ftype_table); i++) {
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index bcf1449a2..5d4dc6f0c 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -218,6 +218,7 @@ For example:
vxlan
geneve
nvgre
+ vxlan-gpe
show port rss reta
~~~~~~~~~~~~~~~~~~
@@ -830,7 +831,7 @@ tunnel_filter add
Add a tunnel filter on a port::
testpmd> tunnel_filter add (port_id) (outer_mac) (inner_mac) (ip_addr) \
- (inner_vlan) (vxlan|nvgre|ipingre) (imac-ivlan|imac-ivlan-tenid|\
+ (inner_vlan) (vxlan|nvgre|ipingre|vxlan-gpe) (imac-ivlan|imac-ivlan-tenid|\
imac-tenid|imac|omac-imac-tenid|oip|iip) (tenant_id) (queue_id)
The available information categories are:
@@ -841,6 +842,8 @@ The available information categories are:
* ``ipingre``: Set tunnel type as IP-in-GRE.
+* ``vxlan-gpe``: Set tunnel type as VXLAN-GPE
+
* ``imac-ivlan``: Set filter type as Inner MAC and VLAN.
* ``imac-ivlan-tenid``: Set filter type as Inner MAC, VLAN and tenant ID.
@@ -868,7 +871,7 @@ tunnel_filter remove
Remove a tunnel filter on a port::
testpmd> tunnel_filter rm (port_id) (outer_mac) (inner_mac) (ip_addr) \
- (inner_vlan) (vxlan|nvgre|ipingre) (imac-ivlan|imac-ivlan-tenid|\
+ (inner_vlan) (vxlan|nvgre|ipingre|vxlan-gpe) (imac-ivlan|imac-ivlan-tenid|\
imac-tenid|imac|omac-imac-tenid|oip|iip) (tenant_id) (queue_id)
rx_vxlan_port add
@@ -2059,7 +2062,7 @@ port config - RSS
Set the RSS (Receive Side Scaling) mode on or off::
- testpmd> port config all rss (all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)
+ testpmd> port config all rss (all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|vxlan-gpe|none)
RSS is on by default.
@@ -2170,7 +2173,7 @@ port config udp_tunnel_port
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add/remove UDP tunnel port for VXLAN/GENEVE tunneling protocols::
- testpmd> port config (port_id) udp_tunnel_port add|rm vxlan|geneve (udp_port)
+ testpmd> port config (port_id) udp_tunnel_port add|rm vxlan|geneve|vxlan-gpe (udp_port)
port config tx_metadata
~~~~~~~~~~~~~~~~~~~~~~~
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* [dpdk-dev] [PATCH v5 5/5] doc: add release note for VXLAN-GPE support
2019-04-05 9:05 [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Qi Zhang
` (4 preceding siblings ...)
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 4/5] app/testpmd: add VXLAN-GPE to tunnel type Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
2019-04-05 9:05 ` Qi Zhang
2019-04-05 11:31 ` [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Ferruh Yigit
6 siblings, 1 reply; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev, Qiming Yang
From: Qiming Yang <qiming.yang@intel.com>
Updated release note.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
doc/guides/rel_notes/release_19_05.rst | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/doc/guides/rel_notes/release_19_05.rst b/doc/guides/rel_notes/release_19_05.rst
index 2acb42e45..62f4741e9 100644
--- a/doc/guides/rel_notes/release_19_05.rst
+++ b/doc/guides/rel_notes/release_19_05.rst
@@ -148,6 +148,13 @@ New Features
Improved testpmd application performance on ARM platform. For ``macswap``
forwarding mode, NEON intrinsics were used to do swap to save CPU cycles.
+* **Updated the i40e driver.**
+
+ New features for PF:
+
+ * Added support for VXLAN-GPE packet.
+ * Added support for VXLAN-GPE classification.
+
Removed Items
-------------
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* [dpdk-dev] [PATCH v5 5/5] doc: add release note for VXLAN-GPE support
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 5/5] doc: add release note for VXLAN-GPE support Qi Zhang
@ 2019-04-05 9:05 ` Qi Zhang
0 siblings, 0 replies; 24+ messages in thread
From: Qi Zhang @ 2019-04-05 9:05 UTC (permalink / raw)
To: ferruh.yigit, qi.z.zhang, bernard.iremonger; +Cc: dev, Qiming Yang
From: Qiming Yang <qiming.yang@intel.com>
Updated release note.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
doc/guides/rel_notes/release_19_05.rst | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/doc/guides/rel_notes/release_19_05.rst b/doc/guides/rel_notes/release_19_05.rst
index 2acb42e45..62f4741e9 100644
--- a/doc/guides/rel_notes/release_19_05.rst
+++ b/doc/guides/rel_notes/release_19_05.rst
@@ -148,6 +148,13 @@ New Features
Improved testpmd application performance on ARM platform. For ``macswap``
forwarding mode, NEON intrinsics were used to do swap to save CPU cycles.
+* **Updated the i40e driver.**
+
+ New features for PF:
+
+ * Added support for VXLAN-GPE packet.
+ * Added support for VXLAN-GPE classification.
+
Removed Items
-------------
--
2.13.6
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type
2019-04-05 9:05 [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Qi Zhang
` (5 preceding siblings ...)
2019-04-05 9:05 ` [dpdk-dev] [PATCH v5 5/5] doc: add release note for VXLAN-GPE support Qi Zhang
@ 2019-04-05 11:31 ` Ferruh Yigit
2019-04-05 11:31 ` Ferruh Yigit
2019-04-05 11:40 ` Ferruh Yigit
6 siblings, 2 replies; 24+ messages in thread
From: Ferruh Yigit @ 2019-04-05 11:31 UTC (permalink / raw)
To: Qi Zhang, bernard.iremonger; +Cc: dev
On 4/5/2019 10:05 AM, Qi Zhang wrote:
> ---
> v5:
> 1. add ABI break notification in commit log of PATCH 1/5
> 2. fix missing help string/document in testpmd cmdline (Bernard Iremonger's
> comments)
>
> V4:
> 1. rebased to the latest code.
> 2. deleted misleading statement.
>
> V3:
> 1. fixed issue in release note.
> 2. fixed check patch issue.
> 3. spilted eal related change to a new patch.
>
> V2:
> 1. move testpmd related changes to a new patch.
> 2. added release note update.
>
>
> Qiming Yang (5):
> ethdev: add VXLAN-GPE macro
> net/i40e: add support for VXLAN-GPE
> net/i40e: support VXLAN-GPE classification
> app/testpmd: add VXLAN-GPE to tunnel type
> doc: add release note for VXLAN-GPE support
For series,
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type
2019-04-05 11:31 ` [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Ferruh Yigit
@ 2019-04-05 11:31 ` Ferruh Yigit
2019-04-05 11:40 ` Ferruh Yigit
1 sibling, 0 replies; 24+ messages in thread
From: Ferruh Yigit @ 2019-04-05 11:31 UTC (permalink / raw)
To: Qi Zhang, bernard.iremonger; +Cc: dev
On 4/5/2019 10:05 AM, Qi Zhang wrote:
> ---
> v5:
> 1. add ABI break notification in commit log of PATCH 1/5
> 2. fix missing help string/document in testpmd cmdline (Bernard Iremonger's
> comments)
>
> V4:
> 1. rebased to the latest code.
> 2. deleted misleading statement.
>
> V3:
> 1. fixed issue in release note.
> 2. fixed check patch issue.
> 3. spilted eal related change to a new patch.
>
> V2:
> 1. move testpmd related changes to a new patch.
> 2. added release note update.
>
>
> Qiming Yang (5):
> ethdev: add VXLAN-GPE macro
> net/i40e: add support for VXLAN-GPE
> net/i40e: support VXLAN-GPE classification
> app/testpmd: add VXLAN-GPE to tunnel type
> doc: add release note for VXLAN-GPE support
For series,
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type
2019-04-05 11:31 ` [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type Ferruh Yigit
2019-04-05 11:31 ` Ferruh Yigit
@ 2019-04-05 11:40 ` Ferruh Yigit
2019-04-05 11:40 ` Ferruh Yigit
1 sibling, 1 reply; 24+ messages in thread
From: Ferruh Yigit @ 2019-04-05 11:40 UTC (permalink / raw)
To: Qi Zhang, bernard.iremonger; +Cc: dev
On 4/5/2019 12:31 PM, Ferruh Yigit wrote:
> On 4/5/2019 10:05 AM, Qi Zhang wrote:
>> ---
>> v5:
>> 1. add ABI break notification in commit log of PATCH 1/5
>> 2. fix missing help string/document in testpmd cmdline (Bernard Iremonger's
>> comments)
>>
>> V4:
>> 1. rebased to the latest code.
>> 2. deleted misleading statement.
>>
>> V3:
>> 1. fixed issue in release note.
>> 2. fixed check patch issue.
>> 3. spilted eal related change to a new patch.
>>
>> V2:
>> 1. move testpmd related changes to a new patch.
>> 2. added release note update.
>>
>>
>> Qiming Yang (5):
>> ethdev: add VXLAN-GPE macro
>> net/i40e: add support for VXLAN-GPE
>> net/i40e: support VXLAN-GPE classification
>> app/testpmd: add VXLAN-GPE to tunnel type
>> doc: add release note for VXLAN-GPE support
>
> For series,
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
>
Series applied to dpdk-next-net/master, thanks.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] [PATCH v5 0/5] This patch set supported new packet type
2019-04-05 11:40 ` Ferruh Yigit
@ 2019-04-05 11:40 ` Ferruh Yigit
0 siblings, 0 replies; 24+ messages in thread
From: Ferruh Yigit @ 2019-04-05 11:40 UTC (permalink / raw)
To: Qi Zhang, bernard.iremonger; +Cc: dev
On 4/5/2019 12:31 PM, Ferruh Yigit wrote:
> On 4/5/2019 10:05 AM, Qi Zhang wrote:
>> ---
>> v5:
>> 1. add ABI break notification in commit log of PATCH 1/5
>> 2. fix missing help string/document in testpmd cmdline (Bernard Iremonger's
>> comments)
>>
>> V4:
>> 1. rebased to the latest code.
>> 2. deleted misleading statement.
>>
>> V3:
>> 1. fixed issue in release note.
>> 2. fixed check patch issue.
>> 3. spilted eal related change to a new patch.
>>
>> V2:
>> 1. move testpmd related changes to a new patch.
>> 2. added release note update.
>>
>>
>> Qiming Yang (5):
>> ethdev: add VXLAN-GPE macro
>> net/i40e: add support for VXLAN-GPE
>> net/i40e: support VXLAN-GPE classification
>> app/testpmd: add VXLAN-GPE to tunnel type
>> doc: add release note for VXLAN-GPE support
>
> For series,
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
>
Series applied to dpdk-next-net/master, thanks.
^ permalink raw reply [flat|nested] 24+ messages in thread