On 2/21/20 1:25 PM, Ferruh Yigit wrote:
> 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.yi...@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
>>
> Reminder of this deprecation notice.

Acked-by: Andrew Rybchenko <arybche...@oktetlabs.ru>


Reply via email to