From 975c3db544f0b0e388e55508cd8f79a3fa5f7fcd Mon Sep 17 00:00:00 2001 From: Matias Elo Date: Wed, 17 Jun 2020 13:17:58 +0300 Subject: linux-gen: netmap: implement odp_pktio_link_info() Add implementation for odp_pktio_link_info() function. Signed-off-by: Matias Elo Reviewed-by: Petri Savolainen --- platform/linux-generic/pktio/netmap.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'platform/linux-generic/pktio/netmap.c') diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c index e1a5da773..291281fa1 100644 --- a/platform/linux-generic/pktio/netmap.c +++ b/platform/linux-generic/pktio/netmap.c @@ -1,5 +1,5 @@ /* Copyright (c) 2015-2018, Linaro Limited - * Copyright (c) 2019, Nokia + * Copyright (c) 2019-2020, Nokia * All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause @@ -361,6 +361,27 @@ static int netmap_link_status(pktio_entry_t *pktio_entry) pkt_priv(pktio_entry)->if_name); } +static int netmap_link_info(pktio_entry_t *pktio_entry, odp_pktio_link_info_t *info) +{ + pkt_netmap_t *pkt_nm = pkt_priv(pktio_entry); + + if (pkt_nm->is_virtual) { + memset(info, 0, sizeof(odp_pktio_link_info_t)); + + info->autoneg = ODP_PKTIO_LINK_AUTONEG_OFF; + info->duplex = ODP_PKTIO_LINK_DUPLEX_FULL; + info->media = "virtual"; + info->pause_rx = ODP_PKTIO_LINK_PAUSE_OFF; + info->pause_tx = ODP_PKTIO_LINK_PAUSE_OFF; + info->speed = ODP_PKTIO_LINK_SPEED_UNKNOWN; + info->status = ODP_PKTIO_LINK_STATUS_UP; + + return 0; + } + + return link_info_fd(pkt_nm->sockfd, pkt_nm->if_name, info); +} + /** * Wait for netmap link to come up * @@ -1225,6 +1246,7 @@ const pktio_if_ops_t netmap_pktio_ops = { .start = netmap_start, .stop = netmap_stop, .link_status = netmap_link_status, + .link_info = netmap_link_info, .stats = netmap_stats, .stats_reset = netmap_stats_reset, .mtu_get = netmap_mtu_get, -- cgit v1.2.3 From 9db118f9509ce4f1bc6c21e79b6cc0a78cebd519 Mon Sep 17 00:00:00 2001 From: Matias Elo Date: Tue, 30 Jun 2020 11:45:26 +0300 Subject: linux-gen: pktio: use enum as odp_pktio_link_status() return value Use odp_pktio_link_status_t enum as odp_pktio_link_status() return value. Signed-off-by: Matias Elo Reviewed-by: Petri Savolainen --- platform/linux-generic/pktio/netmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'platform/linux-generic/pktio/netmap.c') diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c index 291281fa1..0f608c6f6 100644 --- a/platform/linux-generic/pktio/netmap.c +++ b/platform/linux-generic/pktio/netmap.c @@ -355,7 +355,7 @@ static int netmap_close(pktio_entry_t *pktio_entry) static int netmap_link_status(pktio_entry_t *pktio_entry) { if (pkt_priv(pktio_entry)->is_virtual) - return 1; + return ODP_PKTIO_LINK_STATUS_UP; return link_status_fd(pkt_priv(pktio_entry)->sockfd, pkt_priv(pktio_entry)->if_name); -- cgit v1.2.3