Technical Documentation

Configuring 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. These timers are also adaptive and can be adjusted to be more or less aggressive. 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.

Note: BFD for IS-IS on an IPv6-only interface is not supported. However, if the interface is dual-stacked (both IPV4 and IPV6 are configured) then you can configure BFD as a client on the IPv4 IS-IS session.

To enable failure detection, include the bfd-liveness-detection statement:

bfd-liveness-detection {detection-time {threshold milliseconds;}minimum-interval milliseconds;minimum-receive-interval milliseconds;no-adaptation;transmit-interval {threshold milliseconds;minimum-interval milliseconds;}multiplier number;version (1 | automatic);}

To specify the threshold for the adaptation of the detection time, include the threshold statement:

detection-time {threshold milliseconds;}

When the BFD session detection time adapts to a value equal to or higher than the threshold, a single trap and a system log message are sent.

To specify the minimum transmit and receive intervals for failure detection, include the minimum-interval statement:

minimum-interval milliseconds;

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 in the range from 1 through 255,000 milliseconds. You can also specify the minimum transmit and receive intervals separately

Note: Specifying an interval less than 300 milliseconds can cause undesired BFD flapping.

To specify only the minimum receive interval for failure detection, include the minimum-receive-interval statement:

minimum-receive-interval milliseconds;

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 in the range of 1 through 255,000 milliseconds.

To specify the number of hello packets not received by the neighbor that causes the originating interface to be declared down, include the multiplier statement:

multiplier number;

The default is 3, and you can configure a value in the range from 1 through 225.

To specify the minimum transmit interval for failure detection, include the transmit-interval minimum-interval statement:

transmit-interval {minimum-interval milliseconds;}

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 in the range from 1 through 255,000 milliseconds.

To specify the threshold for detecting the adaptation of the transmit interval, include the threshold statement:

transmit-interval {threshold milliseconds;}

The threshold value must be greater than the minimum transmit interval.

You can trace BFD operations by including the traceoptions statement at the [edit protocols bfd] hierarchy level. For more information, see Tracing BFD Protocol Traffic.

In Junos OS Release 9.0 and later, you can specify that the BFD sessions not adapt to changing network conditions. To disable BFD adaptation, include the no-adaptation statement:

no-adaptation;

Note: We recommend that you not disable BFD adaptation unless it is preferable not to have BFD adaptation enabled in your network.

To specify the BFD version used for detection, include the version statement:

version (1 | automatic);

The default is to have the version detected automatically.

For a list of hierarchy levels at which you can include these statements, see the statement summary sections for these statements.

Related Topics


Published: 2010-07-02

Help
|
My Account
|
Log Out