[dpdk-dev] [PATCH v4 7/7] ethdev: hide eth dev related structures
David Marchand
david.marchand at redhat.com
Tue Oct 5 12:04:26 CEST 2021
On Mon, Oct 4, 2021 at 3:59 PM Konstantin Ananyev
<konstantin.ananyev at 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.marchand@redhat.com/
One nit:
>
> Signed-off-by: Konstantin Ananyev <konstantin.ananyev at 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
More information about the dev
mailing list