diff options
author | Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> | 2016-01-04 23:09:12 +0200 |
---|---|---|
committer | Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> | 2016-01-04 23:10:53 +0200 |
commit | e7afac2e15922daa94c9b0af168158794bc217f3 (patch) | |
tree | 3930134d477085fa20006823a921591c181e9aaf | |
parent | 519fdc46346c1c45f618eeb2f5ea31ff045ff3d1 (diff) |
linux-ks2: pktio: add print function API
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
-rw-r--r-- | platform/linux-keystone2/odp_packet_io.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/platform/linux-keystone2/odp_packet_io.c b/platform/linux-keystone2/odp_packet_io.c index deb77117..da708a0f 100644 --- a/platform/linux-keystone2/odp_packet_io.c +++ b/platform/linux-keystone2/odp_packet_io.c @@ -962,3 +962,40 @@ char *_pktio_name(odp_pktio_t pktio) pktio_entry_t *entry = _odp_pktio_entry(pktio); return entry->name; } + +void odp_pktio_print(odp_pktio_t pktio) +{ + 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 = _odp_pktio_entry(pktio); + if (entry == NULL) { + ODP_DBG("pktio entry %d does not exist\n", pktio); + return; + } + + len += snprintf(&str[len], n - len, "pktio\n"); + len += snprintf(&str[len], n - len, " handle %" PRIu64 "\n", + odp_pktio_to_u64(pktio)); + len += snprintf(&str[len], n - len, + " name %s\n", entry->name); + len += snprintf(&str[len], n - len, " state %s\n", + entry->flags.start == 1 ? "start" : "stop"); + memset(addr, 0, sizeof(addr)); + odp_pktio_mac_addr(pktio, 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(pktio)); + len += snprintf(&str[len], n - len, + " promisc %s\n", + odp_pktio_promisc_mode(pktio) ? "yes" : "no"); + str[len] = '\0'; + + ODP_PRINT("\n%s\n", str); +} |