Configuring Bidirectional Forwarding Detection

This chapter describes how to configure Bidirectional Forwarding Detection (BFD).

This chapter includes the following sections:

Information About BFD

BFD is a detection protocol designed to provide fast forwarding-path failure detection times for media types, encapsulations, topologies, and routing protocols. You can use BFD to detect forwarding path failures at a uniform rate, rather than the variable rates for different protocol hello mechanisms. BFD makes network profiling and planning easier and reconvergence time consistent and predictable.

BFD provides subsecond failure detection between two adjacent devices.

Asynchronous Mode

Cisco NX-OS supports the BFD asynchronous mode, which sends BFD control packets between two adjacent devices to activate and maintain BFD neighbor sessions between the devices. You configure BFD on both devices (or BFD neighbors). Once BFD has been enabled on the appropriate protocols, Cisco NX-OS creates a BFD session, negotiates BFD session parameters, and begins to send BFD control packets to each BFD neighbor at the negotiated interval. The BFD session parameters include the following:

  • Desired minimum transmit interval—The interval at which this device wants to send BFD hello messages.

  • Required minimum receive interval—The minimum interval at which this device can accept BFD hello messages from another BFD device.

  • Detect multiplier—The number of missing BFD hello messages from another BFD device before this local device detects a fault in the forwarding path.

BFD Detection of Failures

Once a BFD session has been established and timer negotiations are complete, BFD neighbors send BFD control packets that act in the same manner as an IGP hello protocol to detect liveliness, except at a more accelerated rate. BFD detects a failure, but the protocol must take action to bypass a failed peer.

BFD sends a failure detection notice to the BFD-enabled protocols when it detects a failure in the forwarding path. The local device can then initiate the protocol recalculation process and reduce the overall network convergence time.

When a failure occurs in the network, the following occurs:

  1. 1. The BFD neighbor session with the BFD neighbor router is torn down.

  2. 2. BFD notifies the local BFD process that the BFD neighbor is no longer reachable.

  3. 3. The local BFD process tears down the BFD neighbor relationship.

  4. 4. If an alternative path is available, the routers immediately start converging on it.


Note


The BFD failure detection occurs in less than a second.


BFD Echo Function

The BFD echo function sends echo packets from the forwarding engine to the remote BFD neighbor. The BFD neighbor forwards the echo packet back along the same path in order to perform detection; the BFD neighbor does not participate in the actual forwarding of the echo packets. The echo function and the forwarding engine are responsible for the detection process. BFD can use the slow timer to slow down the asynchronous session when the echo function is enabled and reduce the number of BFD control packets that are sent between two BFD neighbors. Also, the forwarding engine tests the forwarding path on the remote (neighbor) system without involving the remote system, so there is less interpacket delay variability and faster failure detection times.

The echo function is asymmetrical when both BFD neighbors are running echo function.

Security

Cisco NX-OS uses the packet Time to Live (TTL) value to verify that the BFD packets came from an adjacent BFD peer. For all asynchronous and echo request packets, the BFD neighbor sets the TTL value to 255 and the local BFD process verifies the TTL value as 255 before processing the incoming packet. For the echo response packet, BFD sets the TTL value to 254.

Virtualization Support

BFD supports virtual routing and forwarding instances (VRFs).

Prerequisites for BFD

BFD has the following prerequisites:

  • You must enable the BFD feature (see the Enabling the BFD Feature section).

  • For any client protocols that you want to enable BFD on, you enable BFD in that client protocol. See the Configuring BFD for IPv6 section.

  • Disable Internet Control Message Protocol (ICMP) redirect messages on a BFD-enabled interfaces.

  • See other detailed prerequisites that are listed with the configuration tasks.

  • BFD is supported for BGP and PIM.

Guidelines and Limitations

BFD has the following configuration guidelines and limitations:

  • BFD supports BFD version 1.

  • BFD supports IPv4, IPv6, OSPFv2, BGPv4 and static routes.

  • BFD supports single-hop BFD.

  • BFD for BGP supports single-hop eBGP and iBGP with an update source.

  • BFD supports the following Layer 3 interfaces—physical interfaces, port channels, subinterfaces, and VLAN interfaces (SVI).

  • BFD supports authentication for all interfaces.

  • BFD depends on a Layer 3 adjacency information to discover topology changes, including Layer 2 topology changes. A BFD session on a VLAN interface (SVI) may not be up after the convergence of the Layer 2 topology if there is no Layer 3 adjacency information available.

  • Port channel configuration limitations:

