]> git.puffer.fish Git - matthieu/frr.git/commit
Fix for IPv6 OSPF BFD session staying down when ifdown/ifup on logical interfaces
authorradhika <radhika@cumulusnetworks.com>
Fri, 9 Oct 2015 20:44:32 +0000 (13:44 -0700)
committerradhika <radhika@cumulusnetworks.com>
Fri, 9 Oct 2015 20:44:32 +0000 (13:44 -0700)
commit1eab5b17bc6462ea9381a0fd32c0f0317fe51bd3
tree4a9d2226ee5aab4e5052cd25f0ca6e9223ac0e27
parent950bd436b609a4359081fa1dab8c152ef91da5e6
Fix for IPv6 OSPF BFD session staying down when ifdown/ifup on logical interfaces

Ticket: CM-7649
Reviewed By: Donald
Testing Done:

This is porting of the patch, ospf6d-bfd-fix-dereg-miss.patch from br2.5.

 Issue: The IPv6 OSPF BFD sessions stay down after ifdown/ifup on logical interfaces. This problem doesn’t exist for BFD sessions created by BGP and IPv4 OSPF.

 Root cause: When the interface is brought down the IPv6 neighbors discovered on that interface are deleted. This deletion happens without first bringing down the neighbor and the BFD deregistration happens only when the neighbor state changes. This leaves an orphaned BFD session in PTM. Also, the BFD session socket that is bound to the interface that was brought down loses connection. The socket has to be rebound to the interface when it comes up. This problem will not happen if the client deleted the sessions and re-adds it when interface goes down and come up. IPv4 OSPF and BGP work exactly like that.

 Fix: Added the BFD deregistration code to IPv6 OSPF neighbor delete.
ospf6d/ospf6_bfd.c
ospf6d/ospf6_bfd.h
ospf6d/ospf6_neighbor.c