rfc-9384

A BGP Cease NOTIFICATION Subcode for Bidirectional Forwarding Detection (BFD)

J. Haas
date2023-03 streamIETF areartg wgidr statusPROPOSED STANDARD pages5 canonicalhttps://www.rfc-editor.org/rfc/rfc9384 doi10.17487/RFC9384
The Bidirectional Forwarding Detection (BFD) protocol (RFC 5880) is used to detect loss of connectivity between two forwarding engines, typically with low latency. BFD is leveraged by routing protocols, including the Border Gateway Protocol (BGP), to bring down routing protocol connections more quickly than the original protocol timers. This document defines a subcode for the BGP Cease NOTIFICATION message (Section 6.7 of RFC 4271) for use when a BGP connection is being closed due to a BFD session going down.

Extracted elements (9)

design-rationale §4

A BFD session may go Down due to only partial connectivity loss between two BGP speakers, meaning the remote speaker may still be reachable enough to receive the Cease NOTIFICATION. The 'BFD Down' subcode lets the receiver distinguish a BFD-detected forwarding-plane issue from a BGP speaker fault, aiding operational diagnosis.

bgp, routing

design-rationale §1

BGP's minimum Hold Time is at least three seconds (RFC 4271, Sections 4.2 and 4.4), which is too slow for fast failure detection. BFD provides sub-second detection of connectivity loss, and this subcode allows the reason for faster-than-Hold-Timer teardown to be communicated explicitly to the peer.

bgp, routing

interoperability-note §4

When RFC 8538 Graceful Restart Hard Reset procedures apply alongside a BFD Down event, the 'BFD Down' subcode must be encapsulated inside the Hard Reset NOTIFICATION data field rather than used as a standalone subcode, ensuring both mechanisms interoperate correctly.

bgp, routing

normative-requirement §4 SHOULD

Even when total loss of connectivity prevents the Cease NOTIFICATION message from being delivered, BGP speakers SHOULD still record 'BFD Down' as part of their operational state, for example via bgpPeerLastError (BGP MIB, RFC 4273) or 'last-error' per the BGP YANG model.

bgp, routing

normative-requirement §3 SHOULD

When a BGP connection is terminated due to a BFD session going into the Down state, the BGP speaker SHOULD send a NOTIFICATION message with the error code 'Cease' and the error subcode 'BFD Down'.

bgp, routing, security

normative-requirement §4 SHOULD

When the RFC 8538 procedures for sending a Cease/Hard Reset NOTIFICATION are required and the BGP connection is being terminated because BFD went Down, the 'BFD Down' subcode SHOULD be encapsulated in the Hard Reset's data portion of the NOTIFICATION message.

bgp, routing

protocol-element §3

The 'BFD Down' Cease NOTIFICATION subcode is assigned value 10 in the 'BGP Cease NOTIFICATION message subcodes' registry. It is sent to indicate that a BGP connection is being terminated because the associated BFD session transitioned to the Down state.

bgp, routing

registry §6

IANA assigned value 10 with the name 'BFD Down' in the existing 'BGP Cease NOTIFICATION message subcodes' registry, with a reference to this document (RFC 9384).

bgp, registry, routing

security-consideration §5

The 'BFD Down' subcode is purely informational and has no impact on the BGP Finite State Machine beyond what is already documented in RFC 4271, Sections 6.6 and 6.7. Its sole purpose is to help operators correlate network events and diagnose BGP peering issues.

bgp, security, routing