From: Hans Dedecker Date: Tue, 19 Nov 2013 11:17:02 +0000 (+0100) Subject: netifd: Routing table parameter needs to be checked in route update X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=465efe77b06ce9bab1935395a64f1a441f5f3c89;p=oweals%2Fnetifd.git netifd: Routing table parameter needs to be checked in route update Routing table parameter needs to be checked in interface_update_proto_route; a route which has an identical nexthop but a different routing table needs to be deleted and added in the correct routing table. Signed-off-by: Hans Dedecker --- 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)