]> git.puffer.fish Git - mirror/frr.git/commit
Fixing a couple of issues with ospf6_route_remove () routine.
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 20 May 2015 01:03:53 +0000 (18:03 -0700)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 20 May 2015 01:03:53 +0000 (18:03 -0700)
commit0f23bb679b966782fe72060d112b60ce1bd0af7a
tree834b919ad71c45d913fdec581b084c47f8851434
parentd973c4f045872450aa5c9b087d71f407dfe53591
Fixing a couple of issues with ospf6_route_remove () routine.

When a route_node has multiple ospf6_routes under it (common subnet case),
then the current implementation has an issue in adjusting the route_node->info
on a ospf6_route_remove() call.

The main reason is that it ends up using exact match to determine if the next
ospf6_route belongs to the same route_node or not. Fixing that part to use
rnode (the existing back-pointer to the route_node) from the ospf6_route to
determine that.

Also fixing some of the walks to turn them safe so that the route deletion is
fine.

Signed-off-by: Vipin Kumar <vipin@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
ospf6d/ospf6_abr.c
ospf6d/ospf6_asbr.c
ospf6d/ospf6_intra.c
ospf6d/ospf6_route.c
ospf6d/ospf6_spf.c