BGP Support for BFD

Bidirectional Forwarding Detection (BFD) is a detection protocol 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 will be easier, and reconvergence time will be consistent and predictable. The main benefit of implementing BFD for BGP is a significantly faster reconvergence time.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

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.

Information About BGP Support for BFD

BFD for BGP

Bidirectional Forwarding Detection (BFD) is a detection protocol 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 will be easier, and reconvergence time will be consistent and predictable. The main benefit of implementing BFD for BGP is a marked decrease in reconvergence time.


Caution


BFD and BGP Graceful Restart capability cannot both be configured on a router running BGP. If an interface goes down, BFD detects the failure and indicates that the interface cannot be used for traffic forwarding and the BGP session goes down, but graceful restart still allows traffic forwarding on platforms that support NSF even though the BGP session is down, allowing traffic forwarding using the interface that is down. Configuring both BFD and BGP graceful restart for NSF on a router running BGP may result in suboptimal routing.


See also the “Configuring BGP Neighbor Session Options” chapter, the section “Configuring BFD for BGP IPv6 Neighbors.”

For more details about BFD, see the Cisco IOS IP Routing: BFD Configuration Guide.

How to Decrease BGP Convergence Time Using BFD

Prerequisites

  • Cisco Express Forwarding (CEF) and IP routing must be enabled on all participating routers.

  • BGP must be configured on the routers before BFD is deployed. You should implement fast convergence for the routing protocol that you are using. See the IP routing documentation for your version of Cisco IOS software for information on configuring fast convergence.

Restrictions

  • For the Cisco implementation of BFD Support for BGP in Cisco IOS Release15.1(1)SG, only asynchronous mode is supported. In asynchronous mode, either BFD peer can initiate a BFD session.

  • IPv6 encapsulation is supported.

  • BFD works only for directly-connected neighbors. BFD neighbors must be no more than one IP hop away. Multihop configurations are not supported.

  • Configuring both BFD and BGP Graceful Restart for NSF on a router running BGP may result in suboptimal routing.

Decreasing BGP Convergence Time Using BFD

You start a BFD process by configuring BFD on the interface. When the BFD process is started, no entries are created in the adjacency database, in other words, no BFD control packets are sent or received. The adjacency creation takes places once you have configured BFD support for the applicable routing protocols. The first two tasks must be configured to implement BFD support for BGP to reduce the BGP convergence time. The third task is an optional task to help monitor or troubleshoot BFD.

See also the “Configuring BFD for BGP IPv6 Neighbors” section in the “Configuring BGP Neighbor Session Options” module.

Configuring BFD Session Parameters on the Interface

The steps in this procedure show how to configure BFD on the interface by setting the baseline BFD session parameters on an interface. Repeat the steps in this procedure for each interface over which you want to run BFD sessions to BFD neighbors.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    interface type number

    4.    bfd interval milliseconds min_rx milliseconds multiplier interval-multiplier

    5.    end


DETAILED STEPS
 Command or ActionPurpose
Step 1 enable


Example:
Router> enable
 

Enables privileged EXEC mode.

  • Enter your password if prompted.

 
Step 2 configure terminal


Example:
Router# configure terminal
 

Enters global configuration mode.

 
Step 3 interface type number


Example:
Router(config)# interface FastEthernet 6/0
 

Enters interface configuration mode.

 
Step 4 bfd interval milliseconds min_rx milliseconds multiplier interval-multiplier


Example:
Router(config-if)# bfd interval 50 min_rx 50 multiplier 5
 

Enables BFD on the interface.

 
Step 5 end


Example:
Router(config-if)# end
 

Exits interface configuration mode.

 

Configuring BFD Support for BGP

Perform this task to configure BFD support for BGP, so that BGP is a registered protocol with BFD and will receive forwarding path detection failure messages from BFD.

Before You Begin
  • BGP must be running on all participating routers.

  • The baseline parameters for BFD sessions on the interfaces over which you want to run BFD sessions to BFD neighbors must be configured. See "Configuring BFD Session Parameters on the Interface" for more information.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    router bgp autonomous-system-number

    4.    neighbor ip-address fall-over bfd

    5.    end

    6.    show bfd neighbors [details]

    7.    show ip bgp neighbors [ip-address [received-routes | routes | advertised-routes | paths [regexp] | dampened-routes | flap-statistics | received prefix-filter | policy [detail]]]


DETAILED STEPS
 Command or ActionPurpose
Step 1 enable


