diff mbox

[1/2] linux-generic: pktio: add pktio type specific print function

Message ID 1463647705-7056-1-git-send-email-matias.elo@nokia.com
State Accepted
Commit fad5fec34ca3d2fd50ede3fb32ca96819b5b079b
Headers show

Commit Message

Elo, Matias (Nokia - FI/Espoo) May 19, 2016, 8:48 a.m. UTC
Add new function pointer 'print' to pktio_if_ops_t. This can
be used to print pktio type specific debug information.

In case of netmap, it is used to print the current RSS
configuration. rss_conf_print() output format was modified
to be in line with odp_pktio_print().

Signed-off-by: Matias Elo <matias.elo@nokia.com>
---
 platform/linux-generic/include/odp_packet_io_internal.h |  1 +
 platform/linux-generic/odp_packet_io.c                  |  7 ++++++-
 platform/linux-generic/pktio/ipc.c                      |  1 +
 platform/linux-generic/pktio/loop.c                     |  1 +
 platform/linux-generic/pktio/netmap.c                   | 10 ++++++++++
 platform/linux-generic/pktio/pcap.c                     |  1 +
 platform/linux-generic/pktio/socket.c                   | 17 +++++++++--------
 platform/linux-generic/pktio/socket_mmap.c              |  1 +
 platform/linux-generic/pktio/tap.c                      |  1 +
 9 files changed, 31 insertions(+), 9 deletions(-)

Comments

Bill Fischofer May 20, 2016, 12:03 a.m. UTC | #1
For this series:

Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>

On Thu, May 19, 2016 at 3:48 AM, Matias Elo <matias.elo@nokia.com> wrote:

