doc: announce splitting ethdev ops struct
authorFerruh Yigit <ferruh.yigit@intel.com>
Wed, 4 Mar 2020 09:57:20 +0000 (09:57 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 26 May 2020 13:50:26 +0000 (15:50 +0200)
For the ABI compatibility it is better to hide internal data structures
from the application as much as possible. But because of some inline
functions 'struct eth_dev_ops' can't be hidden completely.

Plan is to split the 'struct eth_dev_ops' into two as ones used by
inline functions and ones not used, and hide the second part that not
used by inline functions completely to the application.

Because of ABI break the work will be done in 20.11

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
doc/guides/rel_notes/deprecation.rst

index 2d11bae..de4f0bf 100644 (file)
@@ -72,6 +72,15 @@ Deprecation Notices
   us extending existing enum/define.
   One solution can be using a fixed size array instead of ``.*MAX.*`` value.
 
+* ethdev: Split the ``struct eth_dev_ops`` struct to hide it as much as possible
+  will be done in 20.11.
+  Currently the ``struct eth_dev_ops`` struct is accessible by the application
+  because some inline functions, like ``rte_eth_tx_descriptor_status()``,
+  access the struct directly.
+  The struct will be separate in two, the ops used by inline functions will be
+  moved next to Rx/Tx burst functions, rest of the ``struct eth_dev_ops`` struct
+  will be moved to header file for drivers to hide it from applications.
+
 * ethdev: the legacy filter API, including
   ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
   as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,