Understanding BFD for IS-IS
The Bidirectional Forwarding Detection (BFD) protocol is a simple hello mechanism that detects failures in a network. Hello packets are sent at a specified, regular interval. A neighbor failure is detected when the routing device stops receiving a reply after a specified interval. BFD works with a wide variety of network environments and topologies. The failure detection timers for BFD have shorter time limits than the failure detection mechanisms of IS-IS, providing faster detection.
The BFD failure detection timers are adaptive and can be adjusted to be faster or slower. For example, the timers can adapt to a higher value if the adjacency fails, or a neighbor can negotiate a higher value for a timer than the configured value. The timers adapt to a higher value when a BFD session flap occurs more than three times in a span of 15 seconds. A back-off algorithm increases the receive (RX) interval by two if the local BFD instance is the reason for the session flap. The transmission (TX) interval is increased by two if the remote BFD instance is the reason for the session flap.
You can use the clear bfd adaptation command to return BFD interval timers
to their configured values. The clear bfd adaptation command is hitless,
meaning that the command does not affect traffic flow on the routing device.
You can configure IS-IS BFD sessions for IPv6 by including the
bfd-liveness-detection statement at the [edit protocols isis
interface interface-name family inet|inet6] hierarchy level.
-
For interfaces that support both IPv4 and IPv6 routing, the
bfd-liveness-detectionstatement must be configured separately for each inet family. -
BFD over IPv6 link local address is currently not distributed because IS-IS uses link local addresses for forming adjacencies.
-
BFD sessions over IPv6 must not have the same aggressive detection intervals as IPv4 sessions.
-
BFD IPv6 sessions with detection intervals less than 2.5 seconds are currently not supported when nonstop active routing (NSR) is enabled.
To detect failures in the network, the set of statements in Table 1 are used in the configuration.
|
Statement |
Description |
|---|---|
|
|
Enable failure detection. |
|
|
Specify the minimum transmit and receive intervals for failure detection. This value represents the minimum interval at which the local router transmits hellos packets as well as the minimum interval at which the router expects to receive a reply from a neighbor with which it has established a BFD session. You can configure a number from 1 through 255,000 milliseconds. You can also specify the minimum transmit and receive intervals separately. Note:
Depending on your network environment, these additional recommendations might apply:
|
|
|
Specify only the minimum receive interval for failure detection. This value represents the minimum interval at which the local router expects to receive a reply from a neighbor with which it has established a BFD session. You can configure a number from 1 through 255,000 milliseconds. |
|
|
Specify the number of hello packets not received by the neighbor that causes the originating interface to be declared down. The default is 3, and you can configure a value from 1 through 225. |
|
|
Disable BFD adaptation. You can specify that the BFD sessions not adapt to changing network conditions. Note:
We recommend that you not disable BFD adaptation unless it is preferable not to have BFD adaptation enabled in your network. |
|
|
Specify the threshold for the following:
Note:
The threshold value must be greater than the minimum transmit interval multiplied by the multiplier number. |
|
|
Specify the minimum transmit interval for failure detection. This value represents the minimum interval at which the local routing device transmits hello packets to the neighbor with which it has established a BFD session. You can configure a value from 1 through 255,000 milliseconds. |
|
|
Specify the BFD version used for detection. The default is to have the version detected automatically. |
You can trace BFD operations by including the traceoptions statement at
the [edit protocols bfd] hierarchy level.
For a list of hierarchy levels at which you can include these statements, see the statement summary sections for these statements.