[dpdk-dev] [RFC 19.11 v2 1/3] ethdev: hide key ethdev structures from public API

Ferruh Yigit ferruh.yigit at intel.com
Fri Sep 6 16:37:35 CEST 2019


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.zapolski at 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?

<...>

> @@ -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"?



More information about the dev mailing list