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 router 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 with IPv6 is not supported. For IPv6, BFD supports only IPv6 static routes and OSPFv3. |
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 router 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.
Beginning with JUNOS Release 9.0, 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.