diff options
author | Venkatesh Vivekanandan <venkatesh.vivekanandan@linaro.org> | 2015-02-27 19:20:01 +0000 |
---|---|---|
committer | Venkatesh Vivekanandan <venkatesh.vivekanandan@linaro.org> | 2015-03-02 11:47:44 +0530 |
commit | bee3aa08a5808691439e42fac8136f6eb16f6f79 (patch) | |
tree | b1896cfbce6f8a66deaa38636dfe948be9d7d664 | |
parent | 8ba4a34b9614ea7c75d64d1782e1d04703abfe8b (diff) |
packet_io: Implement odp_pktio_mtuodp-0.6.1WIP
Signed-off-by: Venkatesh Vivekanandan <venkatesh.vivekanandan@linaro.org>
-rw-r--r-- | platform/linux-dpdk/odp_packet_io.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/platform/linux-dpdk/odp_packet_io.c b/platform/linux-dpdk/odp_packet_io.c index 410b07fe0..f9e24fa83 100644 --- a/platform/linux-dpdk/odp_packet_io.c +++ b/platform/linux-dpdk/odp_packet_io.c @@ -466,9 +466,27 @@ size_t odp_pktio_mac_addr(odp_pktio_t id, void *mac_addr, return ETH_ALEN; } -int odp_pktio_mtu(odp_pktio_t id ODP_UNUSED) +int odp_pktio_mtu(odp_pktio_t id) { - ODP_UNIMPLEMENTED(); - ODP_ABORT(""); - return 0; + pktio_entry_t *entry; + int mtu; + + entry = get_entry(id); + if (entry == NULL) { + ODP_DBG("pktio entry %d does not exist\n", id); + return -1; + } + + lock_entry(entry); + + if (odp_unlikely(is_free(entry))) { + unlock_entry(entry); + ODP_DBG("already freed pktio\n"); + return -1; + } + + rte_eth_dev_get_mtu(entry->s.pkt_dpdk.portid , (uint16_t *)&mtu); + + unlock_entry(entry); + return mtu; } |