summaryrefslogtreecommitdiff
path: root/lib/netdev-vport.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/netdev-vport.c')
-rw-r--r--lib/netdev-vport.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c
index 499c0291c..64331f74b 100644
--- a/lib/netdev-vport.c
+++ b/lib/netdev-vport.c
@@ -1151,6 +1151,12 @@ netdev_vport_get_ifindex(const struct netdev *netdev_)
{
char buf[NETDEV_VPORT_NAME_BUFSIZE];
const char *name = netdev_vport_get_dpif_port(netdev_, buf, sizeof(buf));
+ const char *dpif_type = netdev_get_dpif_type(netdev_);
+
+ if (dpif_type && strcmp(dpif_type, "system")) {
+ /* Not a system device. */
+ return -ENODEV;
+ }
return linux_get_ifindex(name);
}