From 257bfc6392bf8a1c215f0bd6889db4694a405c1d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 19 Mar 2012 23:10:54 +0100 Subject: [PATCH] add a flag to keep track of route metric overrides --- interface-ip.c | 4 +++- interface-ip.h | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) 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 { -- 2.25.1