[dpdk-dev] [PATCH] doc: deprecate using MAX values as array size

Akhil Goyal akhil.goyal at nxp.com
Mon Feb 24 07:18:44 CET 2020


> 
> On 1/30/2020 2:20 PM, Ferruh Yigit wrote:
> > 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.yigit at intel.com>
> > ---
> >  doc/guides/rel_notes/deprecation.rst | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> >
> > diff --git a/doc/guides/rel_notes/deprecation.rst
> b/doc/guides/rel_notes/deprecation.rst
> > index dfcca87ab..99d81564a 100644
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > @@ -38,6 +38,20 @@ Deprecation Notices
> >    remove it from the externally visible ABI and allow it to be updated in the
> >    future.
> >
> > +* 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.
> > +
> >  * dpaa2: removal of ``rte_dpaa2_memsegs`` structure which has been
> replaced
> >    by a pa-va search library. This structure was earlier being used for holding
> >    memory segments used by dpaa2 driver for faster pa->va translation. This
> >
> 
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.goyal at nxp.com>


More information about the dev mailing list