> > > Adding the deprecation notice as reminder for next ABI breakage release > > > (20.11). > > > This one time breakage is required to be able to extend enum/define > > > without breaking ABI. > > > > > > Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com> > > > --- > > > +* lib: will fix extending some enum/define breaking the ABI. There are > > multiple > > > + samples in DPDK that enum/define terminated with a ``.*MAX.*`` value > > which is > > > + used by iterators, and arrays holding these values are sized with this > > > + ``.*MAX.*`` value. So extending this enum/define increases the > > > ``.*MAX.*`` > > > + value which increases the size of the array and depending on how/where > > > the > > > + array is used this may break the ABI. > > > + ``RTE_ETH_FLOW_MAX`` is one sample of the mentioned case, adding a > > new flow > > > + type will break the ABI because of ``flex_mask[RTE_ETH_FLOW_MAX]`` > > array > > > + usage in following public struct hierarchy: > > > + ``rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the > > > middle)``. > > > + Need to identify this kind of usages and fix in 20.11, otherwise this > > > blocks > > > + us extending existing enum/define. > > > + One solution can be using a fixed size array instead of ``.*MAX.*`` > > > value. > > > We admit that the issue is there and we can discuss the possible solutions > for this issue. > > For the deprecation notice. > Acked-by: Akhil Goyal <akhil.go...@nxp.com>
I think we'll need a new coding style guideline to avoid shuch issue in future. Anyway, about fixing the issue in 20.11, Acked-by: Thomas Monjalon <tho...@monjalon.net>