> Add new function pointer 'print' to pktio_if_ops_t. This can
> be used to print pktio type specific debug information.
>
> In case of netmap, it is used to print the current RSS
> configuration. rss_conf_print() output format was modified
> to be in line with odp_pktio_print().
>
> Signed-off-by: Matias Elo <matias.elo@nokia.com>
> ---
>  platform/linux-generic/include/odp_packet_io_internal.h |  1 +
>  platform/linux-generic/odp_packet_io.c                  |  7 ++++++-
>  platform/linux-generic/pktio/ipc.c                      |  1 +
>  platform/linux-generic/pktio/loop.c                     |  1 +
>  platform/linux-generic/pktio/netmap.c                   | 10 ++++++++++
>  platform/linux-generic/pktio/pcap.c                     |  1 +
>  platform/linux-generic/pktio/socket.c                   | 17
> +++++++++--------
>  platform/linux-generic/pktio/socket_mmap.c              |  1 +
>  platform/linux-generic/pktio/tap.c                      |  1 +
>  9 files changed, 31 insertions(+), 9 deletions(-)
>
> diff --git a/platform/linux-generic/include/odp_packet_io_internal.h
> b/platform/linux-generic/include/odp_packet_io_internal.h
> index 7dd578b..5adfc7e 100644
> --- a/platform/linux-generic/include/odp_packet_io_internal.h
> +++ b/platform/linux-generic/include/odp_packet_io_internal.h
> @@ -175,6 +175,7 @@ int is_free(pktio_entry_t *entry);
>
>  typedef struct pktio_if_ops {
>         const char *name;
> +       void (*print)(pktio_entry_t *pktio_entry);
>         int (*init_global)(void);
>         int (*init_local)(void);
>         int (*term)(void);
> diff --git a/platform/linux-generic/odp_packet_io.c
> b/platform/linux-generic/odp_packet_io.c
> index db5a3df..15763df 100644
> --- a/platform/linux-generic/odp_packet_io.c
> +++ b/platform/linux-generic/odp_packet_io.c
> @@ -1028,7 +1028,12 @@ void odp_pktio_print(odp_pktio_t id)
>                         odp_pktio_promisc_mode(id) ? "yes" : "no");
>         str[len] = '\0';
>
> -       ODP_PRINT("\n%s\n", str);
> +       ODP_PRINT("\n%s", str);
> +
> +       if (entry->s.ops->print)
> +               entry->s.ops->print(entry);
> +
> +       ODP_PRINT("\n");
>  }
>
>  int odp_pktio_term_global(void)
> diff --git a/platform/linux-generic/pktio/ipc.c
> b/platform/linux-generic/pktio/ipc.c
> index 12cc286..d499a19 100644
> --- a/platform/linux-generic/pktio/ipc.c
> +++ b/platform/linux-generic/pktio/ipc.c
> @@ -726,6 +726,7 @@ static int ipc_close(pktio_entry_t *pktio_entry)
>
>  const pktio_if_ops_t ipc_pktio_ops = {
>         .name = "ipc",
> +       .print = NULL,
>         .init_global = NULL,
>         .init_local = NULL,
>         .term = NULL,
> diff --git a/platform/linux-generic/pktio/loop.c
> b/platform/linux-generic/pktio/loop.c
> index 38acff1..cbb5ea9 100644
> --- a/platform/linux-generic/pktio/loop.c
> +++ b/platform/linux-generic/pktio/loop.c
> @@ -206,6 +206,7 @@ static int loopback_stats_reset(pktio_entry_t
> *pktio_entry ODP_UNUSED)
>
>  const pktio_if_ops_t loopback_pktio_ops = {
>         .name = "loop",
> +       .print = NULL,
>         .init_global = NULL,
>         .init_local = NULL,
>         .term = NULL,
> diff --git a/platform/linux-generic/pktio/netmap.c
> b/platform/linux-generic/pktio/netmap.c
> index 3e6a4f0..1042fd1 100644
> --- a/platform/linux-generic/pktio/netmap.c
> +++ b/platform/linux-generic/pktio/netmap.c
> @@ -879,8 +879,18 @@ static int netmap_stats_reset(pktio_entry_t
> *pktio_entry)
>                                    pktio_entry->s.pkt_nm.sockfd);
>  }
>
> +static void netmap_print(pktio_entry_t *pktio_entry)
> +{
> +       odp_pktin_hash_proto_t hash_proto;
> +
> +       if (rss_conf_get_fd(pktio_entry->s.pkt_nm.sockfd,
> +                           pktio_entry->s.pkt_nm.if_name, &hash_proto))
> +               rss_conf_print(&hash_proto);
> +}
> +
>  const pktio_if_ops_t netmap_pktio_ops = {
>         .name = "netmap",
> +       .print = netmap_print,
>         .init_global = NULL,
>         .init_local = NULL,
>         .term = NULL,
> diff --git a/platform/linux-generic/pktio/pcap.c
> b/platform/linux-generic/pktio/pcap.c
> index aab6b42..aeb20ed 100644
> --- a/platform/linux-generic/pktio/pcap.c
> +++ b/platform/linux-generic/pktio/pcap.c
> @@ -421,6 +421,7 @@ static int pcapif_stats(pktio_entry_t *pktio_entry,
>
>  const pktio_if_ops_t pcap_pktio_ops = {
>         .name = "pcap",
> +       .print = NULL,
>         .init_global = NULL,
>         .init_local = NULL,
>         .open = pcapif_init,
> diff --git a/platform/linux-generic/pktio/socket.c
> b/platform/linux-generic/pktio/socket.c
> index a0aa9af..c0de59f 100644
> --- a/platform/linux-generic/pktio/socket.c
> +++ b/platform/linux-generic/pktio/socket.c
> @@ -419,29 +419,29 @@ void rss_conf_print(const odp_pktin_hash_proto_t
> *hash_proto)
>         int len = 0;
>         int n = max_len - 1;
>
> -       len += snprintf(&str[len], n - len, "RSS conf\n");
> +       len += snprintf(&str[len], n - len, " rss conf\n");
>
>         if (hash_proto->proto.ipv4)
>                 len += snprintf(&str[len], n - len,
> -                               "  IPV4\n");
> +                               "    IPV4\n");
>         if (hash_proto->proto.ipv4_tcp)
>                 len += snprintf(&str[len], n - len,
> -                               "  IPV4 TCP\n");
> +                               "    IPV4 TCP\n");
>         if (hash_proto->proto.ipv4_udp)
>                 len += snprintf(&str[len], n - len,
> -                               "  IPV4 UDP\n");
> +                               "    IPV4 UDP\n");
>         if (hash_proto->proto.ipv6)
>                 len += snprintf(&str[len], n - len,
> -                               "  IPV6\n");
> +                               "    IPV6\n");
>         if (hash_proto->proto.ipv6_tcp)
>                 len += snprintf(&str[len], n - len,
> -                               "  IPV6 TCP\n");
> +                               "    IPV6 TCP\n");
>         if (hash_proto->proto.ipv6_udp)
>                 len += snprintf(&str[len], n - len,
> -                               "  IPV6 UDP\n");
> +                               "    IPV6 UDP\n");
>         str[len] = '\0';
>
> -       ODP_PRINT("\n%s\n", str);
> +       ODP_PRINT("%s\n", str);
>  }
>
>  /*
> @@ -868,6 +868,7 @@ static int sock_stats_reset(pktio_entry_t *pktio_entry)
>
>  const pktio_if_ops_t sock_mmsg_pktio_ops = {
>         .name = "socket",
> +       .print = NULL,
>         .init_global = NULL,
>         .init_local = NULL,
>         .term = NULL,
> diff --git a/platform/linux-generic/pktio/socket_mmap.c
> b/platform/linux-generic/pktio/socket_mmap.c
> index 22a762f..c14ec9f 100644
> --- a/platform/linux-generic/pktio/socket_mmap.c
> +++ b/platform/linux-generic/pktio/socket_mmap.c
> @@ -672,6 +672,7 @@ static int sock_mmap_stats_reset(pktio_entry_t
> *pktio_entry)
>
>  const pktio_if_ops_t sock_mmap_pktio_ops = {
>         .name = "socket_mmap",
> +       .print = NULL,
>         .init_global = NULL,
>         .init_local = NULL,
>         .term = NULL,
> diff --git a/platform/linux-generic/pktio/tap.c
> b/platform/linux-generic/pktio/tap.c
> index 45c4ae1..4ca11e6 100644
> --- a/platform/linux-generic/pktio/tap.c
> +++ b/platform/linux-generic/pktio/tap.c
> @@ -338,6 +338,7 @@ static int tap_capability(pktio_entry_t *pktio_entry
> ODP_UNUSED,
>
>  const pktio_if_ops_t tap_pktio_ops = {
>         .name = "tap",
> +       .print = NULL,
>         .init_global = NULL,
>         .init_local = NULL,
>         .term = NULL,
> --
> 1.9.1
>
> _______________________________________________
> lng-odp mailing list
> lng-odp@lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/lng-odp
>
Maxim Uvarov May 23, 2016, 1:12 p.m. UTC | #2
Merged,
Maxim.

On 05/20/16 03:03, Bill Fischofer wrote:
> For this series:
>
> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
>
> On Thu, May 19, 2016 at 3:48 AM, Matias Elo <matias.elo@nokia.com> wrote:
>
>> Add new function pointer 'print' to pktio_if_ops_t. This can
>> be used to print pktio type specific debug information.
>>
>> In case of netmap, it is used to print the current RSS
>> configuration. rss_conf_print() output format was modified
>> to be in line with odp_pktio_print().
>>
>> Signed-off-by: Matias Elo <matias.elo@nokia.com>
>> ---
>>   platform/linux-generic/include/odp_packet_io_internal.h |  1 +
>>   platform/linux-generic/odp_packet_io.c                  |  7 ++++++-
>>   platform/linux-generic/pktio/ipc.c                      |  1 +
>>   platform/linux-generic/pktio/loop.c                     |  1 +
>>   platform/linux-generic/pktio/netmap.c                   | 10 ++++++++++
>>   platform/linux-generic/pktio/pcap.c                     |  1 +
>>   platform/linux-generic/pktio/socket.c                   | 17
>> +++++++++--------
>>   platform/linux-generic/pktio/socket_mmap.c              |  1 +
>>   platform/linux-generic/pktio/tap.c                      |  1 +
>>   9 files changed, 31 insertions(+), 9 deletions(-)
>>
>> diff --git a/platform/linux-generic/include/odp_packet_io_internal.h
>> b/platform/linux-generic/include/odp_packet_io_internal.h
>> index 7dd578b..5adfc7e 100644
>> --- a/platform/linux-generic/include/odp_packet_io_internal.h
>> +++ b/platform/linux-generic/include/odp_packet_io_internal.h
>> @@ -175,6 +175,7 @@ int is_free(pktio_entry_t *entry);
>>
>>   typedef struct pktio_if_ops {
>>          const char *name;
>> +       void (*print)(pktio_entry_t *pktio_entry);
>>          int (*init_global)(void);
>>          int (*init_local)(void);
>>          int (*term)(void);
>> diff --git a/platform/linux-generic/odp_packet_io.c
>> b/platform/linux-generic/odp_packet_io.c
>> index db5a3df..15763df 100644
>> --- a/platform/linux-generic/odp_packet_io.c
>> +++ b/platform/linux-generic/odp_packet_io.c
>> @@ -1028,7 +1028,12 @@ void odp_pktio_print(odp_pktio_t id)
>>                          odp_pktio_promisc_mode(id) ? "yes" : "no");
>>          str[len] = '\0';
>>
>> -       ODP_PRINT("\n%s\n", str);
>> +       ODP_PRINT("\n%s", str);
>> +
>> +       if (entry->s.ops->print)
>> +               entry->s.ops->print(entry);
>> +
>> +       ODP_PRINT("\n");
>>   }
>>
>>   int odp_pktio_term_global(void)
>> diff --git a/platform/linux-generic/pktio/ipc.c
>> b/platform/linux-generic/pktio/ipc.c
>> index 12cc286..d499a19 100644
>> --- a/platform/linux-generic/pktio/ipc.c
>> +++ b/platform/linux-generic/pktio/ipc.c
>> @@ -726,6 +726,7 @@ static int ipc_close(pktio_entry_t *pktio_entry)
>>
>>   const pktio_if_ops_t ipc_pktio_ops = {
>>          .name = "ipc",
>> +       .print = NULL,
>>          .init_global = NULL,
>>          .init_local = NULL,
>>          .term = NULL,
>> diff --git a/platform/linux-generic/pktio/loop.c
>> b/platform/linux-generic/pktio/loop.c
>> index 38acff1..cbb5ea9 100644
>> --- a/platform/linux-generic/pktio/loop.c
>> +++ b/platform/linux-generic/pktio/loop.c
>> @@ -206,6 +206,7 @@ static int loopback_stats_reset(pktio_entry_t
>> *pktio_entry ODP_UNUSED)
>>
>>   const pktio_if_ops_t loopback_pktio_ops = {
>>          .name = "loop",
>> +       .print = NULL,
>>          .init_global = NULL,
>>          .init_local = NULL,
>>          .term = NULL,
>> diff --git a/platform/linux-generic/pktio/netmap.c
>> b/platform/linux-generic/pktio/netmap.c
>> index 3e6a4f0..1042fd1 100644
>> --- a/platform/linux-generic/pktio/netmap.c
>> +++ b/platform/linux-generic/pktio/netmap.c
>> @@ -879,8 +879,18 @@ static int netmap_stats_reset(pktio_entry_t
>> *pktio_entry)
>>                                     pktio_entry->s.pkt_nm.sockfd);
>>   }
>>
>> +static void netmap_print(pktio_entry_t *pktio_entry)
>> +{
>> +       odp_pktin_hash_proto_t hash_proto;
>> +
>> +       if (rss_conf_get_fd(pktio_entry->s.pkt_nm.sockfd,
>> +                           pktio_entry->s.pkt_nm.if_name, &hash_proto))
>> +               rss_conf_print(&hash_proto);
>> +}
>> +
>>   const pktio_if_ops_t netmap_pktio_ops = {
>>          .name = "netmap",
>> +       .print = netmap_print,
>>          .init_global = NULL,
>>          .init_local = NULL,
>>          .term = NULL,
>> diff --git a/platform/linux-generic/pktio/pcap.c
>> b/platform/linux-generic/pktio/pcap.c
>> index aab6b42..aeb20ed 100644
>> --- a/platform/linux-generic/pktio/pcap.c
>> +++ b/platform/linux-generic/pktio/pcap.c
>> @@ -421,6 +421,7 @@ static int pcapif_stats(pktio_entry_t *pktio_entry,
>>
>>   const pktio_if_ops_t pcap_pktio_ops = {
>>          .name = "pcap",
>> +       .print = NULL,
>>          .init_global = NULL,
>>          .init_local = NULL,
>>          .open = pcapif_init,
>> diff --git a/platform/linux-generic/pktio/socket.c
>> b/platform/linux-generic/pktio/socket.c
>> index a0aa9af..c0de59f 100644
>> --- a/platform/linux-generic/pktio/socket.c
>> +++ b/platform/linux-generic/pktio/socket.c
>> @@ -419,29 +419,29 @@ void rss_conf_print(const odp_pktin_hash_proto_t
>> *hash_proto)
>>          int len = 0;
>>          int n = max_len - 1;
>>
>> -       len += snprintf(&str[len], n - len, "RSS conf\n");
>> +       len += snprintf(&str[len], n - len, " rss conf\n");
>>
>>          if (hash_proto->proto.ipv4)
>>                  len += snprintf(&str[len], n - len,
>> -                               "  IPV4\n");
>> +                               "    IPV4\n");
>>          if (hash_proto->proto.ipv4_tcp)
>>                  len += snprintf(&str[len], n - len,
>> -                               "  IPV4 TCP\n");
>> +                               "    IPV4 TCP\n");
>>          if (hash_proto->proto.ipv4_udp)
>>                  len += snprintf(&str[len], n - len,
>> -                               "  IPV4 UDP\n");
>> +                               "    IPV4 UDP\n");
>>          if (hash_proto->proto.ipv6)
>>                  len += snprintf(&str[len], n - len,
>> -                               "  IPV6\n");
>> +                               "    IPV6\n");
>>          if (hash_proto->proto.ipv6_tcp)
>>                  len += snprintf(&str[len], n - len,
>> -                               "  IPV6 TCP\n");
>> +                               "    IPV6 TCP\n");
>>          if (hash_proto->proto.ipv6_udp)
>>                  len += snprintf(&str[len], n - len,
>> -                               "  IPV6 UDP\n");
>> +                               "    IPV6 UDP\n");
>>          str[len] = '\0';
>>
>> -       ODP_PRINT("\n%s\n", str);
>> +       ODP_PRINT("%s\n", str);
>>   }
>>
>>   /*
>> @@ -868,6 +868,7 @@ static int sock_stats_reset(pktio_entry_t *pktio_entry)
>>
>>   const pktio_if_ops_t sock_mmsg_pktio_ops = {
>>          .name = "socket",
>> +       .print = NULL,
>>          .init_global = NULL,
>>          .init_local = NULL,
>>          .term = NULL,
>> diff --git a/platform/linux-generic/pktio/socket_mmap.c
>> b/platform/linux-generic/pktio/socket_mmap.c
>> index 22a762f..c14ec9f 100644
>> --- a/platform/linux-generic/pktio/socket_mmap.c
>> +++ b/platform/linux-generic/pktio/socket_mmap.c
>> @@ -672,6 +672,7 @@ static int sock_mmap_stats_reset(pktio_entry_t
>> *pktio_entry)
>>
>>   const pktio_if_ops_t sock_mmap_pktio_ops = {
>>          .name = "socket_mmap",
>> +       .print = NULL,
>>          .init_global = NULL,
>>          .init_local = NULL,
>>          .term = NULL,
>> diff --git a/platform/linux-generic/pktio/tap.c
>> b/platform/linux-generic/pktio/tap.c
>> index 45c4ae1..4ca11e6 100644
>> --- a/platform/linux-generic/pktio/tap.c
>> +++ b/platform/linux-generic/pktio/tap.c
>> @@ -338,6 +338,7 @@ static int tap_capability(pktio_entry_t *pktio_entry
>> ODP_UNUSED,
>>
>>   const pktio_if_ops_t tap_pktio_ops = {
>>          .name = "tap",
>> +       .print = NULL,
>>          .init_global = NULL,
>>          .init_local = NULL,
>>          .term = NULL,
>> --
>> 1.9.1
>>
>> _______________________________________________
>> 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
diff mbox

Patch

diff --git a/platform/linux-generic/include/odp_packet_io_internal.h b/platform/linux-generic/include/odp_packet_io_internal.h
index 7dd578b..5adfc7e 100644
--- a/platform/linux-generic/include/odp_packet_io_internal.h
+++ b/platform/linux-generic/include/odp_packet_io_internal.h
@@ -175,6 +175,7 @@  int is_free(pktio_entry_t *entry);
 
 typedef struct pktio_if_ops {
 	const char *name;
+	void (*print)(pktio_entry_t *pktio_entry);
 	int (*init_global)(void);
 	int (*init_local)(void);
 	int (*term)(void);
diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c
index db5a3df..15763df 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -1028,7 +1028,12 @@  void odp_pktio_print(odp_pktio_t id)
 			odp_pktio_promisc_mode(id) ? "yes" : "no");
 	str[len] = '\0';
 
-	ODP_PRINT("\n%s\n", str);
+	ODP_PRINT("\n%s", str);
+
+	if (entry->s.ops->print)
+		entry->s.ops->print(entry);
+
+	ODP_PRINT("\n");
 }
 
 int odp_pktio_term_global(void)
diff --git a/platform/linux-generic/pktio/ipc.c b/platform/linux-generic/pktio/ipc.c
index 12cc286..d499a19 100644
--- a/platform/linux-generic/pktio/ipc.c
+++ b/platform/linux-generic/pktio/ipc.c
@@ -726,6 +726,7 @@  static int ipc_close(pktio_entry_t *pktio_entry)
 
 const pktio_if_ops_t ipc_pktio_ops = {
 	.name = "ipc",
+	.print = NULL,
 	.init_global = NULL,
 	.init_local = NULL,
 	.term = NULL,
diff --git a/platform/linux-generic/pktio/loop.c b/platform/linux-generic/pktio/loop.c
index 38acff1..cbb5ea9 100644
--- a/platform/linux-generic/pktio/loop.c
+++ b/platform/linux-generic/pktio/loop.c
@@ -206,6 +206,7 @@  static int loopback_stats_reset(pktio_entry_t *pktio_entry ODP_UNUSED)
 
 const pktio_if_ops_t loopback_pktio_ops = {
 	.name = "loop",
+	.print = NULL,
 	.init_global = NULL,
 	.init_local = NULL,
 	.term = NULL,
diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c
index 3e6a4f0..1042fd1 100644
--- a/platform/linux-generic/pktio/netmap.c
+++ b/platform/linux-generic/pktio/netmap.c
@@ -879,8 +879,18 @@  static int netmap_stats_reset(pktio_entry_t *pktio_entry)
 				   pktio_entry->s.pkt_nm.sockfd);
 }
 
+static void netmap_print(pktio_entry_t *pktio_entry)
+{
+	odp_pktin_hash_proto_t hash_proto;
+
+	if (rss_conf_get_fd(pktio_entry->s.pkt_nm.sockfd,
+			    pktio_entry->s.pkt_nm.if_name, &hash_proto))
+		rss_conf_print(&hash_proto);
+}
+
 const pktio_if_ops_t netmap_pktio_ops = {
 	.name = "netmap",
+	.print = netmap_print,
 	.init_global = NULL,
 	.init_local = NULL,
 	.term = NULL,
diff --git a/platform/linux-generic/pktio/pcap.c b/platform/linux-generic/pktio/pcap.c
index aab6b42..aeb20ed 100644
--- a/platform/linux-generic/pktio/pcap.c
+++ b/platform/linux-generic/pktio/pcap.c
@@ -421,6 +421,7 @@  static int pcapif_stats(pktio_entry_t *pktio_entry,
 
 const pktio_if_ops_t pcap_pktio_ops = {
 	.name = "pcap",
+	.print = NULL,
 	.init_global = NULL,
 	.init_local = NULL,
 	.open = pcapif_init,
diff --git a/platform/linux-generic/pktio/socket.c b/platform/linux-generic/pktio/socket.c
index a0aa9af..c0de59f 100644
--- a/platform/linux-generic/pktio/socket.c
+++ b/platform/linux-generic/pktio/socket.c
@@ -419,29 +419,29 @@  void rss_conf_print(const odp_pktin_hash_proto_t *hash_proto)
 	int len = 0;
 	int n = max_len - 1;
 
-	len += snprintf(&str[len], n - len, "RSS conf\n");
+	len += snprintf(&str[len], n - len, " rss conf\n");
 
 	if (hash_proto->proto.ipv4)
 		len += snprintf(&str[len], n - len,
-				"  IPV4\n");
+				"    IPV4\n");
 	if (hash_proto->proto.ipv4_tcp)
 		len += snprintf(&str[len], n - len,
-				"  IPV4 TCP\n");
+				"    IPV4 TCP\n");
 	if (hash_proto->proto.ipv4_udp)
 		len += snprintf(&str[len], n - len,
-				"  IPV4 UDP\n");
+				"    IPV4 UDP\n");
 	if (hash_proto->proto.ipv6)
 		len += snprintf(&str[len], n - len,
-				"  IPV6\n");
+				"    IPV6\n");
 	if (hash_proto->proto.ipv6_tcp)
 		len += snprintf(&str[len], n - len,
-				"  IPV6 TCP\n");
+				"    IPV6 TCP\n");
 	if (hash_proto->proto.ipv6_udp)
 		len += snprintf(&str[len], n - len,
-				"  IPV6 UDP\n");
+				"    IPV6 UDP\n");
 	str[len] = '\0';
 
-	ODP_PRINT("\n%s\n", str);
+	ODP_PRINT("%s\n", str);
 }
 
 /*
@@ -868,6 +868,7 @@  static int sock_stats_reset(pktio_entry_t *pktio_entry)
 
 const pktio_if_ops_t sock_mmsg_pktio_ops = {
 	.name = "socket",
+	.print = NULL,
 	.init_global = NULL,
 	.init_local = NULL,
 	.term = NULL,
diff --git a/platform/linux-generic/pktio/socket_mmap.c b/platform/linux-generic/pktio/socket_mmap.c
index 22a762f..c14ec9f 100644
--- a/platform/linux-generic/pktio/socket_mmap.c
+++ b/platform/linux-generic/pktio/socket_mmap.c
@@ -672,6 +672,7 @@  static int sock_mmap_stats_reset(pktio_entry_t *pktio_entry)
 
 const pktio_if_ops_t sock_mmap_pktio_ops = {
 	.name = "socket_mmap",
+	.print = NULL,
 	.init_global = NULL,
 	.init_local = NULL,
 	.term = NULL,
diff --git a/platform/linux-generic/pktio/tap.c b/platform/linux-generic/pktio/tap.c
index 45c4ae1..4ca11e6 100644
--- a/platform/linux-generic/pktio/tap.c
+++ b/platform/linux-generic/pktio/tap.c
@@ -338,6 +338,7 @@  static int tap_capability(pktio_entry_t *pktio_entry ODP_UNUSED,
 
 const pktio_if_ops_t tap_pktio_ops = {
 	.name = "tap",
+	.print = NULL,
 	.init_global = NULL,
 	.init_local = NULL,
 	.term = NULL,