[dpdk-stable] [PATCH v4] meter: provide experimental alias of API for old apps

Ray Kinsella mdr at ashroe.eu
Fri May 15 16:41:36 CEST 2020



On 15/05/2020 14:31, Thomas Monjalon wrote:
> 14/05/2020 18:11, Ferruh Yigit:
>> On v20.02 some meter APIs have been matured and symbols moved from
>> EXPERIMENTAL to DPDK_20.0.1 block.
>>
>> This can break the applications that were using these mentioned APIs on
>> v19.11. Although there is no modification on the APIs and the action is
>> positive and matures the APIs, the affect can be negative to
>> applications.
>>
>> Since experimental APIs can change or go away without notice as part of
>> contract, to prevent this negative affect that may occur by maturing
>> experimental API, a process update already suggested, which enables
>> aliasing without forcing it:
>> https://patches.dpdk.org/patch/65863/
>>
>> This patch provides aliasing by duplicating the existing and versioned
>> symbols as experimental.
>>
>> Since symbols moved from DPDK_20.0.1 to DPDK_21 block in the v20.05, the
>> aliasing done between EXPERIMENTAL and DPDK_21.
>>
>> Also following changes done to enabling aliasing:
>>
>> Created VERSION_SYMBOL_EXPERIMENTAL helper macro.
>>
>> Updated the 'check-symbols.sh' buildtool, which was complaining that the
>> symbol is in EXPERIMENTAL tag in .map file but it is not in the
>> .experimental section (__rte_experimental tag is missing).
>> Updated tool in a way it won't complain if the symbol in the
>> EXPERIMENTAL tag duplicated in some other block in .map file (versioned)
>>
>> Enabled function versioning for meson build for the library.
>>
>> Fixes: 30512af820fe ("meter: remove experimental flag from RFC4115 trTCM API")
>> Cc: stable at dpdk.org
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
>> ---
>> Cc: Neil Horman <nhorman at tuxdriver.com>
>> Cc: Thomas Monjalon <thomas at monjalon.net>
>> Cc: Luca Boccassi <bluca at debian.org>
>> Cc: David Marchand <david.marchand at redhat.com>
>> Cc: Bruce Richardson <bruce.richardson at intel.com>
>> Cc: Ian Stokes <ian.stokes at intel.com>
>> Cc: Eelco Chaudron <echaudro at redhat.com>
>> Cc: Andrzej Ostruszka <amo at semihalf.com>
>> Cc: Ray Kinsella <mdr at ashroe.eu>
>>
>> v2:
>> * Commit log updated
>>
>> v3:
>> * added suggested comment to VERSION_SYMBOL_EXPERIMENTAL macro
>>
>> v4:
>> * update script name in commit log, remove empty line
>> ---
>>  buildtools/check-symbols.sh                   |  3 +-
>>  .../include/rte_function_versioning.h         |  9 +++
>>  lib/librte_meter/meson.build                  |  1 +
>>  lib/librte_meter/rte_meter.c                  | 59 ++++++++++++++++++-
>>  lib/librte_meter/rte_meter_version.map        |  8 +++
>>  5 files changed, 76 insertions(+), 4 deletions(-)
> 
> This patch is introducing the tooling and use it for the lib meter.
> It is based on approval of the process documentation.
> 
> Ray sent a patch for the process documentation which refers to this tooling.
> 
> As raised by David, there is a circular dependency :)
> 
> I think it would be clearer to merge tooling and doc together,
> and have meter changes separate.
> Would it work for you?
>

So I sent a v5 just of the policy and tooling changes.

Ray K


More information about the stable mailing list