[dpdk-dev] [PATCH v6] abi: provide experimental alias of API for old apps

Neil Horman nhorman at tuxdriver.com
Sat May 16 13:53:31 CEST 2020


On Fri, May 15, 2020 at 04:01:53PM +0100, Ray Kinsella wrote:
> From: Ferruh Yigit <ferruh.yigit at intel.com>
> 
> On v20.02 some APIs matured and symbols moved from EXPERIMENTAL to
> DPDK_20.0.1 block.
> 
> This had the affect of breaking the applications that were using these
> APIs on v19.11. Although there is no modification of the APIs and the
> action is positive and matures the APIs, the affect can be negative to
> applications.
> 
> When a maintainer is promoting an API to become part of the next major
> ABI version by removing the experimental tag. The maintainer may
> choose to offer an alias to the experimental tag, to prevent these
> breakages in future.
> 
> The following changes are made to enabling aliasing:
> 
> Updated to the abi policy and abi versioning documents.
> 
> 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)
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
> Signed-off-by: Ray Kinsella <mdr at ashroe.eu>
> ---
> 
> This patch depends on "doc: fix references to bind_default_symbol".
> https://patches.dpdk.org/patch/69850/
> 
> 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>
> CC: Kevin Traynor <ktraynor at redhat.com>
> 
> v2:
> * Commit log updated
> 
> v3:
> * added suggested comment to VERSION_SYMBOL_EXPERIMENTAL macro
> 
> v4:
> * update script name in commit log, remove empty line
> 
> v5:
> * incorporate policy and version doc changes
> * remove changes to librte_meter
> 
> v6:
> * clarified dependency chain includes "doc: fix references to bind_default_symbol".
> 
>  buildtools/check-symbols.sh                      |   3 +-
>  doc/guides/contributing/abi_policy.rst           |  10 ++
>  doc/guides/contributing/abi_versioning.rst       | 158 ++++++++++++++++++++++-
>  lib/librte_eal/include/rte_function_versioning.h |   9 ++
>  4 files changed, 178 insertions(+), 2 deletions(-)
> 
Acked-by: Neil Horman <nhorman at tuxdriver.com>


More information about the dev mailing list