BFD Overview
Bidirectional Forwarding Detection (BFD) provides low-overhead, short-duration detection of failures in the path between adjacent routers. BFD allows a single mechanism to be used for failure detection over any media and at any protocol layer, with a wide range of detection times and overhead. The fast detection of failures provides immediate reaction to failure in the event of a failed link or neighbor.
![]() Tip |
You can programmatically configure BFD and retrieve operational data using |
Features Unsupported
-
BFD echo mode and encryption are not supported.
-
BFD over MPLS tunnel interfaces is not supported.
-
Dampening extensions for BFD are not supported.
-
BFD down dampening is not supported.
-
BFD IPv6 Dampening is not supported.
-
SNMP traps are not supported for multipath BFD sessions.
-
BFD Over GRE is not supported.
-
BFD over PWHE is not supported.
-
Seamless BFD is not supported.
-
BFD over Satellite interface is not supported.
-
BFD Authentication is not supported.
Supported Functionalities
-
BFD hardware offload is supported for both IPv4 and IPv6.
-
Starting from IOS XR Release 6.3.2, BFD dampening for IPv4 is supported.
-
BFD is only supported in IP core. It cannot coexist with Label distribution Protocol, or Segment Routing, or Traffic Engineering in the core. This is applicable for releases prior to IOS XR Release 7.1.1.
-
BFD over Bundle (BoB) over IPv6 is not supported with dyamically configured link-local address. It must be statically configured.
-
Dampening extensions for BFD are not supported.
-
Egress IPv4 ACLs block all traffic, including router-generated traffic for the following routers and line cards:
-
NC57-24DD
-
NC57-18DD-SE
-
NC57-36H-SE
-
NC57-36H6D-S
-
NC57-MOD-S
-
NCS-57B1-6D24-SYS
-
NCS-57B1-5DSE-SYS
For all other routers and line cards, egress IPv4 ACLs do not block certain router-generated traffic, such as ICMP messages.
-
Feature Limitations
-
Egress ACL with drop rule for src-ip equal to 0.0.0.0 will drop BFD-V4 Tx packets on that interface. This is because, BFD-V4 packets generated by OAMP will have src.ip 0.0.0.0 due to its limitation. And the actual source IP value is filled in ETPP block in pipeline before sending the packet. Since egress ACL is applied before ETPP, the BFD packets are dropped.
-
BFD over bundle feature is supported only in IETF mode.
BFD Timers
The BFD timers are applicable on the following NCS 540 variants:
Medium Density XR NCS 540 - N540-24Z8Q2C-SYS, N540-28Z4C-SYS, N540X-ACC-SYS, N540-ACC-SYS
Medium Density XR NCS 540 - N540-28Z4C-SYS-A, N540-28Z4C-SYS-D, N540X-16Z4G8Q2C-A, N540X-16Z4G8Q2C-D, N540X-16Z8Q2C-D, N540-12Z20G-SYS-A,N540-12Z20G-SYS-D, N540X-12Z16G-SYS-A, N540X-12Z16G-SYS-D
Small Density XR NCS 540 - N540X-6Z18G-SYS-A, N540X-6Z18G-SYS-D, N540X-8Z16G-SYS-A, N540X-8Z16G-SYS-D
![]() Note |
If the timer is configured below the minimum timer supported, some undesirable behavior can be seen in BFD. customers some time will configure 3 msec as timer and will miss the minimum timer of 4 msec. |
![]() Note |
The router uses six unique timer profiles. Four timers profiles are available when you configure BFD over Bundle (BoB). Up to five timers profiles are available when you configure BoB. |
Type of BFD Session |
Minimum Timer Supported |
Minimum Multipliers Value |
Supported Minimum-Interval Value (Up to 6 Unique Timers Profiles) |
---|---|---|---|
Single Hop |
4ms |
3 |
Any |
BFD over Bundle Members (BoB) |
4ms |
3 |
Any |
BFD over Logical bundle (BLB) |
100ms (starting Release 24.3.1) 300ms (prior to Release 24.3.1) |
3 |
Any |
BGP Multi Hop |
50ms |
3 |
Any |
BFD Over BVI |
50ms |
3 |
Any |
Type of BFD Session |
Minimum Timer Supported |
Minimum Multipliers Value |
Supported Timer Profile (Up to 6 unique timer profiles) |
Maximum Scale depending on Minimum Interval |
---|---|---|---|---|
Single Hop |
4ms |
3 |
Any |
150 (with 8ms and above, all 256 sessions are configurable) |
BFD over Bundle Members (BoB) |
4ms |
3 |
Any |
150ms (with 8ms and above, all 256 sessions are configurable) |
BFD over Logical bundle (BLB) |
100ms (starting Release 24.3.1) 300ms (prior to Release 24.3.1) |
3 |
Any |
256 |
BGP Multi Hop |
50ms |
3 |
Any |
256 |
BFD Over BVI |
50ms |
3 |
Any |
250 or Max MP scale- whichever is lower |
Enable and Disable IPv6 Checksum Calculations for BFD on a Router
Perform the following steps to configure IPv6 checksum calculations for BFD on a Router.
RP/0/RP0/CPU0:router(config)# bfd
RP/0/RP0/CPU0:router(config-bfd-if)# ipv6 checksum disable
RP/0/RP0/CPU0:router(config-bfd-if)# commit
Configure BFD Under a Dynamic Routing Protocol or Use a Static Route
To establish a BFD neighbor, complete at least one of the following procedures to configure BFD under a dynamic routing protocol or to use a static route:
Enable BFD for OSPF on an Interface
Perform the following steps to configure BFD for Open Shortest Path First (OSPF) on an interface. The steps in the procedure are common to the steps for configuring BFD on IS-IS; only the command mode differs.
![]() Note |
BFD per interface configuration is supported for OSPF and IS-IS only. |
Router# configure
/* Enter OSPF configuration mode to configure the OSPF routing process. */
Router(config)# router ospf 0
/* Set the BFD minimum interval. The range is from 15 to 30000 milliseconds. */
Router(config-ospf)# bfd minimum-interval 6500
/* Set the BFD multiplier. */
Router(config-ospf)# bfd multiplier 7
/* Configure an Open Shortest Path First (OSPF) area. */
Router(config-ospf)# area 0
/* Enter interface configuration mode. */
Router(config-ospf-ar)# interface gigabitEthernet 0/3/0/1
/* Enable BFD to detect failures in the path between adjacent forwarding engines. */
Router(config-ospf-ar-if)# bfd fast-detect
Running Configuration
configure
router ospf 0
bfd minimum-interval 6500
bfd multiplier 7
area 0
interface gigabitEthernet 0/3/0/1
bfd fast-detect
Verification
Router(config-ospf-ar-if)# show run router ospf
router ospf 0
bfd minimum-interval 6500
bfd multiplier 7
area 0
interface gigabitEthernet 0/3/0/1
bfd fast-detect
/* Verify the details of the IPv4 BFD session in the source router. */
Router# show bfd session
Interface Dest Addr Local det time(int*mult) State Echo Async H/W NPU
--------- --------- -------- ------------- ----- ---- ----- --- ---
Te0/0/0/0 10.23.1.2 0s(0s*0) 300ms(100ms*3) UP Yes 0/RP0/CPU0
BE3739 10.23.1.2 n/a n/a UP No n/a
Enable BFD over BGP
Perform the following steps to configure BFD over BGP. The following example shows how to configure BFD between autonomous system 65000 and neighbor 192.168.70.2:
Router# configure
Router(config)# router bgp 65000
Router(config-bgp)# bfd multiplier 2
Router(config-bgp)# bfd minimum-interval 20
Router(config-bgp)# neighbor 192.168.70.24
Router(config-bgp-nbr)# remote-as 2
Router(config-bgp-nbr)# bfd fast-detect
Router(config-bgp-nbr)# commit
Router(config-bgp-nbr)# end
Running Configuration
router bgp 65000
bfd multiplier 2
bfd minimum-interval 20
neighbor 192.168.70.24
remote-as 2
bfd fast-detect
commit
end
Verification
Verify that BFD has been enabled over BGP.
Router# show run router bgp
router bgp 65000
bfd multiplier 2
bfd minimum-interval 20
neighbor 192.168.70.24
remote-as 2
bfd fast-detect
Enable BFD on an IPv4 Static Route
The following procedure shows how to enable BFD on an IPv4 static route.
RP/0/RSP0/CPU0:router# configure
/*Enter static route configuration mode to configure static routing. */
RP/0/RSP0/CPU0:router(config)# router static
/* Enable BFD fast-detection on the specified IPV4 unicast destination address prefix and on the forwarding next-hop address.*/
RP/0/RSP0/CPU0:router(config-static)# address-family ipv4 unicast 10.2.2.0/24 10.6.0.1 bfd fast-detect minimum-interval 1000 multiplier 5
RP/0/RSP0/CPU0:router(config-static)# commit
Running Configuration
configure
router static
address-family ipv4 unicast 10.2.2.0/24 10.6.0.1 bfd fast-detect minimum-interval 1000 multiplier 5
commit
Verification
Verify that BFD is enabled on the appropriate interface.
RP/0/RSP0/CPU0:router# show run router static address-family ipv4 unicast
router static
address-family ipv4 unicast
10.2.2.0/24 10.6.0.1 bfd fast-detect minimum-interval 1000 multiplier 5
commit
!
!
Enable BFD on an IPv6 Static Route
The following procedure describes how to enable BFD on a IPv6 static route.
RP/0/RP0/CPU0:router# configure
/* Enter static route configuration mode to configure static routing. */
RP/0/RP0/CPU0:router(config)# router static
/* Enable BFD fast-detection on the specified IPv6 unicast destination address prefix and on the forwarding next-hop address. */
/* BFD sessions are established with the next hop 2001:0DB8:D987:398:AE3:B39:333:783 when it becomes reachable. */
RP/0/RP0/CPU0:router(config-static)# address-family ipv6 unicast 2001:0DB8:C18:2:1::F/64 2001:0DB8:D987:398:AE3:B39:333:783 bfd fast-detect minimum-interval 150 multiplier 4
RP/0/RP0/CPU0:router(config-static-vrf)# commit
Running Configuration
configure
router static
address-family ipv6 unicast 2001:0DB8:C18:2:1::F/64 2001:0DB8:D987:398:AE3:B39:333:783 bfd fast-detect minimum-interval 150 multiplier 4
commit
Verification
RP/0/RP0/CPU0:router# show run router static address-family ipv6 unicast
configure
router static
address-family ipv6 unicast 2001:0DB8:C18:2:1::F/64 2001:0DB8:D987:398:AE3:B39:333:783 bfd fast-detect minimum-interval 150 multiplier 4
commit
Clear and Display BFD Counters
The following procedure describes how to display and clear BFD packet counters. You can clear packet counters for BFD sessions that are hosted on a specific node or on a specific interface.
RP/0/RP0/CPU0:router# show bfd counters all packet location 0/3/cpu0
RP/0/RP0/CPU0:router# clear bfd counters all packet location 0/3/cpu0
RP/0/RP0/CPU0:router# show bfd counters all packet location 0/3/cpu0