<?xml version="1.0" encoding="UTF-8"?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc ipr="trust200902" docName="draft-saum-grow-bmp-afi-safi-evpn-00" category="std" submissionType="IETF">
  <front>
    <title abbrev="EVPN BMP Statistics">EVPN-Specific BMP RIB Statistics Extensions</title>
    <author fullname="Saumya Dikshit" initials="S" surname="Dikshit">
      <organization abbrev="Aruba, HPE">Aruba Networks, HPE</organization>
      <address>
        <postal>
          <street>Mahadevpura</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560 048</code>
          <country>India</country>
        </postal>
        <email>saumya.dikshit@hpe.com</email>
      </address>
    </author>
    <date year="2025" month="August" day="12"/>
    <area>Routing</area>
    <workgroup>GROW Working Group</workgroup>
    <keyword>BMP</keyword>
    <keyword>EVPN</keyword>
    <keyword>BGP</keyword>
    <keyword>RIB</keyword>
    <keyword>Statistics</keyword>
    <abstract>
      <t>This document defines EVPN-specific BMP statistics types that extend the generic BMP RIB statistics defined in draft-ietf-grow-bmp-bgp-rib-stats. It includes counters for EVPN multihoming for both layer-2 and layer-3 (IP aliasing), dynamic IVRL, route-map application on routes, and EVPN route-type visibility for all route-types from 1 to 8.</t>
      <t>The Border Gateway Protocol Monitoring Protocol (BMP) provides a convenient interface for obtaining BGP-related data. This document extends BMP RIB statistics to include EVPN-specific counters and metrics, enabling enhanced visibility into EVPN route processing and behavior.</t>
      <t>This document registers new EVPN BMP statistic type identifiers in the BMP Statistics Type registry. These identifiers are used to represent EVPN-specific counters in BMP messages.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="include">
      <name>Introduction</name>
      <t>RFC 7854 defined different BMP statistics message types to observe events on the router. The statistics are defined as counters or gauges to provide insights into BGP processing. This document extends the BMP RIB statistics defined in <xref target="I-D.draft-ietf-grow-bmp-bgp-rib-stats"/> by adding EVPN-specific statistics types to monitor EVPN-related events in RIB-In and RIB-Out for the EVPN address family (AFI=25, SAFI=70).</t>
      <t>These EVPN-specific statistics provide enhanced visibility into multihoming, IP aliasing, dynamic inter-VRF route leaking (IVRL), route-map applications, and route-type specific counters, among others.</t>
      <t>The statistics defined herein are gauges (64-bit unsigned integers) unless otherwise specified, following the conventions in <xref target="RFC7854"/>. They apply specifically to to the EV bombing in the EVPN SAFI and extend the per-AFI/SAFI structure where applicable.</t>
      <section anchor="req-lang" numbered="true" toc="include">
        <name>Requirements Language</name>
        <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.</t>
      </section>
    </section>
    <section anchor="evpn-stats" numbered="true" toc="include">
      <name>EVPN BMP Statistics Extensions</name>
      <t>This section defines EVPN-specific statistics types for BMP. These statistics are applicable to the EVPN address family (AFI=25, SAFI=70) and extend the RIB statistics framework in <xref target="I-D.draft-ietf-grow-bmp-bgp-rib-stats"/>. Each statistic is a 64-bit gauge unless noted otherwise, and the value can increase or decrease based on route processing events. The counters provide bits and bitmap to indicate Rib-In, Rib-Out and Pre, Post policy indicators if applicable.</t>
      <section anchor="stat-1" numbered="true" toc="include">
        <name>Stat Type = TBD1: EVPN Route Type Statistics</name>
        <t>Consolidated counter for Standard EVPN route types (Type-1 to Type-8) across RIB-In and RIB-Out, Pre-policy and Post-policy stages.</t> 
        <t>Extends BMP RIB statistics defined in <xref target="I-D.draft-ietf-grow-bmp-bgp-rib-stats"/>.</t>
        <t>This statistic is specific to AFI=25, SAFI=70 and includes breakdowns for:</t>
        <ul>
          <li>1st byte represents Type-1 to Type-8</li>
          <li>2nd bit represent Rib-In or Rib-Out</li>
          <li>3rd bit represent Pre or Post</li>
        </ul>
      </section>
      <section anchor="stat-2" numbered="true" toc="include">
        <name>Stat Type = TBD2: EVPN Locally Originated Routes</name>
        <t>Number of EVPN routes are only originated by the router and not relayed. It's helpful to keep a count of hosted EVI's (IMET for layer-2 EVIs) and Ethernet Segments (ESI and I-ESI) via Type-1 and Type-4).</t>
        <t>The first byte is used for indicating the route-type. As of today, standard route types for EVPN are numbered from 1 to 8</t>
      </section>
      <section anchor="stat-3" numbered="true" toc="include">
        <name>Stat Type = TBD3: EVPN Multihoming Ethernet Segments</name>
        <t>Number of Ethernet Segments (ESI) configured for multihoming. Based on <xref target="RFC7432"/> and <xref target="RFC9135"/>.</t>
        <t>The first two bit indicates if its a segment representing layer-2 multihoming or layer-3 multihoming or I-ESI.</t>
      </section>
      <section anchor="stat-4" numbered="true" toc="include">
        <name>Stat Type = TBD4: EVPN Multihomed EVIs</name>
        <t>Number of EVIs tied to an ESI or I-ESI. The first two bit indicate type of Ethernet Segment. The next 80 bits (10 bytes) can represent the ESI value.</t>
      </section>
      <section anchor="stat-5" numbered="true" toc="include">
        <name>Stat Type = TBD5: EVPN Aliased Paths Count per EVI</name>
        <t>Number of Aliased path per-EVI. First 4 bytes represent the EVI.</t>
      </section>
      <section anchor="stat-6" numbered="true" toc="include">
        <name>Stat Type = TBD6: EVPN Dynamic IVRL</name>
        <t>Number of EVPN routes leaked across VRFs due to matching route-targets. Related to RIB-In Post-policy (Type 2) as defined in <xref target="I-D.draft-ietf-grow-bmp-bgp-rib-stats"/>.</t>
        <t>The first bit makes a distinction if the leak is indicated by MAC-VRF or layer-3, routing VRF.</t>
        <t>TBD: if need be, each counter can be indexed with Combination of source VRF and destination VRF.</t>
      </section>
      <section anchor="stat-7" numbered="true" toc="include">
        <name>Stat Type = TBD7: EVPN Route-Map, Policy Applicability Count</name>
        <t>Bitmap indicating which route attributes were modified by route-map (e.g., local-preference, AS-path, MED, community).</t>
        <t>The 2-byte bitmap includes flags for following attributes and many more, TBD. The exact bitmap for each category can be assigned later:</t>
        <ul>
          <li>Local Preference</li>
          <li>AS Path</li>
          <li>MED</li>
          <li>Community</li>
          <li>Extended Community</li>
          <li>Prefix List</li>
          <li>MAC address list</li>
          <li>Next Hop</li>
          <li>EVI</li>
          <li>Vendor specific Range</li>
        </ul>
        <t>This statistic provides visibility into route-map modifications applied to EVPN routes on a per-attribute basis.</t>
      </section>
    </section>
    <section anchor="iana" numbered="true" toc="include">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign the following new parameters to the "BMP Statistics Type" registry:</t>
      <ul>
        <li>Type = TBD1: EVPN Route Type Statistics</li>
        <li>Type = TBD2: EVPN Locally Originated Routes</li>
        <li>Type = TBD3: EVPN Multihoming Ethernet Segments</li>
        <li>Type = TBD4: EVPN Multihomed EVIs</li>
        <li>Type = TBD5: EVPN Aliased Paths Count per EVI</li>
        <li>Type = TBD6: EVPN Dynamic IVRL</li>
	<li>Type = TBD9: EVPN Route-Map, Policy Applicability Count</li>
      </ul>
    </section>
    <section anchor="security" numbered="true" toc="include">
      <name>Security Considerations</name>
      <t>The EVPN-specific statistics defined in this document do not introduce any new security considerations beyond those already specified in <xref target="RFC7854"/> for BMP and in <xref target="I-D.draft-ietf-grow-bmp-bgp-rib-stats"/> for RIB statistics. BMP sessions should be protected using mechanisms such as TCP-AO or TLS to prevent unauthorized access to monitoring data.</t>
    </section>
    <section anchor="acknowledgements" numbered="true" toc="include">
      <name>Acknowledgements</name>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author initials="S." surname="Bradner">
            <organization></organization>
          </author>
          <date year="1997" month="March"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author initials="B." surname="Leiba">
            <organization></organization>
          </author>
          <date year="2017" month="May"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC7854" target="https://www.rfc-editor.org/info/rfc7854">
        <front>
          <title>BGP Monitoring Protocol (BMP)</title>
          <author initials="J." surname="Scudder" role="editor">
            <organization></organization>
          </author>
          <author initials="R." surname=" Fernando">
            <organization></organization>
          </author>
          <author initials="S." surname="Stuart">
            <organization></organization>
          </author>
          <date year="2016" month="June"/>
        </front>
        <seriesInfo name="RFC" value="7854"/>
        <seriesInfo name="DOI" value="10.17487/RFC7854"/>
      </reference>
      <reference anchor="I-D.draft-ietf-grow-bmp-bgp-rib-stats" target="https://datatracker.ietf.org/doc/html/draft-ietf-grow-bmp-bgp-rib-stats-03">
        <front>
          <title>BGP RIB Related BMP Statistic Types</title>
          <author initials="T." surname="Evens">
            <organization></organization>
          </author>
          <author initials="S." surname="Bayraktar">
            <organization></organization>
          </author>
          <author initials="P." surname="Lucente">
            <organization></organization>
          </author>
          <author initials="K." surname="Xu">
            <organization></organization>
          </author>
          <author initials="S." surname="Zhuang">
            <organization></organization>
          </author>
          <date year="2024" month="May" day="8"/>
        </front>
        <seriesInfo name="Work in Progress" value="draft-ietf-grow-bmp-bgp-rib-stats-03"/>
      </reference>
      <reference anchor="RFC7432" target="https://www.rfc-editor.org/info/rfc7432">
        <front>
          <title>BGP MPLS-Based Ethernet VPN</title>
          <author initials="A." surname="Sajassi" role="editor">
            <organization></organization>
          </author>
          <author initials="R." surname="Aggarwal">
            <organization></organization>
          </author>
          <author initials="N." surname="Bitar">
            <organization></organization>
          </author>
          <author initials="A." surname="Isaac">
            <organization></organization>
          </author>
          <author initials="J." surname="Uttaro">
            <organization></organization>
          </author>
          <author initials="J." surname="Drake">
            <organization></organization>
          </author>
          <author initials="W." surname="Henderickx">
            <organization></organization>
          </author>
          <date year="2015" month="February"/>
        </front>
        <seriesInfo name="RFC" value="7432"/>
        <seriesInfo name="DOI" value="10.17487/RFC7432"/>
      </reference>
      <reference anchor="RFC9135" target="https://www.rfc-editor.org/info/rfc9135">
        <front>
          <title>Integrated Routing and Bridging in Ethernet VPN (EVPN)</title>
          <author initials="A." surname="Sajassi">
            <organization></organization>
          </author>
          <author initials="S." surname="Salam">
            <organization></organization>
          </author>
          <author initials="S." surname="Thoria">
            <organization></organization>
          </author>
          <author initials="J." surname="Drake">
            <organization></organization>
          </author>
          <author initials="J. A." surname="Rabadan">
            <organization></organization>
          </author>
          <author initials="L." surname="Andersson">
            <organization></organization>
          </author>
          <date year="2021" month="October"/>
        </front>
        <seriesInfo name="RFC" value="9135"/>
        <seriesInfo name="DOI" value="10.17487/RFC9135"/>
      </reference>
      <reference anchor="RFC9136" target="https://www.rfc-editor.org/info/rfc9136">
        <front>
          <title>IP Prefix Advertisement in Ethernet VPN (EVPN)</title>
          <author initials="J." surname="Rabdadan" role="editor">
            <organization></organization>
          </author>
          <author initials="W." surname="Henderickx">
            <organization></organization>
          </author>
          <author initials="J." surname="Drake">
            <organization></organization>
          </author>
          <author initials="W." surname="Lin">
            <organization></organization>
          </author>
          <author initials="A." surname="Sajassi">
            <organization></organization>
          </author>
          <date year="2021" month="October"/>
        </front>
        <seriesInfo name="RFC" value="9136"/>
        <seriesInfo name="DOI" value="10.17487/RFC9136"/>
      </reference>
      <reference anchor="RFC8365" target="https://www.rfc-editor.org/info/rfc8365">
        <front>
          <title>A Network Virtualization Overlay Solution Using Ethernet VPN (EVPN)</title>
          <author initials="A." surname="Sajassi" role="editor">
            <organization></organization>
          </author>
          <author initials="J." surname="Drake" role="editor">
            <organization></organization>
          </author>
          <author initials="N." surname="Bitar">
            <organization></organization>
          </author>
          <author initials="R." surname="Shekhar">
            <organization></organization>
          </author>
          <author initials="J." surname="Uttaro">
            <organization></organization>
          </author>
          <author initials="W." surname="Henderickx">
            <organization></organization>
          </author>
          <date year="2018" month="April"/>
        </front>
        <seriesInfo name="RFC" value="8365"/>
        <seriesInfo name="DOI" value="10.17487/RFC8365"/>
      </reference>
      <reference anchor="I-D.draft-ietf-bess-evpn-ip-aliasing" target="https://datatracker.ietf.org/doc/html/draft-ietf-bess-evpn-ip-aliasing-00">
        <front>
          <title>EVPN IP Aliasing for Multi-Homing</title>
          <author initials="J." surname="Rabadan">
            <organization></organization>
          </author>
          <author initials="S." surname="Sathappan">
            <organization></organization>
          </author>
          <author initials="K." surname="Nagaraj">
            <organization></organization>
          </author>
          <author initials="W." surname="Lin">
            <organization></organization>
          </author>
          <date year="2021" month="October" day="25"/>
        </front>
        <seriesInfo name="Work in Progress" value="draft-ietf-bess-evpn-ip-aliasing-00"/>
      </reference>
    </references>
  </back>
</rfc>
