]> git.puffer.fish Git - matthieu/frr.git/commit
When performing a delete of an IPv6 route, BGP passes along a nexthop
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 11 Jun 2015 16:19:59 +0000 (09:19 -0700)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 11 Jun 2015 16:19:59 +0000 (09:19 -0700)
commitfbf288a599d4ebbb02c0e5e731bc1876f26b4b50
tree17974991801cf403e7c89cc49bbb8fb9d053f9b1
parentbf8b3d27623615c3b2a82d9f4867c70c8071a9be
When performing a delete of an IPv6 route, BGP passes along a nexthop
to zebra. If the nexthop value is non-NULL, Zebra would attempt to find
a route that not only matches the prefix but also the nexthop i.e., treat
the delete as a specific ECMP path delete. However, the intent in BGP is
not a path delete but a delete of the entire prefix. If the deletion were
triggered by the nexthop for a prefix changing from NH1 to NH2 and NH2 is
not reachable, the delete would be issued to zebra for the prefix with the
nexthop as NH2 and zebra wouldn't delete the prefix as it still has NH1 as
its nexthop.

Fix by not sending any nexthop in IPv6 route delete. This is based on the
assumption (currently valid) that BGP does a route add/replace for any
path changes and issues a route delete only when it needs to delete the
entire route.
bgpd/bgp_zebra.c