Table Of Contents
Implementing Bidirectional Forwarding Detection for IPv6
Finding Feature Information
Contents
Prerequisites for Implementing Bidirectional Forwarding for IPv6
Restrictions for Implementing Bidirectional Forwarding for IPv6
Information About Implementing Bidirectional Forwarding for IPv6
Overview of the BFDv6 Protocol
BFDv6 Registration
BFDv6 Global and Link-Local Addresses
BFD for IPv4 and IPv6 on the Same Interface
Static Route Support for BFD over IPv6
BFDv6 Associated Mode
BFDv6 Unassociated Mode
BFD Support for OSPFv3
How to Configure Bidirectional Forwarding Detection for IPv6
Specifying a Static BFDv6 Neighbor
Associating an IPv6 Static Route with a BFDv6 Neighbor
Configuring BFD Support for OSPFv3
Configuring Baseline BFD Session Parameters on the Interface
Configuring BFD Support for OSPFv3 for All Interfaces
Configuring BFDv6 Support for OSPFv3 on One or More OPSFv3 Interfaces
Retrieving BFDv6 Information for Monitoring and Troubleshooting
Configuration Examples for Bidirectional Forwarding Detection for IPv6
Example: Specifying an IPv6 Static BFDv6 Neighbor
Example: Associating an IPv6 Static Route with a BFDv6 Neighbor
Additional References
Related Documents
Standards
MIBs
RFCs
Technical Assistance
Feature Information for Implementing Bidirectional Forwarding for IPv6
Implementing Bidirectional Forwarding Detection for IPv6
First Published: May 5, 2008
Last Updated: June 17, 2010
This document describes how to implement the Bidirectional Forwarding Detection for IPv6 (BFDv6) protocol. 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. BFDv6 provides IPv6 support by accommodating IPv6 addresses, and it provides the ability to create BFDv6 sessions.
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.
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature information and caveats, see 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 for Implementing Bidirectional Forwarding for IPv6" section.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Contents
•
Prerequisites for Implementing Bidirectional Forwarding for IPv6
•
Restrictions for Implementing Bidirectional Forwarding for IPv6
•
Information About Implementing Bidirectional Forwarding for IPv6
•
How to Configure Bidirectional Forwarding Detection for IPv6
•
Configuration Examples for Bidirectional Forwarding Detection for IPv6
•
Additional References
•
Feature Information for Implementing Bidirectional Forwarding for IPv6
Prerequisites for Implementing Bidirectional Forwarding for IPv6
Cisco Express Forwarding and IPv6 unicast routing must be enabled on all participating routers.
Restrictions for Implementing Bidirectional Forwarding for IPv6
•
BFDv6 is not available in all releases. See the "Feature Information for Implementing Bidirectional Forwarding for IPv6" section or the Start Here: Cisco IOS XE Software Release Specifies for IPv6 Features roadmap for information about releases that support BFDv6.
•
BFDv6 supports only global IPv6 neighbor addresses if a global IPv6 address is configured on the interface.
•
Only asynchronous mode is supported. In asynchronous mode, either BFDv6 peer can initiate a BFDv6 session.
Information About Implementing Bidirectional Forwarding for IPv6
•
Overview of the BFDv6 Protocol
•
Static Route Support for BFD over IPv6
•
BFD Support for OSPFv3
Overview of the BFDv6 Protocol
This section describes the BFDv6 protocol, how it is different from BFD for IPv4, and how it works with BFD for IPv4. 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. BFDv6 provides IPv6 support by accommodating IPv6 addresses and provides the ability to create BFDv6 sessions.
BFDv6 Registration
BFD clients register with BFD using a registry application program interface (API). The registry arguments include protocol type and the address and interface description block (IDB) of the route to be monitored. These APIs and arguments are all assumed by BFD to be IPv4.
BFDv6 has registries from which these arguments have been removed, and the protocol and encapsulation are described within a session information structure. These session information structures are defined by BFDv6 for the protocols supported. BFDv6 uses information from the session information structures to determine the correct encapsulation for BFDv6 packets on that session.
BFDv6 Global and Link-Local Addresses
BFDv6 supports both global and link-local IPv6 addresses for neighbor creation. BFDv6 sessions select source addresses to match the neighbor address types (for example, global IPv6 address neighbors must be paired with global IPv6 source addresses and link-local IPv6 address neighbors must be paired with link-local IPv6 source addresses). Table 1 shows the address pairings that BFDv6 supports.
Table 1 BFDv6 Address Pairings for Neighbor Creation
Source Address
|
Destination Address
|
Status
|
Global
|
Global
|
Supported
|
Global
|
Link local
|
Not supported
|
Link local
|
Global
|
Not supported
|
Link local
|
Link local
|
Supported
|
Because all IPv6-enabled interfaces have a link-local address and BFDv6 selects the source address, link-local address neighbors are always paired with a link-local interface address. The link-local source address with global destination address is not supported by Cisco Express Forwarding. Therefore, a global IPv6 address must be configured on an interface before a session with a global address neighbor may be established in BFDv6. BFDv6 rejects any sessions in which the neighbor address is global and no global address is configured on the interface.
Note
The behavior of a unique local address (ULA) in BFDv6 is the same as a global address.
BFD for IPv4 and IPv6 on the Same Interface
BFD supports multiple IPv4 and IPv6 sessions per interface, with no restriction on the protocol of those sessions.
Static Route Support for BFD over IPv6
Using the BFDv6 protocol to reach the static route next hop ensures that an IPv6 static route is inserted only in the IPv6 Routing Information Base (RIB) when the next-hop neighbor is reachable. Using the BFDv6 protocol also can remove the IPv6 static route from the IPv6 RIB when the next hop becomes unreachable.
A user can configure IPv6 static BFDv6 neighbors. These neighbor can operate in one of two modes: associated (which is the default) and unassociated. A neighbor can be transitioned between the two modes without interrupting the BFDv6 session associated with the neighbor.
BFDv6 Associated Mode
In BFDv6 associated mode, an IPv6 static route is automatically associated with an IPv6 static BFDv6 neighbor if the static route next hop exactly matches the static BFDv6 neighbor.
An IPv6 static route requests a BFDv6 session for each static BFDv6 neighbor that has one or more associated IPv6 static routes and is configured over an interface on which BFD has been configured. The state of the BFDv6 session will be used to determine whether the associated IPv6 static routes are inserted in the IPv6 RIB. For example, static routes are inserted in the IPv6 RIB only if the BFDv6 neighbor is reachable, and the static route is removed from the IPv6 RIB if the BFDv6 neighbor subsequently becomes unreachable.
BFDv6 associated mode requires a user to configure a BFD neighbor and static route on both the router on which the BFD-monitored static route is required and on the neighboring router.
BFDv6 Unassociated Mode
An IPv6 static BFD neighbor may be configured as unassociated. In this mode, the neighbor is not associated with static routes, and the neighbor always requests a BFDv6 session if the interface has been configured for BFDv6.
Unassociated mode is useful in the following situations:
•
Bringing up a BFDv6 session in the absence of an IPv6 static route—This case occurs when a static route is on router A, with router B as the next hop. Associated mode requires users to create both a static BFD neighbor and static route on both routers in order to bring up the BFDv6 session from B to A. Specifying the static BFD neighbor in unassociated mode on router B avoids the need to configure an unwanted static route.
•
Transition to BFD monitoring of a static route—This case occurs when existing IPv6 static routes are inserted in the IPv6 RIB. The user wants to enable BFD monitoring for these static routes without any interruption to traffic. If the user configures an attached IPv6 static BFD neighbor, then the static routes will immediately be associated with the new static BFD neighbor. However, because a static BFD neighbor starts in a down state, the associated static routes are then removed from the IPv6 RIB and are reinserted when the BFDv6 session comes up. Therefore, the user will see an interruption in traffic. This interruption can be avoided by configuring the static BFD neighbor as unassociated, waiting until the BFDv6 session has come up, and then reconfiguring the static BFD neighbor as associated.
•
Transition from BFD monitoring of a static route—In this case, IPv6 static routes are monitored by BFD and inserted in the RIB. The user wants to disable BFD monitoring of the static routes without interrupting traffic flow. This scenario can be achieved by first reconfiguring the static BFD neighbor as detached (thus disassociating the neighbor from the static routes) and then deconfiguring the static BFD neighbor.
BFD Support for OSPFv3
BFD supports the dynamic routing protocol OSPF for IPv6 (OSPFv3). For information on how to configure OSPFv3, see the "Configuring BFD Support for OSPFv3" section.
How to Configure Bidirectional Forwarding Detection for IPv6
Perform these tasks to configure BFD for IPv6:
•
Specifying a Static BFDv6 Neighbor
•
Associating an IPv6 Static Route with a BFDv6 Neighbor
•
Configuring BFD Support for OSPFv3
•
Retrieving BFDv6 Information for Monitoring and Troubleshooting
Specifying a Static BFDv6 Neighbor
An IPv6 static BFDv6 neighbor is specified separately from an IPv6 static route. An IPv6 static BFDv6 neighbor must be fully configured with the interface and neighbor address and must be directly attached to the local router.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ipv6 route static bfd [vrf vrf-name] interface-type interface-number ipv6-address [unassociated]
DETAILED STEPS
| |
Command or Action
|
Purpose
|
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
|
ipv6 route static bfd [vrf vrf-name]
interface-type interface-number ipv6-address
[unassociated]
Example:
Router(config)# ipv6 route static bfd
gigabitethernet 0/0/0 2001::1
|
Specifies static route IPv6 BFDv6 neighbors.
|
Associating an IPv6 Static Route with a BFDv6 Neighbor
IPv6 static routes are automatically associated with a static BFDv6 neighbor. A static neighbor is associated with a BFDv6 neighbor if the static next-hop explicitly matches the BFDv6 neighbor.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ipv6 route static bfd [vrf vrf-name] interface-type interface-number ipv6-address [unassociated]
4.
ipv6 route [vrf vrf-name] ipv6-prefix/prefix-length {ipv6-address | interface-type interface-number [ipv6-address]} [nexthop-vrf [vrf-name1 | default]] [administrative-distance] [administrative-multicast-distance | unicast | multicast] [next-hop-address] [tag tag]
DETAILED STEPS
| |
Command or Action
|
Purpose
|
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
|
ipv6 route static bfd [vrf vrf-name]
interface-type interface-number ipv6-address
[unassociated]
Example:
Router(config)# ipv6 route static bfd
gigabitethernet 0/0/0 2001::1
|
Specifies static route BFDv6 neighbors.
|
Step 4
|
ipv6 route [vrf vrf-name]
ipv6-prefix/prefix-length {ipv6-address |
interface-type interface-number [ipv6-address]}
[nexthop-vrf [vrf-name1 | default]]
[administrative-distance]
[administrative-multicast-distance | unicast |
multicast] [next-hop-address] [tag tag]
Example:
Router(config)# ipv6 route 2001:DB8::/64
gigabitethernet 0/0/0 2001::1
|
Establishes static IPv6 routes.
|
Configuring BFD Support for OSPFv3
This section describes the procedures for configuring BFD support for OSPFv3, so that OSPFv3 is a registered protocol with BFD and will receive forwarding path detection failure messages from BFD. You can either configure BFD support for OSPFv3 globally on all interfaces or configure it selectively on one or more interfaces.
There are two methods for enabling BFD support for OSPFv3:
•
You can enable BFD for all of the interfaces for which OSPFv3 is routing by using the bfd all-interfaces command in router configuration mode. You can disable BFD support on individual interfaces using the ipv6 ospf bfd disable command in interface configuration mode.
•
You can enable BFD for a subset of the interfaces for which OSPFv3 is routing by using the ipv6 ospf bfd command in interface configuration mode.
•
Configuring Baseline BFD Session Parameters on the Interface
•
Configuring BFD Support for OSPFv3 for All Interfaces
•
Configuring BFDv6 Support for OSPFv3 on One or More OPSFv3 Interfaces
Configuring Baseline BFD Session Parameters on the Interface
Repeat this task 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
DETAILED STEPS
| |
Command or Action
|
Purpose
|
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 gigabitethernet 0/0/0
|
Specifies an interface type and number, and places the router in 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.
|
Configuring BFD Support for OSPFv3 for All Interfaces
Prerequisites
OSPFv3 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 the "Configuring Baseline BFD Session Parameters on the Interface" section for more information.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ipv6 router ospf process-id [vrf vpn-name]
4.
bfd all-interfaces
5.
exit (enter this command twice)
6.
show bfd neighbors [vrf vrf-name] [client {bgp | eigrp | isis | ospf | rsvp | te-frr}] [ip-address | ipv6 ipv6-address] [details]
7.
show ipv6 ospf [process-id] [area-id] [rate-limit]
DETAILED STEPS
| |
Command or Action
|
Purpose
|
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
|
ipv6 router ospf process-id [vrf vpn-name]
Example:
Router(config)# ipv6 router ospf 2
|
Configures an OSPFv3 routing process.
|
Step 4
|
bfd all-interfaces
Example:
Router(config-router)# bfd all-interfaces
|
Enables BFD for all interfaces participating in the routing process.
|
Step 5
|
exit
Example:
Router(config-router)# exit
|
Enter this command twice to go to privileged EXEC mode.
|
Step 6
|
show bfd neighbors [vrf vrf-name] [client {bgp
| eigrp | isis | ospf | rsvp | te-frr}]
[ip-address | ipv6 ipv6-address] [details]
Example:
Router# show bfd neighbors detail
|
(Optional) Displays a line-by-line listing of existing BFD adjacencies.
|
Step 7
|
show ipv6 ospf [process-id] [area-id]
[rate-limit]
Example:
Router# show ipv6 ospf
|
(Optional) Displays general information about OSPFv3 routing processes.
|
Configuring BFDv6 Support for OSPFv3 on One or More OPSFv3 Interfaces
Prerequisites
OSPFv3 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 the "Configuring Baseline BFD Session Parameters on the Interface" section for more information.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
interface type number
4.
ipv6 ospf bfd [disable]
5.
exit
6.
show bfd neighbors [vrf vrf-name] [client {bgp | eigrp | isis | ospf | rsvp | te-frr}] [ip-address | ipv6 ipv6-address] [details]
7.
show ipv6 ospf [process-id] [area-id] [rate-limit]
DETAILED STEPS
| |
Command or Action
|
Purpose
|
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 gigabitethernet 0/0/0
|
Specifies an interface type and number, and places the router in interface configuration mode.
|
Step 4
|
ipv6 ospf bfd [disable]
Example:
Router(config-if)# ipv6 ospf bfd
|
Enables BFD on a per-interface basis for one or more interfaces associated with the OSPFv3 routing process.
|
Step 5
|
exit
Example:
Router(config-router)# exit
|
Enter this command twice to go to privileged EXEC mode.
|
Step 6
|
show bfd neighbors [vrf vrf-name] [client {bgp
| eigrp | isis | ospf | rsvp | te-frr}]
[ip-address | ipv6 ipv6-address] [details]
Example:
Router# show bfd neighbors detail
|
(Optional) Displays a line-by-line listing of existing BFD adjacencies.
|
Step 7
|
show ipv6 ospf [process-id] [area-id]
[rate-limit]
Example:
Router# show ipv6 ospf
|
(Optional) Displays general information about OSPFv3 routing processes.
|
Retrieving BFDv6 Information for Monitoring and Troubleshooting
SUMMARY STEPS
1.
enable
2.
monitor event ipv6 static [enable | disable]
3.
show ipv6 static [ipv6-address | ipv6-prefix/prefix-length] [interface type number | recursive] [vrf vrf-name] [bfd] [detail]
4.
show ipv6 static [ipv6-address | ipv6-prefix/prefix-length] [interface type number | recursive] [vrf vrf-name] [bfd] [detail]
5.
debug ipv6 static
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
monitor event ipv6 static [enable | disable]
Example:
Router# monitor event ipv6 static enable
|
Enables the use of event trace to monitor the operation of the IPv6 static and IPv6 static BFDv6 neighbors.
|
Step 3
|
show ipv6 static [ipv6-address |
ipv6-prefix/prefix-length] [interface type
number | recursive] [vrf vrf-name] [bfd]
[detail]
Example:
Router# show ipv6 static vrf vrf1 detail
|
Displays the BFDv6 status for a static route associated with a static BFDv6 neighbor.
|
Step 4
|
show ipv6 static [ipv6-address |
ipv6-prefix/prefix-length] [interface type
number | recursive] [vrf vrf-name] [bfd]
[detail]
Example:
Router# show ipv6 static vrf vrf1 bfd
|
Displays static BFDv6 neighbors and associated static routes.
|
Step 5
|
debug ipv6 static
Example:
Router# debug ipv6 static
|
Enables BFDv6 debugging.
|
Configuration Examples for Bidirectional Forwarding Detection for IPv6
•
Example: Specifying an IPv6 Static BFDv6 Neighbor
•
Example: Associating an IPv6 Static Route with a BFDv6 Neighbor
Example: Specifying an IPv6 Static BFDv6 Neighbor
The following example specifies a fully configured IPv6 static BFDv6 neighbor. The interface is GigabitEthernet 0/0/0 and the neighbor address is 2001::1.
Router(config)# ipv6 route static bfd gigabitethernet 0/0/0 2001::1
Example: Associating an IPv6 Static Route with a BFDv6 Neighbor
In this example, the IPv6 static route 2001:DB8::/32 is associated with the BFDv6 neighbor 2001::1 over the GigabitEthernet 0/0/0 interface:
Router(config)# ipv6 route static bfd gigabitethernet 0/0/0 2001::1
Router(config)# ipv6 route 2001:DB8::/32 gigabitethernet 0/0/0 2001::1
Additional References
Related Documents
Related Topic
|
Document Title
|
OSPF for IPv6
|
"Implementing OSPF for IPv6," Cisco IOS XE IPv6 Configuration Guide
|
IPv6 static routes
|
"Implementing Static Routes for IPv6," Cisco IOS XE IPv6 Configuration Guide
|
IPv6 supported feature list
|
"Start Here: Cisco IOS XE Software Release Specifics for IPv6 Features," Cisco IOS XE IPv6 Configuration Guide
|
IPv6 commands: complete command syntax, command mode, defaults, usage guidelines, and examples
|
Cisco IOS IPv6 Command Reference
|
BFD for IPv4
|
"Bidirectional Forwarding Detection," Cisco IOS XE IP Routing Protocols Configuration Guide
|
BFD for IPv4 commands
|
"IP Routing Protocol-Independent Commands," Cisco IOS XE IP Routing Protocols Command Reference
|
Cisco IOS master command list, all releases
|
Cisco IOS Master Command List, All Releases
|
Standards
Standard
|
Title
|
No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.
|
—
|
MIBs
MIB
|
MIBs Link
|
None
|
To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:
http://www.cisco.com/go/mibs
|
RFCs
RFC
|
Title
|
draft-ietf-bfd-v4v6-1hop-07.txt
|
BFD for IPv4 and IPv6 (Single Hop)
|
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 Implementing Bidirectional Forwarding for IPv6
Table 2 lists the features in this module and provides links to specific configuration information.
Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Note
Table 2 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.
Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at www.cisco.com/go/trademarks. Third party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1005R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
© 2008-2011 Cisco Systems, Inc. All rights reserved.