On 5/13/2020 5:30 PM, Thomas Monjalon wrote: > 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).
Yes, this is the case, I can try again to clarify. Btw, I wasn't following that bit, how we are mitigating the affect of the DPDK_20.0.1 -> DPDK_21 change to applications? > > >> 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). As you said original patch is after LTS, but yes I can add the tag. (Although not having stable tag implies the fix is not in this release, it also may mean backport is not requested as been in this case.) > > >> 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; >> +}; >> > > > > >