Skip to content

BFD

Bidirectional Forwarding Detection (BFD) is a lightweight protocol designed to provide fast failure detection for network paths between adjacent systems, enabling rapid convergence of routing protocols. It operates by sending periodic control packets between systems to detect path failures in milliseconds rather than the seconds or minutes required by traditional routing protocol hello mechanisms. BFD can be integrated with various routing protocols like OSPF, BGP, and EIGRP to dramatically improve network convergence times and overall network stability.

Diagram

Diagram

Classes

configuration (iosxe.devices)

NameTypeConstraintMandatoryDefault Value
bfdClass[bfd]No

bfd (iosxe.devices.configuration)

NameTypeConstraintMandatoryDefault Value
multi_hop_templatesList[multi_hop_templates]No
single_hop_templatesList[single_hop_templates]No
ipv4_mapsList[ipv4_maps]No
ipv6_mapsList[ipv6_maps]No
slow_timersIntegermin: 1000, max: 30000No

multi_hop_templates (iosxe.devices.configuration.bfd)

NameTypeConstraintMandatoryDefault Value
nameStringYes
echoBooleantrue, falseNo
interval_milliseconds_bothIntegerNo
interval_milliseconds_min_txIntegerNo
interval_milliseconds_min_rxIntegerNo
interval_milliseconds_multiplierIntegermin: 3, max: 50No
interval_microsecondsBooleantrue, falseNo
interval_microseconds_bothIntegerNo
interval_microseconds_min_txIntegerNo
interval_microseconds_min_rxIntegerNo
interval_microseconds_multiplierIntegerNo
authentication_md5_keychainStringNo
authentication_meticulous_md5_keychainStringNo
authentication_meticulous_sha1_keychainStringNo
authentication_sha1_keychainStringNo
dampening_half_timeIntegermin: 1, max: 30No
dampening_unsuppress_timeIntegermin: 1, max: 18000No
dampening_suppress_timeIntegermin: 1, max: 18000No
dampening_max_suppressing_timeIntegermin: 1, max: 420No
dampening_thresholdIntegerNo
dampening_down_monitoringBooleantrue, falseNo

single_hop_templates (iosxe.devices.configuration.bfd)

NameTypeConstraintMandatoryDefault Value
nameStringYes
echoBooleantrue, falseNo
interval_milliseconds_bothIntegerNo
interval_milliseconds_min_txIntegerNo
interval_milliseconds_min_rxIntegerNo
interval_milliseconds_multiplierIntegerNo
interval_microseconds_min_txIntegerNo
interval_microseconds_min_rxIntegerNo
authentication_md5_keychainStringNo
authentication_meticulous_md5_keychainStringNo
authentication_meticulous_sha1_keychainStringNo
authentication_sha1_keychainStringNo
dampening_half_timeIntegermin: 1, max: 30No
dampening_unsuppress_timeIntegermin: 1, max: 18000No
dampening_suppress_timeIntegermin: 1, max: 18000No
dampening_max_suppressing_timeIntegermin: 1, max: 420No

ipv4_maps (iosxe.devices.configuration.bfd)

NameTypeConstraintMandatoryDefault Value
destination_vrfStringNo
destination_prefixIPYes
source_vrfStringNo
source_prefixIPYes
templateStringYes

ipv6_maps (iosxe.devices.configuration.bfd)

NameTypeConstraintMandatoryDefault Value
destination_vrfStringNo
destination_prefixIPYes
source_vrfStringNo
source_prefixIPYes
templateStringYes

Examples

iosxe:
devices:
- name: Device1
configuration:
bfd:
slow_timers: 2000
ipv4_maps:
- destination_vrf: VRF-A
destination_prefix: 192.168.1.1
source_vrf: VRF-B
source_prefix: 10.1.1.1
template: single-hop-template-1
- destination_prefix: 172.16.1.1
source_prefix: 10.2.2.1
template: multi-hop-template-1
ipv6_maps:
- destination_vrf: VRF-IPv6
destination_prefix: 2001:db8:1::1
source_vrf: VRF-IPv6
source_prefix: 2001:db8:2::1
template: single-hop-template-2
single_hop_templates:
- name: single-hop-template-1
echo: true
interval_milliseconds_both: 100
interval_milliseconds_multiplier: 3
authentication_md5_keychain: md5-keychain-1
dampening_half_time: 5
dampening_unsuppress_time: 300
dampening_suppress_time: 600
dampening_max_suppressing_time: 60
- name: single-hop-template-2
interval_microseconds_min_tx: 50000
interval_microseconds_min_rx: 50000
authentication_sha1_keychain: sha1-keychain-1
multi_hop_templates:
- name: multi-hop-template-1
echo: false
interval_milliseconds_both: 200
interval_milliseconds_multiplier: 5
authentication_meticulous_md5_keychain: meticulous-md5-keychain
dampening_half_time: 10
dampening_threshold: 1000
dampening_down_monitoring: true
- name: multi-hop-template-2
interval_microseconds: true
interval_microseconds_both: 100000
interval_microseconds_multiplier: 4
authentication_meticulous_sha1_keychain: meticulous-sha1-keychain