summaryrefslogtreecommitdiff
path: root/interface-ip.c
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2014-06-20 19:50:13 +0200
committerSteven Barth <steven@midlink.org>2014-06-20 19:50:13 +0200
commit4452867c4b34cb0d9dc7fe9dc42ecc86af887176 (patch)
tree95c84a21e3a24332cef256f1fa3340c9e6b13124 /interface-ip.c
parent07e9b542017c692ee2abe7a8689517b466150944 (diff)
downloadnetifd-4452867c4b34cb0d9dc7fe9dc42ecc86af887176.tar.gz
interface: don't store table id in route if the default table is used
Use system_is_default_rt_table() to test whether the resolved routing table is the default one, in this case do not apply the table attribute to the route object. This is needed for backwards compatibility - only routes using a non-default table shall report it in the ifstatus output. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Diffstat (limited to 'interface-ip.c')
-rw-r--r--interface-ip.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/interface-ip.c b/interface-ip.c
index 715e498..587826a 100644
--- a/interface-ip.c
+++ b/interface-ip.c
@@ -365,6 +365,10 @@ interface_ip_add_route(struct interface *iface, struct blob_attr *attr, bool v6)
goto error;
}
+ /* only set the table flag if not using the main (default) table */
+ if (system_is_default_rt_table(route->table))
+ route->table = 0;
+
if (route->table)
route->flags |= DEVROUTE_TABLE;
}