rfc-9972

Advanced BGP Monitoring Protocol (BMP) Statistics Types

M. Srivastava (Editor), Y. Liu, C. Lin (Editor), J. Li
date2026-05 streamIETF areaops wggrow statusPROPOSED STANDARD pages15 canonicalhttps://www.rfc-editor.org/rfc/rfc9972 doi10.17487/RFC9972
The BGP Monitoring Protocol (BMP) described in RFC 7854 defines statistics message types to observe events that occur on a monitored router. This document defines new statistics types to monitor BMP Adj-RIB-In and Adj-RIB-Out Routing Information Bases (RIBs).

Extracted elements (25)

design-rationale §1

New statistics are defined as Gauges rather than counters because they represent current state (instantaneous snapshot) rather than cumulative event counts, enabling operators to observe the real-time state of RIBs across policy and validation dimensions.

bgp, measurement

design-rationale §3.2

Type 22 is defined as a 64-bit Gauge (not a counter like Stat Type 0) to reflect the current number of routes rejected by an inbound policy, because this number can decrease as policy configurations change — making a monotonically increasing counter semantically incorrect for this use case.

bgp, measurement

interoperability-note §5

For backward compatibility, BMP producers capable of generating both Types 7 and 18, and both Types 9 and 19, are RECOMMENDED to transmit both corresponding types simultaneously, allowing collectors to process either format without disrupting existing implementations.

bgp, measurement

interoperability-note §5

When Types 26, 27, 28, 31, and 32 apply to the Loc-RIB view, the 'Peer Type' field in the Per-Peer Header MUST be set to 3 (Loc-RIB Instance Peer) as defined in RFC 9069.

bgp, measurement

normative-requirement §3.1 MUST

A BMP implementation MUST ignore unrecognized Stat Types upon receipt, ensuring forward compatibility with future statistics type definitions.

bgp, measurement

normative-requirement §5 MUST

BMP statistics producers and collectors MUST track Gauge discontinuities (e.g., from manual clearance or overflow) and log this anomaly. They MAY perform consistency checks but MUST NOT assume strict dependencies between global and per-AFI/SAFI counts due to potential race conditions.

bgp, measurement

normative-requirement §3.1 MUST NOT

For Per-AFI/SAFI Statistics, the 'Stat Len' MUST be set to 11, and duplicate (AFI, SAFI) pairs MUST NOT appear within the same BMP Statistics Report message. Per-AFI/SAFI statistics MUST NOT be included if there is no data to report for that AFI/SAFI.

bgp, measurement

normative-requirement §5 SHOULD

Statistics dependent on optional features (GR, LLGR, RPKI) SHOULD only be generated and sent when those features are enabled on the BMP producer. Affected types include 26–37 and 39–43.

bgp, measurement

normative-requirement §3.1 MUST

When statistics apply to the Loc-RIB, the 'Peer Type' field in the Per-Peer Header of the BMP Statistics Report message MUST be set to 3 (Loc-RIB Instance Peer) per RFC 9069; otherwise it MUST be set as defined in Section 4.2 of RFC 7854.

bgp, measurement

protocol-element §3.2

Type 18 is a 64-bit Gauge reporting the current number of routes in the pre-policy Adj-RIB-In (global). It explicitly disambiguates the pre-policy scope of the similar Stat Type 7 from RFC 7854.

bgp, measurement

protocol-element §3.2

Type 19 is a per-AFI/SAFI 64-bit Gauge reporting the current number of routes in the pre-policy Adj-RIB-In, encoded as 2-byte AFI + 1-byte SAFI + 64-bit Gauge (11 bytes total).

bgp, measurement

protocol-element §3.2

Type 20 is a 64-bit Gauge for the current number of routes in the post-policy Adj-RIB-In (global); Type 21 is its per-AFI/SAFI counterpart with 11-byte encoding.

bgp, measurement

protocol-element §3.2

Type 22 is a per-AFI/SAFI 64-bit Gauge of routes in the pre-policy Adj-RIB-In rejected by an inbound policy. Unlike Stat Type 0 (a monotonically increasing 32-bit counter), Type 22 is a Gauge reflecting the current count due to ongoing policy configuration changes.

bgp, measurement

protocol-element §3.3

Type 38 is a per-AFI/SAFI 64-bit Gauge of routes in the pre-policy Adj-RIB-Out rejected by an outbound policy — representing active routes that would have been advertised absent the policy.

bgp, measurement

protocol-element §3.2

Types 26, 27, and 28 are per-AFI/SAFI 64-bit Gauges tracking routes in post-policy Adj-RIB-In or Loc-RIB that are suppressed by route-damping (RFC 2439), marked stale by Graceful Restart (RFC 4724), and marked stale by Long-Lived Graceful Restart (RFC 9494), respectively.

bgp, measurement

protocol-element §3.2

Types 29 and 30 are Gauges reporting the number of routes remaining before the received-route threshold (RFC 4271 Section 6.7) is exceeded, globally and per-AFI/SAFI respectively.

bgp, measurement

protocol-element §3.2

Types 31 and 32 are Gauges for routes remaining before a license-customized route threshold is exceeded, globally and per-AFI/SAFI. These MUST NOT be reported if no such license is configured or if the license imposes no hard limit.

bgp, measurement

protocol-element §3.2

Types 33 and 34 are Gauges counting routes in the pre-policy Adj-RIB-In rejected due to exceeding the locally configured maximum AS_PATH length, globally and per-AFI/SAFI.

bgp, measurement

protocol-element §3.2

Types 35, 36, and 37 are per-AFI/SAFI Gauges tracking RPKI route origin validation outcomes in post-policy Adj-RIB-In: invalidated (origin ASN or prefix length mismatch), validated, and NotFound (no matching ROA), respectively.

bgp, measurement, security

protocol-element §3.3

Types 39 and 40 are Gauges for routes in the pre-policy Adj-RIB-Out filtered due to AS_PATH length exceeding the locally configured maximum, globally and per-AFI/SAFI.

bgp, measurement

protocol-element §3.3

Types 41, 42, and 43 are per-AFI/SAFI Gauges for RPKI route origin validation outcomes in post-policy Adj-RIB-Out: invalidated, validated, and NotFound, mirroring Types 35–37 for the outbound direction.

bgp, measurement, security

registry §8

IANA has assigned 22 new entries (Types 18–23, 26–43) in the 'BMP Statistics Types' registry within the 'BGP Monitoring Protocol (BMP) Parameters' registry group, each referencing RFC 9972.

bgp, registry, measurement

security-consideration §7 SHOULD

This document does not add new security considerations beyond those in RFC 7854 (Section 11), RFC 8671 (Section 8), and RFC 9069 (Section 7). Monitored devices SHOULD be configured to implement rate-limited reporting of new Gauges to avoid control plane resource exhaustion.

bgp, security, measurement

wire-format §3.1

Global Statistics use a 64-bit unsigned integer Gauge in the 'Stat Data' field; the 'Stat Len' field MUST be set to 8. Each global statistic MUST appear only once in a BMP Statistics Report message.

bgp, measurement

wire-format §3.1

Per-AFI/SAFI Statistics encode 'Stat Data' as an 11-byte value: 2-byte AFI, 1-byte SAFI, and a 64-bit Gauge; 'Stat Len' MUST be set to 11. Duplicate (AFI, SAFI) pairs MUST NOT appear within the same BMP Statistics Report message.

bgp, measurement