[dpdk-dev] [PATCH v4] meter: provide experimental alias of API for old apps
Thomas Monjalon
thomas at monjalon.net
Mon May 18 11:22:10 CEST 2020
18/05/2020 08:29, Ray Kinsella:
> On 17/05/2020 20:52, Dumitrescu, Cristian wrote:
> > From: Yigit, Ferruh <ferruh.yigit at intel.com>
> >>
> >> 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/
> >>
> >
> > Personally, I am not convinced this is really needed.
> >
> > Are there any users asking for this?
>
> As it happens it is all breaking our abi regression test suite.
> One of the things we do is to run the unit tests binary from v19.11 against the latest release.
>
> > Is there any other library where this is also applied, or is librte_meter the only library?
>
> librte_meter is the only example AFAIK.
> But then we only have one example of needing symbol versioning also at the moment (Cryptodev).
>
> This is going to happen with experimental symbols that have been around a while,
> that have become used in applications. It is a non-mandatory tool a maintainer can use
> to preserve abi compatibility.
If you want to maintain ABI compatibility of experimental symbols,
it IS a mandatory tool.
You cannot enforce your "ABI regression test suite" and at the same time
say it is "non-mandatory".
The real question here is to know whether we want to maintain compatibility
of experimental symbols. We said no. Then we said we can.
The main concern is the message clarity in my opinion.
More information about the dev
mailing list