DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>,
	"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	"Yang, Qiming" <qiming.yang@intel.com>
Cc: dev@dpdk.org, "Zhang, Qi Z" <qi.z.zhang@intel.com>,
	"Iremonger, Bernard" <bernard.iremonger@intel.com>,
	bruce.richardson@intel.com
Subject: Re: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
Date: Fri, 5 Apr 2019 12:12:03 +0100	[thread overview]
Message-ID: <07b7198a-ac55-2b42-3835-a872b6ada34a@intel.com> (raw)
In-Reply-To: <9903209.CFTR2bDiz1@xps>

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.

  parent reply	other threads:[~2019-04-05 11:12 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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: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
2019-04-05 10:37         ` Thomas Monjalon
2019-04-05 11:12         ` Ferruh Yigit [this message]
2019-04-05 11:12           ` Ferruh Yigit
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 ` [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 ` [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 ` [dpdk-dev] [PATCH v5 5/5] doc: add release note for VXLAN-GPE support 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
2019-04-05 11:31   ` Ferruh Yigit
2019-04-05 11:40   ` Ferruh Yigit
2019-04-05 11:40     ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=07b7198a-ac55-2b42-3835-a872b6ada34a@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=bernard.iremonger@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@intel.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).