Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

BFD (bfd)

Reached from

Lower layerSelectorValue
udpdst_port / src_port3784 (0x0ec8)
udpdst_port / src_port4784 (0x12b0)
udpdst_port / src_port6784 (0x1a80)

Fields

FieldTypeDefaultAutoDescription
versionuint(3)1BFD version (1).
diagenum(5)0 (no_diagnostic)Diagnostic code: the reason of the last state change of the local session.
stateenum(2)1 (down)Session state: 0 AdminDown, 1 Down, 2 Init, 3 Up.
puint(1)0P bit: Poll (a parameter change, the peer answers with F).
fuint(1)0F bit: Final (answer to a Poll).
cuint(1)0C bit: Control Plane Independent.
auint(1)Number of items of authenticationA bit: authentication present (Auto: set when there is an authentication section).
duint(1)0D bit: Demand mode.
muint(1)0M bit: Multipoint (0).
detect_multuint(8)3Detect time multiplier.
lengthuint(8)Length of the header in octetsLength of the control packet in octets, including the authentication section (Auto).
my_discriminatoruint(32)1My discriminator: a non-zero value unique to the session on the sender.
your_discriminatoruint(32)0Your discriminator: the peer’s discriminator (0 while unknown).
desired_min_tx_intervaluint(32)1000000Desired minimum TX interval in microseconds.
required_min_rx_intervaluint(32)1000000Required minimum RX interval in microseconds.
required_min_echo_rx_intervaluint(32)0Required minimum echo RX interval in microseconds (0 = no echo).
authenticationtlv — length - 24 octetsAuthentication section (8-bit type, 8-bit length including the header): simple password, keyed MD5 / SHA1 and their meticulous variants. The digest / hash is Manual.

diag

ValueName
0no_diagnostic
1control_detection_time_expired
2echo_function_failed
3neighbor_signaled_session_down
4forwarding_plane_reset
5path_down
6concatenated_path_down
7administratively_down
8reverse_concatenated_path_down
9mis_connectivity_defect

state

ValueName
0admin_down
1down
2init
3up

authentication

  • Type 8 bits, length 8 bits.
  • The length counts the type and length fields too.
  • Unknown types are kept as raw value octets.
TypeNameValue fieldsDescription
1 (0x01)simple_passwordkey_id, password
2 (0x02)keyed_md5key_id, reserved, sequence_number, digest
3 (0x03)meticulous_keyed_md5key_id, reserved, sequence_number, digest
4 (0x04)keyed_sha1key_id, reserved, sequence_number, hash
5 (0x05)meticulous_keyed_sha1key_id, reserved, sequence_number, hash

authentication › simple_password

FieldTypeDefaultAutoDescription
key_iduint(8)1
passwordbytes — rest of the PDU

authentication › keyed_md5

FieldTypeDefaultAutoDescription
key_iduint(8)1
reserveduint(8)0
sequence_numberuint(32)
digestbytes(16)

authentication › meticulous_keyed_md5

FieldTypeDefaultAutoDescription
key_iduint(8)1
reserveduint(8)0
sequence_numberuint(32)
digestbytes(16)

authentication › keyed_sha1

FieldTypeDefaultAutoDescription
key_iduint(8)1
reserveduint(8)0
sequence_numberuint(32)
hashbytes(20)

authentication › meticulous_keyed_sha1

FieldTypeDefaultAutoDescription
key_iduint(8)1
reserveduint(8)0
sequence_numberuint(32)
hashbytes(20)

Constraints

LevelRule
warningversion = 1
warningdetect_mult ≠ 0
warningmy_discriminator ≠ 0
errorheader at least 24 octets

Sample templates