The BFD for OSPFv3 feature gives OSPFv3 routing protocol the ability to
utilize BFD's fast failure detection to monitor OSPFv3 neighbor adjacencies. CLI commands are
provided to configure BFD protection for OSPFv3, so that as a registered BFD client, OSPFv3 can
request BFD protection for interested OSPFv3 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 OSPFv3, which causes the
OSPFv3 neighbor state be marked as "down." This allows OSPFv3 protocol to quickly begin network
convergence and use alternate paths to the affected neighbor.
Basic Operational Flow of OSPFv3 BFD
Establishing a BFD Session for OSPFv3 Neighbor
OSPFv3 discovers a neighbor.
If BFD for OSPFv3 is configured, OSPFv3 on both routers sends a request to
the local BFD server to initiate a BFD neighbor session with the OSPFv3 neighbor router.
The BFD neighbor session with the OSPFv3 neighbor router is established on
both sides if BFD session limit is not reached.
If the BFD session limit is reached, the OSPFv3 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 OSPFv3 Neighbor Relationship by BFD Fault
Detection
A failure occurs in the network.
The BFD neighbor session with the OSPFv3 neighbor router is removed because
the BFD timer expired.
On both Router A and Router B, BFD notifies the local OSPFv3 process that
the BFD neighbor is DOWN.
The local OSPFv3 process tears down the OSPFv3 neighbor relationship by
marking neighbor state DOWN. (If an alternative path is available, the routers will immediately
start converging on it.)
OSPFv3 Neighbor Relationship Eliminated by BFD Fault
Detection
OSPFv3 will request the BFD server to delete the BFD session for OSPFv3
neighbor moved to DOWN state. When the link failure is later resolved, OSPFv3 needs to register
the re-discovered neighbor to BFD again to initiate BFD session creation.
Removing BFD Protection for OSPFv3
BFD protection is removed from OSPFv3 interface on Router A, OSPFv3 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 OSPFv3 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 OSPFv3 neighbors.
When BFD protection is removed from OSPFv3 interface on Router B, BFD
sessions can be deleted immediately since they are already in "Admin Down" state.
When BFD for OSPFv3 is configured on broadcast interface, the default behavior
is to register only OSPFv3 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.
OSPFv3 Neighbor State Determination
With active BFD protection, OSPFv3 combines the BFD session state with the
associated interface admin and operational states to determine the OSPFv3 neighbor adjacency
discovered on that OSPFv3 interface. Regarding OSPFv3 neighbor relationships, OSPFv3 reacts
directly to BFD session state changes only in the following circumstances:
If BFD is enabled on the interface, and
If BFD for OSPFv3 is configured on the OSPFv3 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 OSPFv3 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 OSPFv3 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 OSPFv3 neighbor state, and the OSPFv3 neighbor state reverts to the operational state
of the OSPFv3 interface only. When the BFD session is in ADMIN_DOWN state, OSPFv3 ignores BFD
events and OSPFv3 neighbor adjacency is not be affected by the BFD session state change.