From: Felix Fietkau Date: Mon, 19 Mar 2012 22:10:54 +0000 (+0100) Subject: add a flag to keep track of route metric overrides X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=commitdiff_plain;h=257bfc6392bf8a1c215f0bd6889db4694a405c1d;hp=655ef783b1d5f72af3acccc87455c365fea4ad42 add a flag to keep track of route metric overrides --- diff --git a/interface-ip.c b/interface-ip.c index 170b03b..56f3c0c 100644 --- a/interface-ip.c +++ b/interface-ip.c @@ -86,8 +86,10 @@ interface_ip_add_route(struct interface *iface, struct blob_attr *attr, bool v6) } } - if ((cur = tb[ROUTE_METRIC]) != NULL) + if ((cur = tb[ROUTE_METRIC]) != NULL) { route->metric = blobmsg_get_u32(cur); + route->flags |= DEVROUTE_METRIC; + } if ((cur = tb[ROUTE_MTU]) != NULL) route->mtu = blobmsg_get_u32(cur); diff --git a/interface-ip.h b/interface-ip.h index 0ce94df..68bfdf6 100644 --- a/interface-ip.h +++ b/interface-ip.h @@ -11,6 +11,9 @@ enum device_addr_flags { /* externally added address */ DEVADDR_EXTERNAL = (1 << 2), + + /* route overrides the default interface metric */ + DEVROUTE_METRIC = (1 << 3) }; union if_addr {