[dpdk-dev] [PATCH 5/9] eal: get rid of pmd type

Jan Viktorin viktorin at rehivetech.com
Tue Feb 9 18:15:12 CET 2016


On Fri, 29 Jan 2016 15:08:32 +0100
David Marchand <david.marchand at 6wind.com> wrote:

> Now that we only have vdev drivers, there is no need for a pmd type in
> rte_driver.
> rte_driver is now purely a vdev thing, and could be renamed later
> (then .init would become .probe, .uninit would become .remove).
> 
> Signed-off-by: David Marchand <david.marchand at 6wind.com>
> ---
>  drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c |  2 ++
>  drivers/net/af_packet/rte_eth_af_packet.c  |  2 ++
>  drivers/net/bonding/rte_eth_bond_pmd.c     |  2 ++
>  drivers/net/mpipe/mpipe_tilegx.c           |  4 ++++
>  drivers/net/null/rte_eth_null.c            |  2 ++
>  drivers/net/pcap/rte_eth_pcap.c            |  2 ++
>  drivers/net/ring/rte_eth_ring.c            |  2 ++
>  drivers/net/szedata2/rte_eth_szedata2.c    |  2 ++
>  drivers/net/xenvirt/rte_eth_xenvirt.c      |  2 ++
>  lib/librte_cryptodev/rte_cryptodev.c       | 14 ++++++++++++++
>  lib/librte_cryptodev/rte_cryptodev.h       |  2 ++
>  lib/librte_cryptodev/rte_cryptodev_pmd.h   |  4 ++++
>  lib/librte_eal/common/eal_common_dev.c     | 11 ++++++++---
>  lib/librte_eal/common/include/rte_dev.h    |  4 ++++
>  14 files changed, 52 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
> index d8ccf05..94752de 100644
> --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
> +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
> @@ -661,7 +661,9 @@ cryptodev_aesni_mb_uninit(const char *name)
>  
>  static struct rte_driver cryptodev_aesni_mb_pmd_drv = {
>  	.name = CRYPTODEV_NAME_AESNI_MB_PMD,
> +#ifndef RTE_NEXT_ABI
>  	.type = PMD_VDEV,
> +#endif

What about something like:

#ifdef RTE_NEXT_ABI
#define	RTE_PMD_SET_TYPE(t)
#else
#define	RTE_PMD_SET_TYPE(t) .type = PMD_##t
#endif

and then just:

static struct rte_driver cryptodev_aesni_mb_pmd_drv = {
	.name = CRYPTODEV_NAME_AESNI_MB_PMD,
	RTE_PMD_SET_TYPE(VDEV),

>  	.init = cryptodev_aesni_mb_init,
>  	.uninit = cryptodev_aesni_mb_uninit
>  };
> diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
> index 767f36b..6603462 100644
> --- a/drivers/net/af_packet/rte_eth_af_packet.c
> +++ b/drivers/net/af_packet/rte_eth_af_packet.c
> @@ -838,7 +838,9 @@ exit:
> [snip]
>
>  struct rte_cryptodev *
> +#ifndef RTE_NEXT_ABI

And maybe...

#ifndef RTE_NEXT_ABI
#define RTE_PMD_HAS_TYPE
#endif

#ifdef RTE_PMD_HAS_TYPE

>  rte_cryptodev_pmd_allocate(const char *name, enum pmd_type type, int socket_id)
> +#else
> +rte_cryptodev_pmd_allocate(const char *name, int socket_id)
> +#endif
>  {
>  	struct rte_cryptodev *cryptodev;
>  	uint8_t dev_id;
> [snip]

Regards
Jan


More information about the dev mailing list