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 command below 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 output below 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 neighbor vrf main
BFD Neighbors:
    neighbor fe80::dced:2ff:fe36:2033 l3vrf default
        Local Address: fe80::dced:2ff:fe5f:9f58
        Type: single-hop
        ID: 3489785019
        Remote ID: 3403613231
        Active mode
        Status: up
        Uptime: 48 second(s)
        Diagnostics: ok
        Remote diagnostics: ok
        RTT min/avg/max: 0/0/0 usec
        Local timers:
            Detect-multiplier: 4
            Receive interval: 200ms
            Transmission interval: 200ms
            Echo receive interval: 50ms
            Echo transmission interval: 0ms
        Remote timers:
            Detect-multiplier: 4
            Receive interval: 200ms
            Transmission interval: 200ms
            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.