BFD—BGP Multihop Client Support, cBit (IPv4 and IPv6), and Strict Mode

The BFD—BGP Multihop Client Support feature enables Border Gateway Protocol (BGP) to use multihop Bidirectional Forwarding Detection (BFD) support, which improves BGP convergence as BFD detection and failure times are faster than the Interior Gateway Protocol (IGP) convergence times in most network topologies.

The BFD—BGP cBIT feature allows BGP to determine if BFD failure is dependent or independent of the Control Plane. This allows BGP greater flexibility in handling BFD down events.

Restrictions for BFD—BGP Multihop Client Support, cBit (IPv4 and IPv6), and Strict Mode

  • For BGP IPv4 and BGP IPv6 peering sessions only, multihop BFD support is available for BGP for address-family IPv4 and IPv6 unicast.

  • For multihop BGP sessions using IPv6 Link Local addresses, BFD multihop support is not available.

  • Currently BFD Hardware offload is not supported for multihop BFD sessions and so C-bit will not be set for multihop sessions.

  • Multihop BFD for IPv6 Virtual Routing and Forwarding (VRF) is not supported.

  • BGP session attribute for BFD does not change dynamically when BGP session changes from single-hop to multihop, hence you need to clear the existing BGP session to reinitiate multihop BFD session.

Information About BFD - BGP Multihop Client Support, cBit (IPv4 and IPv6), and Strict Mode

BFD—BGP Multihop Client Support, cBit (IPv4 and IPv6), and Strict Mode

BFD is a detection protocol that is designed to provide fast forwarding path failure detection times for all media types, encapsulations, topologies, and routing protocols. In addition to fast forwarding path failure detection, BFD provides a consistent failure detection method for network administrators. Because the network administrator can use BFD to detect forwarding path failures at a uniform rate, rather than the variable rates for different routing protocol hello mechanisms, network profiling and planning is easier, and reconvergence time is consistent and predictable. The main benefit of implementing BFD for BGP is a significantly faster reconvergence time. For internal BGP (iBGP) sessions and external BGP (eBGP) sessions that are either single hop or multihop, BGP can use of the multihop BFD support to help improve the BGP convergence because BFD detection and failure times are faster than the IGP convergence times in most of the network topologies. BGP needs the support of multihop BFD as described in RFC5882, Generic Application of Bidirectional Forwarding Detection (BFD).

BGP by default will purge the routes received from a specific peer when a BFD down event occurs and BFD informs BGP about it. The cBit in BFD determines whether BFD is dependent or independent of the Control Plane. Clients like BGP, whose peers are enabled with fast fall over feature with BFD support, can use this BFD cBit support to provide a more deterministic mechanism to do nonstop forwarding (NSF) when BGP graceful restart is enabled along with BFD fast-fallover support for BGP sessions.

When BGP is using BFD for the fast fallover feature for remote connectivity detection, BFD can detect some of those failures. If BFD is independent of the control plane, a BFD session failure means that data cannot be forwarded anymore (due to link control failures) and so the BGP graceful restart procedures should be terminated to avoid null routes. On the other hand, when BFD is dependent on the control plane, a BFD failure cannot be separated out from the other events taking place in the control plane. When the control plane crashes, a switchover happens and BFD restarts. It is best for the clients (like BGP) to avoid any terminations due to the graceful restart taking place.

The table below describes the handling of BFD down events by BGP.

Table 1. BGP handling of BFD Down Event

BFD Down Event

Failure—Control Plane Independent?

BGP Action for NSF (when GR and BFD are enabled)

BGP control plane failure detection enabled

Yes

Purge Routes

BGP control plane failure detection enabled

No

Carry on NSF and keep stale routes in Routing Information Base (RIB)

BGP control plane failure detection disabled (the default behavior)

Yes

Purge Routes

BGP control plane failure detection disabled (the default behavior)

No

Purge Routes

BGP session establishment works independently from BFD state change, except for fast fall-over detection, that is, inaccessible next-hop and cause best path re-calculation. This means that the BGP session could be established while BFD state is down or dampened, even with neighbor fail-over bfd configured.

From the XE 3.17S release the new optional keyword strict-mode is introduced, which does not allow BGP session to become established, if BFD is in down state. When BFD is dampened or down the routing protocol states or sessions cannot come up.

How to Configure BFD - BGP Multihop Client Support, cBit (IPv4 and IPv6), and Strict Mode

Configuring BFD—BGP Multihop Client Support, cBit (IPv4 and IPv6), and Strict Mode

Before you begin


Note


The multihop BFD minimum detection time should be higher than IGP convergence times in your network to ensure that down events are not mistakenly identified during reconvergences, causing multihop BGP sessions to flap.



Note


For the BFD strict mode to work, configure BFD on both the neighboring devices.


Procedure


Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

router bgp autonomous-system-number

Example:


Device(config)# router bgp 50000

Configures the Border Gateway Protocol (BGP) routing process and enters router configuration mode.

Step 4

neighbor ip-address remote-as autonomous-system-number

Example:


Device(config-router)# neighbor 10.0.0.2 remote-as 100

Adds an entry to the BGP or multiprotocol BGP neighbor table.

Step 5

neighbor ip-address update-source interface-type interface-number

Example:


Device(config-router)# neighbor 10.0.0.2 update-source GigabitEthernet 0/0/0

Allows BGP sessions to use any operational interface for TCP connections.

Step 6

neighbor ip-address remote-as autonomous-system-number

Example:


