diff options
-rw-r--r-- | config.c | 2 | ||||
-rw-r--r-- | device.c | 2 | ||||
-rw-r--r-- | device.h | 3 | ||||
-rw-r--r-- | interface.c | 6 | ||||
-rw-r--r-- | tunnel.c | 2 |
5 files changed, 6 insertions, 9 deletions
@@ -137,7 +137,7 @@ config_parse_interface(struct uci_section *s, bool alias) return; if (iface->device_config || dev->settings.flags) - device_set_config(dev, dev->type, b.head); + device_apply_config(dev, dev->type, b.head); return; error_free_config: free(config); @@ -596,7 +596,7 @@ device_init_pending(void) } } -enum dev_change_type +static enum dev_change_type device_set_config(struct device *dev, const struct device_type *type, struct blob_attr *attr) { @@ -194,9 +194,6 @@ void device_init_settings(struct device *dev, struct blob_attr **tb); void device_init_pending(void); enum dev_change_type -device_set_config(struct device *dev, const struct device_type *type, - struct blob_attr *attr); -enum dev_change_type device_apply_config(struct device *dev, const struct device_type *type, struct blob_attr *config); diff --git a/interface.c b/interface.c index 72599e6..444f3ac 100644 --- a/interface.c +++ b/interface.c @@ -918,11 +918,11 @@ interface_handle_link(struct interface *iface, const char *name, bool add, bool } if (add) { - device_set_present(dev, true); if (iface->device_config && dev->default_config) - device_set_config(dev, dev->type, iface->config); + device_apply_config(dev, dev->type, iface->config); + + device_set_present(dev, true); - system_if_apply_settings(dev, &dev->settings, dev->settings.flags); ret = interface_add_link(iface, dev, link_ext); } else { ret = interface_remove_link(iface, dev); @@ -72,7 +72,7 @@ tunnel_create(const char *name, struct blob_attr *attr) device_init(dev, &tunnel_device_type, name); tun->set_state = dev->set_state; dev->set_state = tunnel_set_state; - device_set_config(dev, &tunnel_device_type, attr); + device_apply_config(dev, &tunnel_device_type, attr); device_set_present(dev, true); return dev; |