diff options
-rw-r--r-- | interface-ip.c | 3 |
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) |