Skip to content

BFD

BFD is a protocol used to detect faults between two forwarding engines connected by a link. On IOS-XR, BFD provides sub-second failure detection for routing protocols such as BGP, IS-IS, and OSPF, enabling faster convergence than protocol-native keepalive timers. It supports single-hop, multi-hop, and bundle-member sessions with configurable dampening to prevent route flapping during unstable link conditions.

Diagram
NameTypeConstraintMandatoryDefault Value
bfdClass[bfd]No

NameTypeConstraintMandatoryDefault Value
echo_disableBooleantrue, falseNo
echo_latency_detectBooleantrue, falseNo
echo_latency_detect_percentageIntegermin: 100, max: 250No
echo_latency_detect_countIntegermin: 1, max: 10No
echo_startup_validate_forceBooleantrue, falseNo
echo_ipv4_sourceIPNo
echo_ipv4_bundle_per_member_minimum_intervalIntegermin: 15, max: 2000No
trap_singlehop_pre_mappedBooleantrue, falseNo
multipath_locationsList[multipath_locations]No
multihop_ttl_drop_thresholdIntegermin: 0, max: 254No
dampening_initial_waitIntegermin: 1, max: 3600000No
dampening_secondary_waitIntegermin: 1, max: 3600000No
dampening_maximum_waitIntegermin: 1, max: 3600000No
dampening_thresholdIntegermin: 60000, max: 3600000No
dampening_extensions_down_monitoringBooleantrue, falseNo
dampening_disableBooleantrue, falseNo
dampening_bundle_member_l3_only_modeBooleantrue, falseNo
dampening_bundle_member_initial_waitIntegermin: 1, max: 518400000No
dampening_bundle_member_secondary_waitIntegermin: 1, max: 518400000No
dampening_bundle_member_maximum_waitIntegermin: 1, max: 518400000No
bundle_coexistence_bob_blbChoiceinherit, logicalNo
ipv6_checksum_disableBooleantrue, falseNo
interfacesList[interfaces]No

multipath_locations (iosxr.devices.configuration.bfd)

Section titled “multipath_locations (iosxr.devices.configuration.bfd)”
NameTypeConstraintMandatoryDefault Value
location_idStringYes

interfaces (iosxr.devices.configuration.bfd)

Section titled “interfaces (iosxr.devices.configuration.bfd)”
NameTypeConstraintMandatoryDefault Value
interface_nameStringYes
echo_disableChoicedisable, enableNo
echo_ipv4_sourceIPNo
ipv6_checksum_disableBooleantrue, falseNo
disableBooleantrue, falseNo
local_addressIPNo
tx_intervalIntegermin: 3000, max: 30000000No
rx_intervalIntegermin: 3000, max: 30000000No
multiplierIntegermin: 2, max: 50No

Example-1: Configure BFD with echo latency detection.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
hostname: router-1
bfd:
echo_latency_detect_percentage: 200
echo_latency_detect_count: 10
echo_startup_validate_force: true

Example-2: Configure BFD with echo IPv4 source and trap settings.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
hostname: router-1
bfd:
echo_ipv4_source: 10.1.1.1
echo_ipv4_bundle_per_member_minimum_interval: 200
trap_singlehop_pre_mapped: true

Example-3: Configure BFD dampening settings.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
hostname: router-1
bfd:
dampening_initial_wait: 3600
dampening_secondary_wait: 3200
dampening_maximum_wait: 3100
dampening_threshold: 60000
dampening_extensions_down_monitoring: true

Example-4: Configure BFD with interface-specific settings.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
hostname: router-1
bfd:
bundle_coexistence_bob_blb: "inherit"
ipv6_checksum_disable: true
interfaces:
- interface_name: GigabitEthernet0/0/0/0
echo_ipv4_source: 12.1.1.1
ipv6_checksum_disable: true
local_address: 12.1.1.1
tx_interval: 300000
rx_interval: 300000
multiplier: 40