Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation

Understanding Distributed BFD

Bidirectional Forwarding Detection (BFD) is a protocol to verify the liveliness of data path.

The terms non-distributed BFD and centralized BFD refer to BFD that runs on the Routing Engine. The term distributed BFD refers to BFD that runs on the Packet Forwarding Engine.

  • Single-hop BFD—Single-hop BFD in Junos OS runs in distributed mode by default. The exceptions are OSPFv3 BFD and PIMv6 BFD, for which only non-distributed BFD is supported. Single-hop BFD control packets use UDP port 3784.
  • Multihop BFD—One desirable application of BFD is to detect connectivity to routing devices that span multiple network hops and follow unpredictable paths. This is known as a multihop session. Prior to Junos OS Release 12.3, multihop BFD is nondistributed and runs on the Routing Engine. Starting in Junos OS Release 12.3, multihop BFD runs in distributed mode by default. Multihop BFD control packets use UDP port 4784.

    Note: In a multichassis link aggregation group setup, Inter-Chassis Control Protocol (ICCP) uses BFD in multihop mode. Multihop BFD runs in centralized mode in this kind of setup prior to Junos OS Release 12.3 and continues to do so as of Junos OS Release 12.3 and later.

For both single-hop BFD and multihop BFD, the BFD session can be made to run on the Routing Engine (in non-distributed mode) by configuring set routing-options ppm no-delegate-processing and then running the clear bfd session command.

The benefits of distributed BFD are mainly in the scaling and performance areas.

The benefits are as follows:

  • Allows for the creation of a larger number of BFD sessions.
  • Runs BFD sessions with a shorter transfer/receive timer interval, which can in turn be used to bring down the overall detection time.
  • Separates the fate of BFD from that of the Routing Engine. This means that a BFD session can stay up during graceful restart, even with an aggressive interval. The minimum interval for Routing Engine-based BFD sessions to survive graceful Routing Engine switchover is 2500 ms, This is improved to sub-second times with distribution.
  • Offloads the processing to the FPC CPU. This frees up the Routing Engine CPU, resulting in improved scaling and performance for Routing Engine-based applications.

To determine if a BFD peer is running distributed BFD, run the show bfd sessions extensive command and look for Remote is control-plane independent in the command output.

For distributed BFD to work you need to configure the lo0 interface with unit 0 and the appropriate family.

# set interfaces lo0 unit 0 family inet # set interfaces lo0 unit 0 family inet6 # set interfaces lo0 unit 0 family mpls

This is true for the following types of BFD sessions:

  • BFD over AE logical interfaces, both IPv4 and IPv6
  • Multihop BFD, both IPv4 and IPv6
  • BFD over vlan interfaces in EX Series switches, both IPv4 and IPv6
  • VCCV BFD (Layer 2 circuit, Layer 3 VPN, and VPLS) (MPLS)

For information about troubleshooting BFD, see Juniper Networks Knowledge Base article 26746, kb.juniper.net/InfoCenter/index?page=content&=KB26746.

Published: 2015-02-11

Published: 2015-02-11