<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-grow-bmp-bgp-rib-stats-17" number="9972" updates="" obsoletes="" tocInclude="true" symRefs="true" sortRefs="true" ipr="trust200902" submissionType="IETF" xml:lang="en" prepTime="2026-05-19T15:22:46" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-grow-bmp-bgp-rib-stats-17" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9972" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="BMP New Statistics">Advanced BGP Monitoring Protocol (BMP) Statistics Types</title>
    <seriesInfo name="RFC" value="9972" stream="IETF"/>
    <author fullname="Mukul Srivastava" initials="M." role="editor" surname="Srivastava">
      <organization showOnFrontPage="true">Hewlett Packard Enterprise</organization>
      <address>
        <postal>
          <street>10 Technology Park Dr</street>
          <city>Westford</city>
          <region>MA</region>
          <code>01886</code>
          <country>United States of America</country>
        </postal>
        <email>mukul.srivastava@hpe.com</email>
      </address>
    </author>
    <author fullname="Yisong Liu" initials="Y." surname="Liu">
      <organization showOnFrontPage="true">China Mobile</organization>
      <address>
        <postal>
          <street>32 Xuanwumen West Street</street>
          <city>Beijing</city>
          <region>Xicheng District</region>
          <code>100053</code>
          <country>China</country>
        </postal>
        <email>liuyisong@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Changwang Lin" initials="C." role="editor" surname="Lin">
      <organization showOnFrontPage="true">New H3C Technologies</organization>
      <address>
        <postal>
          <street>8 Yongjia North Road</street>
          <city>Beijing</city>
          <region>Haidian District</region>
          <code>100094</code>
          <country>China</country>
        </postal>
        <email>linchangwang.04414@h3c.com</email>
      </address>
    </author>
    <author fullname="Jinming Li" initials="J." surname="Li">
      <organization showOnFrontPage="true">China Mobile</organization>
      <address>
        <postal>
          <street>32 Xuanwumen West Street</street>
          <city>Beijing</city>
          <region>Xicheng District</region>
          <code>100053</code>
          <country>China</country>
        </postal>
        <email>lijinming@chinamobile.com</email>
      </address>
    </author>
    <date month="05" year="2026"/>
    <area>OPS</area>
    <workgroup>grow</workgroup>
    <keyword>IDR</keyword>
    <keyword>GROW</keyword>
    <keyword>BGP</keyword>
    <keyword>BMP</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">The BGP Monitoring Protocol (BMP) described in RFC 7854 defines statistics
      message types to observe events that occur on a monitored router. This
      document defines new statistics types to monitor BMP Adj‑RIB‑In and
      Adj‑RIB‑Out Routing Information Bases (RIBs).</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9972" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rib-monitoring-statistics">RIB Monitoring Statistics</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-statistics-format">Statistics Format</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-adjribin-rib-monitoring-sta">Adj‑RIB‑In RIB Monitoring Statistics Definition</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-adjribout-rib-monitoring-st">Adj‑RIB‑Out RIB Monitoring Statistics Definition</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-application-scope-of-statis">Application Scope of Statistics</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-implementation-consideratio">Implementation Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-operational-considerations">Operational Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1"><xref section="4.8" target="RFC7854" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7854#section-4.8" derivedContent="RFC7854"/> defines a number of
      different BGP Monitoring Protocol (BMP) statistics types to observe
      major events that occur on a monitored router. Statistics are either counters
      or Gauges. <xref section="6.2" target="RFC8671" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc8671#section-6.2" derivedContent="RFC8671"/> also defines several
      BMP statistics types for Adj‑RIB‑Out of a monitored router.</t>
      <t indent="0" pn="section-1-2">New BMP statistics types are needed to enable more-refined BGP route
      monitoring and analysis to improve operational maintenance and
      troubleshooting capabilities.</t>
      <t indent="0" pn="section-1-3">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 <xref target="Application_Scope_of_Statistics" format="default" sectionFormat="of" derivedContent="Section 4"/>. The format of the BMP Statistics Report
      message remains the same as defined in <xref target="RFC7854" format="default" sectionFormat="of" derivedContent="RFC7854"/>.</t>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-1.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-1.1-1">
    The key words "<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 "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
        <aside pn="section-1.1-2">
          <t indent="0" pn="section-1.1-2.1">Note that the key words are used to stress importance for operations; they are not required as a formal implementation requirement.</t>
        </aside>
      </section>
    </section>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">This document makes use of the following terms: </t>
      <dl spacing="normal" newline="false" indent="3" pn="section-2-2">
        <dt pn="section-2-2.1">Adj‑RIB‑In:</dt>
        <dd pn="section-2-2.2">
          <t indent="0" pn="section-2-2.2.1">As defined in <xref section="1.1" sectionFormat="of" target="RFC4271" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-1.1" derivedContent="RFC4271"/>:</t>
          <blockquote pn="section-2-2.2.2">The
          Adj-RIBs-In contains unprocessed routing information that has been
          advertised to the local BGP speaker by its peers.</blockquote>
        </dd>
        <dt pn="section-2-2.3">Pre-policy Adj‑RIB‑In:</dt>
        <dd pn="section-2-2.4">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
          <xref section="2" target="RFC7854" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7854#section-2" derivedContent="RFC7854"/>.</dd>
        <dt pn="section-2-2.5">Post-policy Adj‑RIB‑In:</dt>
        <dd pn="section-2-2.6">
          <t indent="0" pn="section-2-2.6.1">As defined in <xref section="2" target="RFC7854" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7854#section-2" derivedContent="RFC7854"/>:</t>
          <blockquote pn="section-2-2.6.2">The result of applying inbound policy to an Adj‑RIB‑In, but prior to the application of route selection to form the Loc-RIB.</blockquote>
        </dd>
        <dt pn="section-2-2.7">Adj‑RIB‑Out:</dt>
        <dd pn="section-2-2.8">
          <t indent="0" pn="section-2-2.8.1">As defined in <xref section="1.1" sectionFormat="of" target="RFC4271" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-1.1" derivedContent="RFC4271"/>:</t>
          <blockquote pn="section-2-2.8.2">The
          Adj-RIBs-Out contains the routes for advertisement to specific peers
          by means of the local speaker's UPDATE messages.</blockquote>
        </dd>
        <dt pn="section-2-2.9">Pre-policy Adj‑RIB‑Out:</dt>
        <dd pn="section-2-2.10">
          <t indent="0" pn="section-2-2.10.1">As defined in <xref section="3" target="RFC8671" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc8671#section-3" derivedContent="RFC8671"/>:</t>
          <blockquote pn="section-2-2.10.2">The result before applying the outbound policy to an Adj‑RIB‑Out.  This normally would match what is in the local RIB.</blockquote>
        </dd>
        <dt pn="section-2-2.11">Post-policy Adj‑RIB‑Out:</dt>
        <dd pn="section-2-2.12">
          <t indent="0" pn="section-2-2.12.1">As defined in <xref section="3" target="RFC8671" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc8671#section-3" derivedContent="RFC8671"/>:</t>
          <blockquote pn="section-2-2.12.2">The result of applying outbound policy to an Adj‑RIB‑Out.  This <bcp14>MUST</bcp14> convey to the BMP receiver what is actually transmitted to the peer.</blockquote>
        </dd>
        <dt pn="section-2-2.13">Loc-RIB:</dt>
        <dd pn="section-2-2.14">
          <t indent="0" pn="section-2-2.14.1">As defined in <xref section="1.1" target="RFC4271" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-1.1" derivedContent="RFC4271"/>:</t>
          <blockquote pn="section-2-2.14.2">The Loc-RIB contains the routes that have been selected by the
          local BGP speaker's Decision Process.</blockquote>
          <t indent="0" pn="section-2-2.14.3">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>
        </dd>
        <dt pn="section-2-2.15">Route:</dt>
        <dd pn="section-2-2.16">
          <t indent="0" pn="section-2-2.16.1">As defined in <xref section="1.1" target="RFC4271" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-1.1" derivedContent="RFC4271"/>:</t>
          <blockquote pn="section-2-2.16.2">A unit of information that pairs a set of destinations with the attributes of a path to those destinations.</blockquote>
        </dd>
      </dl>
      <t indent="0" pn="section-2-3">The terms "producer" and "collector" are equivalent to "monitored
      router" and "monitoring station", respectively. Also, "implementation"
      follows the same usage as in <xref target="RFC7854" format="default" sectionFormat="of" derivedContent="RFC7854"/>.</t>
    </section>
    <section anchor="Stats" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-rib-monitoring-statistics">RIB Monitoring Statistics</name>
      <t indent="0" pn="section-3-1">This section defines different statistics types for Adj‑RIB‑In and
      Adj‑RIB‑Out monitoring types. Some of these statistics are also
      applicable to Loc-RIB; refer to <xref target="Application_Scope_of_Statistics" format="default" sectionFormat="of" derivedContent="Section 4"/> for more details.</t>
      <section anchor="stats-format" numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-statistics-format">Statistics Format</name>
        <t indent="0" pn="section-3.1-1">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) (see <xref section="4.8" target="RFC7854" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7854#section-4.8" derivedContent="RFC7854"/>). "Stat Data" is being referred to as "value" when
        defining various RIB Monitoring Statistics.</t>
        <t indent="0" pn="section-3.1-2">Statistics defined in this document can be categorized into two
        granularities: Global Statistics and Per-AFI/SAFI (see <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/>) Statistics. Statistics defined with Per-AFI/SAFI
        descriptions belong to Per-AFI/SAFI Statistics, while other statistics
        belong to Global Statistics. Both Global Statistics and their
        corresponding Per-AFI/SAFI Statistics can be reported
        simultaneously.</t>
        <t indent="0" pn="section-3.1-3">The Per-AFI/SAFI Statistics apply only to the AFI/SAFI that a BGP
        speaker supports and negotiates with its peer. The authoritative
        registries for AFI/SAFI values are maintained by IANA (see <xref target="IANA-AFI" format="default" sectionFormat="of" derivedContent="IANA-AFI"/> and <xref target="IANA-SAFI" format="default" sectionFormat="of" derivedContent="IANA-SAFI"/>).</t>
        <t indent="0" pn="section-3.1-4">For Global Statistics, the "Stat Data" (value) field is a single
        64-bit unsigned integer Gauge where the "Stat Len" field <bcp14>MUST</bcp14> be set to 8. Each
        global statistic <bcp14>MUST</bcp14> appear only once in a BMP Statistics Report
        message.</t>
        <t indent="0" pn="section-3.1-5">For Per-AFI/SAFI Statistics, the "Stat Data" (value) field is a
        11-byte structured value formatted as a 2-byte AFI, a 1-byte SAFI, and
        a 64-bit Gauge. The "Stat Len" <bcp14>MUST</bcp14> be set to 11. For any given
        per-AFI/SAFI Statistic, duplicate (AFI, SAFI) pairs <bcp14>MUST NOT</bcp14> appear
        within the same BMP Statistics Report message. Per-AFI/SAFI statistics
        <bcp14>MUST NOT</bcp14> be included in the BMP Statistics Report message if there is
        no data to report for that AFI/SAFI.</t>
        <t indent="0" pn="section-3.1-6">If statistics apply to the Loc-RIB, the "Peer Type" field in the
        Per-Peer Header of the corresponding BMP Statistics Report message
        <bcp14>MUST</bcp14> be set to 3 (Loc-RIB Instance Peer) <xref target="RFC9069" format="default" sectionFormat="of" derivedContent="RFC9069"/>.
        Otherwise, the "Peer Type" field <bcp14>MUST</bcp14> be set as defined in 
        <xref target="RFC7854" section="4.2" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7854#section-4.2" derivedContent="RFC7854"/>.</t>
        <t indent="0" pn="section-3.1-7">A BMP implementation <bcp14>MUST</bcp14> ignore unrecognized Stat Types upon
        receipt.</t>
      </section>
      <section anchor="adj-rib-in-stats" numbered="true" removeInRFC="false" toc="include" pn="section-3.2">
        <name slugifiedName="name-adjribin-rib-monitoring-sta">Adj‑RIB‑In RIB Monitoring Statistics Definition</name>
        <dl spacing="normal" newline="true" indent="3" pn="section-3.2-1">
          <dt pn="section-3.2-1.1">Type = 18: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.2">Current number of routes in
          the pre-policy Adj‑RIB‑In. This Gauge is similar to Stat Type 7 defined
          in <xref target="RFC7854" format="default" sectionFormat="of" derivedContent="RFC7854"/> and makes it explicitly for the
          pre-policy Adj‑RIB‑In.</dd>
          <dt pn="section-3.2-1.3">Type = 19: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.4">
            <t indent="0" pn="section-3.2-1.4.1">Current number of routes in
          the per-AFI/SAFI pre-policy Adj‑RIB‑In. This Gauge is similar to Stat
          Type 9 defined in <xref section="4.8" target="RFC7854" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7854#section-4.8" derivedContent="RFC7854"/> and makes
          it explicitly for the pre-policy Adj‑RIB‑In.</t>
            <t indent="0" pn="section-3.2-1.4.2">The value is structured
          as a 2-byte AFI, a 1-byte SAFI, and a 64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.2-1.5">Type = 20: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.6">Current number of routes in
          the post-policy Adj‑RIB‑In.</dd>
          <dt pn="section-3.2-1.7">Type = 21: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.8">
            <t indent="0" pn="section-3.2-1.8.1">Current number of routes in
          the per-AFI/SAFI post-policy Adj‑RIB‑In.</t>
            <t indent="0" pn="section-3.2-1.8.2">The value is structured as a
          2-byte AFI, a 1-byte SAFI, and a 64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.2-1.9">Type = 22: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.10">
            <t indent="0" pn="section-3.2-1.10.1">Current number of routes in the
          per-AFI/SAFI pre-policy Adj‑RIB‑In rejected by an inbound policy.  This
          Gauge is different from Stat Type 0 defined in <xref target="RFC7854" section="4.8" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7854#section-4.8" derivedContent="RFC7854"/>. Stat Type 0 is a 32-bit counter
          that is a monotonically increasing number; the Stat Type 22
          is a 64-bit Gauge that represents the current number of routes
          rejected by an inbound policy due to ongoing policy configuration
          changes.</t>
            <t indent="0" pn="section-3.2-1.10.2">The value is structured as a 2-byte AFI,  a 1-byte SAFI,
          and a 64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.2-1.11">Type = 23: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.12">
            <t indent="0" pn="section-3.2-1.12.1">Current number of routes in
          the per-AFI/SAFI post-policy Adj‑RIB‑In accepted by an inbound policy.</t>
            <t indent="0" pn="section-3.2-1.12.2">The
          value is structured as a 2-byte AFI, a 1-byte SAFI, and a
          64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.2-1.13">Type = 26: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.14">
            <t indent="0" pn="section-3.2-1.14.1">Current number of routes in the
          per-AFI/SAFI post-policy Adj‑RIB‑In or Loc-RIB suppressed by
          a configured route-damping policy.</t>
            <t indent="0" pn="section-3.2-1.14.2">The value is structured as a 2-byte
          AFI, a 1-byte SAFI, and a 64-bit Gauge.</t>
            <t indent="0" pn="section-3.2-1.14.3">'Suppressed' refers to
          a route that has been declared suppressed by the BGP Route Flap
          Damping mechanism as described in <xref section="2.2" target="RFC2439" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc2439#section-2.2" derivedContent="RFC2439"/>.</t>
          </dd>
          <dt pn="section-3.2-1.15">Type = 27: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.16">
            <t indent="0" pn="section-3.2-1.16.1">Current number of routes in
          the per-AFI/SAFI post-policy Adj‑RIB‑In or Loc-RIB marked as stale by
          Graceful Restart (GR) events.</t>
            <t indent="0" pn="section-3.2-1.16.2">The value is structured as a 2-byte
          AFI, a 1-byte SAFI, and a 64-bit Gauge.</t>
            <t indent="0" pn="section-3.2-1.16.3">'Stale' refers to a
          route that has been declared stale by the BGP GR mechanism as
          described in <xref section="4.1" target="RFC4724" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc4724#section-4.1" derivedContent="RFC4724"/>.</t>
          </dd>
          <dt pn="section-3.2-1.17">Type = 28: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.18">
            <t indent="0" pn="section-3.2-1.18.1">Current number of routes in
          the per-AFI/SAFI post-policy Adj‑RIB‑In or Loc-RIB marked as stale by
          Long-Lived Graceful Restart (LLGR).</t>
            <t indent="0" pn="section-3.2-1.18.2">The value is structured as
a 2-byte AFI, a 1-byte SAFI, and a 64-bit Gauge.</t>
            <t indent="0" pn="section-3.2-1.18.3">'Stale' refers
          to a route that has been declared stale by the BGP LLGR mechanism
          as described in <xref section="4.3" target="RFC9494" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9494#section-4.3" derivedContent="RFC9494"/>.</t>
          </dd>
          <dt pn="section-3.2-1.19">Type = 29: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.20">Current number of routes in the 
          post-policy Adj‑RIB‑In left before exceeding the received-route
          threshold as defined in <xref section="6.7" target="RFC4271" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-6.7" derivedContent="RFC4271"/>.</dd>
          <dt pn="section-3.2-1.21">Type = 30: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.22">
            <t indent="0" pn="section-3.2-1.22.1">Current number of routes
          in the per-AFI/SAFI in post-policy Adj‑RIB‑In left before exceeding the
          received-route threshold that corresponds to the upper bound of
          per-AFI/SAFI accepted routes following the model defined in <xref section="6.7" target="RFC4271" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-6.7" derivedContent="RFC4271"/>.</t>
            <t indent="0" pn="section-3.2-1.22.2">The value is structured as a 2-byte
          AFI, a 1-byte SAFI, and a 64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.2-1.23">Type = 31: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.24">Current number of routes in
          the post-policy Adj‑RIB‑In or Loc-RIB left before exceeding a
          license-customized route threshold. If no such license is
          configured, or if the license does not impose a hard limit, this
          value <bcp14>MUST NOT</bcp14> be reported.</dd>
          <dt pn="section-3.2-1.25">Type = 32: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.26">
            <t indent="0" pn="section-3.2-1.26.1">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
          value <bcp14>MUST NOT</bcp14> be reported.</t>
            <t indent="0" pn="section-3.2-1.26.2">The value is structured
          as a 2-byte AFI, a 1-byte SAFI, and a 64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.2-1.27">Type = 33: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.28">Current number of routes in
          the pre-policy Adj‑RIB‑In rejected due to exceeding the maximum AS_PATH
          length supported by the local configuration.</dd>
          <dt pn="section-3.2-1.29">Type = 34: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.30">
            <t indent="0" pn="section-3.2-1.30.1">Current number of routes in
          the per-AFI/SAFI in pre-policy Adj‑RIB‑In rejected due to exceeding the
          maximum AS_PATH length supported by the local configuration.</t>
            <t indent="0" pn="section-3.2-1.30.2">The
          value is structured as a 2-byte AFI, a 1-byte SAFI, and a
          64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.2-1.31">Type = 35: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.32">
            <t indent="0" pn="section-3.2-1.32.1">Current number of routes in the
          per-AFI/SAFI post-policy Adj‑RIB‑In invalidated after verifying the route origin Autonomous System Number (ASN) through the Route Origin Authorization (ROA) of the Resource Public Key Infrastructure
          (RPKI) <xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/>. This is the total number of routes
          invalidated due to a mismatch of origin ASNs and a mismatch of
          prefix length.</t>
            <t indent="0" pn="section-3.2-1.32.2">The value is structured as a 2-byte AFI,
          a 1-byte SAFI, and a 64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.2-1.33">Type = 36: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.34">
            <t indent="0" pn="section-3.2-1.34.1">Current number of routes in
          the per-AFI/SAFI post-policy Adj‑RIB‑In validated after verifying the route
          origin ASN through the ROA of the RPKI <xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/>.</t>
            <t indent="0" pn="section-3.2-1.34.2">The value is structured as a 2-byte AFI, a 1-byte
          SAFI, and a 64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.2-1.35">Type = 37: (64-bit Gauge)</dt>
          <dd pn="section-3.2-1.36">
            <t indent="0" pn="section-3.2-1.36.1">Current number of routes in
          the per-AFI/SAFI post-policy Adj‑RIB‑In whose RPKI route origin
          validation state is NotFound due to the absence of a matching ROA of
          RPKI <xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/>.</t>
            <t indent="0" pn="section-3.2-1.36.2">The value is structured as a 2-byte
          AFI, a 1-byte SAFI, and a 64-bit Gauge.</t>
          </dd>
        </dl>
      </section>
      <section anchor="adj-rib-out-stats" numbered="true" removeInRFC="false" toc="include" pn="section-3.3">
        <name slugifiedName="name-adjribout-rib-monitoring-st">Adj‑RIB‑Out RIB Monitoring Statistics Definition</name>
        <dl spacing="normal" newline="true" indent="3" pn="section-3.3-1">
          <dt pn="section-3.3-1.1">Type = 38: (64-bit Gauge)</dt>
          <dd pn="section-3.3-1.2">
            <t indent="0" pn="section-3.3-1.2.1">Current number of routes in
          the per-AFI/SAFI pre-policy Adj‑RIB‑Out rejected by an outbound policy.
          These routes are active routes that otherwise would have been
          advertised in the absence of an outbound policy that rejected them.</t>
            <t indent="0" pn="section-3.3-1.2.2">The value is structured as a 2-byte AFI, a 1-byte SAFI, and
          a 64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.3-1.3">Type = 39: (64-bit Gauge)</dt>
          <dd pn="section-3.3-1.4">Current number of routes in the
          pre-policy Adj‑RIB‑Out filtered due to the AS_PATH length exceeding the
          locally configured maximum.</dd>
          <dt pn="section-3.3-1.5">Type = 40: (64-bit Gauge)</dt>
          <dd pn="section-3.3-1.6">
            <t indent="0" pn="section-3.3-1.6.1">Current number of routes in
          the per-AFI/SAFI pre-policy Adj‑RIB‑Out filtered due to AS_PATH length
          exceeding the locally configured maximum.</t>
            <t indent="0" pn="section-3.3-1.6.2">The value is
          structured as a 2-byte AFI, a 1-byte SAFI, and a 64-bit
          Gauge.</t>
          </dd>
          <dt pn="section-3.3-1.7">Type = 41: (64-bit Gauge)</dt>
          <dd pn="section-3.3-1.8">
            <t indent="0" pn="section-3.3-1.8.1">Current number of routes in
          the per-AFI/SAFI post-policy Adj‑RIB‑Out invalidated after verifying the route origin ASN through the ROA of the
          RPKI <xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/>. This is the total number of routes
          invalidated due to a mismatch of origin ASNs and a mismatch of prefix lengths.</t>
            <t indent="0" pn="section-3.3-1.8.2">The value is structured as a 2-byte AFI, a 1-byte
          SAFI, and a 64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.3-1.9">Type = 42: (64-bit Gauge)</dt>
          <dd pn="section-3.3-1.10">
            <t indent="0" pn="section-3.3-1.10.1">Current number of routes in
          the per-AFI/SAFI post-policy Adj‑RIB‑Out validated after verifying the route
          origin ASN through the ROA of the RPKI <xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/>.</t>
            <t indent="0" pn="section-3.3-1.10.2">The value is structured as a 2-byte AFI,
          a 1-byte SAFI, and a 64-bit Gauge.</t>
          </dd>
          <dt pn="section-3.3-1.11">Type = 43: (64-bit Gauge)</dt>
          <dd pn="section-3.3-1.12">
            <t indent="0" pn="section-3.3-1.12.1">Current number of routes in
          the per-AFI/SAFI post-policy Adj‑RIB‑Out whose RPKI route origin
          validation state is NotFound due to the absence of a matching ROA of
          RPKI <xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/>.</t>
            <t indent="0" pn="section-3.3-1.12.2">The value is structured as
          a 2-byte AFI, a 1-byte SAFI, and a 64-bit Gauge.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="Application_Scope_of_Statistics" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-application-scope-of-statis">Application Scope of Statistics</name>
      <t indent="0" pn="section-4-1"><xref target="tbl-scope-of-application" format="default" sectionFormat="of" derivedContent="Table 1"/> briefly lists the statistics defined in this document
      and outlines their scope of application.</t>
      <table anchor="tbl-scope-of-application" align="center" pn="table-1">
        <name slugifiedName="name-scope-of-application">Scope of Application</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Type</th>
            <th align="left" colspan="1" rowspan="1">Pre-policy Adj‑RIB‑In</th>
            <th align="left" colspan="1" rowspan="1">Post-policy Adj‑RIB‑In</th>
            <th align="left" colspan="1" rowspan="1">Loc-RIB</th>
            <th align="left" colspan="1" rowspan="1">Pre-policy Adj‑RIB‑Out</th>
            <th align="left" colspan="1" rowspan="1">Post-policy Adj‑RIB‑Out</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">18</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">19</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">20</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">21</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">22</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">23</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">26</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">27</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">28</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">29</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">30</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">31</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">32</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">33</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">34</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">35</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">36</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">37</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">38</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">39</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">40</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">41</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">42</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">43</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">N</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="Implementation-Considerations" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-implementation-consideratio">Implementation Considerations</name>
      <t indent="0" pn="section-5-1">This document specifies Gauges for new BMP statistics. The format of 
      BMP Statistics Report messages remains unchanged from <xref target="RFC7854" format="default" sectionFormat="of" derivedContent="RFC7854"/>. This section outlines the implementation
      considerations for new BMP statistics.</t>
      <t indent="0" pn="section-5-2">For backward compatibility, and absent any other policy, it is
      <bcp14>RECOMMENDED</bcp14> that BMP producers capable of generating both (Types 7 and
      18) and (Types 9 and 19) BMP statistics transmit both
      corresponding types simultaneously. This allows BMP collectors to
      process either format according to their needs without disrupting
      existing implementations that rely on Types 7 or 9. The selection of
      which statistics types to generate within each pair <bcp14>SHOULD</bcp14> be treated as
      an implementation decision rather than a protocol requirement, with the
      BMP collector behavior for handling these statistics types remaining
      implementation specific.</t>
      <t indent="0" pn="section-5-3">Some statistics are dependent on feature configurations, such as GR,
      LLGR, and RPKI; therefore, the corresponding statistics <bcp14>SHOULD</bcp14> only be generated
      and sent when these features are enabled on the BMP producer. These
      statistics include the following Types: 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
      39, 40, 41, 42, and 43.</t>
      <t indent="0" pn="section-5-4">Some statistics are also relevant for the Loc-RIB view <xref target="RFC9069" format="default" sectionFormat="of" derivedContent="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, the
      "Peer Type" field in the Per-Peer Header of the corresponding BMP Statistics
      Report message <bcp14>MUST</bcp14> set to 3.</t>
      <t indent="0" pn="section-5-5">Certain statistics may have logical relationships (e.g., per-AFI/SAFI
      counts summing to global totals). BMP statistics producers and
      collectors <bcp14>MAY</bcp14> perform consistency checks but <bcp14>MUST NOT</bcp14> assume strict
      dependencies (due to potential race conditions or partial failures).
      Discrepancies (e.g., sum(per-AFI/SAFI) != global count) <bcp14>SHOULD</bcp14> be logged
      as warnings but <bcp14>MUST NOT</bcp14> disrupt protocol operation.</t>
      <t indent="0" pn="section-5-6">The generation and transmission of Types 27 and 28 during an active
      GR/LLGR event consumes additional control plane resources (e.g., CPU).
      BMP statistics producers <bcp14>SHOULD</bcp14> prioritize the core GR/LLGR convergence
      procedures. To avoid adversely impacting the restart process, a BMP
      statistics producer <bcp14>MAY</bcp14> choose to sample this value at a lower
      frequency, buffer the updates, or temporarily suspend reporting for this
      type during the most critical phases of a switchover.</t>
      <t indent="0" pn="section-5-7">These Gauges may reset due to manual clearance or overflow. BMP
      statistics producers and collectors <bcp14>MUST</bcp14> track discontinuities and log
      this anomaly.</t>
    </section>
    <section anchor="Operational" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-operational-considerations">Operational Considerations</name>
      <t indent="0" pn="section-6-1">This section outlines some operational considerations of new BMP
      statistics for BMP operators.</t>
      <t indent="0" pn="section-6-2">Transmission scheduling and triggering mechanisms for new Gauges are
      implementation dependent. BMP operators <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 Gauges <bcp14>SHOULD</bcp14> be consistent with that of existing
      types.</t>
      <t indent="0" pn="section-6-3">BMP operators <bcp14>SHOULD</bcp14> rate-limit statistics updates to minimize
      performance impact on control plane processes. BMP operators <bcp14>SHOULD</bcp14> only
      enable necessary statistics to reduce memory and CPU overhead.
      Implementations <bcp14>SHOULD</bcp14> also support per-router configuration of
      statistic subsets for collection and reporting.</t>
      <t indent="0" pn="section-6-4">Some BMP statistics producers, or configurations in BMP statistics
      producers, <bcp14>MAY</bcp14> discard routes that do not match policy; thus, the
      accepted count (Type 23) and the Adj‑RIB‑In counts (Type 21) will be
      identical in such cases. BMP operators <bcp14>SHOULD</bcp14> be aware of this behavior
      when interpreting these Gauges. BMP operators <bcp14>SHOULD</bcp14> be aware that BMP
      statistics producers and collectors <bcp14>MAY</bcp14> log inconsistencies between
      statistics as warnings.</t>
    </section>
    <section anchor="Security" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-7-1">Procedures and protocol extensions defined in this document do not
      affect the BMP security model. All security and authentication
      mechanisms required by <xref section="11" target="RFC7854" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7854#section-11" derivedContent="RFC7854"/>, 
      <xref section="8" target="RFC8671" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc8671#section-8" derivedContent="RFC8671"/>, and <xref section="7" target="RFC9069" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9069#section-7" derivedContent="RFC9069"/> are also applicable to the Gauges defined in this
      document. This document does not add any additional security
      considerations.</t>
      <t indent="0" pn="section-7-2">Monitored devices <bcp14>SHOULD</bcp14> be configured to implement rate-limited
      reporting of new Gauges.</t>
    </section>
    <section anchor="IANA" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-8-1">IANA has assigned the following new parameters in the "BMP Statistics Types" registry, part of the <eref target="https://www.iana.org/assignments/bmp-parameters/" brackets="angle"> "BGP Monitoring Protocol (BMP) Parameters" registry group</eref>.</t>
      <t indent="0" pn="section-8-2">IANA has listed these entries as follows.  This document serves as a reference for each entry.</t>
      <table anchor="tbl-iana-stats-types" align="center" pn="table-2">
        <name slugifiedName="name-bmp-statistics-types">BMP Statistics Types</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Stat Type</th>
            <th align="left" colspan="1" rowspan="1">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">18</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the pre-policy
      Adj‑RIB‑In.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">19</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      pre-policy Adj‑RIB‑In.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">20</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the post-policy
      Adj‑RIB‑In.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">21</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑In.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">22</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      pre-policy Adj‑RIB‑In rejected by an inbound policy.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">23</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑In accepted by an inbound policy.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">26</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑In or Loc-RIB suppressed by a
      configured route-damping policy.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">27</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑In or Loc-RIB marked as stale by
      GR events.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">28</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑In or Loc-RIB marked as stale by
      LLGR.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">29</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the post-policy
      Adj‑RIB‑In left before exceeding the received-route
      threshold.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">30</td>
            <td align="left" colspan="1" rowspan="1">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" colspan="1" rowspan="1">31</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the post-policy
      Adj‑RIB‑In or Loc-RIB left before exceeding a
      license-customized route threshold.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">32</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑In or Loc-RIB left before exceeding
      a license-customized route threshold.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">33</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the pre-policy
      Adj‑RIB‑In rejected due to exceeding the locally
      configured maximum AS_PATH length.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">34</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      pre-policy Adj‑RIB‑In rejected due to exceeding the
      locally configured maximum AS_PATH length.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">35</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑In invalidated after verifying the
      route origin ASN through the ROA of the RPKI and mismatch of prefix length.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">36</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑In validated after verifying the
      route origin ASN through the ROA of the RPKI.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">37</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑In whose RPKI route origin
      validation state is NotFound.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">38</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      pre-policy Adj‑RIB‑Out rejected by an outbound
      policy.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">39</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the pre-policy
      Adj‑RIB‑Out filtered due to AS_PATH length exceeding
      the locally configured maximum.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">40</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      pre-policy Adj‑RIB‑Out filtered due to AS_PATH length
      exceeding the locally configured maximum.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">41</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑Out invalidated after verifying the
      route origin ASN through the ROA of the RPKI and mismatch of prefix length.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">42</td>
            <td align="left" colspan="1" rowspan="1">Number of routes currently in the per-AFI/SAFI
      post-policy Adj‑RIB‑Out validated after verifying the
      route origin ASN through the ROA of the RPKI.</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">43</td>
            <td align="left" colspan="1" rowspan="1">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>
    <references pn="section-9">
      <name slugifiedName="name-normative-references">Normative References</name>
      <reference anchor="IANA-AFI" target="https://www.iana.org/assignments/address-family-numbers" quoteTitle="true" derivedAnchor="IANA-AFI">
        <front>
          <title>Address Family Numbers</title>
          <author>
            <organization showOnFrontPage="true">IANA</organization>
          </author>
        </front>
      </reference>
      <reference anchor="IANA-SAFI" target="https://www.iana.org/assignments/safi-namespace" quoteTitle="true" derivedAnchor="IANA-SAFI">
        <front>
          <title>Subsequent Address Family Identifiers (SAFI) Parameters</title>
          <author>
            <organization showOnFrontPage="true">IANA</organization>
          </author>
        </front>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t indent="0">In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC2439" target="https://www.rfc-editor.org/info/rfc2439" quoteTitle="true" derivedAnchor="RFC2439">
        <front>
          <title>BGP Route Flap Damping</title>
          <author fullname="C. Villamizar" initials="C." surname="Villamizar"/>
          <author fullname="R. Chandra" initials="R." surname="Chandra"/>
          <author fullname="R. Govindan" initials="R." surname="Govindan"/>
          <date month="November" year="1998"/>
          <abstract>
            <t indent="0">A usage of the BGP routing protocol is described which is capable of reducing the routing traffic passed on to routing peers and therefore the load on these peers without adversely affecting route convergence time for relatively stable routes. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2439"/>
        <seriesInfo name="DOI" value="10.17487/RFC2439"/>
      </reference>
      <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271" quoteTitle="true" derivedAnchor="RFC4271">
        <front>
          <title>A Border Gateway Protocol 4 (BGP-4)</title>
          <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
          <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
          <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
          <date month="January" year="2006"/>
          <abstract>
            <t indent="0">This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
            <t indent="0">The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
            <t indent="0">BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
            <t indent="0">This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4271"/>
        <seriesInfo name="DOI" value="10.17487/RFC4271"/>
      </reference>
      <reference anchor="RFC4724" target="https://www.rfc-editor.org/info/rfc4724" quoteTitle="true" derivedAnchor="RFC4724">
        <front>
          <title>Graceful Restart Mechanism for BGP</title>
          <author fullname="S. Sangli" initials="S." surname="Sangli"/>
          <author fullname="E. Chen" initials="E." surname="Chen"/>
          <author fullname="R. Fernando" initials="R." surname="Fernando"/>
          <author fullname="J. Scudder" initials="J." surname="Scudder"/>
          <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
          <date month="January" year="2007"/>
          <abstract>
            <t indent="0">This document describes a mechanism for BGP that would help minimize the negative effects on routing caused by BGP restart. An End-of-RIB marker is specified and can be used to convey routing convergence information. A new BGP capability, termed "Graceful Restart Capability", is defined that would allow a BGP speaker to express its ability to preserve forwarding state during BGP restart. Finally, procedures are outlined for temporarily retaining routing information across a TCP session termination/re-establishment.</t>
            <t indent="0">The mechanisms described in this document are applicable to all routers, both those with the ability to preserve forwarding state during BGP restart and those without (although the latter need to implement only a subset of the mechanisms described in this document). [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4724"/>
        <seriesInfo name="DOI" value="10.17487/RFC4724"/>
      </reference>
      <reference anchor="RFC4760" target="https://www.rfc-editor.org/info/rfc4760" quoteTitle="true" derivedAnchor="RFC4760">
        <front>
          <title>Multiprotocol Extensions for BGP-4</title>
          <author fullname="T. Bates" initials="T." surname="Bates"/>
          <author fullname="R. Chandra" initials="R." surname="Chandra"/>
          <author fullname="D. Katz" initials="D." surname="Katz"/>
          <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
          <date month="January" year="2007"/>
          <abstract>
            <t indent="0">This document defines extensions to BGP-4 to enable it to carry routing information for multiple Network Layer protocols (e.g., IPv6, IPX, L3VPN, etc.). The extensions are backward compatible - a router that supports the extensions can interoperate with a router that doesn't support the extensions. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4760"/>
        <seriesInfo name="DOI" value="10.17487/RFC4760"/>
      </reference>
      <reference anchor="RFC6811" target="https://www.rfc-editor.org/info/rfc6811" quoteTitle="true" derivedAnchor="RFC6811">
        <front>
          <title>BGP Prefix Origin Validation</title>
          <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
          <author fullname="J. Scudder" initials="J." surname="Scudder"/>
          <author fullname="D. Ward" initials="D." surname="Ward"/>
          <author fullname="R. Bush" initials="R." surname="Bush"/>
          <author fullname="R. Austein" initials="R." surname="Austein"/>
          <date month="January" year="2013"/>
          <abstract>
            <t indent="0">To help reduce well-known threats against BGP including prefix mis- announcing and monkey-in-the-middle attacks, one of the security requirements is the ability to validate the origination Autonomous System (AS) of BGP routes. More specifically, one needs to validate that the AS number claiming to originate an address prefix (as derived from the AS_PATH attribute of the BGP route) is in fact authorized by the prefix holder to do so. This document describes a simple validation mechanism to partially satisfy this requirement. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6811"/>
        <seriesInfo name="DOI" value="10.17487/RFC6811"/>
      </reference>
      <reference anchor="RFC7854" target="https://www.rfc-editor.org/info/rfc7854" quoteTitle="true" derivedAnchor="RFC7854">
        <front>
          <title>BGP Monitoring Protocol (BMP)</title>
          <author fullname="J. Scudder" initials="J." role="editor" surname="Scudder"/>
          <author fullname="R. Fernando" initials="R." surname="Fernando"/>
          <author fullname="S. Stuart" initials="S." surname="Stuart"/>
          <date month="June" year="2016"/>
          <abstract>
            <t indent="0">This document defines the BGP Monitoring Protocol (BMP), which can be used to monitor BGP sessions. BMP is intended to provide a convenient interface for obtaining route views. Prior to the introduction of BMP, screen scraping was the most commonly used approach to obtaining such views. The design goals are to keep BMP simple, useful, easily implemented, and minimally service affecting. BMP is not suitable for use as a routing protocol.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7854"/>
        <seriesInfo name="DOI" value="10.17487/RFC7854"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t indent="0">RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC8671" target="https://www.rfc-editor.org/info/rfc8671" quoteTitle="true" derivedAnchor="RFC8671">
        <front>
          <title>Support for Adj-RIB-Out in the BGP Monitoring Protocol (BMP)</title>
          <author fullname="T. Evens" initials="T." surname="Evens"/>
          <author fullname="S. Bayraktar" initials="S." surname="Bayraktar"/>
          <author fullname="P. Lucente" initials="P." surname="Lucente"/>
          <author fullname="P. Mi" initials="P." surname="Mi"/>
          <author fullname="S. Zhuang" initials="S." surname="Zhuang"/>
          <date month="November" year="2019"/>
          <abstract>
            <t indent="0">The BGP Monitoring Protocol (BMP) only defines access to the Adj-RIB-In Routing Information Bases (RIBs). This document updates BMP (RFC 7854) by adding access to the Adj-RIB-Out RIBs. It also adds a new flag to the peer header to distinguish between Adj-RIB-In and Adj-RIB-Out.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8671"/>
        <seriesInfo name="DOI" value="10.17487/RFC8671"/>
      </reference>
      <reference anchor="RFC9069" target="https://www.rfc-editor.org/info/rfc9069" quoteTitle="true" derivedAnchor="RFC9069">
        <front>
          <title>Support for Local RIB in the BGP Monitoring Protocol (BMP)</title>
          <author fullname="T. Evens" initials="T." surname="Evens"/>
          <author fullname="S. Bayraktar" initials="S." surname="Bayraktar"/>
          <author fullname="M. Bhardwaj" initials="M." surname="Bhardwaj"/>
          <author fullname="P. Lucente" initials="P." surname="Lucente"/>
          <date month="February" year="2022"/>
          <abstract>
            <t indent="0">The BGP Monitoring Protocol (BMP) defines access to local Routing Information Bases (RIBs). This document updates BMP (RFC 7854) by adding access to the Local Routing Information Base (Loc-RIB), as defined in RFC 4271. The Loc-RIB contains the routes that have been selected by the local BGP speaker's Decision Process.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9069"/>
        <seriesInfo name="DOI" value="10.17487/RFC9069"/>
      </reference>
      <reference anchor="RFC9494" target="https://www.rfc-editor.org/info/rfc9494" quoteTitle="true" derivedAnchor="RFC9494">
        <front>
          <title>Long-Lived Graceful Restart for BGP</title>
          <author fullname="J. Uttaro" initials="J." surname="Uttaro"/>
          <author fullname="E. Chen" initials="E." surname="Chen"/>
          <author fullname="B. Decraene" initials="B." surname="Decraene"/>
          <author fullname="J. Scudder" initials="J." surname="Scudder"/>
          <date month="November" year="2023"/>
          <abstract>
            <t indent="0">This document introduces a BGP capability called the "Long-Lived Graceful Restart Capability" (or "LLGR Capability"). The benefit of this capability is that stale routes can be retained for a longer time upon session failure than is provided for by BGP Graceful Restart (as described in RFC 4724). A well-known BGP community called "LLGR_STALE" is introduced for marking stale routes retained for a longer time. A second well-known BGP community called "NO_LLGR" is introduced for marking routes for which these procedures should not be applied. We also specify that such long-lived stale routes be treated as the least preferred and that their advertisements be limited to BGP speakers that have advertised the capability. Use of this extension is not advisable in all cases, and we provide guidelines to help determine if it is.</t>
            <t indent="0">This memo updates RFC 6368 by specifying that the LLGR_STALE community must be propagated into, or out of, the path attributes exchanged between the Provider Edge (PE) and Customer Edge (CE) routers.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9494"/>
        <seriesInfo name="DOI" value="10.17487/RFC9494"/>
      </reference>
    </references>
    <section anchor="Acknowledgements" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">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 indent="0" pn="section-appendix.a-2">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 indent="0" pn="section-appendix.a-3">Thanks to <contact fullname="Gunter van de Velde"/>, <contact fullname="Éric Vyncke"/>, and <contact fullname="Ketan Talaulikar"/> for
      the IESG review.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Mukul Srivastava" initials="M." role="editor" surname="Srivastava">
        <organization showOnFrontPage="true">Hewlett Packard Enterprise</organization>
        <address>
          <postal>
            <street>10 Technology Park Dr</street>
            <city>Westford</city>
            <region>MA</region>
            <code>01886</code>
            <country>United States of America</country>
          </postal>
          <email>mukul.srivastava@hpe.com</email>
        </address>
      </author>
      <author fullname="Yisong Liu" initials="Y." surname="Liu">
        <organization showOnFrontPage="true">China Mobile</organization>
        <address>
          <postal>
            <street>32 Xuanwumen West Street</street>
            <city>Beijing</city>
            <region>Xicheng District</region>
            <code>100053</code>
            <country>China</country>
          </postal>
          <email>liuyisong@chinamobile.com</email>
        </address>
      </author>
      <author fullname="Changwang Lin" initials="C." role="editor" surname="Lin">
        <organization showOnFrontPage="true">New H3C Technologies</organization>
        <address>
          <postal>
            <street>8 Yongjia North Road</street>
            <city>Beijing</city>
            <region>Haidian District</region>
            <code>100094</code>
            <country>China</country>
          </postal>
          <email>linchangwang.04414@h3c.com</email>
        </address>
      </author>
      <author fullname="Jinming Li" initials="J." surname="Li">
        <organization showOnFrontPage="true">China Mobile</organization>
        <address>
          <postal>
            <street>32 Xuanwumen West Street</street>
            <city>Beijing</city>
            <region>Xicheng District</region>
            <code>100053</code>
            <country>China</country>
          </postal>
          <email>lijinming@chinamobile.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