– For Layer 3 port channels used by BFD, you must enable the Link Aggregation Control Protocol (LACP) on the port channel.

– For Layer 2 port channels used by SVI sessions, you must enable LACP on the port channel.

  • SVI limitations:

– When you change the topology (for example, add or delete a link into a VLAN, delete a member from a Layer 2 port channel, and so on), the SVI session could be affected. It may go down first and then come up after the topology discovery is finished.


Tip


If you do not want the SVI sessions to flap and you need to change the topology, you can disable the BFD feature before making the changes and reenable BFD after the changes have been made. You can also configure the BFD timer to be a large value (for example, 5 seconds), and change it back to a fast timer after the above events complete.


  • Cisco NX-OS does not distribute the BFD operation to compatible modules to offload the CPU for BFD packet processing.

  • BFD does not support stateless restarts and in-service software upgrades (ISSUs).

  • We recommend that you configure LACP on the port channel if you want to enable BFD for a peer reachable through a port channel.

  • BFD echo mode and Unicast Reverse Path Forwarding (URPF) are mutually exclusive and cannot both be enabled on a BFD interface. If you want to configure an interface for BFD, you must disable either BFD echo mode or URPF.

  • Static IPv6 routes are supported with BFD.

  • BFD does not support IPv6 echo mode. BFD uses IPv6 link local addresses only.

Default Settings

Table below lists the default settings for BFD parameters.

Table 1. Default BFD Parameters

Parameters

Default

BFD feature

Disabled

Required minimum receive interval

250 milliseconds

Desired minimum transmit interval

250 milliseconds

Echo Rx interval for the BFD session

50 milliseconds

Detect multiplier

3

Echo function

Enabled

Mode

Asynchronous

Port channel

Logical mode (one session per source-destination pair address)

Slow timer

2000 milliseconds

Startup timer

5 seconds

BFD Multihop

BFD multihop for IPv4 and BFD multihop for IPv6 are supported on Cisco Nexus 36180YC-R and 3636C-R switches in compliance with RFC 5883. You can configure IPv4 or IPv6 BFD sessions over multihop routes. BFD multihop sessions are set up between a unique source and destination address pair. A multihop BFD session is associated with the link between a source-destination, rather than an interface as in single-hop BFD sessions.

BFD Multihop Number of hops

BFD multihop will set the TTL field to the maximum limit and it does not check the value on reception. The BFD code has no impact on the number of hops a BFD multihop packet can traverse. However, in most of the systems it limits the number of hops to 255.

Guidelines and Limitations for BFD Multihop

BFD multihop has the following configuration guidelines and limitations:

  • BFD multihop is supported only on Cisco Nexus 36180YC-R and 3636C-R switches.

  • BFD multihop is identified with UDP Destination port 4784.

  • Echo mode is not supported for BFD multihop.

  • The minimum supported timers and number of sessions may vary. The default timer is 250 ms.

  • Multihop with segment routing underlay is not supported.

  • The existing BFD authentication support is extended for multihop sessions also.

  • BFD multihop supports IPv4 or IPv6 addresses.

  • On unsupported platforms, BFD commands are accepted when configuring BGPv6 multihop neighbors. However, the sessions will not be created or installed.

  • The maximum number of BFD multihop sessions supported is platform dependent.

  • On Cisco Nexus 36180YC-R and 3636C-R switches, you must manually carve out TCAM space to enable BFD multihop sessions. After manually carving TCAM space, you must reload the switch.

Configuring BFD

This section includes the following topics:

Configuration Hierarchy

You can configure BFD at the global level, VRF level, at the interface or port channel level, or at the subinterface level (for physical interfaces and port channels). The VRF configuration overrides global configuration. The interface or port channel configuration overrides VRF or global configuration. On supported interfaces, the subinterface-level configuration overrides the interface or port channel configuration unless subinterface optimization is enabled. See the Optimizing BFD on Subinterfaces section for more information.

