aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/pktio/netmap.c
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2020-07-03 17:03:49 +0300
committerGitHub <noreply@github.com>2020-07-03 17:03:49 +0300
commitaa55e35150da8099ed9f565173993609650010af (patch)
tree90573ee0b4ff53ff2c080f28b4c66a4e90f0f864 /platform/linux-generic/pktio/netmap.c
parentbd75b10924e6df74089d27482dd68bdef33eaf83 (diff)
parente20ecf15d8af37602a2eb0873d0a91dc5167dd28 (diff)
Merge ODP v1.24.0.0v1.24.0.0_DPDK_18.11
Merge and port ODP linux-generic v1.24.0.0 commits into odp-dpdk.
Diffstat (limited to 'platform/linux-generic/pktio/netmap.c')
-rw-r--r--platform/linux-generic/pktio/netmap.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c
index e1a5da773..0f608c6f6 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
@@ -355,12 +355,33 @@ 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);
}
+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,