BFD for OSPF
The BFD for 
OSPF (Open Shortest Path First) feature gives OSPF routing
   protocol the ability to utilize BFD's fast failure detection to monitor OSPF neighbor
   adjacencies. CLI commands are provided to configure BFD protection for OSPF, so that as a
   registered BFD client, OSPF can request BFD protection for interested OSPF neighbors, and receive
   notifications about BFD session setup status and BFD session status updates (after establishing)
   from the BFD server. When BFD detects a communication failure between neighbors, it informs OSPF,
   which causes the OSPF neighbor state be marked as "down." This allows OSPF protocol to quickly
   begin network convergence and use alternate paths to the affected neighbor.
Basic Operational Flow of OSPF BFD
    
    
   Establishing a BFD Session for OSPF Neighbor
- OSPF discovers a neighbor.
- If BFD for OSPF is configured, OSPF on both routers sends a request to the local BFD server
     to initiate a BFD neighbor session with the OSPF neighbor router. 
- The BFD neighbor session with the OSPF neighbor router is established on both sides if BFD
     session limit is not reached.
If the BFD session limit is reached, the OSPF neighbor will be marked as BFD session failed if
    synchronous request is used, or pending if asynchronous request is used, and the BFD server will
    send an asynchronous notification when the session registration passes later. (The asynchronous
    request is not available until the BFD client session create API is enhanced.)
Eliminating the OSPF Neighbor Relationship by BFD Fault Detection
- A failure occurs in the network.
- The BFD neighbor session with the OSPF neighbor router is removed
     because the BFD timer expired. 
- On both Router A and Router B, BFD notifies the local OSPF process that
     the BFD neighbor is DOWN.
- The local OSPF process tears down the OSPF neighbor relationship by
     marking neighbor state DOWN. (If an alternative path is available, the routers will immediately
     start converging on it.)
OSPF Neighbor Relationship Eliminated by BFD Fault
     Detection
    
    
   OSPF will request the BFD server to delete the BFD session for OSPF
    neighbor moved to DOWN state. When the link failure is later resolved, OSPF needs to register
    the re-discovered neighbor to BFD again to initiate BFD session creation.
Removing BFD Protection for OSPF
- BFD protection is removed from OSPF interface on Router A, OSPF process
     requests BFD server to delete all BFD sessions for neighbors learned on that interface.
- BFD server will stop sending session status update to local OSPF process
     on Router A.
- Before actually deleting any sessions, BFD server on Router A will first
     notify Router B to mark those session status as "Admin Down," which will cause Router B to stop
     using BFD protection for those OSPF neighbors. 
- When BFD protection is removed from OSPF interface on Router B, BFD
     sessions can be deleted immediately since they are already in "Admin Down" state. 
When BFD for OSPF is configured on broadcast interface, the default behavior
    is to register only OSPF neighbors in FULL state with the BFD server. Separate BFD sessions are
    created for each neighbor learned on the same interface. If multiple clients ask for the same
    neighbor on the same interface, then single BFD sessions are established between the peers.
OSPF Neighbor State Determination
With active BFD protection, OSPF combines the BFD session state with the
    associated interface admin and operational states to determine the OSPF neighbor adjacency
    discovered on that OSPF interface. Regarding OSPF neighbor relationships, OSPF reacts directly
    to BFD session state changes only in the following circumstances:
- If BFD is enabled on the interface, and
- If BFD for OSPF is configured on the OSPF interface, and
- If a BFD session has been established to the neighbor, and
- If the BFD session has passed the INIT_COMPLETE state then:
- The OSPF neighbor relationship will remain as FULL if the operational
     state of the BFD session is "UP" and the operational state of the associated VLAN interface is
     UP. 
- The OSPF neighbor relationship will be considered as DOWN if the
      operational state of the BFD session is DOWN or the operational state of the associated VLAN
      interface is DOWN.
In all other cases, the BFD session state is not considered as part of the
    reported OSPF neighbor state, and the OSPF neighbor state reverts to the operational state of
    the OSPF interface only. When the BFD session is in ADMIN_DOWN state, OSPF ignores BFD events
    and OSPF neighbor adjacency is not be affected by the BFD session state change.