<?xmlversion="1.0" encoding="US-ASCII"?> <!-- This template is for creating an Internet Draft using xml2rfc, which is available here: http://xml.resource.org. -->version='1.0' encoding='UTF-8'?> <!DOCTYPE rfc [ <!ENTITY nbsp " "> <!ENTITY zwsp "​"> <!ENTITY nbhy "‑"> <!ENTITY wj "⁠"> ]> <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="" obsoletes="" tocInclude="true" symRefs="true" sortRefs="false" 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 ***** -->submissionType="IETF" version="3" xml:lang="en" > <front> <title abbrev="BMP New Statistics">Advanced BGP Monitoring Protocol (BMP) Statistics Types</title><!-- add 'role="editor"' below for the editors if appropriate --> <!-- Another author who claims to be an editor --><seriesInfo name="RFC" value="9972"/> <author fullname="Mukul Srivastava" initials="M." role="editor" surname="Srivastava"> <organization>Hewlett Packard Enterprise</organization> <address> <postal> <street>10 Technology Park Dr</street><!-- Reorder these if your country does things differently --><city>Westford</city> <region>MA</region> <code>01886</code><country>USA</country><country>United States of America</country> </postal> <email>mukul.srivastava@hpe.com</email><!-- uri and facsimile elements may also be added --></address> </author> <author fullname="Yisong Liu" initials="Y." surname="Liu"> <organization>China Mobile</organization> <address> <postal> <street>32 Xuanwumen West Street</street><!-- Reorder these if your country does things differently --><city>Beijing</city> <region>Xicheng District</region> <code>100053</code> <country>China</country> </postal> <email>liuyisong@chinamobile.com</email><!-- uri and facsimile elements may also be added --></address> </author> <author fullname="Changwang Lin" initials="C." role="editor" surname="Lin"> <organization>New H3C Technologies</organization> <address> <postal> <street>8 Yongjia North Road</street><!-- Reorder these if your country does things differently --><city>Beijing</city> <region>Haidian District</region> <code>100094</code> <country>China</country> </postal> <email>linchangwang.04414@h3c.com</email><!-- uri and facsimile elements may also be added --></address> </author> <author fullname="Jinming Li" initials="J." surname="Li"> <organization>China Mobile</organization> <address> <postal> <street>32 Xuanwumen West Street</street><!-- Reorder these if your country does things differently --><city>Beijing</city> <region>Xicheng District</region> <code>100053</code> <country>China</country> </postal> <email>lijinming@chinamobile.com</email><!-- uri and facsimile elements may also be added --></address> </author> <dateyear="2025" /> <!-- Meta-data Declarations --> <area>General</area> <workgroup>GROW</workgroup>year="2026" month="May"/> <area>OPS</area> <workgroup>grow</workgroup> <keyword>IDR</keyword> <keyword>GROW</keyword> <keyword>BGP</keyword> <keyword>BMP</keyword> <abstract><t>RFC 7854 defines different<t>The BGP Monitoring Protocol (BMP) described in RFC 7854 defines statistics message types to observe events that occur on a monitored router. This document defines new statisticstypetypes to monitor BMP Adj-RIB-In and Adj-RIB-Out Routing Information Bases (RIBs).</t> </abstract> </front> <middle> <sectionanchor="introduction" title="Introduction"> <t>Section 4.8 of <xref target="RFC7854" />anchor="introduction"> <name>Introduction</name> <t><xref section="4.8" target="RFC7854"/> defines a number of different BGP Monitoring Protocol (BMP) statistics types to observe major events that occur on a monitored router.StatsStatistics are either counters or gauges.Section 6.2 of<xreftarget="RFC8671" />section="6.2" target="RFC8671"/> also defines several BMP statistics types for Adj-RIB-Out of a monitored router.</t> <t>New BMP statistics types are needed to enablemore refinedmore-refined BGP route monitoring andanalysis, improvinganalysis to improve operational maintenance and troubleshooting capabilities.</t> <t>This document defines gauges for new BMP statistics. The applicability scope of these new gauges (Adj-RIB-In, Adj-RIB-Out, Loc-RIB) is provided inSection 4.<xref target="Application_Scope_of_Statistics"/>. The format of the BMP statistics message remains the same as defined in <xreftarget="RFC7854" />.</t> <section title="Requirements Language"> <t>Thetarget="RFC7854"/>.</t> <section> <name>Requirements Language</name> <t> The key words"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY","<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and"OPTIONAL""<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described inBCP 14BCP 14 <xreftarget="RFC2119" />target="RFC2119"/> <xreftarget="RFC8174" />target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.The BCP14 is</t> <aside><t>Note that the key words are used to stress importance foroperators butoperations; they are not required as a formal implementationrequirement.</t>requirement.</t></aside> </section> </section><section title="Terminology"><section> <name>Terminology</name> <!--[rfced] We had the following questions about the Terminology section: a) We notice that some entries in the Terminology section include quotes from their defining documents while others do not. Should this be made uniform? b) We do not see any uses of Monitoring Station in this document. Please review if updates to the following text should be made. Original: The terms "Producer" and "Collector" are equivalent to "Monitored Router" and "Monitoring Station", respectively. --> <t>This document makes use of the following terms:<list style="symbols"> <t>Adj-RIB-In: As</t> <dl spacing="normal" newline="false"> <dt>Adj-RIB-In:</dt><dd><t>As defined in <xreftarget="RFC4271" />, "Thetarget="RFC4271"/>:</t> <blockquote>The Adj-RIBs-In contains unprocessed routing information that has been advertised to the local BGP speaker by itspeers."</t> <t>Pre-policy Adj-RIB-In: Thepeers.</blockquote></dd> <dt>Pre-policy Adj-RIB-In:</dt><dd>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 inSection 2 of<xreftarget="RFC7854" />.</t> <t>Post-policy Adj-RIB-In: Assection="2" target="RFC7854"/>.</dd> <dt>Post-policy Adj-RIB-In:</dt><dd>As defined inSection 2 of<xreftarget="RFC7854" />.</t> <t>Adj-RIB-Out: Assection="2" target="RFC7854"/>.</dd> <dt>Adj-RIB-Out:</dt><dd><t>As defined in <xreftarget="RFC4271" />, "Thetarget="RFC4271"/>:</t><blockquote>The Adj-RIBs-Out contains the routes for advertisement to specific peers by means of the local speaker's UPDATEmessages."</t> <t>Pre-policy Adj-RIB-Out: Asmessages.</blockquote></dd> <dt>Pre-policy Adj-RIB-Out:</dt><dd>As defined inSection 3 of<xreftarget="RFC8671" />.</t> <t>Post-policy Adj-RIB-Out: Assection="3" target="RFC8671"/>.</dd> <dt>Post-policy Adj-RIB-Out:</dt><dd>As defined inSection 3 of<xreftarget="RFC8671" />.</t> <t>Loc-RIB: Assection="3" target="RFC8671"/>.</dd> <dt>Loc-RIB:</dt><dd><t>As defined inSection 1.1 of<xreftarget="RFC4271" />, "Thesection="1.1" target="RFC4271"/>:</t><blockquote>The Loc-RIB contains the routes that have been selected by the local BGP speaker's Decision Process." 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 staticroutes.</t> <t>Route: Asroutes.</blockquote></dd> <dt>Route:</dt><dd>As defined inSection 1.1 of<xreftarget="RFC4271" />.</t> </list></t>section="1.1" target="RFC4271"/>.</dd> </dl> <t>The terms"Producer""producer" and"Collector""collector" are equivalent to"Monitored Router""monitored router" and"Monitoring Station","monitoring station", respectively. Also, "implementation"is used followingfollows the same usage as in <xreftarget="RFC7854" />.</t>target="RFC7854"/>.</t> </section> <sectionanchor="Stats" title="RIBanchor="Stats"> <name>RIB MonitoringStatistics">Statistics</name> <t>This section defines different statisticstypetypes for Adj-RIB-In and Adj-RIB-Out monitoringtype.types. Some of these statistics are also applicable to Loc-RIB; refer toSection 4<xref target="Application_Scope_of_Statistics"/> for more details.</t> <sectionanchor="stats-format" title="Statistics Format">anchor="stats-format"> <name>Statistics Format</name> <t>The BMP Statistics Report Message carries statistic information in Type-Length-Value (TLV) formats. Each Statistic is encoded as a TLV (Stat Type, Stat Len, Stat Data)(Section 4.8 of(see <xreftarget="RFC7854" />).section="4.8" target="RFC7854"/>). "Stat Data" is being referred to as "value" when defining various RIB Monitoring Statistics.</t> <!--[rfced] Do uses of "per-" apply to both AFI and SAFI? Note that more instances occur throughout the document. Note also that, for this instance, as AFI and SAFI are marked as well-known abbreviations, it may actually be easier for the reader if the expansions were removed: Original: ...Global Statistics and Per-Address Family Identifier (AFI)/Subsequent Address Family Identifier (SAFI) [RFC4760] Statistics. Perhaps: ...Global Statistics and Statistics per-AFI or per-SAFI (see [RFC4760]). --> <!--[rfced] Is the switch between singular and plural in these sentences intentional? a) a statistic vs. statistics Original: Both a Global Statistic and its corresponding Per-AFI/ SAFI Statistics can be reported simultaneously. Perhaps: Both Global Statistics and and their corresponding Per-AFI/ SAFI Statistics can be reported simultaneously. b) AFI/SAFIs Original: The Per-AFI/SAFI Statistics apply only to the AFI/SAFIs that a BGP speaker supports and negotiates with its peer. Perhaps: The Per-AFI/SAFI Statistics apply only to the AFIs/SAFIs that a BGP speaker supports and negotiates with its peer. Note: even when not preceded by "Per", it may be beneficial to clarify the use of the slash character. Are these either/or relationships or and relationships? If it has a special meaning, it may be good to define AFI/SAFI in the Terminology section. --> <t>Statistics defined in this document can be categorized into two granularities: Global Statistics and Per-Address Family Identifier(AFI)/Subsequent(AFI) / Subsequent Address Family Identifier (SAFI) Statistics (see <xreftarget="RFC4760" /> Statistics.target="RFC4760"/>). 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 (see <xreftarget="IANA-AFI" />target="IANA-AFI"/> and <xreftarget="IANA-SAFI" />.</t>target="IANA-SAFI"/>).</t> <t>For Global Statistics, the "Stat Data" (value) field is a single 64-bit unsigned integer gaugewithwhere the "Stat Len"MUSTfield <bcp14>MUST</bcp14> be set to 8. Each global statisticMUST<bcp14>MUST</bcp14> appear only once in a BMP Statistics Report Message.</t> <!--[rfced] We plan to reformat the following text but have waited as there were so many uses, we felt it would clutter the diff file. Original: ...formatted as: 2-byte AFI, 1-byte SAFI, and a 64-bit Gauge. Perhaps: ...formatted as a 2-byte AFI, a 1-byte SAFI, and a 64-bit Gauge. Note that we will update the following similar use (many instances exist) to appear as above unless we hear objection. Original: The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge. Perhaps: The value is structured as a 2-byte AFI, a 1-byte SAFI, and a 64-bit Gauge. --> <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 a 64-bit Gauge. The "Stat Len"MUST<bcp14>MUST</bcp14> be set to 11. For any given per-AFI/SAFI Statistic, duplicate (AFI, SAFI) pairsMUST NOT<bcp14>MUST NOT</bcp14> appear within the same BMP Statistics Report Message. Per-AFI/SAFI statisticsMUST NOT<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 MessageMUST<bcp14>MUST</bcp14> be set to 3 (Loc-RIB Instance Peer) <xreftarget="RFC9069" />.target="RFC9069"/>. Otherwise, the "Peer Type"MUSTfield <bcp14>MUST</bcp14> be set as defined inSection 4.2 of of<xref target="RFC7854"/>.</t>section="4.2"/>.</t> <t>A BMP implementationMUST<bcp14>MUST</bcp14> ignore unrecognized stat types upon receipt.</t> </section> <sectionanchor="adj-rib-in-stats" title="Adj-RIB-Inanchor="adj-rib-in-stats"> <name>Adj-RIB-In RIB Monitoring StatisticsDefinition"> <t> <list style="symbols"> <t>TypeDefinition</name> <dl spacing="normal" newline="true"> <dt>Type = 18: (64-bitGauge) CurrentGauge)</dt><dd>Current number of routes in the pre-policy Adj-RIB-In. This gauge is similar to stats type 7 defined in <xreftarget="RFC7854" />target="RFC7854"/> and makes it explicitly for the pre-policyAdj-RIB-In.</t> <t>TypeAdj-RIB-In.</dd> <dt>Type = 19: (64-bitGauge) CurrentGauge)</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 inSection 4.8 of<xreftarget="RFC7854" />section="4.8" target="RFC7854"/> and makes it explicitly for the pre-policyAdj-RIB-In. TheAdj-RIB-In.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 20: (64-bitGauge) CurrentGauge)</dt><dd>Current number of routes in the post-policyAdj-RIB-In.</t> <t>TypeAdj-RIB-In.</dd> <dt>Type = 21: (64-bitGauge) CurrentGauge)</dt><dd><t>Current number of routes in the per-AFI/SAFI post-policyAdj-RIB-In. TheAdj-RIB-In.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 22: (64-bitGauge) CurrentGauge)</dt><dd> <!--[rfced] Should the following update be made? Original: The stats type 0 is a 32-counter which is a monotonically increasing number... Perhaps: Stats type 0 is a 32-bit counter that is a monotonically increasing number... --> <t>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 type 0 defined inSection 4.8 of<xref target="RFC7854"/>. The statssection="4.8"/>. Stats type 0 is a 32-counterwhichthat is a monotonically increasingnumber, whilenumber; the stats type 22 is a 64-bit gaugewhichthat represents the current number of routes rejected by an inbound policy due to ongoing policy configurationchanges. Thechanges.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 23: (64-bitGauge) CurrentGauge)</dt><dd><t>Current number of routes in the per-AFI/SAFI post-policy Adj-RIB-In accepted by an inboundpolicy. Thepolicy.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 26: (64-bitGauge) CurrentGauge)</dt><dd><t>Current number of routes in the per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB suppressed by a configuredroute damping policy. Theroute-damping policy.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge. 'Suppressed'Gauge.</t><t>'Suppressed' refers to a routewhichthat has been declared suppressed by the BGP Route Flap Damping mechanism as described inSection 2.2 of<xreftarget="RFC2439" />.</t> <t>Typesection="2.2" target="RFC2439"/>.</t></dd> <dt>Type = 27: (64-bitGauge) CurrentGauge)</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. Theevents.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge. 'Stale'Gauge.</t><t>'Stale' refers to a routewhichthat has been declared stale by the BGP GR mechanism as described inSection 4.1 of<xreftarget="RFC4724" />.</t> <t>Typesection="4.1" target="RFC4724"/>.</t></dd> <dt>Type = 28: (64-bitGauge) CurrentGauge)</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). The(LLGR).</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge. 'Stale'Gauge.</t><t>'Stale' refers to a routewhichthat has been declared stale by the BGP LLGR mechanism as described inSection 4.3 of<xreftarget="RFC9494" />.</t> <t>Typesection="4.3" target="RFC9494"/>.</t></dd> <dt>Type = 29: (64-bitGauge) CurrentGauge)</dt><dd>Current number of routes in the post-policy Adj-RIB-In left before exceeding thereceived routereceived-route threshold as defined inSection 6.7 of<xreftarget="RFC4271" />.</t> <t>Typesection="6.7" target="RFC4271"/>.</dd> <dt>Type = 30: (64-bitGauge) CurrentGauge)</dt><dd><t>Current number of routes in the per-AFI/SAFI in post-policy Adj-RIB-In left before exceeding thereceived routereceived-route thresholdwhichthat corresponds to the upper bound of per-AFI/SAFI accepted routes following the model defined inSection 6.7 of<xreftarget="RFC4271" />. Thesection="6.7" target="RFC4271"/>.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 31: (64-bitGauge) CurrentGauge)</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 valueMUST NOT<bcp14>MUST NOT</bcp14> bereported.</t> <t>Typereported.</dd> <dt>Type = 32: (64-bitGauge) CurrentGauge)</dt><dd><t>Current number of routes in the per-AFI/SAFI 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 valueMUST NOT<bcp14>MUST NOT</bcp14> bereported. Thereported.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 33: (64-bitGauge) CurrentGauge)</dt><dd>Current number of routes in the pre-policy Adj-RIB-In rejectedbydue to exceeding the maximum AS_PATH length supported by the localconfiguration.</t> <t>Typeconfiguration.</dd> <dt>Type = 34: (64-bitGauge) CurrentGauge)</dt><dd><t>Current number of routes in the per-AFI/SAFI in pre-policy Adj-RIB-In rejectedbydue to exceeding the maximum AS_PATH length supported by the localconfiguration. Theconfiguration.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 35: (64-bitGauge) CurrentGauge)</dt><dd> <!--[rfced] We see both "invalidated through the ROA of RPKI" for Types 35, 36, 41, and 42 in Section 3.2 and "invalidated after verifying route origin AS number through the ROA of RPKI" for the same types in Section 8. Please let us know if/how these should be made uniform. --> <t>Current number of routes in the per-AFI/SAFI post-policy Adj-RIB-In invalidated through the Route Origin Authorization (ROA) of Resource Public Key Infrastructure (RPKI) <xreftarget="RFC6811" />.target="RFC6811"/>. This is the total number of routes invalidated due to a mismatch of origin Autonomous System (AS)number mismatchnumbers and a mismatch of prefixlength mismatch. Thelength.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 36: (64-bitGauge) CurrentGauge)</dt><dd><t>Current number of routes in the per-AFI/SAFI post-policy Adj-RIB-In validated by verifying the route origin AS number through the ROA of RPKI <xreftarget="RFC6811" />. Thetarget="RFC6811"/>.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 37: (64-bitGauge) CurrentGauge)</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 <xreftarget="RFC6811" />. Thetarget="RFC6811"/>.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> </list> </t>Gauge.</t></dd> </dl> </section> <sectionanchor="adj-rib-out-stats" title="Adj-RIB-Outanchor="adj-rib-out-stats"> <name>Adj-RIB-Out RIB Monitoring StatisticsDefinition"> <t> <list style="symbols"> <t>TypeDefinition</name> <dl spacing="normal" newline="true"> <dt>Type = 38: (64-bitGauge) CurrentGauge)</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 routeswhichthat otherwise would have been advertised in the absence of an outbound policywhichthat rejectedthem. Thethem.</t> <t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 39: (64-bitGauge) CurrentGauge)</dt><dd>Current number of routes in the pre-policy Adj-RIB-Out filtered due to the AS_PATH length exceeding the locally configuredmaximum.</t> <t>Typemaximum.</dd> <dt>Type = 40: (64-bitGauge) CurrentGauge)</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 configuredmaximum. Themaximum.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 41: (64-bitGauge) CurrentGauge)</dt><dd><t>Current number of routes in the per-AFI/SAFI post-policy Adj-RIB-Out invalidated through the ROA of RPKI <xreftarget="RFC6811" />.target="RFC6811"/>. This is the total number of routes invalidated due to a mismatch of origin ASnumber mismatchnumbers and a mismatch of prefixlength mismatch. Thelengths.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 42: (64-bitGauge) CurrentGauge)</dt><dd><t>Current number of routes in the per-AFI/SAFI post-policy Adj-RIB-Out validated by verifying the route origin AS number through the ROA of RPKI <xreftarget="RFC6811" />. Thetarget="RFC6811"/>.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> <t>TypeGauge.</t></dd> <dt>Type = 43: (64-bitGauge) CurrentGauge)</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 <xreftarget="RFC6811" />. Thetarget="RFC6811"/>.</t><t>The value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-bitGauge.</t> </list> </t>Gauge.</t></dd> </dl> </section> </section> <sectionanchor="Application Scope of Statistics" title="Applicationanchor="Application_Scope_of_Statistics"> <name>Application Scope ofStatistics">Statistics</name> <t>This section briefly lists the statistics defined in this document and outlines their scope ofapplication, as shown in Table 1.</t>application.</t> <table anchor="tbl-scope-of-application"align="center" pn="table-1"> <name slugifiedName="name-scope-of-application">Scopealign="center"> <name>Scope of Application</name> <thead> <tr> <thalign="left" colspan="1" rowspan="1">Type</th>align="left">Type</th> <thalign="left" colspan="1" rowspan="1">Pre-policyalign="left">Pre-policy Adj-RIB-In</th> <thalign="left" colspan="1" rowspan="1">Post-policyalign="left">Post-policy Adj-RIB-In</th> <thalign="left" colspan="1" rowspan="1">Loc-RIB</th>align="left">Loc-RIB</th> <thalign="left" colspan="1" rowspan="1">Pre-policyalign="left">Pre-policy Adj-RIB-Out</th> <thalign="left" colspan="1" rowspan="1">Post-policyalign="left">Post-policy Adj-RIB-Out</th> </tr> </thead> <tbody> <tr> <tdalign="center" colspan="1" rowspan="1">18</td>align="center">18</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">19</td>align="center">19</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">20</td>align="center">20</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">21</td>align="center">21</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">22</td>align="center">22</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">23</td>align="center">23</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">26</td>align="center">26</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">27</td>align="center">27</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">28</td>align="center">28</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">29</td>align="center">29</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">30</td>align="center">30</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">31</td>align="center">31</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">32</td>align="center">32</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">33</td>align="center">33</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">34</td>align="center">34</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">35</td>align="center">35</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">36</td>align="center">36</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">37</td>align="center">37</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">38</td>align="center">38</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">39</td>align="center">39</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">40</td>align="center">40</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">41</td>align="center">41</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">42</td>align="center">42</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> </tr> <tr> <tdalign="center" colspan="1" rowspan="1">43</td>align="center">43</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">N</td>align="center">N</td> <tdalign="center" colspan="1" rowspan="1">Y</td>align="center">Y</td> </tr> </tbody> </table> </section> <sectionanchor="Implementation-Considerations" title="Implementation Considerations">anchor="Implementation-Considerations"> <name>Implementation Considerations</name> <t>This document specifies gauges for new BMP statistics. The format of BMP statistics messages remains unchanged from <xreftarget="RFC7854" />.target="RFC7854"/>. This section outlines the implementation 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 isRECOMMENDED<bcp14>RECOMMENDED</bcp14> that BMP producers capable of generating both (Types 7 and 18)orand (Types 9 and 19) BMP statisticsSHOULD<bcp14>SHOULD</bcp14> transmit both corresponding types simultaneously. This allows BMP collectors to process either format according to their needs without disrupting existing implementations that rely on Type 7 or Type 9. The selection of which statistic types to generate within each pairSHOULD<bcp14>SHOULD</bcp14> be treated as an implementation decision rather than a protocol requirement, with the BMP collector behavior for handling these statistic types remainingimplementation-specific.</t>implementation specific.</t> <t>Some statistics are dependent on feature configurations, such as GR, LLGR, andRPKI, soRPKI; therefore, the corresponding statisticsSHOULD<bcp14>SHOULD</bcp14> only be generated and sent when these features are enabled on the BMP producer. These statistics includeTypesthe following Types: 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, and 43.</t> <t>Some statistics are also relevant for the Loc-RIB view <xreftarget="RFC9069" />, sotarget="RFC9069"/>; therefore, they may apply to the Loc-RIB view after best-path selection is completed. These statistics include Types 26, 27, 28, 31, and 32. When these statistics apply to the Loc-RIB view, thePeer Type"Peer Type" field in the Per-Peer Header of the corresponding BMP Statistics Report MessageMUST<bcp14>MUST</bcp14> set to 3.</t> <t>Certain statistics may have logical relationships (e.g., per-AFI/SAFI counts summing to global totals). BMP statistics producers and collectorsMAY<bcp14>MAY</bcp14> perform consistency checks butMUST NOT<bcp14>MUST NOT</bcp14> assume strict dependencies (due to potential race conditions or partial failures). Discrepancies (e.g., sum(per-AFI/SAFI) != global count)SHOULD<bcp14>SHOULD</bcp14> be logged as warnings butMUST NOT<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 GR/LLGR event consumes additional control plane resources (e.g., CPU). BMP statistics producersSHOULD<bcp14>SHOULD</bcp14> prioritize the core GR/LLGR convergence procedures. To avoid adversely impacting the restart process, a BMP statistics producerMAY<bcp14>MAY</bcp14> 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.</t> <t>These gauges may reset due to manualclearance,clearance or overflow. BMP statistics producers and collectorsMUST<bcp14>MUST</bcp14> track discontinuities and log this anomaly.</t> </section> <sectionanchor="Operational" title="Operational Considerations">anchor="Operational"> <name>Operational Considerations</name> <t>This section outlines some operational considerations of new BMP statistics for BMP operators.</t> <t>Transmission scheduling and triggering mechanisms for new gauges areimplementation-dependent.implementation dependent. BMP operatorsSHOULD<bcp14>SHOULD</bcp14> determine appropriate report generation and delivery strategies, including configurable timing intervals and threshold values. The mechanism for controlling the reporting of new gaugesSHOULD<bcp14>SHOULD</bcp14> be consistent with that of existing types.</t> <t>BMP operatorsSHOULD<bcp14>SHOULD</bcp14> rate-limitstatisticstatistics updates to minimize performance impact oncontrol-planecontrol plane processes. BMP operatorsSHOULD<bcp14>SHOULD</bcp14> only enable necessary statistics to reduce memory and CPU overhead. ImplementationsSHOULD<bcp14>SHOULD</bcp14> also support per-router configuration of statistic subsets for collection and reporting.</t> <t>Some BMP statistics producers, or configurations in BMP statistics producers,MAY<bcp14>MAY</bcp14> discard routes that do not matchpolicy and thuspolicy; thus, the accepted count (Type 23) and the Adj-RIB-In counts (Type 21) will be identical in such cases. BMP operatorsSHOULD<bcp14>SHOULD</bcp14> be aware of this behavior when interpreting these gauges. BMP operatorsSHOULD<bcp14>SHOULD</bcp14> be aware that BMP statistics producers and collectorsMAY<bcp14>MAY</bcp14> log inconsistencies between statistics as warnings.</t> </section> <sectionanchor="Security" title="Security Considerations">anchor="Security"> <name>Security Considerations</name> <t>Procedures and protocol extensions defined in this document do not affect the BMP security model. All security and authentication mechanisms required bySection 11 of<xreftarget="RFC7854" />, Section 8 ofsection="11" target="RFC7854"/>, <xreftarget="RFC8671" />,section="8" target="RFC8671"/>, andSection 7 of<xreftarget="RFC9069" />section="7" target="RFC9069"/> are also applicable to the gauges defined in this document. This document does not add any additional security considerations.</t> <t>Monitored devicesSHOULD<bcp14>SHOULD</bcp14> be configured to implement rate-limited reporting of new gauges.</t> </section> <sectionanchor="IANA" title="IANA Considerations">anchor="IANA"> <!--[rfced] We had the following questions/comments related to the IANA Considerations section: a) We will communicate any updates to the descriptions of the Stat types to IANA upon the completion of AUTH48. 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. --> <name>IANA Considerations</name> <t>IANA has assigned the following new parameters in the<eref target="https://www.iana.org/assignments/bmp-parameters/bmp-parameters.xhtml#statistics-types">BMP"BMP StatisticsTypes registry</eref>,Types" registry, part of the <ereftarget="https://www.iana.org/assignments/bmp-parameters/bmp-parameters.xhtml"> BMP parameterstarget="https://www.iana.org/assignments/bmp-parameters/" brackets="angle"> "BGP Monitoring Protocol (BMP) Parameters" registry group</eref>.</t><t>This document requests IANA to update<t>IANA has listed these entries as follows.Also, theThis documentrequests IANA to update theserves as a referencecitedforthe entries with the RFC number to be assigned to this document.</t> <t> <list style="symbols"> <t>Typeeach entry.</t> <dl spacing="normal" newline="false"> <dt>Type =18: Number18:</dt><dd>Number of routes currently in the pre-policyAdj-RIB-In.</t> <t>TypeAdj-RIB-In.</dd> <dt>Type =19: Number19:</dt><dd>Number of routes currently in the per-AFI/SAFI pre-policyAdj-RIB-In.</t> <t>TypeAdj-RIB-In.</dd> <dt>Type =20: Number20:</dt><dd>Number of routes currently in the post-policyAdj-RIB-In.</t> <t>TypeAdj-RIB-In.</dd> <dt>Type =21: Number21:</dt><dd>Number of routes currently in the per-AFI/SAFI post-policyAdj-RIB-In.</t> <t>TypeAdj-RIB-In.</dd> <dt>Type =22: Number22:</dt><dd>Number of routes currently in the per-AFI/SAFI pre-policy Adj-RIB-In rejected by an inboundpolicy.</t> <t>Typepolicy.</dd> <dt>Type =23: Number23:</dt><dd>Number of routes currently in the per-AFI/SAFI post-policy Adj-RIB-In accepted by an inboundpolicy.</t> <t>Typepolicy.</dd> <dt>Type =26: Number26:</dt><dd>Number of routes currently in the per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB suppressed by a configuredroute damping policy. </t> <t>Typeroute-damping policy.</dd> <dt>Type =27: Number27:</dt><dd>Number of routes currently in the per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB marked as stale by GRevents.</t> <t>Typeevents.</dd> <dt>Type =28: Number28:</dt><dd>Number of routes currently in the per-AFI/SAFI post-policy Adj-RIB-In or Loc-RIB marked as stale byLLGR.</t> <t>TypeLLGR.</dd> <dt>Type =29: Number29:</dt><dd>Number of routes currently in the post-policy Adj-RIB-In left before exceeding thereceived route threshold.</t> <t>Typereceived-route threshold.</dd> <dt>Type =30: Number30:</dt><dd>Number of routes currently in the per-AFI/SAFI post-policy Adj-RIB-In left before exceeding thereceived route threshold.</t> <t>Typereceived-route threshold.</dd> <dt>Type =31: Number31:</dt><dd>Number of routes currently in the post-policy Adj-RIB-In or Loc-RIB left before exceeding a license-customized routethreshold.</t> <t>Typethreshold.</dd> <dt>Type =32: Number32:</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 routethreshold.</t> <t>Typethreshold.</dd> <dt>Type =33: Number33:</dt><dd>Number of routes currently in the pre-policy Adj-RIB-In rejected due to exceeding the locally configured maximum AS_PATHlength.</t> <t>Typelength.</dd> <dt>Type =34: Number34:</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_PATHlength.</t> <t>Typelength.</dd> <dt>Type =35: Number35:</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 ofRPKI.</t> <t>TypeRPKI.</dd> <dt>Type =36: Number36:</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 ofRPKI.</t> <t>TypeRPKI.</dd> <dt>Type =37: Number37:</dt><dd>Number of routes currently in the per-AFI/SAFI post-policy Adj-RIB-In whose RPKI route origin validation state isNotFound.</t> </list> </t> <t> <list style="symbols"> <t>TypeNotFound.</dd> <dt>Type =38: Number38:</dt><dd>Number of routes currently in the per-AFI/SAFI pre-policy Adj-RIB-Out rejected by an outboundpolicy.</t> <t>Typepolicy.</dd> <dt>Type =39: Number39:</dt><dd>Number of routes currently in the pre-policy Adj-RIB-Out filtered due to AS_PATH length exceeding the locally configuredmaximum.</t> <t>Typemaximum.</dd> <dt>Type =40: Number40:</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 configuredmaximum.</t> <t>Typemaximum.</dd> <dt>Type =41: Number41:</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 ofRPKI.</t> <t>TypeRPKI.</dd> <dt>Type =42: Number42:</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 ofRPKI.</t> <t>TypeRPKI.</dd> <dt>Type =43: Number43:</dt><dd>Number of routes currently in the per-AFI/SAFI post-policy Adj-RIB-Out whose RPKI route origin validation state isNotFound.</t> </list> </t> </section> <section anchor="Implementation" title="Implementation Status"> <t>Note to the RFC Editor -NotFound.</dd> </dl> <!--table update; removethis section before publication, as well as remove the reference to <xref target="RFC7942" />.</t> <t>This section recordsthestatus<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 ofknown implementationsroutes currently in the pre-policy Adj-RIB-In.</td> </tr> <tr> <td align="center">19</td> <td>Number of routes currently in theprotocol defined by this specification atper-AFI/SAFI pre-policy Adj-RIB-In.</td> </tr> <tr> <td align="center">20</td> <td>Number of routes currently in thetimepost-policy Adj-RIB-In.</td> </tr> <tr> <td align="center">21</td> <td>Number ofpostingroutes currently in the per-AFI/SAFI post-policy Adj-RIB-In.</td> </tr> <tr> <td align="center">22</td> <td>Number ofthis Internet-Draft, and is based on a proposal describedroutes currently in<xref target="RFC7942" />. The descriptionthe per-AFI/SAFI pre-policy Adj-RIB-In rejected by an inbound policy.</td> </tr> <tr> <td align="center">23</td> <td>Number ofimplementationsroutes currently inthis section is intended to assisttheIETFper-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 inits decision processesthe 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 inprogressing drafts to RFCs. Please note thatthelistingper-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 ofany individual implementation here does not imply endorsementroutes 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 theIETF. Furthermore, no effort has been spent to verifypost-policy Adj-RIB-In left before exceeding theinformation presented here that was supplied by IETF contributors. This is not intended as, and must not be construed to be,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 acataloglicense-customized route threshold.</td> </tr> <tr> <td align="center">32</td> <td>Number ofavailable implementationsroutes currently in the per-AFI/SAFI post-policy Adj-RIB-In ortheir features. Readers are advised to note that other implementations may exist.</t> <t>According to <xref target="RFC7942" />, "this will allow reviewers and working groupsLoc-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 toassignexceeding 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 dueconsiderationtodocuments that haveexceeding thebenefitlocally configured maximum AS_PATH length.</td> </tr> <tr> <td align="center">35</td> <td>Number ofrunning code, which may serve as evidenceroutes currently in the per-AFI/SAFI post-policy Adj-RIB-In invalidated after verifying the route origin AS number through the ROA ofvaluable experimentation and feedback that have madeRPKI.</td> </tr> <tr> <td align="center">36</td> <td>Number of routes currently in theimplemented protocols more mature. Itper-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 isup toNotFound.</td> </tr> <tr> <td align="center">38</td> <td>Number of routes currently in theindividual 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 implementationper-AFI/SAFI pre-policy Adj-RIB-Out rejected by an outbound policy.</td> </tr> <tr> <td align="center">39</td> <td>Number ofNew BMP Statistics Type.</t> <t>Description: Below New types have been implementedroutes currently inabove-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> <t>Licensing: N/A</t> <t>Implementation experience: Nothing specific.</t> <t>Contact: linchangwang.04414@h3c.com</t> <t>Last updated: January 20, 2025</t> </list> </t> </section> </section> <section anchor="Acknowledgements" title="Acknowledgements"> <t>The author would likethe pre-policy Adj-RIB-Out filtered due tothank Jeff Haas, Mohamed Boucadair, Thomas Graf, and Prasad S. Narasimha for their valuable input.</t> <t>ThanksAS_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 toGiuseppe Fioccola forAS_PATH length exceeding theOPSDIR, Jouni Korhonen forlocally configured maximum.</td> </tr> <tr> <td align="center">41</td> <td>Number of routes currently in theGENART, and Bruno Decraene forper-AFI/SAFI post-policy Adj-RIB-Out invalidated after verifying theRTGDIR review.</t> <t>Thanks to Gunter van de Velde, Eric Vyncke, and Ketan Talaulikar forroute origin AS number through theIESG review.</t>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> --> </section> </middle><!-- *****BACK MATTER ***** --><back><references title="References"> <references title="Normative References"> <!--?rfc include= "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?--><references> <name>References</name> <references> <name>Normative References</name> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2439.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2439.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4724.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4760.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4724.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6811.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4760.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7854.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <!--href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6811.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7911.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />-->href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7854.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8671.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8671.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9069.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9069.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9494.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9494.xml"/> <reference anchor="IANA-AFI" target="https://www.iana.org/assignments/address-family-numbers"> <front> <title>Address Family Numbers</title> <author> <organization>IANA</organization> </author> </front> </reference> <reference anchor="IANA-SAFI" target="https://www.iana.org/assignments/safi-namespace"> <front> <title>Subsequent Address Family Identifiers (SAFI) Parameters</title> <author> <organization>IANA</organization> </author> </front> </reference> </references><references title="Informative References"> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> </references><!-- [rfced] Would you like the references to be alphabetized or left in their current order? --> </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 throughout the document. Please review these terms and let us know if/how they may be made 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 throughout 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> </rfc>