For physical ports that are members of a port channel, the member port inherits the primary port channel BFD configuration. The member port subinterfaces can override the primary port channel BFD configuration, unless subinterface optimization is enabled.

Enabling the BFD Feature

You must enable the BFD feature before you can configure BFD on an interface and protocol.

SUMMARY STEPS

  1. configure terminal
  2. feature bfd
  3. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

feature bfd

Example:

switch(config)# feature bfd

Enables the BFD feature.

Step 3

(Optional) copy running-config startup-config

Example:

switch(config)# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring Global BFD Parameters

You can configure the BFD session parameters for all BFD sessions on the device. The BFD session parameters are negotiated between the BFD peers in a three-way handshake.

See the Configuring BFD on an Interface section to override these global session parameters on an interface.

Before you begin

Enable the BFD feature. See the Enabling the BFD Feature section.

SUMMARY STEPS

  1. configure terminal
  2. bfd interval mintx min_rx msec multiplier value
  3. bfd slow-timer [ interval ]
  4. exit
  5. (Optional) show running-config bfd
  6. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

bfd interval mintx min_rx msec multiplier value

Example:

switch(config)# bfd interval 250 min_rx 250 multiplier 3

Configures the BFD session parameters for all BFD sessions on the device. You can override these values by configuring the BFD session parameters on an interface. The mintx and msec range is from 250 to 999 milliseconds and the default is 250. The multiplier range is from 3 to 50. The multiplier default is 3.

To return to the default settings, use the no bfd interval command.

Step 3

bfd slow-timer [ interval ]

Example:

switch(config)# bfd slow-timer 2000

Configures the slow timer. This value determines how fast BFD starts up a new session and is used to slow down the asynchrounous sessions when the BFD echo function is enabled. The range is from 1000 to 30000 milliseconds. The default is 2000.

To return to the default settings, use the no bfd slow-timer command.

Step 4

exit

Example:

switch(config)# exit
switch#

Returns to EXEC mode.

Step 5

(Optional) show running-config bfd

Example:

switch# show running-config bfd
(Optional)

Displays the BFD running configuration.

Step 6

(Optional) copy running-config startup-config

Example:

switch# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring BFD on an Interface

Enable the BFD feature. See the Enabling the BFD Feature section.

Before you begin

You can configure the BFD session parameters for all BFD sessions on an interface. The BFD session parameters are negotiated between the BFD peers in a three-way handshake.

This configuration overrides the global session parameters for the configured interface.

SUMMARY STEPS

  1. configure terminal
  2. interface int-if
  3. no ip redirect
  4. bfd interval mintx min_rx msec multiplier value
  5. exit
  6. exit
  7. (Optional) show running-config bfd
  8. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface int-if

Example:

switch(config)# interface ethernet 2/1
switch(config-if)#

Enters interface configuration mode. Use the ? keyword to display the supported interfaces.

Step 3

no ip redirect

Example:

switch(config-if)# no ip redirect

Disables Internet Control Message Protocol (ICMP) redirect messages.

Step 4

bfd interval mintx min_rx msec multiplier value

Example:

switch(config-if)# bfd interval 250 min_rx 250 multiplier 3

Configures the BFD session parameters for all BFD sessions on the interface. This command overrides the global BFD session parameters. The mintx and msec range is from 250 to 999 milliseconds and the default is 250. The multiplier range is from 3 to 50. The multiplier default is 3.

To return to the default settings, use the no bfd interval command.

Step 5

exit

Example:

switch(config-if)# exit
switch (config)#

Exits interface configuration mode.

Step 6

exit

Example:

switch (config)# exit
switch#

Exits configuration mode and returns to EXEC mode.

Step 7

(Optional) show running-config bfd

Example:

switch# show running-config bfd
(Optional)

Displays the BFD running configuration.

Step 8

(Optional) copy running-config startup-config

Example:

switch# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring BFD on a Port Channel

You can configure the BFD session parameters for all BFD sessions on a port channel. For example, if the BFD session for one link on a port channel is up, BFD informs client protocols, such as BGP, that the port channel is up. The BFD session parameters are negotiated between the BFD peers in a three-way handshake.

This configuration overrides the global session parameters for the configured port channel. The member ports of the port channel inherit the port channel BFD session parameters, unless you configure subinterface-level BFD parameters on a member port. In that case, the member port subinterface uses the subinterface BFD configuration if subinterface optimization is not enabled. See the Optimizing BFD on Subinterfaces section for more information.

