Below topology was used for this post, and all the configuration happened on two Cisco CSR1000v
Bidirectional Forwarding Detection for BGP
I have just one note here. BFD can’t be enabled simultaneously with NSF for BGP. Even for other protocols, extreme care should be taken while implementing BFD with NSF. Depending on the platform, there may be enough of a traffic outage during the switchover to cause BFD to prematurely signal a link failure. When BFD is running on the RP, some platforms are not able to detect a switchover before the BFD protocol times out; these platforms are referred to as slow switchover platforms.
CSR1#sr int g2 interface GigabitEthernet2 ip address 12.12.12.1 255.255.255.252 bfd interval 50 min_rx 50 multiplier 3 CSR1#sh run partition router bgp 1 | i bfd neighbor 12.12.12.2 fall-over bfd
CSR1#sh bfd neighbors IPv4 Sessions NeighAddr LD/RD RH/RS State Int 12.12.12.2 4097/4097 Up Up Gi2 CSR1#sh bfd neighbors details IPv4 Sessions NeighAddr LD/RD RH/RS State Int 12.12.12.2 4097/4097 Up Up Gi2 Session state is UP and using echo function with 50 ms interval. Session Host: Software OurAddr: 12.12.12.1 Handle: 1 Local Diag: 0, Demand mode: 0, Poll bit: 0 MinTxInt: 1000000, MinRxInt: 1000000, Multiplier: 3 Received MinRxInt: 1000000, Received Multiplier: 3 Holddown (hits): 0(0), Hello (hits): 1000(285) Rx Count: 220, Rx Interval (ms) min/max/avg: 3/1000/872 last: 546 ms ago Tx Count: 286, Tx Interval (ms) min/max/avg: 3/1000/873 last: 131 ms ago Elapsed time watermarks: 0 0 (last: 0) Registered protocols: BGP CEF Uptime: 00:03:11 Last packet: Version: 1 - Diagnostic: 0 State bit: Up - Demand bit: 0 Poll bit: 0 - Final bit: 0 C bit: 0 Multiplier: 3 - Length: 24 My Discr.: 4097 - Your Discr.: 4097 Min tx interval: 1000000 - Min rx interval: 1000000 Min Echo interval: 50000 CSR1#show ip bgp neighbors | include BFD|neighbor is BGP neighbor is 12.12.12.2, remote AS 2, external link BFD is configured. BFD peer is Up. Using BFD to detect fast fallover (single-hop)