![]() |
SYSTEM ADMINISTRATOR GUIDE 17/1543-CRA 119 1170/1-V1 Uen A | ![]() |
Copyright
© Copyright Ericsson AB 2009. All rights reserved.
Disclaimer
No part of this document may be reproduced in any form without the written permission of the copyright owner. The contents of this document are subject to revision without notice due to continued progress in methodology, design and manufacturing. Ericsson shall have no liability for any error or damage of any kind resulting from the use of this document.
Trademark List
SmartEdge | is a registered trademark of Telefonaktiebolaget L M Ericsson. | |
NetOp | is a trademark of Telefonaktiebolaget L M Ericsson. |
This document provides an overview of Bidirectional Forwarding Detection (BFD) and describes the tasks and commands used to configure, monitor, troubleshoot, and administer BFD features through the SmartEdge® router.
Bidirectional Forwarding Detection (BFD) is a simple Hello protocol that, in many respects, is similar to the detection components of some routing protocols. A pair of routers periodically transmit BFD packets over each path between the two routers, and if a system stops receiving BFD packets after a predefined time interval, some component in that particular bidirectional path to the neighboring router is assumed to have failed.
A path is only declared to be operational when two-way communication has been established between systems.
BFD provides low-overhead, short-duration detection of failures in the path between adjacent forwarding engines, including the interfaces, data links, and to the extent possible, the forwarding engines themselves.
The legacy Hello mechanism run by routing protocols does not offer detections of less than one second, and for some applications, more than one second is too long and represents a large amount of data loss at gigabit rates. BFD provides the ability to detect communication failures in less than one second.
To configure BFD, perform the tasks in the sections that follow.
A BFD session is established for each BFD neighbor configured. More than one BFD neighbor can be configured.
To configure a BFD neighbor, perform the tasks described in Table 1. Enter all commands in BFD neighbor configuration mode, unless otherwise noted.
Task |
Root Command |
Notes |
---|---|---|
Create a BFD instance and enter BFD router configuration mode. |
Enter this command in context configuration mode. | |
Create a new BFD neighbor, or select an existing one for modification, and enter BFD neighbor configuration mode. |
Enter this command in BFD router configuration mode. | |
Specify the detection multiplier value. |
The negotiated minimum transmit interval (the minimum desired transmit interval agreed upon by both peers) is multiplied by the detection multiplier value to provide the detection time for the transmitting system in asynchronous mode. The detection time is the time it takes to declare a neighbor as down. For example, if the minimum desired transmit interval was negotiated at 10 ms and the detection multiplier is set to 3, then the detection time is 30 ms. Using the detection multiplier adds robustness to BFD by allowing the system to not bring down a neighbor if only one BFD packet is missed. | |
Specify the minimum required interval, in milliseconds, between received BFD control packets that the system is capable of supporting. |
| |
Specify the minimum desired transmit interval, in milliseconds, used by the local system when transmitting BFD control packets. |
|
Configuring BFD on an interface establishes a separate BFD session for each neighbor on the interface. Neighbors are learned by the client routing protocol (such as Open Shortest Path First [OSPF]) that has BFD detection enabled.
To configure BFD on an interface, perform the tasks described in Table 2. Enter all commands in BFD interface configuration mode, unless otherwise noted.
Task |
Root Command |
Notes |
---|---|---|
Create a BFD instance and enter BFD router configuration mode. |
Enter this command in context configuration mode. | |
Enable BFD on a named interface and enters BFD interface configuration mode. |
Enter this command in BFD router configuration mode. The interface must already be configured through the interface command (in context configuration mode) before BFD can be enabled on it. For more information about the interface command, see Configuring Contexts and Interfaces. | |
Specify the detection multiplier value. |
The negotiated minimum transmit interval (the minimum desired transmit interval agreed up by both peers) is multiplied by the detection multiplier value to provide the detection time for the transmitting system in asynchronous mode. The detection time is the time it takes to declare a neighbor as down. For example, if the minimum desired transmit interval was negotiated at 10 ms and the detection multiplier is set to 3, then the detection time is 30 ms. Using the detection multiplier adds robustness to BFD by allowing the system to not bring down a neighbor if only one BFD packet is missed. | |
Specify the minimum required interval, in milliseconds, between received BFD control packets that the system is capable of supporting. |
| |
Specify the minimum desired transmit interval, in milliseconds, used by the local system when transmitting BFD control packets. |
|
By default, when BFD is enabled for the same interface on which IS-IS or OSPF has been enabled, BFD is automatically enabled for each neighbor on the interface; however, you can disable BFD for the interface. To disable BFD for an IS-IS or OSPF interface, perform either of the tasks described in Table 3.
Task |
Root Command |
Notes |
---|---|---|
Disable BFD for an IS-IS interface. |
Enter this command in IS-IS interface configuration mode. Use the no or default form of this command to reenable BFD on the IS-IS interface. For more information about IS-IS, see Configuring IS-IS. | |
Disable BFD for an OSPF interface. |
Enter this command in OSPF interface configuration mode. Use the no or default form of this command to reenable BFD on the OSPF interface. For more information about OSPF, see Configuring OSPF. |
By default, BFD is disabled for all static routes, but you can enable BFD for a particular static route. When BFD detects a communication failure to the next hop specified for a static route (that has BFD enabled), the static route is withdrawn.
To enable BFD for a static route, perform the task described in Table 4.
Task |
Root Command |
Notes |
---|---|---|
Enable BFD for a static route. |
Enter this command in context configuration mode. Use the bfd keyword to enable BFD for a static route. For more information about static routes, see Configuring Basic IP Routing. |
By default, BFD detection is disabled on RSVP links. You must enable BFD at both the router RSVP level and for any individual neighbor that requires fast reroute (FRR).
Consider the following rules and restrictions when enabling FRR triggered by BFD to the IP next hop:
To enable FRR triggered by BFD to the IP next hop, perform the task described in Table 5.
Task |
Root Command |
---|---|
First, enable BFD on the RSVP client. Please be aware that BFD does not work if it is not first enabled at RSVP level: | |
Enter context configuration mode. |
context |
Enter RSVP router configuration mode. |
router rsvp |
Enable BFD on the RSVP client. |
bfd |
Next, enable BFD for a specific next hop neighbor: | |
Enter context configuration mode. |
context |
Create a BFD instance and enter BFD router configuration mode. |
router bfd |
Enable BFD for the next hop neighbor. |
interface |
Verify the BFD configuration for your RSVP interface. |
show rsvp interface |
By default, BFD is disabled for all eBGP neighbors, but you can enable BFD for a particular eBGP neighbor. When BFD detects a communication failure to the eBGP neighbor, the neighbor is reset.
To enable BFD for an eBGP neighbor, perform the task described in Table 6.
Task |
Root Command |
Notes |
---|---|---|
Enable BFD for an eBGP neighbor. |
Enter this command in BGP neighbor configuration mode. BFD can be enabled only for eBGP neighbors; enabling BFD for an internal Border Gateway Protocol (iBGP) neighbor generates an error message. For more information about BGP, see Configuring BGP. |
To manage BFD functions, perform the appropriate tasks described in Table 7. Enter the show command in any mode; enter the debug commands in exec mode.
Task |
Root Command |
---|---|
Enable the generation of BFD debug messages. |
|
Enable the generation of BFD debug messages for all Open Shortest Path First (OSPF) instances. |
|
Display active BFD session information for neighbors in the current context. |
The sections that follow provide BFD configuration examples.
A BFD session is established for each BFD neighbor configured. More than one BFD neighbor can be configured. The following example configures the BFD neighbor, 192.168.0.24, sets the minimum desired transmit interval to 30 ms, sets the minimum receive interval to 30 ms, and the sets detection multiplier to 4:
[local]Redback#configure [local]Redback(config)#context local [local]Redback(config-ctx)#router bfd [local]Redback(config-bfd)#neighbor 192.168.0.24 [local]Redback(config-bfd-nbr)#minimum receive-interval 30 [local]Redback(config-bfd-nbr)#minimum transmit-interval 30 [local]Redback(config-bfd-nbr)#detection-multiplier 4 [local]Redback(config-bfd-nbr)#end
Configuring BFD on an interface establishes a separate BFD session for each neighbor on the interface. Neighbors are learned by the client routing protocol (such as OSPF) that has BFD detection enabled. The following example configures BFD on the interface, foo, sets the minimum desired transmit interval to 25 ms, sets the minimum receive interval to 40 ms, and the sets detection multiplier to 2:
[local]Redback#configure [local]Redback(config)#context local [local]Redback(config-ctx)#router bfd [local]Redback(config-bfd)#interface foo [local]Redback(config-bfd-if)#minimum receive-interval 25 [local]Redback(config-bfd-if)#minimum transmit-interval 40 [local]Redback(config-bfd-if)#detection-multiplier 2 [local]Redback(config-bfd-if)#end
By default, when BFD is enabled for the same interface on which IS-IS has been enabled, BFD is automatically enabled for each neighbor on the interface; however, you can disable BFD for the interface. The following example disables BFD for the IS-IS interface, isis-foo:
[local]Redback(config)#context local [local]Redback(config-ctx)#router isis ip-backbone [local]Redback(config-isis)#interface isis-foo [local]Redback(config-isis-if)#disable-bfd [local]Redback(config-isis-if)#end
By default, when BFD is enabled for the same interface on which OSPF has been enabled, BFD is automatically enabled for each neighbor on the interface; however, you can disable BFD for the interface. The following example disables BFD for the OSPF interface, ospf-foo:
[local]Redback(config)#context local [local]Redback(config-ctx)#router ospf 15 [local]Redback(config-ospf)#interface ospf-foo [local]Redback(config-ospf-if)#disable-bfd [local]Redback(config-ospf-if)#end
By default, BFD is disabled for all static routes, but you can enable BFD for a particular static route. The following example enables BFD for the static route to 1.1.1.1/24 with the next hop, 2.2.2.2:
[local]Redback(config)#context local [local]Redback(config-ctx)#ip route 1.1.1.1/24 2.2.2.2 bfd [local]Redback(config-ctx)#end
By default, BFD is disabled for all RSVP LSPs, but you can enable BFD at both the router RSVP level and for any individual neighbor that requires FRR. The following example shows how to enable FRR triggered by BFD to the IP next hop. In this example, BFD is enabled on the RSVP client and for the next hop on the RSVP interface called rsvp1:
First, enable BFD on the RSVP client. All IP interfaces configured on that RSVP client have BFD enabled:
local]Redback#configure [local]Redback(config)#context local [local]Redback(config-ctx)#router rsvp [local]Redback(config-rsvp)#bfd
Next, enable BFD for a specific next hop neighbor:
[local]Redback(config)#context local [local]Redback(config-ctx)#router bfd [local]Redback(config-bfd)#interface rsvp1
By default, BFD is disabled for all eBGP neighbors, but you can enable BFD for a particular eBGP neighbor. The following example enables BFD for the eBGP neighbor, 8.8.8.2:
[local]Redback(config)#context local [local]Redback(config-ctx)#router bgp 100 [local]Redback(config-bgp)#neighbor 8.8.8.2 external [local]Redback(config-ospf-bgp-neighbor)#bfd [local]Redback(config-ospf-bgp-neighbor)#end