The Bidirectional Forwarding Detection (BFD) protocol is a simple hello mechanism that detects failures in a network. BFD works with a wide variety of network environments and topologies. 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. The BFD failure detection timers have shorter time limits than the OSPF failure detection mechanisms, providing faster detection. These timers are also adaptive. For example, the timer can adapt to a higher value if an adjacency fails, or a neighbor can negotiate a higher value than the one configured.
![]() |
Note: BFD is supported for OSPFv3 beginning with JUNOS Release 9.3. |
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 protocol session detection time adapts to a value equal to or greater than the threshold, a single trap and a single system 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 hello 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 ms 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 hello packet 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.
To specify the number of hello packets not received by a 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 255.
To specify only 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 transmit interval.
Beginning with JUNOS Release 9.0, you can configure BFD sessions not to 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 bfd-liveness-detection.