[dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro

Ferruh Yigit ferruh.yigit at intel.com
Fri Apr 5 11:42:43 CEST 2019


On 4/5/2019 10:36 AM, Ananyev, Konstantin wrote:
> 
> 
>> -----Original Message-----
>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Qi Zhang
>> Sent: Friday, April 5, 2019 10:06 AM
>> To: Yigit, Ferruh <ferruh.yigit at intel.com>; Zhang, Qi Z <qi.z.zhang at intel.com>; Iremonger, Bernard <bernard.iremonger at intel.com>
>> Cc: dev at dpdk.org; Yang, Qiming <qiming.yang at intel.com>
>> Subject: [dpdk-dev] [PATCH v5 1/5] ethdev: add VXLAN-GPE macro
>>
>> From: Qiming Yang <qiming.yang at 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 at 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
> 



More information about the dev mailing list