mirror of
https://github.com/openvswitch/ovs
synced 2025-09-02 23:35:27 +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);
|
netdev_class = shash_find_data(&netdev_classes, options->type);
|
||||||
if (!netdev_class) {
|
if (!netdev_class) {
|
||||||
VLOG_WARN("could not create netdev %s of unknown type %s",
|
|
||||||
options->name, options->type);
|
|
||||||
return EAFNOSUPPORT;
|
return EAFNOSUPPORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -312,6 +310,10 @@ netdev_open(struct netdev_options *options, struct netdev **netdevp)
|
|||||||
if (!netdev_dev) {
|
if (!netdev_dev) {
|
||||||
error = create_device(options, &netdev_dev);
|
error = create_device(options, &netdev_dev);
|
||||||
if (error) {
|
if (error) {
|
||||||
|
if (error == EAFNOSUPPORT) {
|
||||||
|
VLOG_WARN("could not create netdev %s of unknown type %s",
|
||||||
|
options->name, options->type);
|
||||||
|
}
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
update_device_args(netdev_dev, options->args);
|
update_device_args(netdev_dev, options->args);
|
||||||
|
Reference in New Issue
Block a user