[dpdk-dev] [PATCH v4 7/7] ethdev: hide eth dev related structures
Ferruh Yigit
ferruh.yigit at intel.com
Tue Oct 5 12:43:23 CEST 2021
On 10/5/2021 11:04 AM, David Marchand wrote:
> 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.
>
+1 that it is necessary move, but I am surprised to see how much 'rte_eth_devices'
is accessed directly.
Do you have any idea/suggestion on how can we reduce the pain for them?
> $ 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
>> ------------
>
>
>
More information about the dev
mailing list