mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 14:25:26 +00:00
netdev: Don't assume all netdevs are available at runtime.
Currently we print a warning if a user tries to configure a netdev that is not in the list that userspace knows about. However, it is possible that a given netdev maybe be enabled but when it tries to create a device it finds out that it can't (not supported by kernel module, hardware not present, etc.). This makes the behavior the same in both cases. Signed-off-by: Jesse Gross <jesse@nicira.com>
This commit is contained in:
@@ -272,8 +272,6 @@ create_device(struct netdev_options *options, struct netdev_dev **netdev_devp)
|
||||
|
||||
netdev_class = shash_find_data(&netdev_classes, options->type);
|
||||
if (!netdev_class) {
|
||||
VLOG_WARN("could not create netdev %s of unknown type %s",
|
||||
options->name, options->type);
|
||||
return EAFNOSUPPORT;
|
||||
}
|
||||
|
||||
@@ -312,6 +310,10 @@ netdev_open(struct netdev_options *options, struct netdev **netdevp)
|
||||
if (!netdev_dev) {
|
||||
error = create_device(options, &netdev_dev);
|
||||
if (error) {
|
||||
if (error == EAFNOSUPPORT) {
|
||||
VLOG_WARN("could not create netdev %s of unknown type %s",
|
||||
options->name, options->type);
|
||||
}
|
||||
return error;
|
||||
}
|
||||
update_device_args(netdev_dev, options->args);
|
||||
|
Reference in New Issue
Block a user