Before you begin

Ensure that you enable LACP on the port channel before you enable BFD.

Enable the BFD feature. See the Enabling the BFD Feature section.

SUMMARY STEPS

  1. configure terminal
  2. interface port-channel number
  3. (Optional) bfd interval mintx min_rx msec multiplier value
  4. exit
  5. exit
  6. (Optional) show running-config bfd
  7. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface port-channel number

Example:

switch(config)# interface port-channel 2
switch(config-if)#

Enters port channel configuration mode. Use the ? keyword to display the supported number range.

Step 3

(Optional) bfd interval mintx min_rx msec multiplier value

Example:

switch(config-if)# bfd interval 250 min_rx 250 multiplier 3
(Optional)

Configures the BFD session parameters for all BFD sessions on the interface. This command overrides the global BFD session parameters. The mintx and msec range is from 250 to 999 milliseconds and the default is 250. The multiplier range is from 3 to 50. The multiplier default is 3.

To return to the default settings, use the no bfd interval command.

Step 4

exit

Example:

switch(config-if)# exit
switch (config)#

Exits interface configuration mode.

Step 5

exit

Example:

switch (config)# exit
switch#

Exits configuration mode and returns to EXEC mode.

Step 6

(Optional) show running-config bfd

Example:

switch# show running-config bfd
(Optional)

Displays the BFD running configuration.

Step 7

(Optional) copy running-config startup-config

Example:

switch# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring the BFD Echo Function

You can configure the BFD echo function on one or both ends of a BFD-monitored link. The echo function slows down the required minimum receive interval, based on the configured slow timer. The RequiredMinEchoRx BFD session parameter is set to zero if the echo function is disabled. The slow timer becomes the required minimum receive interval if the echo function is enabled.

Before you begin

Enable the BFD feature. See the Enabling the BFD Feature section.

Configure the BFD session parameters. See the Configuring Global BFD Parameters section or the Configuring BFD on an Interface section.

Ensure that Internet Control Message Protocol (ICMP) redirect messages are disabled on BFD-enabled interfaces. Use the no ip redirects command on the interface.

SUMMARY STEPS

  1. configure terminal
  2. bfd slow-timer echo-interval
  3. interface int-if
  4. bfd echo
  5. exit
  6. exit
  7. (Optional) show running-config bfd
  8. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

bfd slow-timer echo-interval

Example:

switch(config)# bfd slow-timer 2000

Configures the slow timer used in the echo function. This value determines how fast BFD starts up a new session and is used to slow down the asynchrounous sessions when the BFD echo function is enabled. This value overwrites the required minimum receive interval when the echo function is enabled. The range is from 1000 to 30000 milliseconds. The default is 2000.

To return to the default settings, use the no bfd slow-timer command.

Step 3

interface int-if

Example:

switch(config)# interface ethernet 2/1
switch(config-if)#

Enters interface configuration mode. Use the ? keyword to display the supported interfaces.

Step 4

bfd echo

Example:

switch(config-if)# bfd echo

Enables the echo function. The default is enabled.

To disable the echo function, use the no bfd echo command.

Step 5

exit

Example:

switch(config-if)# exit
switch (config)#

Exits interface configuration mode.

Step 6

exit

Example:

switch (config)# exit
switch#

Exits configuration mode and returns to EXEC mode.

Step 7

(Optional) show running-config bfd

Example:

switch# show running-config bfd
(Optional)

Displays the BFD running configuration.

Step 8

(Optional) copy running-config startup-config

Example:

switch# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring BFD on BGP

You can configure BFD for the Border Gateway Protocol (BGP).

Before you begin

Enable the BFD feature. See the Enabling the BFD Feature section.

Configure the BFD session parameters. See the Configuring Global BFD Parameters section or the Configuring BFD on an Interface section.

SUMMARY STEPS

  1. configure terminal
  2. router bgp as-number
  3. neighbor { ip-address } remote-as as-number
  4. bfd
  5. (Optional) show running-config bfd
  6. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router bgp as-number

Example:

switch(config)# router bgp 64496
switch(config-router)#

