rfc-8671

Support for Adj-RIB-Out in the BGP Monitoring Protocol (BMP)

T. Evens, S. Bayraktar, P. Lucente, P. Mi, S. Zhuang
date2019-11 streamIETF areaops wggrow statusPROPOSED STANDARD pages9 canonicalhttps://www.rfc-editor.org/rfc/rfc8671 doi10.17487/RFC8671
The BGP Monitoring Protocol (BMP) only defines access to the Adj-RIB-In Routing Information Bases (RIBs). This document updates BMP (RFC 7854) by adding access to the Adj-RIB-Out RIBs. It also adds a new flag to the peer header to distinguish between Adj-RIB-In and Adj-RIB-Out.

updated by

updates

Extracted elements (20)

design-rationale §5.2

Pre-policy Adj-RIB-Out does not contain all local RIB routes; it contains only the candidate routes available based on the BGP peering type (IBGP, IBGP RR client, EBGP, confederation, route server client). This mirrors the candidate-set semantics of RFC 4271 rather than exposing the full local RIB.

bgp, routing

design-rationale §7.1

The Admin Label TLV was introduced instead of a peer group name because BGP implementations use structured, hierarchical policy groupings (session, AFI/SAFI, template-based inheritance) that do not map to a single flat group name or ID. Free-form labels allow operators to attach administratively meaningful metadata (e.g., 'type=wholesale', 'region=west') without requiring protocol-level group semantics.

bgp, routing

normative-requirement §6.3 SHOULD

BMP receiver implementations SHOULD ignore the O flag in Peer Up and Down Notifications, as these convey session state independent of whether Adj-RIB-In or Adj-RIB-Out monitoring is used.

bgp, routing

normative-requirement §5.2 MUST

For pre-policy Adj-RIB-Out, all mandatory attributes (such as next hop) that are unknown at pre-policy phase completion MUST be either zero or have an empty length. The BMP receiver will treat such attributes as self-originated.

bgp, routing

normative-requirement §7.2 MUST

If any change results in alteration of behavior of an existing BMP session (e.g., changes to filtering or table names), the session MUST be bounced with a Peer Down/Peer Up sequence.

bgp, routing

normative-requirement §5.1 MUST

Post-policy Adj-RIB-Out MUST convey to the BMP receiver what is actually transmitted to the peer, reflecting all attribute modifications and filters applied by outbound policy.

bgp, routing

normative-requirement §4 MUST

Reserved bits in the per-peer header flags MUST be transmitted as 0, and their values MUST be ignored on receipt.

bgp, routing

normative-requirement §6.2 MUST

Statistics Report messages are not specific to Adj-RIB-In or Adj-RIB-Out and MUST have the O flag set to zero; BMP receivers SHOULD ignore the O flag in these messages.

bgp, routing

normative-requirement §5.2 MUST

The L flag MUST be set to 0 to indicate pre-policy Adj-RIB-Out.

bgp, routing

normative-requirement §5.1 MUST

The L flag MUST be set to 1 to indicate post-policy Adj-RIB-Out.

bgp, routing

normative-requirement §6.1 MUST

The O flag MUST be set accordingly in Route Monitoring and Route Mirroring messages to indicate whether the message conveys Adj-RIB-In or Adj-RIB-Out.

bgp, routing

normative-requirement §6.3.1 MUST

When multiple Admin Labels are included in a Peer Up Notification, the BMP receiver MUST preserve their order.

bgp, routing

protocol-element §6.3.1

A new Peer Up Information TLV Type 4 (Admin Label) is defined: a free-form UTF-8 string of byte length given by the Information Length field, administratively assigned, with no required null termination. Multiple Admin Labels may be included in a single Peer Up Notification.

bgp, routing

protocol-element §6.2

Four new Statistics Report types are defined: Stat Type 14 (pre-policy Adj-RIB-Out route count, 64-bit Gauge), Type 15 (post-policy Adj-RIB-Out route count, 64-bit Gauge), Type 16 (per-AFI/SAFI pre-policy, 2-byte AFI + 1-byte SAFI + 64-bit Gauge), and Type 17 (per-AFI/SAFI post-policy, same structure).

bgp, routing

protocol-element §4

The O flag is added to bit 3 of the per-peer header flags byte. When set to 0, it indicates Adj-RIB-In; when set to 1, it indicates Adj-RIB-Out.

bgp, routing

protocol-element §4

When O flag is 1, the Timestamp field in the per-peer header represents the time when the encapsulated routes were advertised (or installed in the Adj-RIB-Out), in seconds and microseconds since the Unix epoch. A value of zero means the time is unavailable.

bgp, routing

protocol-element §4

When the O flag is set to 1 (Adj-RIB-Out), the Peer Address, Peer AS, and Peer BGP ID fields in the per-peer header are redefined to refer to the remote peer to which the encapsulated PDU is sent, rather than from which it was received.

bgp, routing

registry §9

Three IANA registries under 'BGP Monitoring Protocol (BMP) Parameters' are updated: (1) BMP Peer Flags — O flag assigned to bit 3; (2) BMP Statistics Types — types 14–17 for Adj-RIB-Out route counts; (3) BMP Initiation Message TLVs — Type 4 for Admin Label.

registry, bgp

security-consideration §8 SHOULD

All security considerations from Section 11 of RFC 7854 apply. Implementations SHOULD require establishing BMP sessions with authorized and trusted monitoring devices. This document is believed to introduce no additional security considerations.

security, bgp

wire-format §4

The per-peer header flags byte is extended to 'V|L|A|O|Resv' (8 bits). The O flag occupies bit 3; remaining reserved bits MUST be transmitted as 0 and MUST be ignored on receipt.

bgp, routing