From bee3aa08a5808691439e42fac8136f6eb16f6f79 Mon Sep 17 00:00:00 2001 From: Venkatesh Vivekanandan Date: Fri, 27 Feb 2015 19:20:01 +0000 Subject: packet_io: Implement odp_pktio_mtu Signed-off-by: Venkatesh Vivekanandan --- platform/linux-dpdk/odp_packet_io.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'platform/linux-dpdk/odp_packet_io.c') 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; } -- cgit v1.2.3