Enables BGP and assigns the AS number to the local BGP speaker. The AS number can be a 16-bit integer or a 32-bit integer in the form of a higher 16-bit decimal number and a lower 16-bit decimal number in xx.xx format.

Step 3

neighbor { ip-address } remote-as as-number

Example:

switch(config-router)# neighbor 209.165.201.1 remote-as 64497
switch(config-router-neighbor)#

Configures the IPv4 and AS number for a remote BGP peer. The ip-address format is x.x.x.x.

Step 4

bfd

Example:

switch(config-router-neighbor)# bfd

Enables BFD for this BGP peer.

Step 5

(Optional) show running-config bfd

Example:

switch# show running-config bfd
(Optional)

Displays the BFD running configuration.

Step 6

(Optional) copy running-config startup-config

Example:

switch# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring BFD on PIM

You can configure BFD for the Protocol Independent Multicast (PIM) protocol.

Before you begin

Enable the BFD feature. See the Enabling the BFD Feature section.

Enable the PIM feature. See the Cisco Nexus 3600 Switch NX-OS Multicast Routing Configuration Guide for more information.

SUMMARY STEPS

  1. configure terminal
  2. ip pim bfd
  3. interface type slot/port
  4. (Optional) ip pim bfd-instance [ disable ]
  5. (Optional) show running-config pim
  6. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

ip pim bfd

Example:

switch(config)# ip pim bfd

Enables BFD for PIM.

Step 3

interface type slot/port

Example:

switch(config)# interface ethernet 2/1
switch(config-if)#

Enters interface configuration mode. Use the ? keyword to display the supported interfaces.

Step 4

(Optional) ip pim bfd-instance [ disable ]

Example:

switch(config-if)# ip pim bfd-instance
(Optional)

Enables or disables BFD on a PIM interface. The default is disabled.

Step 5

(Optional) show running-config pim

Example:

switch(config)# show running-config pim
(Optional)

Displays the PIM running configuration.

Step 6

(Optional) copy running-config startup-config

Example:

switch# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring BFD on OSPFv2

You can configure BFD for the Open Shortest Path First Protocol (OSPFv2).

Before you begin

Enable the BFD feature. See the Enabling the BFD Feature section.

Configure the BFD session parameters. See the Configuring Global BFD Parameters section or the Configuring BFD on an Interface section.

Enable the OSPFv2 feature.

SUMMARY STEPS

  1. configure terminal
  2. router ospf process-id
  3. bfd
  4. (Optional) show running-config ospf
  5. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router ospf process-id

Example:

switch(config)# router ospf 64496
switch(config-router)#

Creates a new OSPFv2 process with a configured id.

Step 3

bfd

Example:

switch(config-router)# bfd

Enables BFD for this OSPFv2 peer. The default value is disabled.

Step 4

(Optional) show running-config ospf

Example:

switch(config)# show running-config ospf
(Optional)

Displays the OSPFv2 running configuration.

Step 5

(Optional) copy running-config startup-config

Example:

switch# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring BFD for Static Routes

You can configure BFD for static routes on an interface. You can optionally configure BFD on a static route within a virtual routing and forwarding (VRF) instance.

Before you begin

Enable the BFD feature. See the Enabling the BFD Feature section.

SUMMARY STEPS

  1. configure terminal
  2. (Optional) vrf context vrf-name
  3. ip route route interface { nh-address | nh-prefix }
  4. ip route static bfd interface { nh-address | nh-prefix }
  5. (Optional) show ip route static [ vrf vrf-name ]
  6. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

(Optional) vrf context vrf-name

Example:

switch(config)# vrf context Red
switch(config-vrf)#
(Optional)

Enters VRF configuration mode.

Step 3

ip route route interface { nh-address | nh-prefix }

Example:

switch(config-vrf)# ip route 192.0.2.1 ethernet 2/1 192.0.2.4

Creates a static route Use the ? keyword to display the supported interfaces.

Step 4

ip route static bfd interface { nh-address | nh-prefix }

Example:

switch(config-vrf)# ip route static bfd ethernet 2/1 192.0.2.4

Enables BFD for all static routes on an interface. Use the ? keyword to display the supported interfaces.

Step 5

(Optional) show ip route static [ vrf vrf-name ]

Example:

switch(config-vrf)# show ip route static vrf Red
(Optional)

