summaryrefslogtreecommitdiffhomepage
path: root/interface.c
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2015-03-18 16:54:48 +0100
committerSteven Barth <steven@midlink.org>2015-03-19 16:27:11 +0100
commit60f57b2bfb87c463fc271a9c3e8e1f97feaecdca (patch)
treece52bb7a5b8ea01df3957bf9a25567c05770c637 /interface.c
parent45fd905c980e56b20770d4b34556749fbca53fcc (diff)
netifd:Make sure interface device config is also cached
Fixes issue interface device config is not applied in some cases. As the interface device config was applied but not always cached; an interface device config diff was not always detected. Simplify device config setting by exposing as api only device_apply_config Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Diffstat (limited to 'interface.c')
-rw-r--r--interface.c6
1 files changed, 3 insertions, 3 deletions
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);