BFD In ISIS¶
BFD can be used in IS-IS, the failover mechanism is greatly improved by detecting
the loss of remote IS-IS devices. Instead of relying on standard hello
mechanisms,
BFD permits faster convergence.
See also
BFD Configuration and monitoring in ISIS¶
A BFD single-hop
peer session context is created for each newly discovered IS-IS
neighbor.
vsr running config# vrf main
vsr running vrf main# routing interface eth0
vsr running interface eth0# isis area-tag 1
vsr running interface eth0# isis track bfd
vsr running interface eth0# ..
vsr running routing# isis instance 1
vsr running instance 1# is-type level-1
vsr running instance 1# area-address 49.0000.0007.e901.0203.00
vsr running instance 1# .. ..
vsr running routing# ..
vsr running vrf main# interface physical eth0
vsr running physical eth0#! port pci-b0s5
vsr running physical eth0# ipv4 address 10.125.0.1/24
vsr running physical eth0#
For timer settings, the default emission and reception settings are set to 300000 microseconds, which may not be what is wished. In that case, it is possible to override default timers, by configuring general timer settings.
You can also set a settings profile in BFD (See : Configuring general BFD settings) and track this profile if you want different timings for different interfaces.
vsr running interface eth0# isis track bfd-profile-peer1
The below command gives information about the last flapping issue detected. It includes BFD notifications.
vsr running config# show isis neighbor detail
Area 1:
vsr2
Interface: ntfp2, Level: 1, State: Up, Expires in 3s
Adjacency flaps: 1, Last: 1h24m11s ago
Circuit type: L1, Speaks: IPv4
Topologies:
ipv4-unicast
SNPA: deed.026b.1496, LAN id: 0000.0000.0000.00
LAN Priority: 64, unknown DIS state, DIS flaps: 1, Last: 1h24m11s ago
Area Address(es):
49.0000
IPv4 Address(es):
10.125.0.2
By enabling BFD logging service, some traces are available as the below output shows:
vsr running config# routing logging isis bfd enabled true
vsr running config# routing logging level debug enabled true
[..]
vsr running config# show log service routing isis
Jan 13 11:55:18 dut-vm isisd[18801]: 2022/01/13 11:55:18 ISIS: [H9Q51-XKCPN] ISIS-BFD: BFD changed status for adjacency router-vm old Unknown new Down
Jan 13 11:55:19 dut-vm isisd[18801]: 2022/01/13 11:55:19 ISIS: [H9Q51-XKCPN] ISIS-BFD: BFD changed status for adjacency router-vm old Down new Up
[..]
Note
BFD uses IPv6 link local ipv6 address, once ipv6-routing
is enabled.
vsr running config# vrf main
vsr running vrf main# routing interface eth0
vsr running interface eth0# isis area-tag 1
vsr running interface eth0# isis ipv6-routing true
vsr running interface eth0# isis track bfd
vsr running interface eth0# ..
vsr running routing# isis instance 1
vsr running instance 1# is-type level-1
vsr running instance 1# area-address 49.0000.0007.e901.0203.00
vsr running instance 1# commit
[..]
vsr running config# show bfd vrf main
BFD Peers:
peer fe80::dced:2ff:fea9:dc16 local-address fe80::dced:2ff:fe6b:1496 vrf default interface eth0
ID: 1616390077
Remote ID: 2896717661
Active mode
Status: up
Uptime: 1 second(s)
Diagnostics: ok
Remote diagnostics: ok
Peer Type: dynamic
Local timers:
Detect-multiplier: 3
Receive interval: 300ms
Transmission interval: 300ms
Echo receive interval: 50ms
Echo transmission interval: disabled
Remote timers:
Detect-multiplier: 3
Receive interval: 300ms
Transmission interval: 300ms
Echo receive interval: 50ms
The advertise-bfd-enabled-tlv
keyword integrates TLVs in the IIH messages, and indicates
which topology and which network protocol is protected thanks to BFD. This presence guarantees
that a BFD session must be established before an IS-IS adjacency can transition to the
established state.
See also
Configuring advertise-bfd-enabled-tlv
support is done by using the following command:
vsr running config# vrf main
vsr running vrf main# routing interface eth0
vsr running interface eth0# isis area-tag 1
vsr running interface eth0# isis track bfd
vsr running interface eth0# isis advertise-bfd-enabled-tlv ipv4 true
vsr running interface eth0#
The BFD peer session will be used as soon as the TLVs options of the remote neighbor match the local topologies and network protocols used. When the BFD options match, and the BFD session detects a failure, the local device turns off the adjacency, and sends modified IIH messages without neighbor TLV information.
Note
BFD uses some transition mechanisms that avoid the BFD session to flap, when a change in the local or the remote configuration is detected (administrative shutdown, or topology change impacting the emitted TLV options. In those circumstances, the IIH timers from the remote adjacency will not be refreshed, assuming the configuration change is transitory.