rfc9972v1.txt   rfc9972.txt 
skipping to change at line 73 skipping to change at line 73
8. IANA Considerations 8. IANA Considerations
9. References 9. References
9.1. Normative References 9.1. Normative References
Acknowledgements Acknowledgements
Authors' Addresses Authors' Addresses
1. Introduction 1. Introduction
Section 4.8 of [RFC7854] defines a number of different BGP Monitoring Section 4.8 of [RFC7854] defines a number of different BGP Monitoring
Protocol (BMP) statistics types to observe major events that occur on Protocol (BMP) statistics types to observe major events that occur on
a monitored router. Statistics are either counters or gauges. a monitored router. Statistics are either counters or Gauges.
Section 6.2 of [RFC8671] also defines several BMP statistics types Section 6.2 of [RFC8671] also defines several BMP statistics types
for Adj-RIB-Out of a monitored router. for Adj-RIB-Out of a monitored router.
New BMP statistics types are needed to enable more-refined BGP route New BMP statistics types are needed to enable more-refined BGP route
monitoring and analysis to improve operational maintenance and monitoring and analysis to improve operational maintenance and
troubleshooting capabilities. troubleshooting capabilities.
This document defines gauges for new BMP statistics. The This document defines Gauges for new BMP statistics. The
applicability scope of these new gauges (Adj-RIB-In, Adj-RIB-Out, applicability scope of these new Gauges (Adj-RIB-In, Adj-RIB-Out,
Loc-RIB) is provided in Section 4. The format of the BMP statistics Loc-RIB) is provided in Section 4. The format of the BMP Statistics
message remains the same as defined in [RFC7854]. Report message remains the same as defined in [RFC7854].
1.1. Requirements Language 1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
| Note that the key words are used to stress importance for | Note that the key words are used to stress importance for
| operations; they are not required as a formal implementation | operations; they are not required as a formal implementation
| requirement. | requirement.
2. Terminology 2. Terminology
This document makes use of the following terms: This document makes use of the following terms:
Adj-RIB-In: As defined in [RFC4271]: Adj-RIB-In: As defined in Section 1.1 of [RFC4271]:
| The Adj-RIBs-In contains unprocessed routing information that | The Adj-RIBs-In contains unprocessed routing information that
| has been advertised to the local BGP speaker by its peers. | has been advertised to the local BGP speaker by its peers.
Pre-policy Adj-RIB-In: The result before applying the inbound policy Pre-policy Adj-RIB-In: The result before applying the inbound policy
to an Adj-RIB-In. Note that this is an explicit definition that to an Adj-RIB-In. Note that this is an explicit definition that
aligns with the pre-policy Adj-RIB-In concept specified in aligns with the pre-policy Adj-RIB-In concept specified in
Section 2 of [RFC7854]. Section 2 of [RFC7854].
Post-policy Adj-RIB-In: As defined in Section 2 of [RFC7854]. Post-policy Adj-RIB-In: As defined in Section 2 of [RFC7854]:
Adj-RIB-Out: As defined in [RFC4271]: | The result of applying inbound policy to an Adj-RIB-In, but
| prior to the application of route selection to form the Loc-
| RIB.
Adj-RIB-Out: As defined in Section 1.1 of [RFC4271]:
| The Adj-RIBs-Out contains the routes for advertisement to | The Adj-RIBs-Out contains the routes for advertisement to
| specific peers by means of the local speaker's UPDATE messages. | specific peers by means of the local speaker's UPDATE messages.
Pre-policy Adj-RIB-Out: As defined in Section 3 of [RFC8671]. Pre-policy Adj-RIB-Out: As defined in Section 3 of [RFC8671]:
Post-policy Adj-RIB-Out: As defined in Section 3 of [RFC8671]. | The result before applying the outbound policy to an
| Adj-RIB-Out. This normally would match what is in the local
| RIB.
Post-policy Adj-RIB-Out: As defined in Section 3 of [RFC8671]:
| The result of applying outbound policy to an Adj-RIB-Out. This
| MUST convey to the BMP receiver what is actually transmitted to
| the peer.
Loc-RIB: As defined in Section 1.1 of [RFC4271]: Loc-RIB: As defined in Section 1.1 of [RFC4271]:
| The Loc-RIB contains the routes that have been selected by the | The Loc-RIB contains the routes that have been selected by the
| local BGP speaker's Decision Process." Note that the Loc-RIB | local BGP speaker's Decision Process.
| state as monitored through BMP might also contain routes
| imported from other routing protocols such as an IGP or local
| static routes.
Route: As defined in Section 1.1 of [RFC4271]. Note that the Loc-RIB state as monitored through BMP might also
contain routes imported from other routing protocols such as an
IGP or local static routes.
Route: As defined in Section 1.1 of [RFC4271]:
| A unit of information that pairs a set of destinations with the
| attributes of a path to those destinations.
The terms "producer" and "collector" are equivalent to "monitored The terms "producer" and "collector" are equivalent to "monitored
router" and "monitoring station", respectively. Also, router" and "monitoring station", respectively. Also,
"implementation" follows the same usage as in [RFC7854]. "implementation" follows the same usage as in [RFC7854].
3. RIB Monitoring Statistics 3. RIB Monitoring Statistics
This section defines different statistics types for Adj-RIB-In and This section defines different statistics types for Adj-RIB-In and
Adj-RIB-Out monitoring types. Some of these statistics are also Adj-RIB-Out monitoring types. Some of these statistics are also
applicable to Loc-RIB; refer to Section 4 for more details. applicable to Loc-RIB; refer to Section 4 for more details.
3.1. Statistics Format 3.1. Statistics Format
The BMP Statistics Report Message carries statistic information in The BMP Statistics Report message carries statistic information in
Type-Length-Value (TLV) formats. Each Statistic is encoded as a TLV Type-Length-Value (TLV) formats. Each statistic is encoded as a TLV
(Stat Type, Stat Len, Stat Data) (see Section 4.8 of [RFC7854]). (Stat Type, Stat Len, Stat Data) (see Section 4.8 of [RFC7854]).
"Stat Data" is being referred to as "value" when defining various RIB "Stat Data" is being referred to as "value" when defining various RIB
Monitoring Statistics. Monitoring Statistics.
Statistics defined in this document can be categorized into two Statistics defined in this document can be categorized into two
granularities: Global Statistics and Per-Address Family Identifier granularities: Global Statistics and Per-AFI/SAFI (see [RFC4760])
(AFI) / Subsequent Address Family Identifier (SAFI) Statistics (see Statistics. Statistics defined with Per-AFI/SAFI descriptions belong
[RFC4760]). Statistics defined with Per-AFI/SAFI descriptions belong
to Per-AFI/SAFI Statistics, while other statistics belong to Global to Per-AFI/SAFI Statistics, while other statistics belong to Global
Statistics. Both a Global Statistic and its corresponding Per-AFI/ Statistics. Both Global Statistics and their corresponding Per-AFI/
SAFI Statistics can be reported simultaneously. SAFI Statistics can be reported simultaneously.
The Per-AFI/SAFI Statistics apply only to the AFI/SAFIs that a BGP The Per-AFI/SAFI Statistics apply only to the AFI/SAFI that a BGP
speaker supports and negotiates with its peer. The authoritative speaker supports and negotiates with its peer. The authoritative
registries for AFI/SAFI values are maintained by IANA (see [IANA-AFI] registries for AFI/SAFI values are maintained by IANA (see [IANA-AFI]
and [IANA-SAFI]). and [IANA-SAFI]).
For Global Statistics, the "Stat Data" (value) field is a single For Global Statistics, the "Stat Data" (value) field is a single
64-bit unsigned integer gauge where the "Stat Len" field MUST be set 64-bit unsigned integer Gauge where the "Stat Len" field MUST be set
to 8. Each global statistic MUST appear only once in a BMP to 8. Each global statistic MUST appear only once in a BMP
Statistics Report Message. Statistics Report message.
For Per-AFI/SAFI Statistics, the "Stat Data" (value) field is a For Per-AFI/SAFI Statistics, the "Stat Data" (value) field is a
11-byte structured value formatted as: 2-byte AFI, 1-byte SAFI, and a 11-byte structured value formatted as a 2-byte AFI, a 1-byte SAFI,
64-bit Gauge. The "Stat Len" MUST be set to 11. For any given per- and a 64-bit Gauge. The "Stat Len" MUST be set to 11. For any given
AFI/SAFI Statistic, duplicate (AFI, SAFI) pairs MUST NOT appear per-AFI/SAFI Statistic, duplicate (AFI, SAFI) pairs MUST NOT appear
within the same BMP Statistics Report Message. Per-AFI/SAFI within the same BMP Statistics Report message. Per-AFI/SAFI
statistics MUST NOT be included in the BMP Statistics Report Message statistics MUST NOT be included in the BMP Statistics Report message
if there is no data to report for that AFI/SAFI. if there is no data to report for that AFI/SAFI.
If statistics apply to the Loc-RIB, the "Peer Type" field in the Per- If statistics apply to the Loc-RIB, the "Peer Type" field in the Per-
Peer Header of the corresponding BMP Statistics Report Message MUST Peer Header of the corresponding BMP Statistics Report message MUST
be set to 3 (Loc-RIB Instance Peer) [RFC9069]. Otherwise, the "Peer be set to 3 (Loc-RIB Instance Peer) [RFC9069]. Otherwise, the "Peer
Type" field MUST be set as defined in Section 4.2 of [RFC7854]. Type" field MUST be set as defined in Section 4.2 of [RFC7854].
A BMP implementation MUST ignore unrecognized stat types upon A BMP implementation MUST ignore unrecognized Stat Types upon
receipt. receipt.
3.2. Adj-RIB-In RIB Monitoring Statistics Definition 3.2. Adj-RIB-In RIB Monitoring Statistics Definition
Type = 18: (64-bit Gauge) Type = 18: (64-bit Gauge)
Current number of routes in the pre-policy Adj-RIB-In. This gauge Current number of routes in the pre-policy Adj-RIB-In. This Gauge
is similar to stats type 7 defined in [RFC7854] and makes it is similar to Stat Type 7 defined in [RFC7854] and makes it
explicitly for the pre-policy Adj-RIB-In. explicitly for the pre-policy Adj-RIB-In.
Type = 19: (64-bit Gauge) Type = 19: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI pre-policy Adj-RIB- Current number of routes in the per-AFI/SAFI pre-policy
In. This gauge is similar to stats type 9 defined in Section 4.8 Adj-RIB-In. This Gauge is similar to Stat Type 9 defined in
of [RFC7854] and makes it explicitly for the pre-policy Adj-RIB- Section 4.8 of [RFC7854] and makes it explicitly for the pre-
In. policy Adj-RIB-In.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 20: (64-bit Gauge) Type = 20: (64-bit Gauge)
Current number of routes in the post-policy Adj-RIB-In. Current number of routes in the post-policy Adj-RIB-In.
Type = 21: (64-bit Gauge) Type = 21: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
In. Adj-RIB-In.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 22: (64-bit Gauge) Type = 22: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI pre-policy Adj-RIB-In Current number of routes in the per-AFI/SAFI pre-policy Adj-RIB-In
rejected by an inbound policy. This gauge is different from stats rejected by an inbound policy. This Gauge is different from Stat
type 0 defined in Section 4.8 of [RFC7854]. Stats type 0 is a Type 0 defined in Section 4.8 of [RFC7854]. Stat Type 0 is a
32-counter that is a monotonically increasing number; the stats 32-bit counter that is a monotonically increasing number; the Stat
type 22 is a 64-bit gauge that represents the current number of Type 22 is a 64-bit Gauge that represents the current number of
routes rejected by an inbound policy due to ongoing policy routes rejected by an inbound policy due to ongoing policy
configuration changes. configuration changes.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 23: (64-bit Gauge) Type = 23: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
In accepted by an inbound policy. Adj-RIB-In accepted by an inbound policy.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 26: (64-bit Gauge) Type = 26: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
In or Loc-RIB suppressed by a configured route-damping policy. Adj-RIB-In or Loc-RIB suppressed by a configured route-damping
policy.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
'Suppressed' refers to a route that has been declared suppressed 'Suppressed' refers to a route that has been declared suppressed
by the BGP Route Flap Damping mechanism as described in by the BGP Route Flap Damping mechanism as described in
Section 2.2 of [RFC2439]. Section 2.2 of [RFC2439].
Type = 27: (64-bit Gauge) Type = 27: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
In or Loc-RIB marked as stale by Graceful Restart (GR) events. Adj-RIB-In or Loc-RIB marked as stale by Graceful Restart (GR)
events.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
'Stale' refers to a route that has been declared stale by the BGP 'Stale' refers to a route that has been declared stale by the BGP
GR mechanism as described in Section 4.1 of [RFC4724]. GR mechanism as described in Section 4.1 of [RFC4724].
Type = 28: (64-bit Gauge) Type = 28: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
In or Loc-RIB marked as stale by Long-Lived Graceful Restart Adj-RIB-In or Loc-RIB marked as stale by Long-Lived Graceful
(LLGR). Restart (LLGR).
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
'Stale' refers to a route that has been declared stale by the BGP 'Stale' refers to a route that has been declared stale by the BGP
LLGR mechanism as described in Section 4.3 of [RFC9494]. LLGR mechanism as described in Section 4.3 of [RFC9494].
Type = 29: (64-bit Gauge) Type = 29: (64-bit Gauge)
Current number of routes in the post-policy Adj-RIB-In left before Current number of routes in the post-policy Adj-RIB-In left before
exceeding the received-route threshold as defined in Section 6.7 exceeding the received-route threshold as defined in Section 6.7
of [RFC4271]. of [RFC4271].
Type = 30: (64-bit Gauge) Type = 30: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI in post-policy Adj- Current number of routes in the per-AFI/SAFI in post-policy
RIB-In left before exceeding the received-route threshold that Adj-RIB-In left before exceeding the received-route threshold that
corresponds to the upper bound of per-AFI/SAFI accepted routes corresponds to the upper bound of per-AFI/SAFI accepted routes
following the model defined in Section 6.7 of [RFC4271]. following the model defined in Section 6.7 of [RFC4271].
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 31: (64-bit Gauge) Type = 31: (64-bit Gauge)
Current number of routes in the post-policy Adj-RIB-In or Loc-RIB Current number of routes in the post-policy Adj-RIB-In or Loc-RIB
left before exceeding a license-customized route threshold. If no left before exceeding a license-customized route threshold. If no
such license is configured, or if the license does not impose a such license is configured, or if the license does not impose a
hard limit, this value MUST NOT be reported. hard limit, this value MUST NOT be reported.
Type = 32: (64-bit Gauge) Type = 32: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
In or Loc-RIB left before exceeding a license-customized route Adj-RIB-In or Loc-RIB left before exceeding a license-customized
threshold. If no such license is configured, or if the license route threshold. If no such license is configured, or if the
does not impose a hard limit, this value MUST NOT be reported. license does not impose a hard limit, this value MUST NOT be
reported.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 33: (64-bit Gauge) Type = 33: (64-bit Gauge)
Current number of routes in the pre-policy Adj-RIB-In rejected due Current number of routes in the pre-policy Adj-RIB-In rejected due
to exceeding the maximum AS_PATH length supported by the local to exceeding the maximum AS_PATH length supported by the local
configuration. configuration.
Type = 34: (64-bit Gauge) Type = 34: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI in pre-policy Adj- Current number of routes in the per-AFI/SAFI in pre-policy
RIB-In rejected due to exceeding the maximum AS_PATH length Adj-RIB-In rejected due to exceeding the maximum AS_PATH length
supported by the local configuration. supported by the local configuration.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 35: (64-bit Gauge) Type = 35: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
In invalidated through the Route Origin Authorization (ROA) of Adj-RIB-In invalidated after verifying the route origin ASN
Resource Public Key Infrastructure (RPKI) [RFC6811]. This is the through the Route Origin Authorization (ROA) of the Resource
total number of routes invalidated due to a mismatch of origin Public Key Infrastructure (RPKI) [RFC6811]. This is the total
Autonomous System (AS) numbers and a mismatch of prefix length. number of routes invalidated due to a mismatch of origin
Autonomous System Numbers (ASNs) and a mismatch of prefix length.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 36: (64-bit Gauge) Type = 36: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
In validated by verifying the route origin AS number through the Adj-RIB-In validated by verifying the route origin ASN through the
ROA of RPKI [RFC6811]. ROA of the RPKI [RFC6811].
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 37: (64-bit Gauge) Type = 37: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
In whose RPKI route origin validation state is NotFound due to the Adj-RIB-In whose RPKI route origin validation state is NotFound
absence of a matching ROA of RPKI [RFC6811]. due to the absence of a matching ROA of RPKI [RFC6811].
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
3.3. Adj-RIB-Out RIB Monitoring Statistics Definition 3.3. Adj-RIB-Out RIB Monitoring Statistics Definition
Type = 38: (64-bit Gauge) Type = 38: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI pre-policy Adj-RIB- Current number of routes in the per-AFI/SAFI pre-policy
Out rejected by an outbound policy. These routes are active Adj-RIB-Out rejected by an outbound policy. These routes are
routes that otherwise would have been advertised in the absence of active routes that otherwise would have been advertised in the
an outbound policy that rejected them. absence of an outbound policy that rejected them.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 39: (64-bit Gauge) Type = 39: (64-bit Gauge)
Current number of routes in the pre-policy Adj-RIB-Out filtered Current number of routes in the pre-policy Adj-RIB-Out filtered
due to the AS_PATH length exceeding the locally configured due to the AS_PATH length exceeding the locally configured
maximum. maximum.
Type = 40: (64-bit Gauge) Type = 40: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI pre-policy Adj-RIB- Current number of routes in the per-AFI/SAFI pre-policy
Out filtered due to AS_PATH length exceeding the locally Adj-RIB-Out filtered due to AS_PATH length exceeding the locally
configured maximum. configured maximum.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 41: (64-bit Gauge) Type = 41: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
Out invalidated through the ROA of RPKI [RFC6811]. This is the Adj-RIB-Out invalidated through the ROA of the RPKI [RFC6811].
total number of routes invalidated due to a mismatch of origin AS This is the total number of routes invalidated due to a mismatch
numbers and a mismatch of prefix lengths. of origin ASNs and a mismatch of prefix lengths.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 42: (64-bit Gauge) Type = 42: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
Out validated by verifying the route origin AS number through the Adj-RIB-Out validated by verifying the route origin ASN through
ROA of RPKI [RFC6811]. the ROA of the RPKI [RFC6811].
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
Type = 43: (64-bit Gauge) Type = 43: (64-bit Gauge)
Current number of routes in the per-AFI/SAFI post-policy Adj-RIB- Current number of routes in the per-AFI/SAFI post-policy
Out whose RPKI route origin validation state is NotFound due to Adj-RIB-Out whose RPKI route origin validation state is NotFound
the absence of a matching ROA of RPKI [RFC6811]. due to the absence of a matching ROA of RPKI [RFC6811].
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a The value is structured as a 2-byte AFI, a 1-byte SAFI, and a
64-bit Gauge. 64-bit Gauge.
4. Application Scope of Statistics 4. Application Scope of Statistics
This section briefly lists the statistics defined in this document Table 1 briefly lists the statistics defined in this document and
and outlines their scope of application. outlines their scope of application.
+====+==========+=============+=======+=============+=============+ +====+==========+=============+=======+=============+=============+
|Type|Pre-policy| Post-policy |Loc-RIB| Pre-policy | Post-policy | |Type|Pre-policy| Post-policy |Loc-RIB| Pre-policy | Post-policy |
| |Adj-RIB-In| Adj-RIB-In | | Adj-RIB-Out | Adj-RIB-Out | | |Adj-RIB-In| Adj-RIB-In | | Adj-RIB-Out | Adj-RIB-Out |
+====+==========+=============+=======+=============+=============+ +====+==========+=============+=======+=============+=============+
| 18 | Y | N | N | N | N | | 18 | Y | N | N | N | N |
+----+----------+-------------+-------+-------------+-------------+ +----+----------+-------------+-------+-------------+-------------+
| 19 | Y | N | N | N | N | | 19 | Y | N | N | N | N |
+----+----------+-------------+-------+-------------+-------------+ +----+----------+-------------+-------+-------------+-------------+
| 20 | N | Y | N | N | N | | 20 | N | Y | N | N | N |
skipping to change at line 441 skipping to change at line 460
+----+----------+-------------+-------+-------------+-------------+ +----+----------+-------------+-------+-------------+-------------+
| 42 | N | N | N | N | Y | | 42 | N | N | N | N | Y |
+----+----------+-------------+-------+-------------+-------------+ +----+----------+-------------+-------+-------------+-------------+
| 43 | N | N | N | N | Y | | 43 | N | N | N | N | Y |
+----+----------+-------------+-------+-------------+-------------+ +----+----------+-------------+-------+-------------+-------------+
Table 1: Scope of Application Table 1: Scope of Application
5. Implementation Considerations 5. Implementation Considerations
This document specifies gauges for new BMP statistics. The format of This document specifies Gauges for new BMP statistics. The format of
BMP statistics messages remains unchanged from [RFC7854]. This BMP Statistics Report messages remains unchanged from [RFC7854].
section outlines the implementation considerations for new BMP This section outlines the implementation considerations for new BMP
statistics. statistics.
For backward compatibility, and absent policy otherwise, it is For backward compatibility, and absent any other policy, it is
RECOMMENDED that BMP producers capable of generating both (Types 7 RECOMMENDED that BMP producers capable of generating both (Types 7
and 18) and (Types 9 and 19) BMP statistics SHOULD transmit both and 18) and (Types 9 and 19) BMP statistics transmit both
corresponding types simultaneously. This allows BMP collectors to corresponding types simultaneously. This allows BMP collectors to
process either format according to their needs without disrupting process either format according to their needs without disrupting
existing implementations that rely on Type 7 or Type 9. The existing implementations that rely on Types 7 or 9. The selection of
selection of which statistic types to generate within each pair which statistics types to generate within each pair SHOULD be treated
SHOULD be treated as an implementation decision rather than a as an implementation decision rather than a protocol requirement,
protocol requirement, with the BMP collector behavior for handling with the BMP collector behavior for handling these statistics types
these statistic types remaining implementation specific. remaining implementation specific.
Some statistics are dependent on feature configurations, such as GR, Some statistics are dependent on feature configurations, such as GR,
LLGR, and RPKI; therefore, the corresponding statistics SHOULD only LLGR, and RPKI; therefore, the corresponding statistics SHOULD only
be generated and sent when these features are enabled on the BMP be generated and sent when these features are enabled on the BMP
producer. These statistics include the following Types: 26, 27, 28, producer. These statistics include the following Types: 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, and 43. 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, and 43.
Some statistics are also relevant for the Loc-RIB view [RFC9069]; Some statistics are also relevant for the Loc-RIB view [RFC9069];
therefore, they may apply to the Loc-RIB view after best-path therefore, they may apply to the Loc-RIB view after best-path
selection is completed. These statistics include Types 26, 27, 28, selection is completed. These statistics include Types 26, 27, 28,
31, and 32. When these statistics apply to the Loc-RIB view, the 31, and 32. When these statistics apply to the Loc-RIB view, the
"Peer Type" field in the Per-Peer Header of the corresponding BMP "Peer Type" field in the Per-Peer Header of the corresponding BMP
Statistics Report Message MUST set to 3. Statistics Report message MUST set to 3.
Certain statistics may have logical relationships (e.g., per-AFI/SAFI Certain statistics may have logical relationships (e.g., per-AFI/SAFI
counts summing to global totals). BMP statistics producers and counts summing to global totals). BMP statistics producers and
collectors MAY perform consistency checks but MUST NOT assume strict collectors MAY perform consistency checks but MUST NOT assume strict
dependencies (due to potential race conditions or partial failures). dependencies (due to potential race conditions or partial failures).
Discrepancies (e.g., sum(per-AFI/SAFI) != global count) SHOULD be Discrepancies (e.g., sum(per-AFI/SAFI) != global count) SHOULD be
logged as warnings but MUST NOT disrupt protocol operation. logged as warnings but MUST NOT disrupt protocol operation.
The generation and transmission of type 27 and 28 during an active The generation and transmission of Types 27 and 28 during an active
GR/LLGR event consumes additional control plane resources (e.g., GR/LLGR event consumes additional control plane resources (e.g.,
CPU). BMP statistics producers SHOULD prioritize the core GR/LLGR CPU). BMP statistics producers SHOULD prioritize the core GR/LLGR
convergence procedures. To avoid adversely impacting the restart convergence procedures. To avoid adversely impacting the restart
process, a BMP statistics producer MAY choose to sample this value at process, a BMP statistics producer MAY choose to sample this value at
a lower frequency, buffer updates, or temporarily suspend reporting a lower frequency, buffer the updates, or temporarily suspend
for this type during the most critical phases of a switchover. reporting for this type during the most critical phases of a
switchover.
These gauges may reset due to manual clearance or overflow. BMP These Gauges may reset due to manual clearance or overflow. BMP
statistics producers and collectors MUST track discontinuities and statistics producers and collectors MUST track discontinuities and
log this anomaly. log this anomaly.
6. Operational Considerations 6. Operational Considerations
This section outlines some operational considerations of new BMP This section outlines some operational considerations of new BMP
statistics for BMP operators. statistics for BMP operators.
Transmission scheduling and triggering mechanisms for new gauges are Transmission scheduling and triggering mechanisms for new Gauges are
implementation dependent. BMP operators SHOULD determine appropriate implementation dependent. BMP operators SHOULD determine appropriate
report generation and delivery strategies, including configurable report generation and delivery strategies, including configurable
timing intervals and threshold values. The mechanism for controlling timing intervals and threshold values. The mechanism for controlling
the reporting of new gauges SHOULD be consistent with that of the reporting of new Gauges SHOULD be consistent with that of
existing types. existing types.
BMP operators SHOULD rate-limit statistics updates to minimize BMP operators SHOULD rate-limit statistics updates to minimize
performance impact on control plane processes. BMP operators SHOULD performance impact on control plane processes. BMP operators SHOULD
only enable necessary statistics to reduce memory and CPU overhead. only enable necessary statistics to reduce memory and CPU overhead.
Implementations SHOULD also support per-router configuration of Implementations SHOULD also support per-router configuration of
statistic subsets for collection and reporting. statistic subsets for collection and reporting.
Some BMP statistics producers, or configurations in BMP statistics Some BMP statistics producers, or configurations in BMP statistics
producers, MAY discard routes that do not match policy; thus, the producers, MAY discard routes that do not match policy; thus, the
accepted count (Type 23) and the Adj-RIB-In counts (Type 21) will be accepted count (Type 23) and the Adj-RIB-In counts (Type 21) will be
identical in such cases. BMP operators SHOULD be aware of this identical in such cases. BMP operators SHOULD be aware of this
behavior when interpreting these gauges. BMP operators SHOULD be behavior when interpreting these Gauges. BMP operators SHOULD be
aware that BMP statistics producers and collectors MAY log aware that BMP statistics producers and collectors MAY log
inconsistencies between statistics as warnings. inconsistencies between statistics as warnings.
7. Security Considerations 7. Security Considerations
Procedures and protocol extensions defined in this document do not Procedures and protocol extensions defined in this document do not
affect the BMP security model. All security and authentication affect the BMP security model. All security and authentication
mechanisms required by Section 11 of [RFC7854], Section 8 of mechanisms required by Section 11 of [RFC7854], Section 8 of
[RFC8671], and Section 7 of [RFC9069] are also applicable to the [RFC8671], and Section 7 of [RFC9069] are also applicable to the
gauges defined in this document. This document does not add any Gauges defined in this document. This document does not add any
additional security considerations. additional security considerations.
Monitored devices SHOULD be configured to implement rate-limited Monitored devices SHOULD be configured to implement rate-limited
reporting of new gauges. reporting of new Gauges.
8. IANA Considerations 8. IANA Considerations
IANA has assigned the following new parameters in the "BMP Statistics IANA has assigned the following new parameters in the "BMP Statistics
Types" registry, part of the "BGP Monitoring Protocol (BMP) Types" registry, part of the "BGP Monitoring Protocol (BMP)
Parameters" registry group <https://www.iana.org/assignments/bmp- Parameters" registry group <https://www.iana.org/assignments/bmp-
parameters/>. parameters/>.
IANA has listed these entries as follows. This document serves as a IANA has listed these entries as follows. This document serves as a
reference for each entry. reference for each entry.
Type = 18: Number of routes currently in the pre-policy Adj-RIB-In. +======+======================================================+
| Stat | Description |
Type = 19: Number of routes currently in the per-AFI/SAFI pre-policy | Type | |
Adj-RIB-In. +======+======================================================+
| 18 | Number of routes currently in the pre-policy |
Type = 20: Number of routes currently in the post-policy Adj-RIB-In. | | Adj-RIB-In. |
+------+------------------------------------------------------+
Type = 21: Number of routes currently in the per-AFI/SAFI post- | 19 | Number of routes currently in the per-AFI/SAFI pre- |
policy Adj-RIB-In. | | policy Adj-RIB-In. |
+------+------------------------------------------------------+
Type = 22: Number of routes currently in the per-AFI/SAFI pre-policy | 20 | Number of routes currently in the post-policy |
Adj-RIB-In rejected by an inbound policy. | | Adj-RIB-In. |
+------+------------------------------------------------------+
Type = 23: Number of routes currently in the per-AFI/SAFI post- | 21 | Number of routes currently in the per-AFI/SAFI post- |
policy Adj-RIB-In accepted by an inbound policy. | | policy Adj-RIB-In. |
+------+------------------------------------------------------+
Type = 26: Number of routes currently in the per-AFI/SAFI post- | 22 | Number of routes currently in the per-AFI/SAFI pre- |
policy Adj-RIB-In or Loc-RIB suppressed by a configured route- | | policy Adj-RIB-In rejected by an inbound policy. |
damping policy. +------+------------------------------------------------------+
| 23 | Number of routes currently in the per-AFI/SAFI post- |
Type = 27: Number of routes currently in the per-AFI/SAFI post- | | policy Adj-RIB-In accepted by an inbound policy. |
policy Adj-RIB-In or Loc-RIB marked as stale by GR events. +------+------------------------------------------------------+
| 26 | Number of routes currently in the per-AFI/SAFI post- |
Type = 28: Number of routes currently in the per-AFI/SAFI post- | | policy Adj-RIB-In or Loc-RIB suppressed by a |
policy Adj-RIB-In or Loc-RIB marked as stale by LLGR. | | configured route-damping policy. |
+------+------------------------------------------------------+
Type = 29: Number of routes currently in the post-policy Adj-RIB-In | 27 | Number of routes currently in the per-AFI/SAFI post- |
left before exceeding the received-route threshold. | | policy Adj-RIB-In or Loc-RIB marked as stale by GR |
| | events. |
Type = 30: Number of routes currently in the per-AFI/SAFI post- +------+------------------------------------------------------+
policy Adj-RIB-In left before exceeding the received-route | 28 | Number of routes currently in the per-AFI/SAFI post- |
threshold. | | policy Adj-RIB-In or Loc-RIB marked as stale by |
| | LLGR. |
Type = 31: Number of routes currently in the post-policy Adj-RIB-In +------+------------------------------------------------------+
or Loc-RIB left before exceeding a license-customized route | 29 | Number of routes currently in the post-policy |
threshold. | | Adj-RIB-In left before exceeding the received-route |
| | threshold. |
Type = 32: Number of routes currently in the per-AFI/SAFI post- +------+------------------------------------------------------+
policy Adj-RIB-In or Loc-RIB left before exceeding a license- | 30 | Number of routes currently in the per-AFI/SAFI post- |
customized route threshold. | | policy Adj-RIB-In left before exceeding the |
| | received-route threshold. |
Type = 33: Number of routes currently in the pre-policy Adj-RIB-In +------+------------------------------------------------------+
rejected due to exceeding the locally configured maximum AS_PATH | 31 | Number of routes currently in the post-policy |
length. | | Adj-RIB-In or Loc-RIB left before exceeding a |
| | license-customized route threshold. |
Type = 34: Number of routes currently in the per-AFI/SAFI pre-policy +------+------------------------------------------------------+
Adj-RIB-In rejected due to exceeding the locally configured | 32 | Number of routes currently in the per-AFI/SAFI post- |
maximum AS_PATH length. | | policy Adj-RIB-In or Loc-RIB left before exceeding a |
| | license-customized route threshold. |
Type = 35: Number of routes currently in the per-AFI/SAFI post- +------+------------------------------------------------------+
policy Adj-RIB-In invalidated after verifying the route origin AS | 33 | Number of routes currently in the pre-policy |
number through the ROA of RPKI. | | Adj-RIB-In rejected due to exceeding the locally |
| | configured maximum AS_PATH length. |
Type = 36: Number of routes currently in the per-AFI/SAFI post- +------+------------------------------------------------------+
policy Adj-RIB-In validated after verifying the route origin AS | 34 | Number of routes currently in the per-AFI/SAFI pre- |
number through the ROA of RPKI. | | policy Adj-RIB-In rejected due to exceeding the |
| | locally configured maximum AS_PATH length. |
Type = 37: Number of routes currently in the per-AFI/SAFI post- +------+------------------------------------------------------+
policy Adj-RIB-In whose RPKI route origin validation state is | 35 | Number of routes currently in the per-AFI/SAFI post- |
NotFound. | | policy Adj-RIB-In invalidated after verifying the |
| | route origin ASN through the ROA of the RPKI. |
Type = 38: Number of routes currently in the per-AFI/SAFI pre-policy +------+------------------------------------------------------+
Adj-RIB-Out rejected by an outbound policy. | 36 | Number of routes currently in the per-AFI/SAFI post- |
| | policy Adj-RIB-In validated after verifying the |
Type = 39: Number of routes currently in the pre-policy Adj-RIB-Out | | route origin ASN through the ROA of the RPKI. |
filtered due to AS_PATH length exceeding the locally configured +------+------------------------------------------------------+
maximum. | 37 | Number of routes currently in the per-AFI/SAFI post- |
| | policy Adj-RIB-In whose RPKI route origin validation |
Type = 40: Number of routes currently in the per-AFI/SAFI pre-policy | | state is NotFound. |
Adj-RIB-Out filtered due to AS_PATH length exceeding the locally +------+------------------------------------------------------+
configured maximum. | 38 | Number of routes currently in the per-AFI/SAFI pre- |
| | policy Adj-RIB-Out rejected by an outbound policy. |
Type = 41: Number of routes currently in the per-AFI/SAFI post- +------+------------------------------------------------------+
policy Adj-RIB-Out invalidated after verifying the route origin AS | 39 | Number of routes currently in the pre-policy |
number through the ROA of RPKI. | | Adj-RIB-Out filtered due to AS_PATH length exceeding |
| | the locally configured maximum. |
Type = 42: Number of routes currently in the per-AFI/SAFI post- +------+------------------------------------------------------+
policy Adj-RIB-Out validated after verifying the route origin AS | 40 | Number of routes currently in the per-AFI/SAFI pre- |
number through the ROA of RPKI. | | policy Adj-RIB-Out filtered due to AS_PATH length |
| | exceeding the locally configured maximum. |
+------+------------------------------------------------------+
| 41 | Number of routes currently in the per-AFI/SAFI post- |
| | policy Adj-RIB-Out invalidated after verifying the |
| | route origin ASN through the ROA of the RPKI. |
+------+------------------------------------------------------+
| 42 | Number of routes currently in the per-AFI/SAFI post- |
| | policy Adj-RIB-Out validated after verifying the |
| | route origin ASN through the ROA of the RPKI. |
+------+------------------------------------------------------+
| 43 | Number of routes currently in the per-AFI/SAFI post- |
| | policy Adj-RIB-Out whose RPKI route origin |
| | validation state is NotFound. |
+------+------------------------------------------------------+
Type = 43: Number of routes currently in the per-AFI/SAFI post- Table 2: BMP Statistics Types
policy Adj-RIB-Out whose RPKI route origin validation state is
NotFound.
9. References 9. References
9.1. Normative References 9.1. Normative References
[IANA-AFI] IANA, "Address Family Numbers",
<https://www.iana.org/assignments/address-family-numbers>.
[IANA-SAFI]
IANA, "Subsequent Address Family Identifiers (SAFI)
Parameters",
<https://www.iana.org/assignments/safi-namespace>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2439] Villamizar, C., Chandra, R., and R. Govindan, "BGP Route [RFC2439] Villamizar, C., Chandra, R., and R. Govindan, "BGP Route
Flap Damping", RFC 2439, DOI 10.17487/RFC2439, November Flap Damping", RFC 2439, DOI 10.17487/RFC2439, November
1998, <https://www.rfc-editor.org/info/rfc2439>. 1998, <https://www.rfc-editor.org/info/rfc2439>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
skipping to change at line 678 skipping to change at line 718
[RFC9069] Evens, T., Bayraktar, S., Bhardwaj, M., and P. Lucente, [RFC9069] Evens, T., Bayraktar, S., Bhardwaj, M., and P. Lucente,
"Support for Local RIB in the BGP Monitoring Protocol "Support for Local RIB in the BGP Monitoring Protocol
(BMP)", RFC 9069, DOI 10.17487/RFC9069, February 2022, (BMP)", RFC 9069, DOI 10.17487/RFC9069, February 2022,
<https://www.rfc-editor.org/info/rfc9069>. <https://www.rfc-editor.org/info/rfc9069>.
[RFC9494] Uttaro, J., Chen, E., Decraene, B., and J. Scudder, "Long- [RFC9494] Uttaro, J., Chen, E., Decraene, B., and J. Scudder, "Long-
Lived Graceful Restart for BGP", RFC 9494, Lived Graceful Restart for BGP", RFC 9494,
DOI 10.17487/RFC9494, November 2023, DOI 10.17487/RFC9494, November 2023,
<https://www.rfc-editor.org/info/rfc9494>. <https://www.rfc-editor.org/info/rfc9494>.
[IANA-AFI] IANA, "Address Family Numbers",
<https://www.iana.org/assignments/address-family-numbers>.
[IANA-SAFI]
IANA, "Subsequent Address Family Identifiers (SAFI)
Parameters",
<https://www.iana.org/assignments/safi-namespace>.
Acknowledgements Acknowledgements
The authors would like to thank Jeff Haas, Mohamed Boucadair, Thomas The authors would like to thank Jeff Haas, Mohamed Boucadair, Thomas
Graf, and Prasad S. Narasimha for their valuable input. Graf, and Prasad S. Narasimha for their valuable input.
Thanks to Giuseppe Fioccola for the OPSDIR, Jouni Korhonen for the Thanks to Giuseppe Fioccola for the OPSDIR, Jouni Korhonen for the
GENART, and Bruno Decraene for the RTGDIR review. GENART, and Bruno Decraene for the RTGDIR review.
Thanks to Gunter van de Velde, Éric Vyncke, and Ketan Talaulikar for Thanks to Gunter van de Velde, Éric Vyncke, and Ketan Talaulikar for
the IESG review. the IESG review.
 End of changes. 73 change blocks. 
217 lines changed or deleted 249 lines changed or added

This html diff was produced by rfcdiff 1.48.