if (node_new) {
bool _enabled = enable_route(ip, route_new);
+ if (!(route_new->flags & DEVROUTE_METRIC))
+ route_new->metric = iface->metric;
+
if (!(route_new->flags & DEVADDR_EXTERNAL) && !keep && _enabled)
system_add_route(dev, route_new);
void
interface_ip_update_start(struct interface_ip_settings *ip)
{
- vlist_simple_update(&ip->dns_servers);
- vlist_simple_update(&ip->dns_search);
+ if (ip != &ip->iface->config_ip) {
+ vlist_simple_update(&ip->dns_servers);
+ vlist_simple_update(&ip->dns_search);
+ }
vlist_update(&ip->route);
vlist_update(&ip->addr);
}