]> git.puffer.fish Git - matthieu/frr.git/commit
bgpd-delete-route-on-invalid-nh.patch
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 20 May 2015 00:47:25 +0000 (17:47 -0700)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 20 May 2015 00:47:25 +0000 (17:47 -0700)
commit76145957957916bbb4d0ca33018084b5203528a5
tree985e4adcf33af44970903bc01ef02411573e2f5a
parentc52ef59fedc4ce81afc842990980c8384d6dfce3
bgpd-delete-route-on-invalid-nh.patch

BGPd: Delete the route from the kernel when a valid NH changes to invalid NH

A route has been announced by a BGP peer with a valid NH and has been
populated into the kernel. Now, if the NH announced changes (say via routemap)
to an invalid NH, the route is marked as inactive/inaccessible inside Quagga,
but is not deleted from the kernel. This patch fixes that issue.

The problem is caused by BGP losing the old valid NH and using the new, invalid
NH to delete the now-inaccessible route. However, the kernel/zebra has the
route using the old NH and so they reject the delete. Fix involves not sending
the invalid NH when its the only NH. Things worked fine if the route had BGP
multipath.
bgpd/bgp_zebra.c