I think the title should be about ABI, not API. 13/05/2020 14:11, Ferruh Yigit: > Duplicate the existing and versioned symbol as experimental.
Would be good to explain the case of the meter lib you are addressing. If I understand well, you consider we "broke" the experimental ABI during 20.02 when moving symbols from EXPERIMENTAL to DPDK_20.0.1 (and to DPDK_21 during 20.05). That's why you want to add back the EXPERIMENTAL symbol as an alias of the symbol in the next ABI (21). > This is to prevent DPDK maturing experimental API breaking old > applications using that experimental API. > The relevant process update is captured in: > https://patches.dpdk.org/patch/65863/ > > Created VERSION_SYMBOL_EXPERIMENTAL helper macro. > > Updated the 'check-experimental-syms.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") Even if it's never backported, it would be more correct to add Cc: stable to indicate it is fixing previous release (20.02 here). > Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com> [...] > --- a/lib/librte_meter/rte_meter_version.map > +++ b/lib/librte_meter/rte_meter_version.map > @@ -20,4 +20,12 @@ DPDK_21 { > rte_meter_trtcm_rfc4115_color_blind_check; > rte_meter_trtcm_rfc4115_config; > rte_meter_trtcm_rfc4115_profile_config; > + > } DPDK_20.0; > + > +EXPERIMENTAL { > + global: > + > + rte_meter_trtcm_rfc4115_config; > + rte_meter_trtcm_rfc4115_profile_config; > +}; >