On Mon, Oct 4, 2021 at 3:59 PM Konstantin Ananyev <konstantin.anan...@intel.com> wrote: > > Move rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback and related > data into private header (ethdev_driver.h). > Few minor changes to keep DPDK building after that.
This change is going to hurt a lot of people :-). But this is a necessary move. $ git grep-all -lw rte_eth_devices |grep -v \\.patch$ ANS/ans/ans_main.c BESS/core/drivers/pmd.cc dma_ip_drivers/QDMA/DPDK/drivers/net/qdma/qdma_xdebug.c dma_ip_drivers/QDMA/DPDK/drivers/net/qdma/rte_pmd_qdma.c dma_ip_drivers/QDMA/DPDK/examples/qdma_testapp/pcierw.c dma_ip_drivers/QDMA/DPDK/examples/qdma_testapp/testapp.c FD.io-VPP/src/plugins/dpdk/device/format.c lagopus/src/dataplane/dpdk/dpdk_io.c OVS/lib/netdev-dpdk.c packet-journey/app/kni.c pktgen-dpdk/app/pktgen-port-cfg.c pktgen-dpdk/app/pktgen-port-cfg.h pktgen-dpdk/app/pktgen-stats.c Trex/src/dpdk_funcs.c Trex/src/drivers/trex_i40e_fdir.c Trex/src/drivers/trex_ixgbe_fdir.c TungstenFabric-vRouter/gdb/vr_dpdk.gdb I did not check all projects for their uses of rte_eth_devices, but I did the job for OVS. If you have cycles to review... https://patchwork.ozlabs.org/project/openvswitch/patch/20210907082343.16370-1-david.march...@redhat.com/ One nit: > > Signed-off-by: Konstantin Ananyev <konstantin.anan...@intel.com> > --- > doc/guides/rel_notes/release_21_11.rst | 6 + > drivers/common/octeontx2/otx2_sec_idev.c | 2 +- > drivers/crypto/octeontx2/otx2_cryptodev_ops.c | 2 +- > drivers/net/cxgbe/base/adapter.h | 2 +- > drivers/net/dpaa2/dpaa2_ptp.c | 2 +- > drivers/net/netvsc/hn_var.h | 1 + > lib/ethdev/ethdev_driver.h | 149 ++++++++++++++++++ > lib/ethdev/rte_ethdev_core.h | 143 ----------------- > lib/ethdev/version.map | 2 +- > lib/eventdev/rte_event_eth_rx_adapter.c | 2 +- > lib/eventdev/rte_event_eth_tx_adapter.c | 2 +- > lib/eventdev/rte_eventdev.c | 2 +- > lib/metrics/rte_metrics_telemetry.c | 2 +- > 13 files changed, 165 insertions(+), 152 deletions(-) > > diff --git a/doc/guides/rel_notes/release_21_11.rst > b/doc/guides/rel_notes/release_21_11.rst > index 6055551443..2944149943 100644 > --- a/doc/guides/rel_notes/release_21_11.rst > +++ b/doc/guides/rel_notes/release_21_11.rst > @@ -228,6 +228,12 @@ ABI Changes > to user, it still counts as an ABI change, as ``eth_rx_queue_count_t`` > is used by public inline function ``rte_eth_rx_queue_count``. > > +* ethdev: Made ``rte_eth_dev``, ``rte_eth_dev_data``, > ``rte_eth_rxtx_callback`` > + private data structures. ``rte_eth_devices[]`` can't be accessible directly accessed* > + by user any more. While it is an ABI breakage, this change is intended > + to be transparent for both users (no changes in user app is required) and > + PMD developers (no changes in PMD is required). > + > > Known Issues > ------------ -- David Marchand