&netdev_linux_class,
&netdev_tap_class,
&netdev_gre_class,
+ &netdev_patch_class,
};
static struct shash netdev_classes = SHASH_INITIALIZER(&netdev_classes);
}
}
+/* Returns true if a network device named 'name' is currently opened,
+ * otherwise false. */
+bool
+netdev_is_open(const char *name)
+{
+ return !!shash_find_data(&netdev_dev_shash, name);
+}
+
/* Clears 'svec' and enumerates the names of all known network devices. */
int
netdev_enumerate(struct svec *svec)
return netdev_dev->netdev_class->type;
}
+/* Returns the class associated with 'netdev_dev'. */
+const struct netdev_class *
+netdev_dev_get_class(const struct netdev_dev *netdev_dev)
+{
+ return netdev_dev->netdev_class;
+}
+
/* Returns the name of 'netdev_dev'.
*
* The caller must not free the returned value. */