pass interface route metric to routes when adding them
authorFelix Fietkau <nbd@openwrt.org>
Sat, 19 May 2012 22:42:21 +0000 (00:42 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 19 May 2012 22:42:21 +0000 (00:42 +0200)
interface-ip.c

index 3b545ca..b681b81 100644 (file)
@@ -337,6 +337,9 @@ interface_update_proto_route(struct vlist_tree *tree,
        if (node_new) {
                bool _enabled = enable_route(ip, route_new);
 
        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);
 
                if (!(route_new->flags & DEVADDR_EXTERNAL) && !keep && _enabled)
                        system_add_route(dev, route_new);