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 Classes configuration (iosxe.devices) Name Type Constraint Mandatory Default Value bfd Class [bfd]
No
bfd (iosxe.devices.configuration) Name Type Constraint Mandatory Default Value multi_hop_templates List [multi_hop_templates]
No single_hop_templates List [single_hop_templates]
No ipv4_maps List [ipv4_maps]
No ipv6_maps List [ipv6_maps]
No slow_timers Integer min: 1000
, max: 30000
No
multi_hop_templates (iosxe.devices.configuration.bfd) Name Type Constraint Mandatory Default Value name String Yes echo Boolean true
, false
No interval_milliseconds_both Integer No interval_milliseconds_min_tx Integer No interval_milliseconds_min_rx Integer No interval_milliseconds_multiplier Integer min: 3
, max: 50
No interval_microseconds Boolean true
, false
No interval_microseconds_both Integer No interval_microseconds_min_tx Integer No interval_microseconds_min_rx Integer No interval_microseconds_multiplier Integer No authentication_md5_keychain String No authentication_meticulous_md5_keychain String No authentication_meticulous_sha1_keychain String No authentication_sha1_keychain String No dampening_half_time Integer min: 1
, max: 30
No dampening_unsuppress_time Integer min: 1
, max: 18000
No dampening_suppress_time Integer min: 1
, max: 18000
No dampening_max_suppressing_time Integer min: 1
, max: 420
No dampening_threshold Integer No dampening_down_monitoring Boolean true
, false
No
single_hop_templates (iosxe.devices.configuration.bfd) Name Type Constraint Mandatory Default Value name String Yes echo Boolean true
, false
No interval_milliseconds_both Integer No interval_milliseconds_min_tx Integer No interval_milliseconds_min_rx Integer No interval_milliseconds_multiplier Integer No interval_microseconds_min_tx Integer No interval_microseconds_min_rx Integer No authentication_md5_keychain String No authentication_meticulous_md5_keychain String No authentication_meticulous_sha1_keychain String No authentication_sha1_keychain String No dampening_half_time Integer min: 1
, max: 30
No dampening_unsuppress_time Integer min: 1
, max: 18000
No dampening_suppress_time Integer min: 1
, max: 18000
No dampening_max_suppressing_time Integer min: 1
, max: 420
No
ipv4_maps (iosxe.devices.configuration.bfd) Name Type Constraint Mandatory Default Value destination_vrf String No destination_prefix IP Yes source_vrf String No source_prefix IP Yes template String Yes
ipv6_maps (iosxe.devices.configuration.bfd) Name Type Constraint Mandatory Default Value destination_vrf String No destination_prefix IP Yes source_vrf String No source_prefix IP Yes template String Yes
Examples destination_prefix : 192.168.1.1
template : single-hop-template-1
- destination_prefix : 172.16.1.1
template : multi-hop-template-1
- destination_vrf : VRF-IPv6
destination_prefix : 2001:db8:1::1
source_prefix : 2001:db8:2::1
template : single-hop-template-2
- name : single-hop-template-1
interval_milliseconds_both : 100
interval_milliseconds_multiplier : 3
authentication_md5_keychain : md5-keychain-1
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
- name : multi-hop-template-1
interval_milliseconds_both : 200
interval_milliseconds_multiplier : 5
authentication_meticulous_md5_keychain : meticulous-md5-keychain
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