it has to be odp helper and some function like:

char * odp_pktio_name(pktio);

Maxim.

On 10/21/2015 13:28, Matias Elo wrote:
Add API function for printing implementation specific pktio
debug information.

Signed-off-by: Matias Elo <matias....@nokia.com>
---
  include/odp/api/packet_io.h            |  9 ++++++++
  platform/linux-generic/odp_packet_io.c | 40 ++++++++++++++++++++++++++++++++++
  2 files changed, 49 insertions(+)

diff --git a/include/odp/api/packet_io.h b/include/odp/api/packet_io.h
index 3479af1..e8126b2 100644
--- a/include/odp/api/packet_io.h
+++ b/include/odp/api/packet_io.h
@@ -358,6 +358,15 @@ uint64_t odp_pktio_to_u64(odp_pktio_t pktio);
  void odp_pktio_param_init(odp_pktio_param_t *param);
/**
+ * Print pktio info to the console
+ *
+ * Print implementation-defined pktio debug information to the console.
+ *
+ * @param pktio                        Packet IO handle
+ */
+void odp_pktio_print(odp_pktio_t pktio);
+
+/**
   * @}
   */
diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c
index b3ca4c8..de08628 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -820,3 +820,43 @@ void odp_pktio_param_init(odp_pktio_param_t *params)
  {
        memset(params, 0, sizeof(odp_pktio_param_t));
  }
+
+void odp_pktio_print(odp_pktio_t id)
+{
+       pktio_entry_t *entry;
+       uint8_t addr[ETH_ALEN];
+       int max_len = 512;
+       char str[max_len];
+       int len = 0;
+       int n = max_len - 1;
+
+       entry = get_pktio_entry(id);
+       if (entry == NULL) {
+               ODP_DBG("pktio entry %d does not exist\n", id);
+               return;
+       }
+
+       len += snprintf(&str[len], n - len,
+                       "pktio\n");
+       len += snprintf(&str[len], n - len,
+                       "  handle       %" PRIu64 "\n", odp_pktio_to_u64(id));
+       len += snprintf(&str[len], n - len,
+                       "  name         %s\n", entry->s.name);
+       len += snprintf(&str[len], n - len,
+                       "  state        %s\n",
+                       entry->s.state ==  STATE_START ? "start" :
+                      (entry->s.state ==  STATE_STOP ? "stop" : "unknown"));
+       memset(addr, 0, sizeof(addr));
+       odp_pktio_mac_addr(id, addr, ETH_ALEN);
+       len += snprintf(&str[len], n - len,
+                       "  mac          %02x:%02x:%02x:%02x:%02x:%02x\n",
+                       addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
+       len += snprintf(&str[len], n - len,
+                       "  mtu          %d\n", odp_pktio_mtu(id));
+       len += snprintf(&str[len], n - len,
+                       "  promisc      %s\n",
+                       odp_pktio_promisc_mode(id) ? "yes" : "no");
+       str[len] = '\0';
+
+       ODP_PRINT("\n%s\n", str);
+}

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to