- * structure.
- *
- * The 'created' flag indicates that the user called netdev_create()
- * and thus will eventually call netdev_destroy(). If the flag is
- * false, then the object was dynamically created based on a call to
- * netdev_open() without first calling netdev_create() and will be
- * automatically destroyed when no more netdevs have 'name' open. A
- * provider implementation should pass this flag to netdev_obj_init(). */
- int (*create)(const char *name, const char *type,
- const struct shash *args, bool created);
-
- /* Destroys 'netdev_obj'.
+ * structure. On success sets 'netdev_devp' to the newly created device. */
+ int (*create)(const char *name, const char *type, const struct shash *args,
+ struct netdev_dev **netdev_devp);
+
+ /* Destroys 'netdev_dev'.