<?xml version="1.0" encoding="US-ASCII"?>
<!-- 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-16" 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 ***** -->

  <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 -->

    <author fullname="Mukul Srivastava" initials="M." surname="Srivastava" role="editor">
      <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>
        </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." surname="Lin" role="editor">
      <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>

    <date year="2025" />

    <!-- Meta-data Declarations -->

    <area>General</area>

    <workgroup>GROW</workgroup>

    <keyword>IDR</keyword>

    <keyword>GROW</keyword>

    <keyword>BGP</keyword>

    <keyword>BMP</keyword>

    <abstract>
      <t>RFC 7854 defines different BGP Monitoring Protocol (BMP) statistics
      message types to observe events that occur on a monitored router. This
      document defines new statistics type to monitor BMP Adj-RIB-In and
      Adj-RIB-Out Routing Information Bases (RIBs).</t>
    </abstract>
  </front>

  <middle>
    <section anchor="introduction" title="Introduction">
      <t>Section 4.8 of <xref target="RFC7854" /> defines a number of
      different BGP Monitoring Protocol (BMP) statistics types to observe
      major events that occur on a monitored router. Stats are either counters
      or gauges. Section 6.2 of <xref 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 enable more refined BGP route
      monitoring and analysis, improving 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 in Section 4. The format of the BMP statistics
      message remains same as defined in <xref target="RFC7854" />.</t>

      <section title="Requirements Language">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
        "OPTIONAL" in this document are to be interpreted as described in BCP
        14 <xref target="RFC2119" /> <xref target="RFC8174" /> when, and only
        when, they appear in all capitals, as shown here. The BCP14 is used to
        stress importance for operators but are not required as formal
        implementation requirement.</t>
      </section>
    </section>

    <section title="Terminology">
      <t>This document makes use of the following terms: <list style="symbols">
          <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
          target="RFC7854" />.</t>

          <t>Adj-RIB-Out: As defined in <xref target="RFC4271" />, "The
          Adj-RIBs-Out contains the routes for advertisement to specific peers
          by means of the local speaker's UPDATE messages."</t>

          <t>Pre-policy Adj-RIB-Out: As defined in Section 3 of <xref
          target="RFC8671" />.</t>

          <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" />,
          "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 static routes.</t>

          <t>Primary route: A primary route is a path used for traffic forwarding.
          A prefix can have more than one primary path. The best route is defined 
          in Section 9.1 of <xref target="RFC4271" />. The best path is also a
          primary path.</t>

          <t>Backup route: A backup route is eligible for route selection, but
          it is not selected as the primary route. Backup routes MAY be utilized 
          either for multipath advertisement per <xref target="RFC7911" />, or to 
          facilitate rapid reconvergence upon network failures.</t>
        </list></t>

      <t>Also, "implementation" is used following the same usage in <xref
      target="RFC7854" />.</t>
    </section>

    <section anchor="Stats" title="RIB Monitoring Statistics">
      <t>This section defines different statistics type for Adj-RIB-In and
      Adj-RIB-Out monitoring type. Some of these statistics are also
      applicable to Loc-RIB; refer to Section 4 for more details.</t>

      <section anchor="stats-format" title="Statistics Format">
        <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 <xref
        target="RFC7854" />). "Stat Data" is being referred as "value" when
        defining various RIB Monitoring Statistics.</t>

        <t>Statistics defined in this document can be categorized into two
        granularities: Global Statistics and Per-Address Family Identifier
        (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
        Per-Peer Header of the corresponding BMP Statistics Report Message
        MUST be set to 3 (Loc-RIB Instance Peer) <xref target="RFC9069" />.
        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
        receipt.</t>
      </section>

      <section anchor="adj-rib-in-stats"
               title="Adj-RIB-In RIB Monitoring Statistics Definition">
        <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
            post-policy Adj-RIB-In.</t>

            <t>Type = 21: (64-bit Gauge) Current number of routes in
            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
            per-AFI/SAFI rejected by inbound policy. This gauge is different
            from stats type 0 defined in Section 4.8 of <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
            per-AFI/SAFI accepted by inbound policy. The value is structured
            as: 2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t>

            <t>Type = 24: (64-bit Gauge) Current Number of routes in
            per-AFI/SAFI selected as primary route. The value is structured
            as: 2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t>

            <t>Type = 25: (64-bit Gauge) Current Number of routes in
            per-AFI/SAFI selected as a backup route. The value is structured
            as: 2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t>

            <t>Type = 26: (64-bit Gauge) Current Number of routes in
            per-AFI/SAFI 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 path 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
            per-AFI/SAFI marked as stale by Graceful Restart (GR) events. The
            value is structured as: 2-byte AFI, 1-byte SAFI, followed by a
            64-bit Gauge. 'Stale' refers to a path 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
            per-AFI/SAFI marked as stale by Long-Lived Graceful Restart
            (LLGR). The value is structured as: 2-byte AFI, 1-byte SAFI,
            followed by a 64-bit Gauge. 'Stale' refers to a path 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 left before
            exceeding the received route threshold as defined in Section 6.7
            of <xref target="RFC4271" />.</t>

            <t>Type = 30: (64-bit Gauge) Current Number of routes per-AFI/SAFI
            left before exceeding the received route threshold which
            corresponds to the upper bound of per-AFI/SAFI accepted routes
            following the model defined in Section 6.7 of <xref
            target="RFC4271" />. The value is structured as: 2-byte AFI,
            1-byte SAFI, followed by a 64-bit Gauge.</t>

            <t>Type = 31: (64-bit Gauge) Current Number of routes 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 MUST NOT be reported.</t>

            <t>Type = 32: (64-bit Gauge) Current Number of routes in
            per-AFI/SAFI 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 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 rejected by
            exceeding the maximum AS_PATH length supported by the local
            configuration.</t>

            <t>Type = 34: (64-bit Gauge) Current number of routes in
            per-AFI/SAFI rejected by exceeding the maximum 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
            per-AFI/SAFI post-policy Adj-RIB-In invalidated through the Route
            Origin Authorization (ROA) of Resource Public Key Infrastructure
            (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
            per-AFI/SAFI post-policy Adj-RIB-In validated by verifying route
            origin AS number through the ROA of RPKI <xref
            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
            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" />. The value is structured as:
            2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t>
          </list>
        </t>
      </section>

      <section anchor="adj-rib-out-stats"
               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 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 filtered due
            to AS_PATH length exceeding the locally configured maximum.</t>

            <t>Type = 40: (64-bit Gauge) Current number of routes in
            per-AFI/SAFI filtered due to AS_PATH length exceeding the locally
            configured maximum. The value is structured as: 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
            of RPKI <xref target="RFC6811" />. This is total number of routes
            invalidated due to origin 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 = 42: (64-bit Gauge) Current number of routes in
            per-AFI/SAFI post-policy Adj-RIB-Out validated by verifying route
            origin AS number through the ROA of RPKI <xref
            target="RFC6811" />. The value is structured as: 2-byte AFI,
            1-byte SAFI, followed by a 64-bit Gauge.</t>

            <t>Type = 43: (64-bit Gauge) Current number of routes in
            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" />. The value is structured as:
            2-byte AFI, 1-byte SAFI, followed by a 64-bit Gauge.</t>
          </list>
        </t>
      </section>
    </section>

    <section anchor="Application Scope of Statistics"
             title="Application Scope of Statistics">
      <t>This section briefly lists the statistics defined in this document
      and outlines their scope of application, as shown in Table 1.</t>

      <t>
        <figure>
          <artwork align="center" name="Table 1"><![CDATA[
 +-------+----------+-----------+-------+
 | Type  |Adj-RIB-In|Adj-RIB-Out|Loc-RIB|
 +-------+----------+-----------+-------+
 |  18   |     Y    |     N     |   N   |
 |  19   |     Y    |     N     |   N   |
 |  20   |     Y    |     N     |   N   |
 |  21   |     Y    |     N     |   N   |
 |  22   |     Y    |     N     |   N   |
 |  23   |     Y    |     N     |   N   |
 |  24   |     Y    |     N     |   Y   |
 |  25   |     Y    |     N     |   Y   |
 |  26   |     Y    |     N     |   Y   |
 |  27   |     Y    |     N     |   Y   |
 |  28   |     Y    |     N     |   Y   |
 |  29   |     Y    |     N     |   N   |
 |  30   |     Y    |     N     |   N   |
 |  31   |     Y    |     N     |   Y   |
 |  32   |     Y    |     N     |   Y   |
 |  33   |     Y    |     N     |   N   |
 |  34   |     Y    |     N     |   N   |
 |  35   |     Y    |     N     |   N   |
 |  36   |     Y    |     N     |   N   |
 |  37   |     Y    |     N     |   N   |
 |  38   |     N    |     Y     |   N   |
 |  39   |     N    |     Y     |   N   |
 |  40   |     N    |     Y     |   N   |
 |  41   |     N    |     Y     |   N   |
 |  42   |     N    |     Y     |   N   |
 |  43   |     N    |     Y     |   N   |
 +-------+----------+-----------+-------+

     Table 1: Scope of Application]]></artwork>
        </figure>
      </t>
    </section>

   <section anchor="Implementation-Considerations" title="Implementation Considerations">
      <t>This document specifies gauges for new BMP statistics. The format of
      BMP statistics messages remains unchanged from <xref target="RFC7854" />.
      This section outlines the implementation considerations for new BMP statistics.
      Note that the terms "Producer" and "Collector" are equivalent to "Monitored Router"
      and "Monitoring Station", respectively.</t>

      <t>For backward compatibility, and absent policy otherwise, 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. 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 pair SHOULD be
      treated as an implementation decision rather than a protocol
      requirement, with the BMP collector behavior for handling these
      statistic types remaining implementation-specific.</t>
  
      <t>Some statistics are dependent on feature configurations, such as
      GR, LLGR, and RPKI, so the corresponding statistics SHOULD only be
      generated and sent when these features are enabled on the BMP producer.
      These statistics include Types 24, 25, 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 <xref
      target="RFC9069" />, so they may apply to the Loc-RIB view after
      best-path selection is completed. These statistics include Types 24,
      25, 26, 27, 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 Report Message MUST 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 collectors MAY perform consistency checks but MUST NOT assume strict dependencies
      (due to potential race conditions or partial failures). Discrepancies
      (e.g., sum(per-AFI/SAFI) != global count) SHOULD be logged as warnings
      but MUST NOT disrupt protocol operation.</t>
    
      <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 producers SHOULD prioritize the core GR/LLGR convergence
      procedures. 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.</t>
  
     <t>These gauges may reset due to manual clearance, or
      overflow. BMP statistics producers and collectors MUST track discontinuities
      and log this anomaly.</t>

    </section> 

    <section anchor="Operational" title="Operational Considerations">
      <t>This section outlines some operational
      considerations of new BMP statistics for BMP operators.</t>

      <t>Transmission scheduling and triggering mechanisms for new gauges
      are implementation-dependent. BMP operators SHOULD determine
      appropriate report generation and delivery strategies, including
      configurable timing intervals and threshold values. The mechanism for
      controlling the reporting of new gauges SHOULD be consistent with that
      of existing types.</t>
 
      <t>BMP operators SHOULD rate-limit statistic updates to
      minimize performance impact on control-plane processes. BMP operators
      SHOULD only enable necessary statistics to reduce memory and CPU
      overhead. Implementations SHOULD 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
      discard routes that do not match policy and thus the 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 when interpreting these gauges.
      BMP operators SHOULD be aware that BMP statistics producers and collectors MAY log inconsistencies
      between statistics as warnings.</t>    
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>Procedures and protocol extensions defined in this document do not
      affect the BMP security model. All security and authentication
      mechanisms required by Section 11 of <xref target="RFC7854" />, Section
      8 of <xref target="RFC8671" />, and Section 7 of <xref
      target="RFC9069" /> are also applicable to the gauges defined in this
      document. This document does not add any additional security
      considerations.</t>

      <t>Monitored devices SHOULD be configured to implement rate-limited
      reporting of new gauges.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <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
      Statistics Types registry</eref>, part of the <eref
      target="https://www.iana.org/assignments/bmp-parameters/bmp-parameters.xhtml">
      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 rejected by
          inbound policy.</t>

          <t>Type = 23: Number of routes currently in per-AFI/SAFI accepted by
          inbound policy.</t>

          <t>Type = 24: Number of routes currently in per-AFI/SAFI selected as
          primary route.</t>

          <t>Type = 25: Number of routes currently in per-AFI/SAFI selected as
          a backup route.</t>

          <t>Type = 26: Number of routes currently in per-AFI/SAFI suppressed
          by configured route damping policy.</t>

          <t>Type = 27: Number of routes currently in per-AFI/SAFI marked as
          stale by GR events.</t>

          <t>Type = 28: Number of routes currently in per-AFI/SAFI marked as
          stale by LLGR.</t>

          <t>Type = 29: Number of routes currently left before exceeding the
          received route threshold.</t>

          <t>Type = 30: Number of routes currently per-AFI/SAFI left before
          exceeding the received route threshold.</t>

          <t>Type = 31: Number of routes currently left before exceeding a
          license-customized route threshold.</t>

          <t>Type = 32: Number of routes currently in per-AFI/SAFI left before
          exceeding a license-customized route threshold.</t>

          <t>Type = 33: Number of routes currently rejected due to exceeding
          the locally configured maximum AS_PATH length.</t>

          <t>Type = 34: Number of routes currently in per-AFI/SAFI 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 rejected by
          outbound policy.</t>

          <t>Type = 39: Number of routes currently filtered due to AS_PATH
          length exceeding the locally configured maximum.</t>

          <t>Type = 40: Number of routes currently in per-AFI/SAFI 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 = 24.</t>

                <t>Type = 25.</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 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>

  <!--  *****BACK MATTER ***** -->

  <back>
    <references title="References">
      <references title="Normative References">
        <!--?rfc include=
        "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->

        <xi:include href="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" />

        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml"
                    xmlns:xi="http://www.w3.org/2001/XInclude" />

        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4724.xml"
                    xmlns:xi="http://www.w3.org/2001/XInclude" />

        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4760.xml"
                    xmlns:xi="http://www.w3.org/2001/XInclude" />

        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6811.xml"
                    xmlns:xi="http://www.w3.org/2001/XInclude" />

        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.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/reference.RFC.8174.xml"
                    xmlns:xi="http://www.w3.org/2001/XInclude" />

        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8671.xml"
                    xmlns:xi="http://www.w3.org/2001/XInclude" />

        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9069.xml"
                    xmlns:xi="http://www.w3.org/2001/XInclude" />

        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9494.xml"
                    xmlns:xi="http://www.w3.org/2001/XInclude" />

        <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>
    </references>
  </back>
</rfc>
