X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=interface.c;h=6cad26bee0f3a1baf2e34fedfc66b1e1a4a1fa4d;hp=edf9b27568bec17758f0ea28aa4ce36161e23216;hb=549ee59a895cfd20b0cde36d61e8df747e57069d;hpb=b0b11b2295fbb8399949139d82156e123e005902 diff --git a/interface.c b/interface.c index edf9b27..6cad26b 100644 --- a/interface.c +++ b/interface.c @@ -410,6 +410,9 @@ interface_init(struct interface *iface, const char *name, if ((cur = tb[IFACE_ATTR_DNS_SEARCH])) interface_add_dns_search_list(&iface->config_ip, cur); + if ((cur = tb[IFACE_ATTR_METRIC])) + iface->metric = blobmsg_get_u32(cur); + iface->config_autostart = iface->autostart; } @@ -590,7 +593,7 @@ interface_update_complete(struct interface *iface) } static void -interface_replace_dns(struct interface_ip_settings *old, struct interface_ip_settings *new) +interface_replace_dns(struct interface_ip_settings *new, struct interface_ip_settings *old) { vlist_simple_replace(&new->dns_servers, &old->dns_servers); vlist_simple_replace(&new->dns_search, &old->dns_search); @@ -645,7 +648,6 @@ interface_change_config(struct interface *if_old, struct interface *if_new) UPDATE(proto_ip.no_dns); interface_replace_dns(&if_old->config_ip, &if_new->config_ip); - interface_replace_dns(&if_old->proto_ip, &if_new->proto_ip); interface_write_resolv_conf(); #undef UPDATE