Device(config-router)# neighbor 10.0.0.2 remote-as 100

Adds an entry to the BGP or multiprotocol BGP neighbor table.

Step 7

neighbor ip-address ebgp-multihop ttl

Example:


Device(config-router)# neighbor 10.0.0.2 ebgp-multihop 4

Accepts and attempts BGP connections to external peers residing on networks that are not directly connected.

Step 8

neighbor ip-address fall-over bfd [multi-hop] [check-control-plane-failure] [ strict-mode]

Example:


Device(config-router)# neighbor 10.0.0.2 fall-over bfd multi-hop check-control-plane-failure strict-mode
  • Enables BGP to monitor the peering session of a specified neighbor for adjacency changes and to deactivate the peering session.

  • Configures BGP BFD with control plane independence that is enabled for BFD cBit support.

Note

 
When check-control-plane-failure is enabled for the neighbor and the trigger for adjacency down is set at BFD-Down notification, then BGP looks into C-Bit to decide whether to carry out Cisco Nonstop Forwarding or Purge the routes. BGP looks into C-Bit in BFD packet and decides only when check-control-plane-failure is enabled.

Step 9

end

Example:


Device(config-router)# end

Exits router configuration mode and returns to privileged EXEC mode.


Configuration Examples for BFD - BGP Multihop Client Support, cBit (IPv4 and IPv6), and Strict Mode

Example: Configuring BFD—BGP Multihop Client Support, cBit (IPv4/IPv6), and Strict Mode



R1 e0/0 ---------------e0/0 R2

Router 1 configuration

hostname R1
!
bfd map ipv4 2.2.2.2/32 1.1.1.1/32 mh1
!
bfd-template multi-hop mh1
interval min-tx 200 min-rx 200 multiplier 3
!
interface Loopback1
ip address 1.1.1.1 255.255.255.255
ip ospf 1 area 0
!
interface Ethernet0/0
ip address 10.0.0.1 255.255.255.0
ip ospf 1 area 0
!
router ospf 1
!
router bgp 1
neighbor 2.2.2.2 remote-as 1
neighbor 2.2.2.2 update-source Loopback1
neighbor 2.2.2.2 fall-over bfd multi-hop check-control-plane-failure strict-mode
!
address-family ipv4
neighbor 2.2.2.2 activate
exit-address-family
!

Router 2 configuration:

hostname R2
!
bfd map ipv4 1.1.1.1/32 2.2.2.2/32 mh1
bfd-template multi-hop mh1
interval min-tx 200 min-rx 200 multiplier 3
!
interface Loopback1
ip address 2.2.2.2 255.255.255.255
ip ospf 1 area 0
!
interface Ethernet0/0
ip address 10.0.0.2 255.255.255.0
ip ospf 1 area 0
!
router ospf 1
!
router bgp 1
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 update-source Loopback1
neighbor 1.1.1.1 fall-over bfd multi-hop check-control-plane-failure strict-mode
!
address-family ipv4
neighbor 1.1.1.1 activate
exit-address-family
!

Verifying BFD—BGP Multihop Client Support, cBit (IPv4 and IPv6), and Strict Mode

The following examples show how to verify if BFD is enabled on the neighbor, peer-group.

R801-ASBR#sh ip bgp neighbor 10.1.0.2
BGP neighbor is 10.1.0.2,  remote AS 65000, external link
 Fall over configured for session
BFD is configured. BFD peer is Up. Using BFD to detect fast fallover (single-hop) in strict-mode.
  BGP version 4, remote router ID 10.10.10.10
  BGP state = Established, up for 00:04:12
  Last read 00:00:49, last write 00:00:24, hold time is 180, keepalive interval is 60 seconds
…

If BFD is up and running, the following is displayed:

Fall over configured for session
BFD is configured. BFD peer is Up. Using BFD to detect fast fallover (single-hop) in strict-mode (will be verified).
…

If BFD is not up and running, the following is displayed:

Fall over configured for session
 BFD is configured. BFD peer is Down. Using BFD to detect fast fallover (single-hop) in strict-mode.

Additional References

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Command List, All Releases

BGP commands

Cisco IOS IP Routing: BGP Command Reference

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for BFD—BGP Multihop Client Support, cBit (IPv4/IPv6), and Strict Mode

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 2. Feature Information for BFD—BGP Multihop Client Support, cBit (IPv4/IPv6), and Strict Mode

Feature Name

Releases

Feature Information

BFD—BGP Multihop Client Support and cBit (IPv4/IPv6)

15.2(4)S

Cisco IOS XE Release 3.6S

Cisco IOS XE Release 3.7S

The BFD—BGP Multihop Client Support feature enables Border Gateway Protocol (BGP) to use multihop Bidirectional Forwarding Detection (BFD) support, which improves BGP convergence as BFD detection and failure times are faster than the Interior Gateway Protocol (IGP) convergence times in most of network topologies.

The BFD—BGP cBIT feature allows BGP to determine if BFD failure is dependent or independent of the Control Plane. This allows BGP greater flexibility in handling BFD down events.

In Cisco IOS XE Release 3.7S, support was added for the Cisco ASR 903 router.

The following commands were modified: neighbor fall-over and show ip bgp neighbors .

BFD—BGP Multihop Client Support, cBit (IPv4/IPv6), and Strict Mode

Cisco IOS XE Release 3.17S

In Cisco IOS XE Release 3.17S, the following command was modified:

neighbor ip-address fall-over bfd [multi-hop|single-hop] [check-control-plane-failure] [ strict-mode] .