rfc9972xml2.original.xml   rfc9972.xml 
<?xml version="1.0" encoding="US-ASCII"?> <?xml version='1.0' encoding='UTF-8'?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<rfc category="std" consensus="true"
docName="draft-ietf-grow-bmp-bgp-rib-stats-17" ipr="trust200902"
submissionType="IETF">
<!-- category values: std, bcp, info, exp, and historic
ipr values: full3667, noModification3667, noDerivatives3667
you can add the attributes updates="NNNN" and obsoletes="NNNN"
they will automatically be output with "(if approved)" -->
<!-- ***** FRONT MATTER ***** --> <!DOCTYPE rfc [
<!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" consensus="true"
docName="draft-ietf-grow-bmp-bgp-rib-stats-17" number="9972" updates="" obsolete
s="" tocInclude="true" symRefs="true" sortRefs="false" ipr="trust200902" submiss
ionType="IETF" version="3" xml:lang="en" >
<front> <front>
<title abbrev="BMP New Statistics">Advanced BGP Monitoring Protocol (BMP) <title abbrev="BMP New Statistics">Advanced BGP Monitoring Protocol (BMP)
Statistics Types</title> Statistics Types</title>
<seriesInfo name="RFC" value="9972"/>
<!-- add 'role="editor"' below for the editors if appropriate --> <author fullname="Mukul Srivastava" initials="M." role="editor" surname="Sri
vastava">
<!-- Another author who claims to be an editor -->
<author fullname="Mukul Srivastava" initials="M." role="editor"
surname="Srivastava">
<organization>Hewlett Packard Enterprise</organization> <organization>Hewlett Packard Enterprise</organization>
<address> <address>
<postal> <postal>
<street>10 Technology Park Dr</street> <street>10 Technology Park Dr</street>
<!-- Reorder these if your country does things differently -->
<city>Westford</city> <city>Westford</city>
<region>MA</region> <region>MA</region>
<code>01886</code> <code>01886</code>
<country>United States of America</country>
<country>USA</country>
</postal> </postal>
<email>mukul.srivastava@hpe.com</email> <email>mukul.srivastava@hpe.com</email>
<!-- uri and facsimile elements may also be added -->
</address> </address>
</author> </author>
<author fullname="Yisong Liu" initials="Y." surname="Liu"> <author fullname="Yisong Liu" initials="Y." surname="Liu">
<organization>China Mobile</organization> <organization>China Mobile</organization>
<address> <address>
<postal> <postal>
<street>32 Xuanwumen West Street</street> <street>32 Xuanwumen West Street</street>
<!-- Reorder these if your country does things differently -->
<city>Beijing</city> <city>Beijing</city>
<region>Xicheng District</region> <region>Xicheng District</region>
<code>100053</code> <code>100053</code>
<country>China</country> <country>China</country>
</postal> </postal>
<email>liuyisong@chinamobile.com</email> <email>liuyisong@chinamobile.com</email>
<!-- uri and facsimile elements may also be added -->
</address> </address>
</author> </author>
<author fullname="Changwang Lin" initials="C." role="editor" surname="Lin"> <author fullname="Changwang Lin" initials="C." role="editor" surname="Lin">
<organization>New H3C Technologies</organization> <organization>New H3C Technologies</organization>
<address> <address>
<postal> <postal>
<street>8 Yongjia North Road</street> <street>8 Yongjia North Road</street>
<!-- Reorder these if your country does things differently -->
<city>Beijing</city> <city>Beijing</city>
<region>Haidian District</region> <region>Haidian District</region>
<code>100094</code> <code>100094</code>
<country>China</country> <country>China</country>
</postal> </postal>
<email>linchangwang.04414@h3c.com</email> <email>linchangwang.04414@h3c.com</email>
<!-- uri and facsimile elements may also be added -->
</address> </address>
</author> </author>
<author fullname="Jinming Li" initials="J." surname="Li"> <author fullname="Jinming Li" initials="J." surname="Li">
<organization>China Mobile</organization> <organization>China Mobile</organization>
<address> <address>
<postal> <postal>
<street>32 Xuanwumen West Street</street> <street>32 Xuanwumen West Street</street>
<!-- Reorder these if your country does things differently -->
<city>Beijing</city> <city>Beijing</city>
<region>Xicheng District</region> <region>Xicheng District</region>
<code>100053</code> <code>100053</code>
<country>China</country> <country>China</country>
</postal> </postal>
<email>lijinming@chinamobile.com</email> <email>lijinming@chinamobile.com</email>
<!-- uri and facsimile elements may also be added -->
</address> </address>
</author> </author>
<date year="2026" month="May"/>
<date year="2025" /> <area>OPS</area>
<workgroup>grow</workgroup>
<!-- Meta-data Declarations -->
<area>General</area>
<workgroup>GROW</workgroup>
<keyword>IDR</keyword> <keyword>IDR</keyword>
<keyword>GROW</keyword> <keyword>GROW</keyword>
<keyword>BGP</keyword> <keyword>BGP</keyword>
<keyword>BMP</keyword> <keyword>BMP</keyword>
<abstract> <abstract>
<t>RFC 7854 defines different BGP Monitoring Protocol (BMP) statistics <t>The BGP Monitoring Protocol (BMP) described in RFC 7854 defines statist ics
message types to observe events that occur on a monitored router. This message types to observe events that occur on a monitored router. This
document defines new statistics type to monitor BMP Adj-RIB-In and document defines new statistics types to monitor BMP Adj-RIB-In and
Adj-RIB-Out Routing Information Bases (RIBs).</t> Adj-RIB-Out Routing Information Bases (RIBs).</t>
</abstract> </abstract>
</front> </front>
<middle> <middle>
<section anchor="introduction" title="Introduction"> <section anchor="introduction">
<t>Section 4.8 of <xref target="RFC7854" /> defines a number of <name>Introduction</name>
<t><xref section="4.8" target="RFC7854"/> defines a number of
different BGP Monitoring Protocol (BMP) statistics types to observe different BGP Monitoring Protocol (BMP) statistics types to observe
major events that occur on a monitored router. Stats are either counters major events that occur on a monitored router. Statistics are either count
or gauges. Section 6.2 of <xref target="RFC8671" /> also defines several ers
or gauges. <xref section="6.2" target="RFC8671"/> also defines several
BMP statistics types for Adj-RIB-Out of a monitored router.</t> BMP statistics types for Adj-RIB-Out of a monitored router.</t>
<t>New BMP statistics types are needed to enable more-refined BGP route
<t>New BMP statistics types are needed to enable more refined BGP route monitoring and analysis to improve operational maintenance and
monitoring and analysis, improving operational maintenance and
troubleshooting capabilities.</t> troubleshooting capabilities.</t>
<t>This document defines gauges for new BMP statistics. The <t>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 <xref target="Application_Scope_of_Statistics"/>.
message remains same as defined in <xref target="RFC7854" />.</t> The format of the BMP statistics
message remains the same as defined in <xref target="RFC7854"/>.</t>
<section title="Requirements Language"> <section>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", <name>Requirements Language</name>
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and <t>
"OPTIONAL" in this document are to be interpreted as described in BCP The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU
14 <xref target="RFC2119" /> <xref target="RFC8174" /> when, and only IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
when, they appear in all capitals, as shown here. The BCP14 is used to NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>
stress importance for operators but are not required as formal RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
implementation requirement.</t> "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to
be interpreted as
described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.
</t>
<aside><t>Note that the key words are used to stress importance for opera
tions; they are not required as a formal implementation requirement.</t></aside>
</section> </section>
</section> </section>
<section>
<name>Terminology</name>
<section title="Terminology"> <!--[rfced] We had the following questions about the Terminology
<t>This document makes use of the following terms: <list style="symbols"> section:
<t>Adj-RIB-In: As defined in <xref target="RFC4271" />, "The
Adj-RIBs-In contains unprocessed routing information that has been
advertised to the local BGP speaker by its peers."</t>
<t>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 aligns with the pre-policy Adj-RIB-In concept specified in
Section 2 of <xref target="RFC7854" />.</t>
<t>Post-policy Adj-RIB-In: As defined in Section 2 of <xref a) We notice that some entries in the Terminology section include
target="RFC7854" />.</t> quotes from their defining documents while others do not. Should this
be made uniform?
<t>Adj-RIB-Out: As defined in <xref target="RFC4271" />, "The b) We do not see any uses of Monitoring Station in this document.
Adj-RIBs-Out contains the routes for advertisement to specific peers Please review if updates to the following text should be made.
by means of the local speaker's UPDATE messages."</t>
<t>Pre-policy Adj-RIB-Out: As defined in Section 3 of <xref Original:
target="RFC8671" />.</t> The terms "Producer" and "Collector" are equivalent to "Monitored
Router" and "Monitoring Station", respectively.
<t>Post-policy Adj-RIB-Out: As defined in Section 3 of <xref -->
target="RFC8671" />.</t>
<t>Loc-RIB: As defined in Section 1.1 of <xref target="RFC4271" />, <t>This document makes use of the following terms: </t>
"The Loc-RIB contains the routes that have been selected by the <dl spacing="normal" newline="false">
<dt>Adj-RIB-In:</dt><dd><t>As defined in <xref target="RFC4271"/>:</t>
<blockquote>The
Adj-RIBs-In contains unprocessed routing information that has been
advertised to the local BGP speaker by its peers.</blockquote></dd>
<dt>Pre-policy Adj-RIB-In:</dt><dd>The result before applying the inbo
und
policy to an Adj-RIB-In. Note that this is an explicit definition
that aligns with the pre-policy Adj-RIB-In concept specified in
<xref section="2" target="RFC7854"/>.</dd>
<dt>Post-policy Adj-RIB-In:</dt><dd>As defined in <xref section="2" ta
rget="RFC7854"/>.</dd>
<dt>Adj-RIB-Out:</dt><dd><t>As defined in <xref target="RFC4271"/>:</t
><blockquote>The
Adj-RIBs-Out contains the routes for advertisement to specific peers
by means of the local speaker's UPDATE messages.</blockquote></dd>
<dt>Pre-policy Adj-RIB-Out:</dt><dd>As defined in <xref section="3" ta
rget="RFC8671"/>.</dd>
<dt>Post-policy Adj-RIB-Out:</dt><dd>As defined in <xref section="3" t
arget="RFC8671"/>.</dd>
<dt>Loc-RIB:</dt><dd><t>As defined in <xref section="1.1" target="RFC4
271"/>:</t><blockquote>The Loc-RIB contains the routes that have been selected b
y the
local BGP speaker's Decision Process." Note that the Loc-RIB state local BGP speaker's Decision Process." Note that the Loc-RIB state
as monitored through BMP might also contain routes imported from as monitored through BMP might also contain routes imported from
other routing protocols such as an IGP or local static routes.</t> other routing protocols such as an IGP or local static routes.</blockq
uote></dd>
<t>Route: As defined in Section 1.1 of <xref <dt>Route:</dt><dd>As defined in <xref section="1.1" target="RFC4271"/
target="RFC4271" />.</t> >.</dd>
</list></t> </dl>
<t>The terms "producer" and "collector" are equivalent to "monitored
<t>The terms "Producer" and "Collector" are equivalent to "Monitored router" and "monitoring station", respectively. Also, "implementation"
Router" and "Monitoring Station", respectively. Also, "implementation" follows the same usage as in <xref target="RFC7854"/>.</t>
is used following the same usage in <xref target="RFC7854" />.</t>
</section> </section>
<section anchor="Stats">
<section anchor="Stats" title="RIB Monitoring Statistics"> <name>RIB Monitoring Statistics</name>
<t>This section defines different statistics type for Adj-RIB-In and <t>This section defines different statistics types for Adj-RIB-In and
Adj-RIB-Out monitoring type. 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.</t> applicable to Loc-RIB; refer to <xref target="Application_Scope_of_Statist
ics"/> for more details.</t>
<section anchor="stats-format" title="Statistics Format"> <section anchor="stats-format">
<name>Statistics Format</name>
<t>The BMP Statistics Report Message carries statistic information in <t>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) (Section 4.8 of <xref (Stat Type, Stat Len, Stat Data) (see <xref section="4.8" target="RFC785
target="RFC7854" />). "Stat Data" is being referred as "value" when 4"/>). "Stat Data" is being referred to as "value" when
defining various RIB Monitoring Statistics.</t> defining various RIB Monitoring Statistics.</t>
<t>Statistics defined in this document can be categorized into two <!--[rfced] Do uses of "per-" apply to both AFI and SAFI? Note that
granularities: Global Statistics and Per-Address Family Identifier more instances occur throughout the document.
(AFI)/Subsequent Address Family Identifier (SAFI) <xref
target="RFC4760" /> Statistics. Statistics defined with Per-AFI/SAFI
descriptions belong to Per-AFI/SAFI Statistics, while other statistics
belong to Global Statistics. Both a Global Statistic and its
corresponding Per-AFI/SAFI Statistics can be reported
simultaneously.</t>
<t>The Per-AFI/SAFI Statistics apply only to the AFI/SAFIs that a BGP
speaker supports and negotiates with its peer. The authoritative
registries for AFI/SAFI values are maintained by IANA <xref
target="IANA-AFI" /> <xref target="IANA-SAFI" />.</t>
<t>For Global Statistics, the "Stat Data" (value) field is a single
64-bit unsigned integer gauge with "Stat Len" MUST be set to 8. Each
global statistic MUST appear only once in a BMP Statistics Report
Message.</t>
<t>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
64-bit Gauge. The "Stat Len" MUST be set to 11. For any given
per-AFI/SAFI Statistic, duplicate (AFI, SAFI) pairs MUST NOT appear
within the same BMP Statistics Report Message. Per-AFI/SAFI statistics
MUST NOT be included in the BMP Statistics Report Message if there is
no data to report for that AFI/SAFI.</t>
<t>If statistics apply to the Loc-RIB, the "Peer Type" field in the Note also that, for this instance, as AFI and SAFI are marked as well-known abbr
Per-Peer Header of the corresponding BMP Statistics Report Message eviations, it may actually be easier for the reader if the expansions were remov
MUST be set to 3 (Loc-RIB Instance Peer) <xref target="RFC9069" />. ed:
Otherwise, the "Peer Type" MUST be set as defined in Section 4.2 of of
<xref target="RFC7854" />.</t>
<t>A BMP implementation MUST ignore unrecognized stat types upon Original:
receipt.</t> ...Global Statistics and Per-Address Family Identifier
</section> (AFI)/Subsequent Address Family Identifier (SAFI) [RFC4760]
Statistics.
<section anchor="adj-rib-in-stats" Perhaps:
title="Adj-RIB-In RIB Monitoring Statistics Definition"> ...Global Statistics and Statistics per-AFI or per-SAFI (see [RFC4760]).
<t>
<list style="symbols">
<t>Type = 18: (64-bit Gauge) Current number of routes in
pre-policy Adj-RIB-In. This gauge is similar to stats type 7
defined in <xref target="RFC7854" /> and makes it explicitly for
the pre-policy Adj-RIB-In.</t>
<t>Type = 19: (64-bit Gauge) Current number of routes in -->
per-AFI/SAFI pre-policy Adj-RIB-In. This gauge is similar to stats
type 9 defined in Section 4.8 of <xref target="RFC7854" /> and
makes it explicitly for the pre-policy Adj-RIB-In. The value is
structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bit
Gauge.</t>
<t>Type = 20: (64-bit Gauge) Current number of routes in <!--[rfced] Is the switch between singular and plural in these
post-policy Adj-RIB-In.</t> sentences intentional?
<t>Type = 21: (64-bit Gauge) Current number of routes in a) a statistic vs. statistics
per-AFI/SAFI post-policy Adj-RIB-In. The value is structured as:
2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t>
<t>Type = 22: (64-bit Gauge) Current number of routes in Original:
per-AFI/SAFI pre-policy Adj-RIB-In rejected by inbound policy. Both a Global Statistic and its corresponding Per-AFI/ SAFI Statistics
This gauge is different from stats type 0 defined in Section 4.8 of can be reported simultaneously.
<xref target="RFC7854" />. The stats type 0 is a 32-counter which is
a monotonically increasing number, while the stats type 22 is a
64-bit gauge which represents the current number of routes
rejected by an inbound policy due to ongoing policy configuration
changes. The value is structured as: 2-byte AFI, 1-byte SAFI,
followed by a 64-bit Gauge.</t>
<t>Type = 23: (64-bit Gauge) Current number of routes in Perhaps:
per-AFI/SAFI post-policy Adj-RIB-In accepted by inbound policy. Both Global Statistics and and their corresponding Per-AFI/ SAFI
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a Statistics can be reported simultaneously.
64-bit Gauge.</t>
<t>Type = 26: (64-bit Gauge) Current number of routes in b) AFI/SAFIs
per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB suppressed by
configured route damping policy. The value
is structured as: 2-byte AFI, 1-byte SAFI, followed by a
64-bit Gauge. 'Suppressed' refers to a route which has been
declared suppressed by the BGP Route Flap Damping mechanism as
described in Section 2.2 of <xref target="RFC2439" />.</t>
<t>Type = 27: (64-bit Gauge) Current number of routes in Original:
per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB marked as stale The Per-AFI/SAFI Statistics apply only to the AFI/SAFIs that a BGP
by Graceful Restart (GR) events. The value speaker supports and negotiates with its peer.
is structured as: 2-byte AFI, 1-byte SAFI, followed by a
64-bit Gauge. 'Stale' refers to a route which has been declared
stale by the BGP GR mechanism as described in Section 4.1 of <xref
target="RFC4724" />.</t>
<t>Type = 28: (64-bit Gauge) Current number of routes in Perhaps:
per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB marked as stale The Per-AFI/SAFI Statistics apply only to the AFIs/SAFIs that a BGP
by Long-Lived Graceful Restart (LLGR). speaker supports and negotiates with its peer.
The value is structured as: 2-byte AFI, 1-byte SAFI,
followed by a 64-bit Gauge. 'Stale' refers to a route which has
been declared stale by the BGP LLGR mechanism as described in
Section 4.3 of <xref target="RFC9494" />.</t>
<t>Type = 29: (64-bit Gauge) Current number of routes in Note: even when not preceded by "Per", it may be beneficial to clarify
post-policy Adj-RIB-In left before exceeding the received route the use of the slash character. Are these either/or relationships or
threshold as defined in Section 6.7 of <xref target="RFC4271" />.</t and relationships? If it has a special meaning, it may be good to
> define AFI/SAFI in the Terminology section.
-->
<t>Type = 30: (64-bit Gauge) Current number of routes per-AFI/SAFI <t>Statistics defined in this document can be categorized into two
in post-policy Adj-RIB-In left before exceeding the received route granularities: Global Statistics and Per-Address Family Identifier
threshold which corresponds to the upper bound of per-AFI/SAFI (AFI) / Subsequent Address Family Identifier (SAFI) Statistics (see <xre
accepted routes following the model defined in Section 6.7 of <xref f target="RFC4760"/>). Statistics defined with Per-AFI/SAFI
target="RFC4271" />. The value is structured as: 2-byte AFI, descriptions belong to Per-AFI/SAFI Statistics, while other statistics
1-byte SAFI, followed by a 64-bit Gauge.</t> belong to Global Statistics. Both a Global Statistic and its
corresponding Per-AFI/SAFI Statistics can be reported
simultaneously.</t>
<t>The Per-AFI/SAFI Statistics apply only to the AFI/SAFIs that a BGP
speaker supports and negotiates with its peer. The authoritative
registries for AFI/SAFI values are maintained by IANA (see <xref target=
"IANA-AFI"/> and <xref target="IANA-SAFI"/>).</t>
<t>For Global Statistics, the "Stat Data" (value) field is a single
64-bit unsigned integer gauge where the "Stat Len" field <bcp14>MUST</bc
p14> be set to 8. Each
global statistic <bcp14>MUST</bcp14> appear only once in a BMP Statistic
s Report
Message.</t>
<t>Type = 31: (64-bit Gauge) Current number of routes <!--[rfced] We plan to reformat the following text but have waited as
in post-policy Adj-RIB-In or Loc-RIB left before exceeding a there were so many uses, we felt it would clutter the diff file.
license-customized route threshold. If no such license
is configured, or if the license does not impose a hard limit,
this value MUST NOT be reported.</t>
<t>Type = 32: (64-bit Gauge) Current number of routes in Original:
per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB left before ...formatted as: 2-byte AFI, 1-byte SAFI, and a 64-bit Gauge.
exceeding a license-customized route threshold.
If no such license is configured, or if the 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
64-bit Gauge.</t>
<t>Type = 33: (64-bit Gauge) Current number of routes in pre-policy Perhaps:
Adj-RIB-In rejected by exceeding the maximum AS_PATH length ...formatted as a 2-byte AFI, a 1-byte SAFI, and a 64-bit Gauge.
supported by the local configuration.</t>
<t>Type = 34: (64-bit Gauge) Current number of routes in Note that we will update the following similar use (many instances
per-AFI/SAFI in pre-policy Adj-RIB-In rejected by exceeding the maxi exist) to appear as above unless we hear objection.
mum
AS_PATH length supported by the local configuration. The value is
structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bit
Gauge.</t>
<t>Type = 35: (64-bit Gauge) Current number of routes in Original:
per-AFI/SAFI post-policy Adj-RIB-In invalidated through the Route The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a
Origin Authorization (ROA) of Resource Public Key Infrastructure 64-bit Gauge.
(RPKI) <xref target="RFC6811" />. This is total number of routes
invalidated due to origin Autonomous System (AS) number mismatch
and prefix length mismatch. The value is structured as: 2-byte
AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t>
<t>Type = 36: (64-bit Gauge) Current number of routes in Perhaps:
per-AFI/SAFI post-policy Adj-RIB-In validated by verifying route The value is structured as a 2-byte AFI, a 1-byte SAFI, and a 64-bit
origin AS number through the ROA of RPKI <xref Gauge.
target="RFC6811" />. The value is structured as: 2-byte AFI, -->
1-byte SAFI, followed by a 64-bit Gauge.</t>
<t>Type = 37: (64-bit Gauge) Current number of routes in <t>For Per-AFI/SAFI Statistics, the "Stat Data" (value) field is a
per-AFI/SAFI post-policy Adj-RIB-In whose RPKI route origin 11-byte structured value formatted as: 2-byte AFI, 1-byte SAFI, and
validation state is NotFound due to the absence of a matching ROA a 64-bit Gauge. The "Stat Len" <bcp14>MUST</bcp14> be set to 11. For any
of RPKI <xref target="RFC6811" />. The value is structured as: given
2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t> per-AFI/SAFI Statistic, duplicate (AFI, SAFI) pairs <bcp14>MUST NOT</bcp
</list> 14> appear
</t> within the same BMP Statistics Report Message. Per-AFI/SAFI statistics
<bcp14>MUST NOT</bcp14> be included in the BMP Statistics Report Message
if there is
no data to report for that AFI/SAFI.</t>
<t>If statistics apply to the Loc-RIB, the "Peer Type" field in the
Per-Peer Header of the corresponding BMP Statistics Report Message
<bcp14>MUST</bcp14> be set to 3 (Loc-RIB Instance Peer) <xref target="RF
C9069"/>.
Otherwise, the "Peer Type" field <bcp14>MUST</bcp14> be set as defined i
n
<xref target="RFC7854" section="4.2"/>.</t>
<t>A BMP implementation <bcp14>MUST</bcp14> ignore unrecognized stat typ
es upon
receipt.</t>
</section> </section>
<section anchor="adj-rib-in-stats">
<name>Adj-RIB-In RIB Monitoring Statistics Definition</name>
<dl spacing="normal" newline="true">
<dt>Type = 18: (64-bit Gauge)</dt><dd>Current number of routes in
the pre-policy Adj-RIB-In. This gauge is similar to stats type 7 defin
ed
in <xref target="RFC7854"/> and makes it explicitly for the
pre-policy Adj-RIB-In.</dd>
<dt>Type = 19: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI pre-policy Adj-RIB-In. This gauge is similar to stats
type 9 defined in <xref section="4.8" target="RFC7854"/> and makes
it explicitly for the pre-policy Adj-RIB-In.</t><t>The value is struct
ured
as: 2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t></dd>
<dt>Type = 20: (64-bit Gauge)</dt><dd>Current number of routes in
the post-policy Adj-RIB-In.</dd>
<dt>Type = 21: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI post-policy Adj-RIB-In.</t><t>The value is structured
as:
2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t></dd>
<dt>Type = 22: (64-bit Gauge)</dt><dd>
<section anchor="adj-rib-out-stats" <!--[rfced] Should the following update be made?
title="Adj-RIB-Out RIB Monitoring Statistics Definition">
<t>
<list style="symbols">
<t>Type = 38: (64-bit Gauge) Current number of routes in
per-AFI/SAFI pre-policy Adj-RIB-Out rejected by outbound policy.
These routes are active routes which otherwise would have been
advertised in absence of outbound policy which rejected them.
The value is structured as: 2-byte AFI, 1-byte SAFI, followed by
a 64-bit Gauge.</t>
<t>Type = 39: (64-bit Gauge) Current number of routes in pre-policy Original:
Adj-RIB-Out filtered due to AS_PATH length exceeding the locally The stats type 0 is a 32-counter which is a monotonically increasing
configured maximum.</t> number...
<t>Type = 40: (64-bit Gauge) Current number of routes in Perhaps:
per-AFI/SAFI pre-policy Adj-RIB-Out filtered due to AS_PATH length Stats type 0 is a 32-bit counter that is a monotonically increasing
exceeding the locally configured maximum. The value is structured as number...
:
2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t>
<t>Type = 41: (64-bit Gauge) Current number of routes in -->
per-AFI/SAFI post-policy Adj-RIB-Out invalidated through the ROA <t>Current number of routes in the
of RPKI <xref target="RFC6811" />. This is total number of routes per-AFI/SAFI pre-policy Adj-RIB-In rejected by an inbound policy. Thi
invalidated due to origin AS number mismatch and prefix length s
mismatch. The value is structured as: 2-byte AFI, 1-byte SAFI, gauge is different from stats type 0 defined in <xref
followed by a 64-bit Gauge.</t> target="RFC7854" section="4.8"/>. Stats type 0 is a 32-counter
that is a monotonically increasing number; the stats type 22
is a 64-bit gauge that represents the current number of routes
rejected by an inbound policy due to ongoing policy configuration
changes.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI,
followed by a 64-bit Gauge.</t></dd>
<dt>Type = 23: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI post-policy Adj-RIB-In accepted by an inbound policy.
</t><t>The
value is structured as: 2-byte AFI, 1-byte SAFI, followed by a
64-bit Gauge.</t></dd>
<dt>Type = 26: (64-bit Gauge)</dt><dd><t>Current number of routes in t
he
per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB suppressed by
a configured route-damping policy.</t><t>The value is structured as: 2
-byte
AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t><t>'Suppressed' refer
s to
a route that has been declared suppressed by the BGP Route Flap
Damping mechanism as described in <xref section="2.2"
target="RFC2439"/>.</t></dd>
<dt>Type = 27: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB marked as stale by
Graceful Restart (GR) events.</t><t>The value is structured as: 2-byte
AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t><t>'Stale' refers to
a
route that has been declared stale by the BGP GR mechanism as
described in <xref section="4.1" target="RFC4724"/>.</t></dd>
<dt>Type = 28: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB marked as stale by
Long-Lived Graceful Restart (LLGR).</t><t>The value is structured as:
2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t><t>'Stale' ref
ers
to a route that has been declared stale by the BGP LLGR mechanism
as described in <xref section="4.3" target="RFC9494"/>.</t></dd>
<dt>Type = 29: (64-bit Gauge)</dt><dd>Current number of routes in the
post-policy Adj-RIB-In left before exceeding the received-route
threshold as defined in <xref section="6.7" target="RFC4271"/>.</dd>
<dt>Type = 30: (64-bit Gauge)</dt><dd><t>Current number of routes
in the per-AFI/SAFI in post-policy Adj-RIB-In left before exceeding th
e
received-route threshold that corresponds to the upper bound of
per-AFI/SAFI accepted routes following the model defined in <xref
section="6.7" target="RFC4271"/>.</t><t>The value is structured as: 2-
byte
AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t></dd>
<dt>Type = 31: (64-bit Gauge)</dt><dd>Current number of routes in
the post-policy Adj-RIB-In or Loc-RIB left before exceeding a
license-customized route threshold. If no such license is
configured, or if the license does not impose a hard limit, this
value <bcp14>MUST NOT</bcp14> be reported.</dd>
<dt>Type = 32: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB left before exceedi
ng
a license-customized route threshold. If no such license is
configured, or if the license does not impose a hard limit, this
value <bcp14>MUST NOT</bcp14> be reported.</t><t>The value is structur
ed
as: 2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t></dd>
<dt>Type = 33: (64-bit Gauge)</dt><dd>Current number of routes in
the pre-policy Adj-RIB-In rejected due to exceeding the maximum AS_PAT
H
length supported by the local configuration.</dd>
<dt>Type = 34: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI in pre-policy Adj-RIB-In rejected due to exceeding th
e
maximum AS_PATH length supported by the local configuration.</t><t>The
value is structured as: 2-byte AFI, 1-byte SAFI, followed by a
64-bit Gauge.</t></dd>
<dt>Type = 35: (64-bit Gauge)</dt><dd>
<t>Type = 42: (64-bit Gauge) Current number of routes in <!--[rfced] We see both "invalidated through the ROA of RPKI" for
per-AFI/SAFI post-policy Adj-RIB-Out validated by verifying route Types 35, 36, 41, and 42 in Section 3.2 and "invalidated after
origin AS number through the ROA of RPKI <xref verifying route origin AS number through the ROA of RPKI" for the
target="RFC6811" />. The value is structured as: 2-byte AFI, same types in Section 8. Please let us know if/how these should
1-byte SAFI, followed by a 64-bit Gauge.</t> be made uniform.
-->
<t>Type = 43: (64-bit Gauge) Current number of routes in <t>Current number of routes in the
per-AFI/SAFI post-policy Adj-RIB-Out whose RPKI route origin per-AFI/SAFI post-policy Adj-RIB-In invalidated through the Route
validation state is NotFound due to the absence of a matching ROA Origin Authorization (ROA) of Resource Public Key Infrastructure
of RPKI <xref target="RFC6811" />. The value is structured as: (RPKI) <xref target="RFC6811"/>. This is the total number of routes
2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t> invalidated due to a mismatch of origin Autonomous System (AS) numbers
</list> and a mismatch of
</t> prefix length.</t><t>The value is structured as: 2-byte AFI,
1-byte SAFI, followed by a 64-bit Gauge.</t></dd>
<dt>Type = 36: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI post-policy Adj-RIB-In validated by verifying the rou
te
origin AS number through the ROA of RPKI <xref
target="RFC6811"/>.</t><t>The value is structured as: 2-byte AFI, 1-by
te
SAFI, followed by a 64-bit Gauge.</t></dd>
<dt>Type = 37: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI post-policy Adj-RIB-In whose RPKI route origin
validation state is NotFound due to the absence of a matching ROA of
RPKI <xref target="RFC6811"/>.</t><t>The value is structured as: 2-byt
e
AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t></dd>
</dl>
</section>
<section anchor="adj-rib-out-stats">
<name>Adj-RIB-Out RIB Monitoring Statistics Definition</name>
<dl spacing="normal" newline="true">
<dt>Type = 38: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI pre-policy Adj-RIB-Out rejected by an outbound policy
.
These routes are active routes that otherwise would have been
advertised in the absence of an outbound policy that rejected them.</t
>
<t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by
a 64-bit Gauge.</t></dd>
<dt>Type = 39: (64-bit Gauge)</dt><dd>Current number of routes in the
pre-policy Adj-RIB-Out filtered due to the AS_PATH length exceeding th
e
locally configured maximum.</dd>
<dt>Type = 40: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI pre-policy Adj-RIB-Out filtered due to AS_PATH length
exceeding the locally configured maximum.</t><t>The value is
structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bit
Gauge.</t></dd>
<dt>Type = 41: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI post-policy Adj-RIB-Out invalidated through the ROA o
f
RPKI <xref target="RFC6811"/>. This is the total number of routes
invalidated due to a mismatch of origin AS numbers and a mismatch of p
refix lengths.</t><t>The value is structured as: 2-byte AFI, 1-byte
SAFI, followed by a 64-bit Gauge.</t></dd>
<dt>Type = 42: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI post-policy Adj-RIB-Out validated by verifying the ro
ute
origin AS number through the ROA of RPKI <xref
target="RFC6811"/>.</t><t>The value is structured as: 2-byte AFI,
1-byte SAFI, followed by a 64-bit Gauge.</t></dd>
<dt>Type = 43: (64-bit Gauge)</dt><dd><t>Current number of routes in
the per-AFI/SAFI post-policy Adj-RIB-Out whose RPKI route origin
validation state is NotFound due to the absence of a matching ROA of
RPKI <xref target="RFC6811"/>.</t><t>The value is structured as:
2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t></dd>
</dl>
</section> </section>
</section> </section>
<section anchor="Application_Scope_of_Statistics">
<section anchor="Application Scope of Statistics" <name>Application Scope of Statistics</name>
title="Application Scope of Statistics">
<t>This section briefly lists the statistics defined in this document <t>This section briefly lists the statistics defined in this document
and outlines their scope of application, as shown in Table 1.</t> and outlines their scope of application.</t>
<table anchor="tbl-scope-of-application" align="center" pn="table-1"> <table anchor="tbl-scope-of-application" align="center">
<name slugifiedName="name-scope-of-application">Scope of Application</ <name>Scope of Application</name>
name> <thead>
<thead> <tr>
<tr> <th align="left">Type</th>
<th align="left" colspan="1" rowspan="1">Type</th> <th align="left">Pre-policy Adj-RIB-In</th>
<th align="left" colspan="1" rowspan="1">Pre-policy Adj-RIB-In</th <th align="left">Post-policy Adj-RIB-In</th>
> <th align="left">Loc-RIB</th>
<th align="left" colspan="1" rowspan="1">Post-policy Adj-RIB-In</t <th align="left">Pre-policy Adj-RIB-Out</th>
h> <th align="left">Post-policy Adj-RIB-Out</th>
<th align="left" colspan="1" rowspan="1">Loc-RIB</th> </tr>
<th align="left" colspan="1" rowspan="1">Pre-policy Adj-RIB-Out</t </thead>
h> <tbody>
<th align="left" colspan="1" rowspan="1">Post-policy Adj-RIB-Out</ <tr>
th> <td align="center">18</td>
</tr> <td align="center">Y</td>
</thead> <td align="center">N</td>
<tbody> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">18</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">Y</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">19</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">19</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">Y</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">20</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">20</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">21</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">21</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">22</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">22</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">Y</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">23</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">23</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">26</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">Y</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">26</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">Y</td> <td align="center">27</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">Y</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">27</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">Y</td> <td align="center">28</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">Y</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">28</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">Y</td> <td align="center">29</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">29</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">30</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">30</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">31</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">Y</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">31</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">Y</td> <td align="center">32</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">Y</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">32</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">Y</td> <td align="center">33</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">33</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">Y</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">34</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">34</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">Y</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">35</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">35</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">36</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">36</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">37</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">Y</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">37</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">Y</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">38</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
</tr> <td align="center">N</td>
<tr> <td align="center">Y</td>
<td align="center" colspan="1" rowspan="1">38</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">39</td>
<td align="center" colspan="1" rowspan="1">Y</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
</tr> <td align="center">N</td>
<tr> <td align="center">Y</td>
<td align="center" colspan="1" rowspan="1">39</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">40</td>
<td align="center" colspan="1" rowspan="1">Y</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
</tr> <td align="center">N</td>
<tr> <td align="center">Y</td>
<td align="center" colspan="1" rowspan="1">40</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">41</td>
<td align="center" colspan="1" rowspan="1">Y</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">41</td> <td align="center">Y</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">42</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">Y</td> <td align="center">N</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">42</td> <td align="center">Y</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> <tr>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">43</td>
<td align="center" colspan="1" rowspan="1">N</td> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">Y</td> <td align="center">N</td>
</tr> <td align="center">N</td>
<tr> <td align="center">N</td>
<td align="center" colspan="1" rowspan="1">43</td> <td align="center">Y</td>
<td align="center" colspan="1" rowspan="1">N</td> </tr>
<td align="center" colspan="1" rowspan="1">N</td> </tbody>
<td align="center" colspan="1" rowspan="1">N</td>
<td align="center" colspan="1" rowspan="1">N</td>
<td align="center" colspan="1" rowspan="1">Y</td>
</tr>
</tbody>
</table> </table>
</section> </section>
<section anchor="Implementation-Considerations">
<section anchor="Implementation-Considerations" <name>Implementation Considerations</name>
title="Implementation Considerations">
<t>This document specifies gauges for new BMP statistics. The format of <t>This document specifies gauges for new BMP statistics. The format of
BMP statistics messages remains unchanged from <xref BMP statistics messages remains unchanged from <xref target="RFC7854"/>. T
target="RFC7854" />. This section outlines the implementation his section outlines the implementation
considerations for new BMP statistics.</t> considerations for new BMP statistics.</t>
<!--[rfced] Is there any issue with using both RECOMMENDED and SHOULD
in the same sentence?
Original:
...it is RECOMMENDED that BMP producers capable of generating both
(Types 7 and 18) or (Types 9 and 19) BMP statistics SHOULD transmit
both corresponding types simultaneously.
Perhaps:
...it is RECOMMENDED that BMP producers capable of generating both
(Types 7 and 18) or (Types 9 and 19) BMP statistics transmit both
corresponding types simultaneously.
-->
<!--[rfced] Please rephrase "absent policy otherwise" in the
following:
Original:
For backward compatibility, and absent policy otherwise...
Perhaps:
For backward compatibility, and absent any other policy...
-->
<t>For backward compatibility, and absent policy otherwise, it is <t>For backward compatibility, and absent policy otherwise, it is
RECOMMENDED that BMP producers capable of generating both (Types 7 and <bcp14>RECOMMENDED</bcp14> that BMP producers capable of generating both (
18) or (Types 9 and 19) BMP statistics SHOULD transmit both Types 7 and
18) and (Types 9 and 19) BMP statistics <bcp14>SHOULD</bcp14> transmit bot
h
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 selection of existing implementations that rely on Type 7 or Type 9. The selection of
which statistic types to generate within each pair SHOULD be treated as which statistic types to generate within each pair <bcp14>SHOULD</bcp14> b e treated as
an implementation decision rather than a protocol requirement, with the an implementation decision rather than a protocol requirement, with the
BMP collector behavior for handling these statistic types remaining BMP collector behavior for handling these statistic types remaining
implementation-specific.</t> implementation specific.</t>
<t>Some statistics are dependent on feature configurations, such as GR, <t>Some statistics are dependent on feature configurations, such as GR,
LLGR, and RPKI, so the corresponding statistics SHOULD only be generated LLGR, and RPKI; therefore, the corresponding statistics <bcp14>SHOULD</bcp 14> only be generated
and sent when these features are enabled on the BMP producer. These and sent when these features are enabled on the BMP producer. These
statistics include Types 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, statistics include the following Types: 26, 27, 28, 29, 30, 31, 32, 33, 34 , 35, 36, 37,
39, 40, 41, 42, and 43.</t> 39, 40, 41, 42, and 43.</t>
<t>Some statistics are also relevant for the Loc-RIB view <xref target="RF
<t>Some statistics are also relevant for the Loc-RIB view <xref C9069"/>; therefore, they may apply to the Loc-RIB view after
target="RFC9069" />, so they may apply to the Loc-RIB view after
best-path selection is completed. These statistics include Types 26, 27, best-path selection is completed. These statistics include Types 26, 27,
28, 31, and 32. When these statistics apply to the Loc-RIB view, the 28, 31, and 32. When these statistics apply to the Loc-RIB view, the
Peer Type in the Per-Peer Header of the corresponding BMP Statistics "Peer Type" field in the Per-Peer Header of the corresponding BMP Statisti
Report Message MUST set to 3.</t> cs
Report Message <bcp14>MUST</bcp14> set to 3.</t>
<t>Certain statistics may have logical relationships (e.g., per-AFI/SAFI <t>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 <bcp14>MAY</bcp14> perform consistency checks but <bcp14>MUST N OT</bcp14> 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 logged Discrepancies (e.g., sum(per-AFI/SAFI) != global count) <bcp14>SHOULD</bcp
as warnings but MUST NOT disrupt protocol operation.</t> 14> be logged
as warnings but <bcp14>MUST NOT</bcp14> disrupt protocol operation.</t>
<!--[rfced] This list is not of a parallel structure. How may we
update?
Original:
To avoid adversely impacting the restart process, a BMP statistics
producer MAY choose to sample this value at a lower frequency, buffer
updates, or temporarily suspend reporting for this type during the
most critical phases of a switchover.
Perhaps:
To avoid adversely impacting the restart process, a BMP statistics
producer MAY choose to sample this value at a lower frequency, sample
it at buffer updates, or temporarily suspend reporting for this type
during the most critical phases of a switchover.
-->
<t>The generation and transmission of type 27 and 28 during an active <t>The generation and transmission of type 27 and 28 during an active
GR/LLGR event consumes additional control plane resources (e.g., CPU). GR/LLGR event consumes additional control plane resources (e.g., CPU).
BMP statistics producers SHOULD prioritize the core GR/LLGR convergence BMP statistics producers <bcp14>SHOULD</bcp14> prioritize the core GR/LLGR convergence
procedures. To avoid adversely impacting the restart process, a BMP procedures. To avoid adversely impacting the restart process, a BMP
statistics producer MAY choose to sample this value at a lower statistics producer <bcp14>MAY</bcp14> choose to sample this value at a lo wer
frequency, buffer updates, or temporarily suspend reporting for this frequency, buffer updates, or temporarily suspend reporting for this
type during the most critical phases of a switchover.</t> type during the most critical phases of a switchover.</t>
<t>These gauges may reset due to manual clearance or overflow. BMP
<t>These gauges may reset due to manual clearance, or overflow. BMP statistics producers and collectors <bcp14>MUST</bcp14> track discontinuit
statistics producers and collectors MUST track discontinuities and log ies and log
this anomaly.</t> this anomaly.</t>
</section> </section>
<section anchor="Operational">
<section anchor="Operational" title="Operational Considerations"> <name>Operational Considerations</name>
<t>This section outlines some operational considerations of new BMP <t>This section outlines some operational considerations of new BMP
statistics for BMP operators.</t> statistics for BMP operators.</t>
<t>Transmission scheduling and triggering mechanisms for new gauges are <t>Transmission scheduling and triggering mechanisms for new gauges are
implementation-dependent. BMP operators SHOULD determine appropriate implementation dependent. BMP operators <bcp14>SHOULD</bcp14> determine ap propriate
report generation and delivery strategies, including configurable timing report generation and delivery strategies, including configurable timing
intervals and threshold values. The mechanism for controlling the intervals and threshold values. The mechanism for controlling the
reporting of new gauges SHOULD be consistent with that of existing reporting of new gauges <bcp14>SHOULD</bcp14> be consistent with that of e xisting
types.</t> types.</t>
<t>BMP operators <bcp14>SHOULD</bcp14> rate-limit statistics updates to mi
<t>BMP operators SHOULD rate-limit statistic updates to minimize nimize
performance impact on control-plane processes. BMP operators SHOULD only performance impact on control plane processes. BMP operators <bcp14>SHOULD
</bcp14> only
enable necessary statistics to reduce memory and CPU overhead. enable necessary statistics to reduce memory and CPU overhead.
Implementations SHOULD also support per-router configuration of Implementations <bcp14>SHOULD</bcp14> also support per-router configuratio n of
statistic subsets for collection and reporting.</t> statistic subsets for collection and reporting.</t>
<t>Some BMP statistics producers, or configurations in BMP statistics <t>Some BMP statistics producers, or configurations in BMP statistics
producers, MAY discard routes that do not match policy and thus the producers, <bcp14>MAY</bcp14> discard routes that do not match policy; thu s, 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 behavior identical in such cases. BMP operators <bcp14>SHOULD</bcp14> be aware of t
when interpreting these gauges. BMP operators SHOULD be aware that BMP his behavior
statistics producers and collectors MAY log inconsistencies between when interpreting these gauges. BMP operators <bcp14>SHOULD</bcp14> be awa
re that BMP
statistics producers and collectors <bcp14>MAY</bcp14> log inconsistencies
between
statistics as warnings.</t> statistics as warnings.</t>
</section> </section>
<section anchor="Security">
<section anchor="Security" title="Security Considerations"> <name>Security Considerations</name>
<t>Procedures and protocol extensions defined in this document do not <t>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 <xref target="RFC7854" />, Section mechanisms required by <xref section="11" target="RFC7854"/>,
8 of <xref target="RFC8671" />, and Section 7 of <xref <xref section="8" target="RFC8671"/>, and <xref section="7" target="RFC906
target="RFC9069" /> are also applicable to the gauges defined in this 9"/> are also applicable to the gauges defined in this
document. This document does not add any additional security document. This document does not add any additional security
considerations.</t> considerations.</t>
<t>Monitored devices <bcp14>SHOULD</bcp14> be configured to implement rate
<t>Monitored devices SHOULD be configured to implement rate-limited -limited
reporting of new gauges.</t> reporting of new gauges.</t>
</section> </section>
<section anchor="IANA">
<section anchor="IANA" title="IANA Considerations"> <!--[rfced] We had the following questions/comments related to the
<t>IANA has assigned the following new parameters in the <eref IANA Considerations section:
target="https://www.iana.org/assignments/bmp-parameters/bmp-parameters.xht
ml#statistics-types">BMP
Statistics Types registry</eref>, part of the <eref
target="https://www.iana.org/assignments/bmp-parameters/bmp-parameters.xht
ml">
BMP parameters registry group</eref>.</t>
<t>This document requests IANA to update these entries as follows. Also,
the document requests IANA to update the reference cited for the entries
with the RFC number to be assigned to this document.</t>
<t>
<list style="symbols">
<t>Type = 18: Number of routes currently in pre-policy
Adj-RIB-In.</t>
<t>Type = 19: Number of routes currently in per-AFI/SAFI pre-policy
Adj-RIB-In.</t>
<t>Type = 20: Number of routes currently in post-policy
Adj-RIB-In.</t>
<t>Type = 21: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-In.</t>
<t>Type = 22: Number of routes currently in per-AFI/SAFI pre-policy
Adj-RIB-In rejected by inbound policy.</t>
<t>Type = 23: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-In accepted by inbound policy.</t>
<t>Type = 26: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-In or Loc-RIB suppressed by configured route damping policy.
</t>
<t>Type = 27: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-In or Loc-RIB marked as stale by GR events.</t>
<t>Type = 28: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-In or Loc-RIB marked as stale by LLGR.</t>
<t>Type = 29: Number of routes currently in post-policy Adj-RIB-In lef
t
before exceeding the received route threshold.</t>
<t>Type = 30: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-In left before exceeding the received route threshold.</t>
<t>Type = 31: Number of routes currently in post-policy Adj-RIB-In or
Loc-RIB left before exceeding a license-customized route threshold.</t
>
<t>Type = 32: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-In or Loc-RIB left before exceeding a license-customized route
threshold.</t>
<t>Type = 33: Number of routes currently in pre-policy Adj-RIB-In
rejected due to exceeding the locally configured maximum AS_PATH
length.</t>
<t>Type = 34: Number of routes currently in per-AFI/SAFI pre-policy
Adj-RIB-In rejected due to exceeding the locally configured maximum
AS_PATH length.</t>
<t>Type = 35: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-In invalidated after verifying route origin AS number
through the ROA of RPKI.</t>
<t>Type = 36: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-In validated after verifying route origin AS number through
the ROA of RPKI.</t>
<t>Type = 37: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-In whose RPKI route origin validation state is NotFound.</t>
</list>
</t>
<t>
<list style="symbols">
<t>Type = 38: Number of routes currently in per-AFI/SAFI pre-policy
Adj-RIB-Out rejected by outbound policy.</t>
<t>Type = 39: Number of routes currently in pre-policy Adj-RIB-Out
filtered due to AS_PATH length exceeding the locally configured
maximum.</t>
<t>Type = 40: Number of routes currently in per-AFI/SAFI pre-policy
Adj-RIB-Out filtered due to AS_PATH length exceeding the locally
configured maximum.</t>
<t>Type = 41: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-Out invalidated after verifying route origin AS number
through the ROA of RPKI.</t>
<t>Type = 42: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-Out validated after verifying route origin AS number through
the ROA of RPKI.</t>
<t>Type = 43: Number of routes currently in per-AFI/SAFI post-policy
Adj-RIB-Out whose RPKI route origin validation state is
NotFound.</t>
</list>
</t>
</section>
<section anchor="Implementation" title="Implementation Status">
<t>Note to the RFC Editor - remove this section before publication, as
well as remove the reference to <xref target="RFC7942" />.</t>
<t>This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in <xref
target="RFC7942" />. The description of implementations in this section
is intended to assist the IETF in its decision processes in progressing
drafts to RFCs. Please note that the listing of any individual
implementation here does not imply endorsement by the IETF. Furthermore,
no effort has been spent to verify the information presented here that
was supplied by IETF contributors. This is not intended as, and must not
be construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may
exist.</t>
<t>According to <xref target="RFC7942" />, "this will allow reviewers
and working groups to assign due consideration to documents that have
the benefit of running code, which may serve as evidence of valuable
experimentation and feedback that have made the implemented protocols
more mature. It is up to the individual working groups to use this
information as they see fit".</t>
<section title="Juniper Networks">
<t>
<list style="symbols">
<t>Organization: Juniper Networks.</t>
<t>Implementation:</t>
<t>Description: Below RIB-IN statistics are implemented. <list
style="symbols">
<t>Type = 18.</t>
<t>Type = 19.</t>
<t>Type = 20.</t>
<t>Type = 21.</t>
<t>Type = 22.</t>
<t>Type = 23.</t>
<t>Type = 26.</t>
<t>Type = 27.</t>
<t>Type = 28.</t>
<t>Type = 35.</t>
<t>Type = 36.</t>
<t>Type = 37.</t>
</list></t>
<t>Maturity Level: Demo</t>
<t>Coverage:</t>
<t>Version: Draft-05</t>
<t>Licensing: N/A</t>
<t>Implementation experience: Nothing specific.</t>
<t>Contact: msri@juniper.net</t>
<t>Last updated: January 20, 2025</t>
</list>
</t>
</section>
<section title="New H3C Technologies">
<t>
<list style="symbols">
<t>Organization: New H3C Technologies.</t>
<t>Implementation: H3C CR16000, CR19000 series routers
implementation of New BMP Statistics Type.</t>
<t>Description: Below New types have been implemented in
above-mentioned New H3C Products (running Version 7.1.086 and
above). <list style="symbols">
<t>Type = 18.</t>
<t>Type = 19.</t>
<t>Type = 20.</t>
<t>Type = 21.</t>
<t>Type = 22.</t>
<t>Type = 23.</t>
<t>Type = 29.</t>
<t>Type = 30.</t>
<t>Type = 31.</t>
<t>Type = 32.</t>
<t>Type = 33.</t>
<t>Type = 34.</t>
<t>Type = 35.</t>
<t>Type = 36.</t>
<t>Type = 37.</t>
<t>Type = 38.</t>
<t>Type = 39.</t>
<t>Type = 40.</t>
</list></t>
<t>Maturity Level: Demo</t>
<t>Coverage:</t>
<t>Version: Draft-05</t> a) We will communicate any updates to the descriptions of the Stat
types to IANA upon the completion of AUTH48.
<t>Licensing: N/A</t> b) We will update the format of the list to instead appear as a table.
We have kept as is for now in order to facilitate diff review. Please
let us know any objections.
<t>Implementation experience: Nothing specific.</t> -->
<t>Contact: linchangwang.04414@h3c.com</t> <name>IANA Considerations</name>
<t>IANA has assigned the following new parameters in the "BMP Statistics T
ypes" registry, part of the <eref
target="https://www.iana.org/assignments/bmp-parameters/"
brackets="angle"> "BGP Monitoring Protocol (BMP) Parameters" registry grou
p</eref>.</t>
<t>IANA has listed these entries as follows. This document serves as a re
ference for each entry.</t>
<dl spacing="normal" newline="false">
<dt>Type = 18:</dt><dd>Number of routes currently in the pre-policy
Adj-RIB-In.</dd>
<dt>Type = 19:</dt><dd>Number of routes currently in the per-AFI/SAFI
pre-policy Adj-RIB-In.</dd>
<dt>Type = 20:</dt><dd>Number of routes currently in the post-policy
Adj-RIB-In.</dd>
<dt>Type = 21:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In.</dd>
<dt>Type = 22:</dt><dd>Number of routes currently in the per-AFI/SAFI
pre-policy Adj-RIB-In rejected by an inbound policy.</dd>
<dt>Type = 23:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In accepted by an inbound policy.</dd>
<dt>Type = 26:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In or Loc-RIB suppressed by a configured route-dampi
ng policy.</dd>
<dt>Type = 27:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In or Loc-RIB marked as stale by GR events.</dd>
<dt>Type = 28:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In or Loc-RIB marked as stale by LLGR.</dd>
<dt>Type = 29:</dt><dd>Number of routes currently in the post-policy
Adj-RIB-In left before exceeding the received-route threshold.</dd>
<dt>Type = 30:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In left before exceeding the received-route
threshold.</dd>
<dt>Type = 31:</dt><dd>Number of routes currently in the post-policy
Adj-RIB-In or Loc-RIB left before exceeding a license-customized route
threshold.</dd>
<dt>Type = 32:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In or Loc-RIB left before exceeding a
license-customized route threshold.</dd>
<dt>Type = 33:</dt><dd>Number of routes currently in the pre-policy
Adj-RIB-In rejected due to exceeding the locally configured maximum
AS_PATH length.</dd>
<dt>Type = 34:</dt><dd>Number of routes currently in the per-AFI/SAFI
pre-policy Adj-RIB-In rejected due to exceeding the locally configured
maximum AS_PATH length.</dd>
<dt>Type = 35:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In invalidated after verifying the route origin AS
number through the ROA of RPKI.</dd>
<dt>Type = 36:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In validated after verifying the route origin AS
number through the ROA of RPKI.</dd>
<dt>Type = 37:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In whose RPKI route origin validation state is
NotFound.</dd>
<dt>Type = 38:</dt><dd>Number of routes currently in the per-AFI/SAFI
pre-policy Adj-RIB-Out rejected by an outbound policy.</dd>
<dt>Type = 39:</dt><dd>Number of routes currently in the pre-policy
Adj-RIB-Out filtered due to AS_PATH length exceeding the locally
configured maximum.</dd>
<dt>Type = 40:</dt><dd>Number of routes currently in the per-AFI/SAFI
pre-policy Adj-RIB-Out filtered due to AS_PATH length exceeding the
locally configured maximum.</dd>
<dt>Type = 41:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-Out invalidated after verifying the route origin AS
number through the ROA of RPKI.</dd>
<dt>Type = 42:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-Out validated after verifying the route origin AS
number through the ROA of RPKI.</dd>
<dt>Type = 43:</dt><dd>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-Out whose RPKI route origin validation state is
NotFound.</dd>
</dl>
<!--table update; remove the <dl> above.
<table anchor="tbl-iana-stats-types" align="center">
<name>BMP Statistics Types</name>
<thead>
<tr>
<th align="left">Stat Type</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">18</td>
<td>Number of routes currently in the pre-policy
Adj-RIB-In.</td>
</tr>
<tr>
<td align="center">19</td>
<td>Number of routes currently in the per-AFI/SAFI
pre-policy Adj-RIB-In.</td>
</tr>
<tr>
<td align="center">20</td>
<td>Number of routes currently in the post-policy
Adj-RIB-In.</td>
</tr>
<tr>
<td align="center">21</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In.</td>
</tr>
<tr>
<td align="center">22</td>
<td>Number of routes currently in the per-AFI/SAFI
pre-policy Adj-RIB-In rejected by an inbound policy.</td>
</tr>
<tr>
<td align="center">23</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In accepted by an inbound policy.</td>
</tr>
<tr>
<td align="center">26</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In or Loc-RIB suppressed by a
configured route-damping policy.</td>
</tr>
<tr>
<td align="center">27</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In or Loc-RIB marked as stale by
GR events.</td>
</tr>
<tr>
<td align="center">28</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In or Loc-RIB marked as stale by
LLGR.</td>
</tr>
<tr>
<td align="center">29</td>
<td>Number of routes currently in the post-policy
Adj-RIB-In left before exceeding the received-route
threshold.</td>
</tr>
<tr>
<td align="center">30</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In left before exceeding the
received-route threshold.</td>
</tr>
<tr>
<td align="center">31</td>
<td>Number of routes currently in the post-policy
Adj-RIB-In or Loc-RIB left before exceeding a
license-customized route threshold.</td>
</tr>
<tr>
<td align="center">32</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In or Loc-RIB left before exceeding
a license-customized route threshold.</td>
</tr>
<tr>
<td align="center">33</td>
<td>Number of routes currently in the pre-policy
Adj-RIB-In rejected due to exceeding the locally
configured maximum AS_PATH length.</td>
</tr>
<tr>
<td align="center">34</td>
<td>Number of routes currently in the per-AFI/SAFI
pre-policy Adj-RIB-In rejected due to exceeding the
locally configured maximum AS_PATH length.</td>
</tr>
<tr>
<td align="center">35</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In invalidated after verifying the
route origin AS number through the ROA of RPKI.</td>
</tr>
<tr>
<td align="center">36</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In validated after verifying the
route origin AS number through the ROA of RPKI.</td>
</tr>
<tr>
<td align="center">37</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-In whose RPKI route origin
validation state is NotFound.</td>
</tr>
<tr>
<td align="center">38</td>
<td>Number of routes currently in the per-AFI/SAFI
pre-policy Adj-RIB-Out rejected by an outbound
policy.</td>
</tr>
<tr>
<td align="center">39</td>
<td>Number of routes currently in the pre-policy
Adj-RIB-Out filtered due to AS_PATH length exceeding
the locally configured maximum.</td>
</tr>
<tr>
<td align="center">40</td>
<td>Number of routes currently in the per-AFI/SAFI
pre-policy Adj-RIB-Out filtered due to AS_PATH length
exceeding the locally configured maximum.</td>
</tr>
<tr>
<td align="center">41</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-Out invalidated after verifying the
route origin AS number through the ROA of RPKI.</td>
</tr>
<tr>
<td align="center">42</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-Out validated after verifying the
route origin AS number through the ROA of RPKI.</td>
</tr>
<tr>
<td align="center">43</td>
<td>Number of routes currently in the per-AFI/SAFI
post-policy Adj-RIB-Out whose RPKI route origin
validation state is NotFound.</td>
</tr>
</tbody>
</table>
-->
<t>Last updated: January 20, 2025</t>
</list>
</t>
</section>
</section> </section>
<section anchor="Acknowledgements" title="Acknowledgements">
<t>The author would like to thank Jeff Haas, Mohamed Boucadair, Thomas
Graf, and Prasad S. Narasimha for their valuable input.</t>
<t>Thanks to Giuseppe Fioccola for the OPSDIR, Jouni Korhonen for the
GENART, and Bruno Decraene for the RTGDIR review.</t>
<t>Thanks to Gunter van de Velde, Eric Vyncke, and Ketan Talaulikar for
the IESG review.</t>
</section>
</middle> </middle>
<!-- *****BACK MATTER ***** -->
<back> <back>
<references title="References"> <references>
<references title="Normative References"> <name>References</name>
<!--?rfc include= <references>
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?--> <name>Normative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer 119.xml"/>
ence.RFC.2119.xml" <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2
xmlns:xi="http://www.w3.org/2001/XInclude" /> 439.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer 271.xml"/>
ence.RFC.2439.xml" <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4
xmlns:xi="http://www.w3.org/2001/XInclude" /> 724.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer 760.xml"/>
ence.RFC.4271.xml" <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
xmlns:xi="http://www.w3.org/2001/XInclude" /> 811.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer 854.xml"/>
ence.RFC.4724.xml" <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
xmlns:xi="http://www.w3.org/2001/XInclude" /> 174.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer 671.xml"/>
ence.RFC.4760.xml" <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
xmlns:xi="http://www.w3.org/2001/XInclude" /> 069.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer 494.xml"/>
ence.RFC.6811.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.7854.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<!-- <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/
reference.RFC.7911.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.8174.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.8671.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.9069.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.9494.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<reference anchor="IANA-AFI" <reference anchor="IANA-AFI" target="https://www.iana.org/assignments/ad
target="https://www.iana.org/assignments/address-family-numbe dress-family-numbers">
rs">
<front> <front>
<title>Address Family Numbers</title> <title>Address Family Numbers</title>
<author> <author>
<organization>IANA</organization> <organization>IANA</organization>
</author> </author>
</front> </front>
</reference> </reference>
<reference anchor="IANA-SAFI" target="https://www.iana.org/assignments/s
<reference anchor="IANA-SAFI" afi-namespace">
target="https://www.iana.org/assignments/safi-namespace">
<front> <front>
<title>Subsequent Address Family Identifiers (SAFI) <title>Subsequent Address Family Identifiers (SAFI)
Parameters</title> Parameters</title>
<author> <author>
<organization>IANA</organization> <organization>IANA</organization>
</author> </author>
</front> </front>
</reference> </reference>
</references> </references>
<references title="Informative References"> <!-- [rfced] Would you like the references to be alphabetized or left
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer in their current order?
ence.RFC.7942.xml" -->
xmlns:xi="http://www.w3.org/2001/XInclude" />
</references>
</references> </references>
<section anchor="Acknowledgements" numbered="false">
<name>Acknowledgements</name>
<t>The authors would like to thank <contact fullname="Jeff Haas"/>,
<contact fullname="Mohamed Boucadair"/>, <contact fullname="Thomas
Graf"/>, and <contact fullname="Prasad S. Narasimha"/> for their
valuable input.</t>
<t>Thanks to <contact fullname="Giuseppe Fioccola"/> for the OPSDIR,
<contact fullname="Jouni Korhonen"/> for the GENART, and <contact
fullname="Bruno Decraene"/> for the RTGDIR review.</t>
<t>Thanks to <contact fullname="Gunter van de Velde"/>, <contact
fullname="Éric Vyncke"/>, and <contact fullname="Ketan Talaulikar"/> for
the IESG review.</t>
</section>
<!--[rfced] We note that the following terms may be used inconsistently througho
ut the document. Please review these terms and let us know if/how they may be m
ade consistent.
Stat Type vs. stat type vs. stats type (note RFC 7854 does not use
stats type)
BMP Statistics Report Message vs. BMP statistics message
Statistic vs. statistic (when used by itself)
Gauge vs. gauge
Type vs. type (e.g., Type 27 vs. type 27)
statistic type vs. statistics types (various casing) - singular or
plural?
-->
<!--[rfced] We had the following questions related to abbreviation use throughou
t the document:
a) We see several instances of AS number. May we make these ASN
instead (for Autonomous System Number)?
-->
<!-- [rfced] Please review the "Inclusive Language" portion of the
online Style Guide
<https://www.rfc-editor.org/styleguide/part2/#inclusive_language>
and let us know if any changes are needed. Updates of this
nature typically result in more precise language, which is
helpful for readers.
Note that our script did not flag any words in particular, but this
should still be reviewed as a best practice.
-->
</back> </back>
</rfc> </rfc>
 End of changes. 133 change blocks. 
886 lines changed or deleted 976 lines changed or added

This html diff was produced by rfcdiff 1.48.