[dpdk-dev] [PATCH] doc: announce library refactor for ABI improvement

Ferruh Yigit ferruh.yigit at intel.com
Thu Aug 26 12:35:00 CEST 2021


Target is to reduce the public interface surface to improve the ABI
stability and this is preparation for the longer term stable ABI
support.

Mainly device abstraction layer libraries are impacted because they have
two interfaces, one is public interface to the applications and other is
internal interface to the drivers. Some driver/internal interface
structures/symbols are in the public interface by mistake, this work is
to clean them.
Also some libraries has 'static inline' functions for performance
reasons (like ones in the ethdev), this work plans to split the
structures and hide the part that is not used by inline functions.

The need of the work for the stable ABI already discussed and planned by
the DPDK technical board:
https://mails.dpdk.org/archives/dev/2021-July/214662.html

Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
Cc: Konstantin Ananyev <konstantin.ananyev at intel.com>
Cc: Jerin Jacob Kollanukkaran <jerinj at marvell.com>
Cc: Akhil Goyal <gakhil at marvell.com>
CC: Ray Kinsella <mdr at ashroe.eu>
---
 doc/guides/rel_notes/deprecation.rst | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 76a4abfd6b0b..1f02d9e14501 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -63,6 +63,11 @@ Deprecation Notices
   us extending existing enum/define.
   One solution can be using a fixed size array instead of ``.*MAX.*`` value.
 
+* lib: Will hide internal data structures and symbols from the public interfaces
+  as much as possible in v21.11.
+  This ABI break is done to improve the ABI stability in the long term and will
+  be done mainly, but not limited to, in device abstraction layer libraries.
+
 * ethdev: Will add ``RTE_ETH_`` prefix to all ethdev macros/enums in v21.11.
   Macros will be added for backward compatibility.
   Backward compatibility macros will be removed on v22.11.
-- 
2.31.1



More information about the dev mailing list