Displays the static routes.

Step 6

(Optional) copy running-config startup-config

Example:

switch# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring BFD for IPv6

Configuring Global BFD Parameters for IPv6

  1. 1. configure terminal

  2. 2. bfd [ipv4 | ipv6] interval [interval min_rx milliseconds multiplier interval-multiplier]

Before you begin

You can specify either the IPv4 or the IPv6 address family when you configure BFD parameters.

SUMMARY STEPS

  1. configure terminal
  2. bfd [ipv4 | ipv6] interval [interval min_rx milliseconds multiplier interval-multiplier]

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

bfd [ipv4 | ipv6] interval [interval min_rx milliseconds multiplier interval-multiplier]

Example:

switch(config)# bfd ipv6 interval 50 min_rx 50 multiplier 3

Configures the BFD session parameters for all BFD sessions in the specified address family on the device.

The Tx and Rx intervals range between 50 and 999 milliseconds.

The multiplier ranges between 3 and 50.

Configuring Per Interface BFD Parameters for IPv6

Before you begin

BFD must be enabled on the device.

SUMMARY STEPS

  1. configure terminal
  2. interface interface
  3. bfd [ipv4 | ipv6] interval [interval min_rx milliseconds multiplier interval-multiplier

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface interface

Example:

switch(config)# interface ethernet 1/2
switch(config-if)#

Enters interface configuration mode.

Use the ? keyword to display the supported interfaces

Step 3

bfd [ipv4 | ipv6] interval [interval min_rx milliseconds multiplier interval-multiplier

Example:

switch(config-if)# bfd ipv6 interval 50 min_rx 50 multiplier 3

Configures the BFD session parameters for all BFD sessions in the specified address family on the device.

The Tx and Rx intervals range between 50 and 999 milliseconds.

The multiplier ranges between 3 and 50.

Configuring BFD for IPv6 on OSPFv3

You can configure BFD for IPv6 on the Open Shortest Path First Protocol (OSPFv3).

Before you begin

SUMMARY STEPS

  1. configure terminal
  2. router ospfv3 process-id
  3. bfd
  4. (Optional) show running-config ospfv3
  5. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router ospfv3 process-id

Example:

switch(config)# router ospfv3 201
switch(config-router)#

Creates a new OSPFv2 process with a configured id.

Step 3

bfd

Example:

switch(config-router)# bfd

Enables BFD for this OSPFv3 peer. The default value is disabled.

Step 4

(Optional) show running-config ospfv3

Example:

switch(config-router)# show running-config ospfv3
(Optional)

Displays the OSPFv3 running configuration.

Step 5

(Optional) copy running-config startup-config

Example:

switch(config-router)# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring BFD on IPv6 Static Routes

You can configure BFD for all IPv6 static routes on an interface.

Before you begin

  • Ensure that BFD is enabled on the devices at each end of the static route.

  • Ensure that the BFD session parameters are configured.

SUMMARY STEPS

  1. configure terminal
  2. (Optional) vrf context vrf-name
  3. ipv6 route route interface { nh-address | nh-prefix }
  4. ipv6 route static bfd network-interface {nh-address | nh-prefix }
  5. (Optional) show bfd neighbors
  6. (Optional) show ipv6 route static
  7. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

(Optional) vrf context vrf-name

Example:

switch(config)# vrf context Red
switch(config-vrf)#
(Optional)

Enters VRF configuration mode to configure BFD on an IPv6 static route.

Specifies the VRF for the route to be tracked.

Step 3

ipv6 route route interface { nh-address | nh-prefix }

Example:

switch(config-vrf)# ipv6 route 1::5/64 ethernet 1/3 2::2

Creates an IPv6 static route.

  • Specify the IPv6 address for the route argument

  • Use the ? keyword to display the supported interfaces.

  • Specify the next-hop (nh) address or prefix for this static route.

Step 4

ipv6 route static bfd network-interface {nh-address | nh-prefix }

Example:

switch(config-vrf)# ipv6 route static bfd ethernet 1/3 2::2

Enables BFD for all IPv6 static routes on an interface.

  • Use the ? keyword to display the supported interfaces.

  • Specify the next-hop (nh) address or prefix for this static route.

Step 5

(Optional) show bfd neighbors

Example:

switch(config-vrf)# show bfd neighbors
(Optional)

Displays information about BFD neighbors.

Step 6

(Optional) show ipv6 route static

Example:

switch(config-vrf)# show ipv6 route static vrf Red
(Optional)

Displays the static routes.

Step 7

(Optional) copy running-config startup-config

Example:

switch(config-vrf)# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring BFD Echo Mode

The echo function is enabled by default. You can disable it if desired.

SUMMARY STEPS

  1. configure terminal
  2. interface type slot/port
  3. [no] bfd ipv4 echo

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface type slot/port

Example:

switch(config)# interface ethernet 1/2
switch(config-if)#

Enters interface configuration mode.

Use the ? keyword to display the supported interfaces

Step 3

[no] bfd ipv4 echo

Example:

switch(config-if)# bfd ipv4 echo

Enables the echo function. The default is enabled.

To disable the echo function for the specified address family, use the no form of the command.

Configuring BFD Session Echo Interval

You can configure the echo Rx interval for BFD sessions.

SUMMARY STEPS

  1. configure terminal
  2. interface interface
  3. [no] bfd ipv4 echo-rx-interval interval

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface interface

Example:

switch(config)# interface ethernet 1/2
switch(config-if)#

Enters interface configuration mode.

Use the ? keyword to display the supported interfaces

Step 3

[no] bfd ipv4 echo-rx-interval interval

Example:

switch(config-if)# bfd ipv4 echo-rx-interval 500

Configures the echo Rx interval for the BFD session. The interval can range between 50 and 999 milliseconds.

To return the echo interval to the default value of 50 milliseconds, use the no form of the command.

Configuring a BFD Echo Interface

Perform this task to configure the loopback interface as the source address for echo frames.

SUMMARY STEPS

  1. configure terminal
  2. interface loopback number
  3. ip address ip-address mask

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface loopback number

Example:

switch(config)# interface loopback 50
switch(config-if)#

Creates a loopback interface and enters interface configuration mode.

Step 3

ip address ip-address mask

Example:

switch(config-if)# ip address 192.108.1.27 255.255.255.0

Configures the IP address as the source address for echo frames.

Configuring the BFD Slow Timer

Echo mode is enabled by default. You can configure the slow-timer value and disable or enable echo mode for an address family.

SUMMARY STEPS

  1. configure terminal
  2. interface interface
  3. bfd ipv4 slow-timer [interval]

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface interface

Example:

switch(config)# interface ethernet 1/2
switch(config-if)#

Enters interface configuration mode.

Use the ? keyword to display the supported interfaces

Step 3

bfd ipv4 slow-timer [interval]

Example:

switch(config-if)# bfd ipv4 slow-timer 6000

Configures the slow timer, in milliseconds, used in the echo function for the specified address family.

Configuring TCAM Region Sizes

You can change the size of the ACL ternary content addressable memory (TCAM) regions.


Note


The sum of entries in the redirect_v4 and bfd-multihop regions put together must be 2048 to use a single bank. You must reload the switch after implementing the following configuration. This configuration is applicable only on Cisco Nexus 36180YC-R and 3636C-R switches.


SUMMARY STEPS

  1. configure terminal
  2. [no] hardware access-list tcam region bfd-multihop tcam_size
  3. [no] hardware access-list tcam region redirect_v4 tcam_size
  4. [optional] show running-config | include hardware region tcam_size
  5. reload

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

[no] hardware access-list tcam region bfd-multihop tcam_size

Example:

switch(config)# hardware access-list
tcam region bfd-multihop 100
switch(config-if)#

Changes the ACL TCAM region size for BFD multihop.

Step 3

[no] hardware access-list tcam region redirect_v4 tcam_size

Example:

switch(config)# hardware access-list tcam region redirect_v4 1948
switch(config-if)#

Changes the ACL TCAM region size for redirect_v4.

Step 4

[optional] show running-config | include hardware region tcam_size

Example:

switch(config)# show running-config | include hardware
hardware access-list tcam region redirect_v4 1948
hardware access-list tcam region bfd-multihop 100
switch(config)#

[optional] Displays the running configuration and TCAM sizes.

Step 5

reload

Example:

switch(config)# reload

Reloads the device.

Configuring BFD Multihop Session Global Interval Parameters

You can configure the BFD session global parameters for all BFD sessions on the device. Different BFD session parameters for each session can be achieved using the per session configuration commands.

SUMMARY STEPS

  1. configure terminal
  2. [no] bfd interval milliseconds min_rx millisecondsmultiplier interval-multiplier
  3. end

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

[no] bfd interval milliseconds min_rx millisecondsmultiplier interval-multiplier

Example:

switch(config)# switch(config)# bfd multihop interval
250 min_rx 250 multiplier 3

Configures the BFD multihop session global parameters for all BFD sessions on the device. This command overrides the default values. The Required Minimum Received Interval and Desired Minimum Transmit Interval are 250. The multiplier default is 3.

Step 3

end

Example:

switch(config)# end

Saves the configuration and ends the configuration session.

Configuring Per Multihop Session BFD Parameters

You can configure per multihop session BFD parameters.

Before you begin

Enable the BFD feature. See the Enabling the BFD Feature section.

SUMMARY STEPS

  1. configure terminal
  2. router bgp as-number
  3. neighbor {ip-address | ipv6-address} remote-as as-number
  4. update-source interface
  5. bfd
  6. bfd multihop interval mintx min_rx msecmultiplier value
  7. bfd multihop authentication keyed-sha1 keyid id id key ascii_key
  8. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router bgp as-number

Example:

switch(config)# router bgp 64496
switch(config-router)#

Enables BGP and assigns the AS number to the local BGP speaker. The AS number can be a 16-bit integer or a 32-bit integer in the form of a higher 16-bit decimal number and a lower 16-bit decimal number in xx.xx format.

Step 3

neighbor {ip-address | ipv6-address} remote-as as-number

Example:

switch(config-router)# neighbor 209.165.201.1 remote-as 64497
switch(config-router-neighbor)#

Configures the IPv4 or IPv6 address and AS number for a remote BGP peer. The ip-address format is x.x.x.x. The ipv6-address format is A:B::C:D.

Step 4

update-source interface

Example:

Example:
switch(config-router-neighbor)# update-source Ethernet1/4
switch(config-router-neighbor)#

Retrieves the source IP address of the BFD session from the interface.

Step 5

bfd

Example:

switch(config-router-neighbor)# bfd

Enables BFD for this BGP peer.

Step 6

bfd multihop interval mintx min_rx msecmultiplier value

Example:

Example:
switch(config-router-neighbor)# bfd
multihop interval 250
min_rx 250 multiplier 3

Configures Multihop BFD interval values for this neighbor. The mintx and msec range is from 250 to 999 milliseconds and the default is 250. The multiplier range is from 1 to 50. The multiplier default is 3.

Step 7

bfd multihop authentication keyed-sha1 keyid id id key ascii_key

Example:

Example:
switch(config-router-neighbor)# bfd multihop authentication
keyed-sha1 keyid 1 ascii_key cisco123

Configures SHA-1 authentication for BFDs on Multihop BFD session over this neighbor. The ascii_key string is a secret key shared among BFD peers. The id value, a number between 0 and 255, is assigned to this particular ascii_key . BFD packets specify the key by id , allowing the use of multiple active keys.

To disable SHA-1 authentication on the interface, use the no form of the command.

Step 8

(Optional) copy running-config startup-config

Example:

switch# copy running-config startup-config
(Optional)

Saves this configuration change.

Verifying the BFD Configuration

To display BFD configuration information, perform one of the following tasks:

Command

Purpose

show running-config bfd

Displays the running BFD configuration.

show startup-config bfd

Displays the BFD configuration that will be applied on the next system startup.

Monitoring BFD

Use the following commands to display BFD:

Command

Purpose

show bfd neighbors [ application name ] [ details ]

Displays information about BFD for a supported application, such as BGP.

show bfd neighbors [ interface int-if ] [ details ]

Displays information about BGP sessions on an interface.

show bfd neighbors [ dest-ip ip-address ] [ src-ip ip-address ][ details ]

Displays information about the specified BGP session on an interface.

show bfd neighbors [ vrf vrf-name ] [ details ]

Displays information about BFD for a VRF.

For detailed information about the fields in the output from these commands, see the Cisco Nexus 3548 Switch Command Reference.