summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--interface-ip.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/interface-ip.c b/interface-ip.c
index 4edae2e..60b446c 100644
--- a/interface-ip.c
+++ b/interface-ip.c
@@ -633,7 +633,8 @@ interface_update_proto_route(struct vlist_tree *tree,
route_new = container_of(node_new, struct device_route, node);
if (node_old && node_new)
- keep = !memcmp(&route_old->nexthop, &route_new->nexthop, sizeof(route_old->nexthop));
+ keep = !memcmp(&route_old->nexthop, &route_new->nexthop, sizeof(route_old->nexthop)) &&
+ (route_old->table == route_new->table);
if (node_old) {
if (!(route_old->flags & DEVADDR_EXTERNAL) && route_old->enabled && !keep)