summaryrefslogtreecommitdiff
path: root/interface-ip.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-03-19 23:26:44 +0100
committerFelix Fietkau <nbd@openwrt.org>2012-03-19 23:26:44 +0100
commita609b5e8f39b132ff72476761add46d263c4147f (patch)
tree788468b7b5ce0396cd9409e6c8dfcc78028e3178 /interface-ip.c
parent257bfc6392bf8a1c215f0bd6889db4694a405c1d (diff)
downloadnetifd-a609b5e8f39b132ff72476761add46d263c4147f.tar.gz
add support for updating route metrics
Diffstat (limited to 'interface-ip.c')
-rw-r--r--interface-ip.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/interface-ip.c b/interface-ip.c
index 56f3c0c..8c46168 100644
--- a/interface-ip.c
+++ b/interface-ip.c
@@ -377,9 +377,12 @@ void interface_ip_set_enabled(struct interface_ip_settings *ip, bool enabled)
if (route->enabled == _enabled)
continue;
- if (_enabled)
+ if (_enabled) {
+ if (!(route->flags & DEVROUTE_METRIC))
+ route->metric = ip->iface->metric;
+
system_add_route(dev, route);
- else
+ } else
system_del_route(dev, route);
route->enabled = _enabled;
}