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.
Starting with Junos OS Release 16.1R1, 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-detection
statement 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.
EX4600 switches do not support minimum interval values of less than 1 second.
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:
BFD is an intensive protocol that consumes system resources. Specifying a minimum interval for BFD less than 100 ms for Routing Engine-based sessions and 10 ms for distributed BFD sessions can cause undesired BFD flapping. 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. In Junos OS Release 9.0 and later, 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.