Example:
Router> enable
 

Enables privileged EXEC mode.

  • Enter your password if prompted.

 
Step 2 configure terminal


Example:
Router# configure terminal
 

Enters global configuration mode.

 
Step 3 router bgp autonomous-system-number


Example:
Router(config)# router bgp tag1
 

Specifies a BGP process and enters router configuration mode.

 
Step 4 neighbor ip-address fall-over bfd


Example:
Router(config-router)# neighbor 172.16.10.2 fall-over bfd
 

Enables BFD support for fallover.

 
Step 5 end


Example:
Router(config-router)# end
 

Returns the router to privileged EXEC mode.

 
Step 6 show bfd neighbors [details]


Example:
Router# show bfd neighbors detail
 

Verifies that the BFD neighbor is active and displays the routing protocols that BFD has registered.

 
Step 7 show ip bgp neighbors [ip-address [received-routes | routes | advertised-routes | paths [regexp] | dampened-routes | flap-statistics | received prefix-filter | policy [detail]]]


Example:
Router# show ip bgp neighbors
 

Displays information about BGP and TCP connections to neighbors.

 

Configuring BFD Support for BGP over IPv6

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    router bgp as-number

    4.    no bgp default ipv4-unicast

    5.    bgp router-id ip-address

    6.    address-family ipv6

    7.    neighbor ipv6-address remote-as as-number

    8.    exit


DETAILED STEPS
 Command or ActionPurpose
Step 1enable


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 as-number


Example:
Device(config)# router bgp 65000
 

Configures a BGP routing process, and enters router configuration mode for the specified routing process.

 
Step 4 no bgp default ipv4-unicast


Example:
Device(config-router)# no bgp default ipv4-unicast
 

Disables the IPv4 unicast address family for the BGP routing process specified in the previous step.

Note    Routing information for the IPv4 unicast address family is advertised by default for each BGP routing session configured with the neighbor remote-as command unless you configure the no bgp default ipv4-unicast command before configuring the neighbor remote-as command.
 
Step 5 bgp router-id ip-address


Example:
Device(config-router)# bgp router-id 192.168.99.70
 

Configures a BGP routing process, and enters router configuration mode for the specified routing process.

 
Step 6 address-family ipv6


Example:
Device(config-router)# address-family ipv6
 

Specifies the IPv6 address family and enters address family configuration mode.

  • The unicast keyword specifies the IPv6 unicast address family. By default, the device is placed in configuration mode for the IPv6 unicast address family if a keyword is not specified with the address-family ipv6 command.
 
Step 7 neighbor ipv6-address remote-as as-number


Example:
Device(config-router)# neighbor 2001:DB8:0:CC00::1 remote-as 64600
 

Enables the neighbor to exchange prefixes for the IPv6 address family with the local device.

 
Step 8 exit


Example:
Device(config-router)# exit
 

Exits router configuration mode, and returns the device to global configuration mode.

 

Monitoring and Troubleshooting BFD

To monitor or troubleshoot BFD, perform one or more of the steps in this section.

SUMMARY STEPS

    1.    enable

    2.    show bfd neighbors [details]

    3.    debug bfd [event | packet | ipc-error | ipc-event | oir-error | oir-event]


DETAILED STEPS
 Command or ActionPurpose
Step 1 enable


Example:
Router> enable
 

Enables privileged EXEC mode.

  • Enter your password if prompted.

 
Step 2 show bfd neighbors [details]


Example:
Router# show bfd neighbors details
 

(Optional) Displays the BFD adjacency database.

  • The details keyword shows all BFD protocol parameters and timers per neighbor.

 
Step 3 debug bfd [event | packet | ipc-error | ipc-event | oir-error | oir-event]


Example:
Router# debug bfd packet
 

(Optional) Displays debugging information about BFD packets.

 

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

BFD commands

Cisco IOS IP Routing: Protocol Independent Command Reference

Configuring BFD support for another routing protocol

IP Routing: BFD Configuration Guide

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 BGP Support for BFD

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 1 Feature Information for BGP Support for BFD

Feature Name

Releases

Feature Information

BGP Support for BFD

Bidirectional Forwarding Detection (BFD) is a detection protocol 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 will be easier, and reconvergence time will be consistent and predictable. The main benefit of implementing BFD for BGP is a significantly faster reconvergence time.

The following commands were introduced or modified by this feature: bfd, neighbor fall-over, show bfd neighbors, and show ip bgp neighbors.