[dpdk-stable] [PATCH v4] meter: provide experimental alias of API for old apps
Thomas Monjalon
thomas at monjalon.net
Fri May 15 15:31:35 CEST 2020
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?
More information about the stable
mailing list