Tip

This is the documentation for the v21.03 version. Looking for the documentation of the latest version? Have a look here.

BFD Sessions

A BFD session defines a relationship between TNSR and a peer so they can exchange BFD information and detect link faults. These sessions are configured by using the bfd session <name> command, which enters config-bfd mode, and defines a BFD session using the given word for a name.

Example:

tnsr# conf
tnsr(config)# bfd session otherrouter
tnsr(config-bfd)# interface GigabitEthernet0/14/0
tnsr(config-bfd)# local address 203.0.113.2
tnsr(config-bfd)# peer address 203.0.113.25
tnsr(config-bfd)# desired-min-tx 100000
tnsr(config-bfd)# required-min-rx 100000
tnsr(config-bfd)# detect-multiplier 3
tnsr(config-bfd)# exit
tnsr(config)# exit
tnsr#

Session Parameters

interface <if-name>:

The Ethernet interface on which to enable BFD.

Warning

This interface must be directly connected to the peer (single hop), as the dataplane does not support BFD over multiple hops. It cannot be used with routing protocols running on loopback interfaces, for example.

local address <ip-address>:

The local address used as a source for BFD packets. This address must be present on <if-name>.

peer address <ip-address>:

The remote BFD peer address. The local and remote peer IP addresses must use the same address family (either IPv4 or IPv6)

desired-min-tx <microseconds>:

The desired minimum transmit interval, in microseconds

required-min-rx <microseconds>:

The required minimum transmit interval, in microseconds

detect-multiplier <n-packets>:

A non-zero value that is, roughly speaking, due to jitter, the number of packets that have to be missed in a row to declare the session to be down. Must be between 1 and 255.

Additional parameters for authentication are covered in BFD Session Authentication.

Changing the BFD Administrative State

Under normal conditions the state of a link monitored by BFD is handled automatically. The link state can also be set manually when necessary.

To disable a link and mark it administratively down:

tnsr# bfd session <name>
tnsr(config-bfd)# enable false

To remove the administrative down and return the link to BFD management:

tnsr# bfd session <name>
tnsr(config-bfd)# enable true

Viewing BFD Session Status

To see the configuration and status of a BFD session, use the show bfd session command:

tnsr# show bfd session
Session Number: 0
    Local IP Addr: 203.0.113.2
    Peer  IP Addr: 203.0.113.25
    State: down
    Required Min Rx Interval: 100000 usec
    Desired Min Tx Interval: 100000 usec
    Detect Multiplier: 3
    BFD Key Id: 123
    Configuration Key Id: 14
    Authenticated: true

Using BFD Sessions

For BFD to function fully, the BFD session status must be consumed by other interested parties. Currently on TNSR this can be BGP, OSPF, or OSPF6 dynamic routing.

BGP:

BFD can be enabled for specific BGP neighbors with the bfd enabled true command from within config-bgp-neighbor mode.

OSPF/OSPF6:

BFD can be enabled on specific OSPF interfaces with the bfd enabled true command from within config-ospf[6]-if mode.

In each case, the BGP neighbor or OSPF/OSPF6 interface must coincide exactly with the settings on a BFD session.