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 overview.

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

RFC 6213.

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.