Implementing BFD
Implementing BFD
Bidirectional forwarding detection (BFD) provides low-overhead, short-duration detection of failures in the
path between adjacent forwarding engines. 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 [Link]
OpenConfig data model. To get started with using data models, see the Programmability Configuration Guide.
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.
Restrictions
These restrictions apply to BFD:
• Demand mode is not supported in Cisco IOS XR software.
• BFD echo mode and encryption are not supported.
• BFD hardware offload for IPv4 is supported.
• Only the static, OSPF, BGP and IS-IS applications are supported on BFD.
• BFD dampening for IPv4 is supported starting from Cisco IOS XR Release 6.3.2.
Implementing BFD
1
Implementing BFD
Enable and Disable IPv6 Checksum Calculations for BFD on a Router
• BFD multihop is supported starting from IOS XR Release 6.3.2 but BFD multihop over non IP core is
not supported.
• BFD supports BFDv6 on bundle-ether for VRF BGP IPv6 single-hop.
• 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.
• Only IETF mode is supported in BFD over bundle feature.
• Dampening extensions for BFD are not supported.
Starting from Cisco IOS XR Release 6.6.1, BFD over VRF is supported.
SNMP traps are not supported for multipath BFD sessions.
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
Note BFD per interface configuration is supported for OSPF and IS-IS only.
Router# configure
/* Set the BFD minimum interval. The range is from 15 to 30000 milliseconds. */
Router(config-ospf)# bfd minimum-interval 6500
Implementing BFD
2
Implementing BFD
Enable BFD over BGP
/* 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
Verify that BFD is enabled on the appropriate interface.
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. */
Interface Dest Addr Local det time(int*mult) State Echo Async H/W NPU
--------- --------- -------- ------------- ----- ---- ----- --- ---
Te0/0/0/0 [Link] 0s(0s*0) 300ms(100ms*3) UP Yes 0/RP0/CPU0
BE3739 [Link] n/a n/a UP No n/a
Running Configuration
Implementing BFD
3
Implementing BFD
Enable BFD on an IPv4 Static Route
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 [Link]
remote-as 2
bfd fast-detect
RP/0/RSP0/CPU0:router# configure
/* 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 [Link]/24 [Link] 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 [Link]/24 [Link] 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
[Link]/24 [Link] bfd fast-detect minimum-interval 1000 multiplier 5
commit
!
!
RP/0/RP0/CPU0:router# configure
/* Enable BFD fast-detection on the specified IPv6 unicast destination address prefix and
on the forwarding next-hop address. */
Implementing BFD
4
Implementing BFD
Clear and Display BFD Counters
/* BFD sessions are established with the next hop [Link] when
it becomes reachable. */
RP/0/RP0/CPU0:router(config-static-vrf)# commit
Running Configuration
configure
router static
address-family ipv6 unicast [Link]/64 [Link]
bfd fast-detect minimum-interval 150 multiplier 4
commit
Verification
Verify that BFD is enabled on the appropriate interface.
RP/0/RP0/CPU0:router# show run router static address-family ipv6 unicast
configure
router static
address-family ipv6 unicast [Link]/64 [Link] bfd
fast-detect minimum-interval 150 multiplier 4
commit
Implementing BFD
5
Implementing BFD
BFD over Bundle
/* Configure BFD packet transmission intervals and failure detection times on a bundle */
Router(config)# interface Bundle-Ether 1
Router(config-if)# bfd address-family ipv4 minimum-interval 2000
Router(config-if)# bfd address-family ipv4 multiplier 30
Restrictions
The following are the restrictions in using BFD over Bundle feature:
• It is only supported in IETF mode.
• It is only supported on main bundle interface; it is not supported on bundle sub-interfaces.
• It is not supported on routing protocols, such as OSPF, ISIS, and BGP.
• When BFD timer is configured to 3.3 ms, which is the most aggressive timer, 256 sessions can be brought
up.
• If BFD timer is configured to greater than 100 ms, 300 BFD sessions can be brought up simultaneously.
Implementing BFD
6
Implementing BFD
Configure BFD over Bundle
Router(config-if)# bfd
Router(config-bfd-if)# ipv6 checksum disable
Router(config-bfd-if)# dampening disable
Router(config-bfd-if)# commit
/* Specify the mode, BFD packet transmission intervals, and failure detection times on a
bundle */
Running Configuration
bfd
ipv6 checksum disable
dampening disable!
!
interface Bundle-Ether3739
bfd mode ietf
bfd address-family ipv4 multiplier 3
bfd address-family ipv4 destination [Link]
bfd address-family ipv4 fast-detect
bfd address-family ipv4 minimum-interval 100
bfd address-family ipv6 multiplier 3
bfd address-family ipv6 destination [Link]
bfd address-family ipv6 fast-detect
Implementing BFD
7
Implementing BFD
Enabling BFD on a BGP Neighbor
Verification
The following show command outputs displays the status of BFD sessions on bundle members:
/* Verify the details of the IPv4 BFD session in the source router. */
Interface Dest Addr Local det time(int*mult) State Echo Async H/W NPU
--------- --------- -------- ------------- ----- ---- ----- --- ---
Te0/0/0/0 [Link] 0s(0s*0) 300ms(100ms*3) UP Yes 0/RP0/CPU0
BE3739 [Link] n/a n/a UP No n/a
/* Verify the details of the IPv4 BFD session in the destination router. */
Interface Dest Addr Local det time(int*mult) State Echo Async H/W NPU
---------- ---------- -------- -------------- ----- ---- ----- --- ---
Te0/6/0/0 [Link] 0s(0s*0) 300ms(100ms*3) UP No n/a
BE3739 [Link] n/a n/a UP No n/a
/* Verify the details of the IPv6 BFD session in the source router. */
/* Verify the details of the IPv6 BFD session in the destination router. */
Implementing BFD
8
Implementing BFD
Enabling BFD on a BGP Neighbor
Procedure
RP/0/RP0/CPU0:router# configure
Step 2 router bgp autonomous-system-number Enters BGP configuration mode, allowing you
to configure the BGP routing process.
Example:
Step 6 bfd minimum-interval milliseconds Sets the BFD minimum interval. Range is
4-30000 milliseconds.
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)#bfd
minimum-interval 6500
Step 7 bfd multiplier multiplier Sets the BFD multiplier. This is optional, the
minimum is 3 and by default the multiplier will
Example:
be 3 for all protocols
RP/0/RP0/CPU0:router(config-bgp-nbr)#bfd
multiplier 7
Step 8 Use the commit or end command. commit —Saves the configuration changes and
remains within the configuration session.
end —Prompts user to take one of these actions:
Implementing BFD
9
Implementing BFD
Enabling BFD for OSPF on an Interface
Procedure
RP/0/RP0/CPU0:router# configure
Step 2 router ospf process-name Enters OSPF configuration mode, allowing you
to configure the OSPF routing process.
Example:
Note To configure BFD for IS-IS, enter
RP/0/RP0/CPU0:router(config)# router ospf the corresponding configuration
0 mode.
RP/0/RP0/CPU0:router(config-ospf-ar)#
interface TengigabitEthernet
0/3/0/1
Implementing BFD
10
Implementing BFD
Enabling BFD on a Static Route
RP/0/RP0/CPU0:router(config-ospf-ar-if)#
bfd fast-detect
Step 6 bfd minimum-interval milliseconds Sets the BFD minimum interval. Range is
4-30000 milliseconds.
Example:
This example sets the BFD minimum interval
RP/0/RP0/CPU0:router(config-ospf-ar-if)# to 6500 milliseconds.
bfd minimum-interval 6500
Step 7 bfd multiplier multiplier Sets the BFD multiplier. This is optional, the
minimum is 3 and by default the multiplier will
Example:
be 3 for all protocols.
RP/0/RP0/CPU0:router(config-ospf-ar-if)# This example sets the BFD multiplier to 7.
bfd multiplier 7
Step 8 Use the commit or end command. commit —Saves the configuration changes and
remains within the configuration session.
end —Prompts user to take one of these actions:
• Yes — Saves configuration changes and
exits the configuration session.
• No —Exits the configuration session
without committing the configuration
changes.
• Cancel —Remains in the configuration
session, without committing the
configuration changes.
Procedure
RP/0/RP0/CPU0:router# configure
RP/0/RP0/CPU0:router(config)# router
static
Implementing BFD
11
Implementing BFD
Enabling BFD Sessions on Bundle Members
RP/0/RP0/CPU0:router(config-static)#
interface TengigabitEthernet
0/3/0/1
RP/0/RP0/CPU0:router(config-static-if)#
bfd fast-detect
Step 6 Use the commit or end command. commit —Saves the configuration changes and
remains within the configuration session.
end —Prompts user to take one of these actions:
• Yes — Saves configuration changes and
exits the configuration session.
• No —Exits the configuration session
without committing the configuration
changes.
• Cancel —Remains in the configuration
session, without committing the
configuration changes.
Procedure
RP/0/RP0/CPU0:router# configure
Implementing BFD
12
Implementing BFD
Specifying the BFD Destination Address on a Bundle
RP/0/RP0/CPU0:router(config)# interface
Bundle-Ether 1
Step 3 bfd address-family ipv4 fast-detect Enables IPv4 BFD sessions on bundle member
links.
Example:
RP/0/RP0/CPU0:router(config-if)# bfd
address-family ipv4 fast-detect
Step 4 bfd mode ietf Enables IETF mode for BFD over bundle for
the specified bundle.
Example:
Step 5 Use the commit or end command. commit —Saves the configuration changes and
remains within the configuration session.
end —Prompts user to take one of these actions:
• Yes — Saves configuration changes and
exits the configuration session.
• No —Exits the configuration session
without committing the configuration
changes.
• Cancel —Remains in the configuration
session, without committing the
configuration changes.
Procedure
RP/0/RP0/CPU0:router# configure
Step 2 interface Bundle-Ether bundle-id Enters interface configuration mode for the
specified bundle ID.
Example:
Implementing BFD
13
Implementing BFD
Configuring the Minimum Thresholds for Maintaining an Active Bundle
RP/0/RP0/CPU0:router(config)# interface
Bundle-Ether 1
Step 3 bfd address-family ipv4 destination Specifies the primary IPv4 address assigned to
ip-address the bundle interface on a connected remote
system, where ip-address is the 32-bit IP
Example:
address in dotted-decimal format (A.B.C.D).
RP/0/RP0/CPU0:router(config-if)# bfd
address-family ipv4 destination
[Link]
Step 4 Use the commit or end command. commit —Saves the configuration changes and
remains within the configuration session.
end —Prompts user to take one of these actions:
• Yes — Saves configuration changes and
exits the configuration session.
• No —Exits the configuration session
without committing the configuration
changes.
• Cancel —Remains in the configuration
session, without committing the
configuration changes.
Whenever the state of a member changes, the bundle manager determines whether the number of active
members or available bandwidth is less than the minimum. If so, then the bundle is placed, or remains, in
DOWN state. Once the number of active links or available bandwidth reaches one of the minimum thresholds,
then the bundle returns to the UP state.
To configure minimum bundle thresholds, complete these steps:
Procedure
RP/0/RP0/CPU0:router# configure
Implementing BFD
14
Implementing BFD
Configuring BFD Packet Transmission Intervals and Failure Detection Times on a Bundle
RP/0/RP0/CPU0:router(config)# interface
Bundle-Ether 1
Step 3 bundle minimum-active bandwidth kbps Sets the minimum amount of bandwidth
required before a bundle can be brought up or
Example:
remain up. The range is from 1 through a
number that varies depending on the platform
RP/0/RP0/CPU0:router(config-if)# bundle
minimum-active bandwidth 580000 and the bundle type.
Step 4 bundle minimum-active links links Sets the number of active links required before
a bundle can be brought up or remain up. The
Example:
range is from 1 to 32.
RP/0/RP0/CPU0:router(config-if)# bundle Note When BFD is started on a bundle
minimum-active links 2 that is already active, the BFD
state of the bundle is declared
when the BFD state of all the
existing active members is known.
Step 5 Use the commit or end command. commit —Saves the configuration changes and
remains within the configuration session.
end —Prompts user to take one of these actions:
• Yes — Saves configuration changes and
exits the configuration session.
• No —Exits the configuration session
without committing the configuration
changes.
• Cancel —Remains in the configuration
session, without committing the
configuration changes.
Implementing BFD
15
Implementing BFD
Configuring BFD Packet Transmission Intervals and Failure Detection Times on a Bundle
To configure the minimum transmission interval and failure detection times for BFD asynchronous mode
control packets on bundle member links, complete these steps:
Procedure
RP/0/RP0/CPU0:router# configure
Step 2 interface Bundle-Ether bundle-id Enters interface configuration mode for the
specified bundle ID.
Example:
RP/0/RP0/CPU0:router(config)# interface
Bundle-Ether 1
RP/0/RP0/CPU0:router(config-if)#bfd
address-family ipv4 minimum-interval 2000
Step 4 bfd address-family ipv4 multiplier multiplier Specifies a number that is used as a multiplier
with the minimum interval to determine BFD
Example:
control packet failure detection times and
transmission intervals for IPv4 BFD sessions
RP/0/RP0/CPU0:router(config-if)#bfd
address-family ipv4 multiplier 30 on bundle member links. The range is from 2
to 50. The default is 3.
Note Although the command allows
you to configure a minimum of 2,
the supported minimum is 3.
Step 5 Use the commit or end command. commit —Saves the configuration changes and
remains within the configuration session.
end —Prompts user to take one of these actions:
• Yes — Saves configuration changes and
exits the configuration session.
Implementing BFD
16
Implementing BFD
Configuring BFD over Bundle per Member Mode
RP/0/RP0/CPU0:router# configure
Step 2 bfd bundle per-member mode ietf Enables IETF mode for BFD over per-bundle
member link.
Example:
Step 3 Use the commit or end command. commit —Saves the configuration changes and
remains within the configuration session.
end —Prompts user to take one of these actions:
• Yes — Saves configuration changes and
exits the configuration session.
• No —Exits the configuration session
without committing the configuration
changes.
• Cancel —Remains in the configuration
session, without committing the
configuration changes.
Configure BFD over Bundles IETF Mode Support on a Per Bundle Basis
To configure BFD over Bundles IETF mode support on a per bundle basis use these steps:
Implementing BFD
17
Implementing BFD
BFD Transparency
Procedure
RP/0/RP0/CPU0:router# configure
Step 2 interface Bundle-Ether bundle-id Enters interface configuration mode for the
specified bundle ID.
Example:
RP/0/RP0/CPU0:router(config)# interface
Bundle-Ether 1
Step 3 bfd mode ietf Enables IETF mode for BFD over bundle for
the specified bundle.
Example:
Step 4 bfd address-family ipv4 fast-detect Enables IPv4 BFD sessions on the specified
bundle.
Example:
RP/0/RP0/CPU0:router(config-if)# bfd
address-family ipv4
fast-detect
Step 5 Use the commit or end command. commit —Saves the configuration changes and
remains within the configuration session.
end —Prompts user to take one of these actions:
• Yes — Saves configuration changes and
exits the configuration session.
• No —Exits the configuration session
without committing the configuration
changes.
• Cancel —Remains in the configuration
session, without committing the
configuration changes.
Step 6 show bundle bundle-ether bundle-id Displays the selected bundle mode.
BFD Transparency
Bidirectional Forwarding Detection(BFD) protocol is a simple hello mechanism that detects failures in a
network in less than one second, depending on the timer value configured.
Implementing BFD
18
Implementing BFD
Ethernet VPN Virtual Private Wire Service
Both endpoints of a BFD Session periodically send Hello packets to each other. If a number of those packets
are not received, the session is considered down. BFD provides fast BFD peer failure detection times
independently of all media types, encapsulations, topologies, and routing protocols BGP, IS-IS, and OSPF.
BFD Transparency feature enables you to configure BFD Sessions between customer edge devices connected
over an L2VPN network. These BFD sessions are transparent to the core. For example, BFD packets being
exchanged between CEs are neither dropped on any router in the core, nor punted on any core device.
In this section, you will learn how to configure BFD Transparency in Ethernet VPN (EVPN) Virtual Private
Wire Service (VPWS).
Configuration
The following sections describes the procedure for configuring IP Fast Reroute with Remote LFA.
• Configure L2VPN on the provide edge router
• Configure BFD on the customer edge router
Implementing BFD
19
Implementing BFD
Running Configuration
RP/0/RP0/CPU0:router# configure
RP/0/RP0/CPU0:router(config)# router bgp 100
RP/0/RP0/CPU0:router(config-bgp)# bgp router-id [Link]
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
RP/0/RP0/CPU0:router(config-bgp-af)# exit
RP/0/RP0/CPU0:router(config-bgp)# neighbor [Link]
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 100
RP/0/RP0/CPU0:router(config-bgp-nbr)# bfd fast-detect
RP/0/RP0/CPU0:router(config-bgp-nbr)# bfd multiplier 2
RP/0/RP0/CPU0:router(config-bgp-nbr)# bfd minimum-interval 100
RP/0/RP0/CPU0:router(config-bgp-nbr)# update-source TenGigE 0/0/0/16.1
RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast
RP/0/RP0/CPU0:router(config-bgp-nbr-af)#
Running Configuration
This section shows the BFD Transparency configuration.
!
interface TenGigE 0/0/0/1.1
l2transport
router isis 1
is-type level-2-only
net 49.0000.1000.0000.0001.00
nsr
nsf cisco
address-family ipv4 unicast
metric-style wide
!
interface Bundle-Ether199
address-family ipv4 unicast
interface Loopback0
address-family ipv4 unicast
router bgp 100
bgp router-id [Link]
address-family l2vpn evpn
neighbor [Link]
remote-as 100
update-source Loopback 0
address-family l2vpn evpn
!
Implementing BFD
20
Implementing BFD
Verification
mpls ldp
interface Bundle-Ether199
!
l2vpn
router-id [Link]
xconnect group bfdtr
p2p vpws-ce
interface TenGigE 0/0/0/1.1
neighbor evpn evi 100 target 3 source 4
Verification
The show outputs given in the following section display the details of the configuration of the BFD transparency,
and the status of their configuration.
/* Verify if the BFD session is up, and the timers are configured. */
RP/0/RP0/CPU0:router# show bfd session
/* Verify if the BFD session is up and check the timer value, numbers of hellos exchanged,
and information
about last packet. */
Implementing BFD
21
Implementing BFD
Verification
Platform Info:
NPU ID: 0
Async RTC ID : 1 Echo RTC ID : 0
Async Feature Mask : 0x0 Echo Feature Mask : 0x0
Async Session ID : 0xfb Echo Session ID : 0x0
Async Tx Key : 0x800000fb Echo Tx Key : 0x0
Async Tx Stats addr : 0x0 Echo Tx Stats addr : 0x0
Async Rx Stats addr : 0x0 Echo Rx Stats addr : 0x0
/* Verify the complete history including session state, type, transitions, offload history,
last down reason if any,
received and transmitted packets, rx/tx intervals, location, timestamp, and local and
remote descriptors. */
Received parameters:
Version: 1, desired tx interval: 10 ms, required rx interval: 10 ms
Required echo rx interval: 0 ms, multiplier: 2, diag: None
My discr: 2147483747, your discr: 2147483751, state UP, D/F/P/C/A: 0/0/0/1/0
Implementing BFD
22
Implementing BFD
BFD Hardware Offload Support for IPv4
Transmitted parameters:
Version: 1, desired tx interval: 10 ms, required rx interval: 10 ms
Required echo rx interval: 0 ms, multiplier: 2, diag: None
My discr: 2147483751, your discr: 2147483747, state UP, D/F/P/C/A: 0/1/0/1/0
Tx Echo pkt :
Version: 0, Local Discr: 2147483751, Sequence No: 0
History:
[Jan 4 [Link].272] Session (v1) state change, triggered by event 'Remote
state init', from INIT to UP with current diag being None
[Jan 4 [Link].851] Session (v1) state change, triggered by event 'Remote
state down', from DOWN to INIT with current diag being None
[Jan 4 [Link].509] Session (v1) state change, triggered by event 'Session
create', from Unknown to DOWN with current diag being None
[Jan 4 [Link].509] Flag cleared: session creation is in-progress, currently
set flags (0x80040)
Offload history:
[Jan 4 [Link].013] Packet punted to sw: Packet word0 : (0x20c80218),
desired_min_tx_interval 10000, required_min_rx_interval 10000, Last punted pkt
required_min_rx_interval 10000
[Jan 4 [Link].003] Packet punted to sw: Packet word0 : (0x20d80218),
desired_min_tx_interval 10000, required_min_rx_interval 10000, Last punted pkt
required_min_rx_interval 10000
[Jan 4 [Link].989] Packet punted to sw: Packet word0 : (0x20c80218),
desired_min_tx_interval 10000, required_min_rx_interval 10000, Last punted pkt
required_min_rx_interval 10000
[Jan 4 [Link].980] Packet punted to sw: Packet word0 : (0x20d80218),
desired_min_tx_interval 10000, required_min_rx_interval 10000, Last punted pkt
required_min_rx_interval 10000
Restrictions
• This feature is not supported over MPLS LDP interface and VRRP interface.
• This feature is not supported over MPLS TE or RSVP tunnel.
• BFD multihop will flap if underlay paths that consist of multiple bundle VLANs flap.
Confiugration Example
/* Configure BFD over Bundle(BOB) for hardware offload. */
Router# config
Implementing BFD
23
Implementing BFD
BFD Object Tracking
Verification
Use the show bfd ipv4 session command to verify the configuration:
Router# show bfd ipv4 session
Interface Dest Addr Local det time(int*mult) State
Echo Async H/W NPU
------------------- --------------- ---------------- ---------------- ----------
Hu0/0/0/22.93 [Link] 0s(0s*0) 12ms(4ms*3) UP
Yes 0/RP0/CPU0
Implementing BFD
24
Implementing BFD
Configuring BFD Object Tracking:
RP/0/RP0/CPU0:router# configure
Step 3 type bfdrtr rate tx-rate tx_rate - time in msec at which the BFD should
probe the remote entity
Example:
RP/0/RP0/CPU0:router(config-track)# type
bfdrtr rate 4
RP/0/RP0/CPU0:router(config-track-line-prot)#
interface GigabitEthernet0/0/0/4
RP/0/RP0/CPU0:router(config-if)#destaddress
[Link]
Step 7 Use the commit or end command. commit —Saves the configuration changes and
remains within the configuration session.
end —Prompts user to take one of these actions:
• Yes — Saves configuration changes and
exits the configuration session.
• No —Exits the configuration session
without committing the configuration
changes.
Implementing BFD
25
Implementing BFD
IPv4 Multihop BFD
Multihop BFD for IPv4 Release BFD provides fast forwarding path failure detection between two
nondefault VRF 7.7.1 routing devices that are connected by a network link. BFD Multihop
enables you to detect connectivity between routers that span multiple
network hops and follow unpredictable paths. Prior to this release,
BFD Multihop was supported on default VRFs only. This feature
provides you the flexibility to extend BFD Multihop for IPv4
non-default VRFs.
IPv4 Multihop BFD is a BFD session between two addresses between two nodes. An example of this feature
is a BFD session between PE and CE loopback addresses or BFD sessions between routers that are several
TTL hops away. The applications that support IPv4 Multihop BFD are external and internal BGP. IPv4
Multihop BFD feature supports BFD on arbitrary paths, which can span multiple networks hops.
A Virtual Routing and Forwarding (VRF) instance is a logical separation of a router's routing table. VRF
allows you to have multiple routing tables on a single router, each with its own set of routes.
The default VRF is the first VRF that is created on a router. It is the VRF that is used by default for all routing
protocols and interfaces.
Non-default VRFs must be explicitly configured.
The IPv4 Multihop BFD feature provides subsecond forwarding failure detection for a destination more than
one hop, and up to 255 hops, away. IPv4 Multihop BFD feature is supported on all currently supported
media-type for BFD single hop.
You can set up a BFD multihop session between a unique source-destination address pair that is provided by
the client. You can set up a session two endpoints that have IP connectivity.
Multihop BFD over nondefault VRF feature runs on both default and non-default VRF.
Multihop BFD over nondefault VRF feature runs on IPv4 only.
Router# configure
Router(config)# bfd
Router(config)# multipath include location 0/7/CPU0
Router(config)# router bgp 100
Implementing BFD
26
Implementing BFD
Verification
Running Configuration
bfd
multipath include location 0/7/CPU0
router bgp 100
neighbor [Link]
remote-as 2000
update-source loopback 1
bfd fast-detect
bfd multiplier 3
bfd minimum-interval 300
address-family ipv4 unicast
route-policy PASS-ALL in
route-policy PASS-ALL out
!
!
Verification
The show outputs given in the following section display the details of the configuration of the IPv4 Multihop
BFD feature, and the status of their configuration.
Implementing BFD
27
Implementing BFD
Verification
Implementing BFD
28