> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Friday, September 6, 2019 4:38 PM
> To: Zapolski, MarcinX A <marcinx.a.zapol...@intel.com>; dev@dpdk.org
> Subject: Re: [dpdk-dev] [RFC 19.11 v2 1/3] ethdev: hide key ethdev
> structures from public API
>
> On 9/6/2019 2:18 PM, Marcin Zapolski wrote:
> > Split rte_eth_dev structure to two parts: head that is available for
> > user applications, and rest which is DPDK internal.
> > Make an array of pointers to rte_eth_dev structures available for user
> > applications.
> >
> > Signed-off-by: Marcin Zapolski <marcinx.a.zapol...@intel.com>
>
> <...>
>
> > diff --git a/lib/librte_bitratestats/rte_bitrate.c
> > b/lib/librte_bitratestats/rte_bitrate.c
> > index 639e47547..82d469514 100644
> > --- a/lib/librte_bitratestats/rte_bitrate.c
> > +++ b/lib/librte_bitratestats/rte_bitrate.c
> > @@ -3,7 +3,7 @@
> > */
> >
> > #include <rte_common.h>
> > -#include <rte_ethdev.h>
> > +#include <rte_ethdev_driver.h>
>
> This is in the library, not sure if libraries should include the header file
> for the
> drivers, can you please explain why this change is needed?
>
It is needed to make rte_eth_dev structure available. But yes, I agree that it
will be more appropriate to include rte_ethdev.h and rte_ethdev_core.h
separately. I probably wanted less includes, silly me.
> <...>
>
> > @@ -6,6 +6,7 @@
> > #define _RTE_ETHDEV_PROFILE_H_
> >
> > #include "rte_ethdev.h"
> > +#include "rte_ethdev_core.h"
> >
> > /**
> > * Initialization of the Ethernet device profiling.
> > diff --git a/lib/librte_ethdev/rte_ethdev.c
> > b/lib/librte_ethdev/rte_ethdev.c index 17d183e1f..5c6cc640a 100644
> > --- a/lib/librte_ethdev/rte_ethdev.c
> > +++ b/lib/librte_ethdev/rte_ethdev.c
> > @@ -40,6 +40,7 @@
> >
> > #include "rte_ether.h"
> > #include "rte_ethdev.h"
> > +#include "rte_ethdev_core.h"
> > #include "rte_ethdev_driver.h"
> > #include "ethdev_profile.h"
> > #include "ethdev_private.h"
>
> I was hoping "rte_ethdev_core.h" can be removed completely by
> distributing its content to "ethdev_private.h", "rte_ethdev_driver.h" and
> perhaps even to "rte_ethdev.h".
>
> Can you please explain what prevents removing "rte_ethdev_core.h"?
I could rename it to rte_ethdev_private. There is just rte_eth_dev and
rte_eth_dev_data left in it.