I added the odp_pktio_print() function while thinking just this use case. 
Comments below.

-Matias

> -----Original Message-----
> From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of EXT 
> Zoltan
> Kiss
> Sent: Friday, October 30, 2015 8:38 PM
> To: lng-odp@lists.linaro.org
> Subject: [lng-odp] [PATCH] linux-generic: pktio: print out the name of pktio 
> used
> 
> For debug purposes, otherwise it's not trivial to figure out which pktio was
> successful.
> 
> Signed-off-by: Zoltan Kiss <zoltan.k...@linaro.org>
> 
> diff --git a/platform/linux-generic/include/odp_packet_io_internal.h
> b/platform/linux-generic/include/odp_packet_io_internal.h
> index 4745bd5..4432cfc 100644
> --- a/platform/linux-generic/include/odp_packet_io_internal.h
> +++ b/platform/linux-generic/include/odp_packet_io_internal.h
> @@ -94,6 +94,7 @@ typedef struct {
>  } pktio_table_t;
> 
>  typedef struct pktio_if_ops {
> +     const char *name;
>       int (*init)(void);
>       int (*term)(void);
>       int (*open)(odp_pktio_t pktio, pktio_entry_t *pktio_entry,

This struct includes only function pointers, so it could be cleaner to use 
something like:
        const char *(*type_string)(void);

> diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-
> generic/odp_packet_io.c
> index 1246bff..a4b1533 100644
> --- a/platform/linux-generic/odp_packet_io.c
> +++ b/platform/linux-generic/odp_packet_io.c
> @@ -229,6 +229,8 @@ static odp_pktio_t setup_pktio_entry(const char *dev,
> odp_pool_t pool,
> 
>               if (!ret) {
>                       pktio_entry->s.ops = pktio_if_ops[pktio_if];
> +                     ODP_DBG("%s uses %s\n",
> +                             dev, pktio_if_ops[pktio_if]->name);
>                       break;
>               }
>       }

odp_pktio_print() can be used from the application.

> diff --git a/platform/linux-generic/pktio/loop.c b/platform/linux-
> generic/pktio/loop.c
> index 0d8dadd..8efa611 100644
> --- a/platform/linux-generic/pktio/loop.c
> +++ b/platform/linux-generic/pktio/loop.c
> @@ -109,6 +109,7 @@ static int loopback_promisc_mode_get(pktio_entry_t
> *pktio_entry)
>  }
> 
>  const pktio_if_ops_t loopback_pktio_ops = {
> +     .name = "loopback",
>       .init = NULL,
>       .term = NULL,
>       .open = loopback_open,

Earlier comment about function pointers.

> diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-
> generic/pktio/netmap.c
> index 794c82e..bc4ab1c 100644
> --- a/platform/linux-generic/pktio/netmap.c
> +++ b/platform/linux-generic/pktio/netmap.c
> @@ -307,6 +307,7 @@ static int netmap_promisc_mode_get(pktio_entry_t
> *pktio_entry)
>  }
> 
>  const pktio_if_ops_t netmap_pktio_ops = {
> +     .name = "netmap",
>       .init = NULL,
>       .term = NULL,
>       .open = netmap_open,
> diff --git a/platform/linux-generic/pktio/pcap.c b/platform/linux-
> generic/pktio/pcap.c
> index 0817bf5..94b506d 100644
> --- a/platform/linux-generic/pktio/pcap.c
> +++ b/platform/linux-generic/pktio/pcap.c
> @@ -370,6 +370,7 @@ static int pcapif_promisc_mode_get(pktio_entry_t
> *pktio_entry)
>  }
> 
>  const pktio_if_ops_t pcap_pktio_ops = {
> +     .name = "pcap",
>       .open = pcapif_init,
>       .close = pcapif_close,
>       .recv = pcapif_recv_pkt,
> diff --git a/platform/linux-generic/pktio/socket.c b/platform/linux-
> generic/pktio/socket.c
> index 7e30027..66fd9ca 100644
> --- a/platform/linux-generic/pktio/socket.c
> +++ b/platform/linux-generic/pktio/socket.c
> @@ -463,6 +463,7 @@ static int sock_promisc_mode_get(pktio_entry_t
> *pktio_entry)
>  }
> 
>  const pktio_if_ops_t sock_mmsg_pktio_ops = {
> +     .name = "sock_mmsg",
>       .init = NULL,
>       .term = NULL,
>       .open = sock_mmsg_open,
> diff --git a/platform/linux-generic/pktio/socket_mmap.c b/platform/linux-
> generic/pktio/socket_mmap.c
> index 35d24c6..cdf221e 100644
> --- a/platform/linux-generic/pktio/socket_mmap.c
> +++ b/platform/linux-generic/pktio/socket_mmap.c
> @@ -516,6 +516,7 @@ static int sock_mmap_promisc_mode_get(pktio_entry_t
> *pktio_entry)
>  }
> 
>  const pktio_if_ops_t sock_mmap_pktio_ops = {
> +     .name = "sock_mmap",
>       .init = NULL,
>       .term = NULL,
>       .open = sock_mmap_open,
> _______________________________________________
> lng-odp mailing list
> lng-odp@lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to