<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
        <!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml">
	<!ENTITY RFC8671 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8671.xml">
	<!ENTITY RFC9069 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.9069.xml">
	<!ENTITY RFC9736 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.9736.xml">
        <!ENTITY I-D.ietf-grow-bmp-yang SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-grow-bmp-yang.xml">
]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>

<rfc category="std" docName="draft-ietf-grow-bmp-adj-ribs-filtered-01"
     ipr="trust200902" submissionType="IETF" consensus="true"
     updates="7854">

    <front>
        <title abbrev="BMP FILTERED RIBS">
	    Filtering Adj-Rib-In and Adj-Rib-Out to BMP receivers
	</title>

        <author fullname="Paolo Lucente" initials="P" surname="Lucente">
            <organization>NTT</organization>
            <address>
                <postal>
                    <street>Veemweg 23</street>
                    <city>Barneveld</city>
                    <code>3771</code>
                    <country>NL</country>
                </postal>
                <email>paolo@ntt.net</email>
            </address>
        </author>

	<author fullname="Camilo Cardona" initials="C" surname="Cardona ">
	  <organization>NTT</organization>
	    <address>
	      <postal>
		<street>164-168, Carrer de Numancia</street>
		<city>Barcelona</city>
		<code>08029</code>
		<country>Spain</country>
	      </postal>
              <email>camilo@ntt.net</email>
	    </address>
	</author>

    <author fullname="Mukul Srivastava" initials="M."
            surname="Srivastava">
      <organization>HPE</organization>
      <address>
        <postal>
          <street>10 Technology Park Dr</street>
          <city>Westford</city>
          <region>MA</region>
          <code>01886</code>
          <country>USA</country>
        </postal>
        <email>mukul.srivastava@hpe.com</email>
      </address>
    </author>

        <date year="2026"/>

        <area>General</area>

        <workgroup>Global Routing Operations</workgroup>
        <keyword>BMP</keyword>

        <abstract>
            <t>
		Filtering RIBs in BMP (BGP Monitoring Protocol) can be desirable
		for several use-cases like, for example, limiting the amount of
		data a collector station has to process or allow a sender to export
		only a certain afi/safi of interest. This document defines an
		indicator to inform a collector station that a Adj-Rib-In or
		Adj-Rib-Out
		data feed is being filtered at the BMP exporter.  
                This document updates RFC 7854.
            </t>
        </abstract>
    </front>

    <middle>
        <section title="Introduction" anchor="Introduction">
            <t>
		While <xref target="RFC9069">Section 6.1 of</xref> does define a
		way to mark a Loc-Rib as filtered, there is no equivalent mechanism
		for Adj-Rib-In <xref target="RFC7854">RFC7854</xref> and Adj-Rib-Out
		<xref target="RFC8671">RFC8671</xref>. This can be addressed
		through the introduction of a Peer F Flag in the "BMP Peer Flags for
		Peer Types 0 through 2" registry.
            </t>
        </section>

        <section title="Terminology">
            <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 title="Motivation and Use Cases">
            <t>
	        Marking the Adj-RIB-In or Adj-RIB-Out data feed in a BMP session as
		filtered can be informative to the rest of the data pipeline that
		they should not make decisions assuming that this stream is
		transmitting all the information about it.
            </t>
            <t>
		A BMP exporter, typically a router, need to send Route Monitoring updates
		per peer while meeting several requirements, such as minimizing CPU
		consumption, avoiding impact on key routing functions, and providing near
		real-time updates to the collector. As network scale increases, satisfying
		these requirements becomes increasingly challenging. Therefore, any
		mechanism that enables data filtering is beneficial.

		On the BMP monitoring station, typically a software collector, excessive
		data imposes costs on storage and processing. Reducing the volume of data
		limited to key points of interest (for example, edge peering), can help
		alleviate these costs.
	    </t>
        </section>
	
        <section title="Filtered RIB Flag">
            <t>
		As a recap, a BMP session is regarded as carrying Adj-Rib-In by defining
		the Peer Type to 0, 1 or 2 values and setting the O flag to zero (0) in
		the BMP Peer Flags (for Peer Types 0 through 2) registry. Similarly,
		Adj-Rib-Out is set by defining the Peer Type to 0, 1 or 2 values and
		setting the O flag to one (1) in the BMP Peer Flags (for Peer Types 0
		through 2) registry. Both Adj-Rib-In and Adj-Rib-Out can be further
		defined as Pre-Policy, setting the Peer L Flag to zero (0), or Post-Policy,
		setting the Peer L Flag to one (1).
            </t>
	    <t>
		For both Adj-Rib-In and Adj-Rib-Out, for both Pre-Policy and Post-Policy
		cases, a new Peer F Flag is defined in the "BMP Peer Flags for Peer Types
		0 through 2" registry. If the RIB was filtered, the flag MUST be set to
		one (1).
                Filtering in this document refers to the BMP sender applying a filter
                to the data sent to the BMP receiver.
	    </t>
	    <t>
                The F flag does not impact on Statistics Report messages. In
                Statistics Report messages, the F flag MUST be set to zero (0)
                and SHOULD be ignored by the BMP receiver. This document does
                not modify the semantics of any existing BMP Statistics Type.
	    </t>
	    <t>
                If a change to BMP export filtering changes the set of routes
                reported for a RIB view, the sender MUST send a Peer Down
                Notification followed by a Peer Up Notification before
                reporting the changed RIB view.
	    </t>
        </section>

        <section title="Operational Considerations">
            <t>
                The F flag indicates that the view reported to the BMP receiver
                is filtered. It does not describe the filtering criteria or
                identify the routes that were filtered by the BMP sender to the
                BMP receiver. The definition and communication of filtering
                criteria are outside the scope of this document.
            </t>
	    <t>
		It is recommended that when filtering RIBs, the VRF/Table Name
		TLV - as defined in <xref target="RFC9069">RFC9069</xref> and
		<xref target="RFC9736">BMP Peer Up Namespace</xref> - is specified
		to a meaningful string that can help discriminate the nature of
		filtering. 
	    </t>
	    <t>
		The VRF/Table Name TLV can be either set in the Peer Up message,
		so to implicitly apply to all NLRIs received by the peer, or set
		via a Group TLV in Route Monitoring messages, to explicitly apply
		to all NLRIs in the group. Going down the Peer Up model is
		certainly optimal on the wire and simplifies packing at the
		sender side; going down the Route Monitoring model, instead,
		allows the receiver side to operate non-contextually (ie. no
		need to look back at the Peer Up to make due associations). 
	    </t>
            <t>
                Filtering configuration may be exposed through management-plane
                mechanisms. For example, the BMP YANG data model
                <xref target="I-D.ietf-grow-bmp-yang"/> defines configuration for filtering
                Route Monitoring messages.
            </t>
        </section>
        <section title="Security Considerations">
            <t>
                The security considerations of RFC 7854 apply. If the F flag
                incorrectly indicates that a filtered RIB view is unfiltered, a
                BMP receiver may incorrectly treat an incomplete view as
                complete, potentially resulting in incorrect operational or
                security analysis. The F flag represents information supplied
                by the BMP sender and does not independently verify the
                completeness of the reported RIB view.
            </t>
        </section>

        <section title="IANA Considerations">
            <t>
		This document asks IANA to add a new F Flag to the "BMP Peer Flags for
		Peer Types 0 through 2" registry. The recommended value for the registry
		is 4.
	    </t>
        </section>

    </middle>

    <back>

        <references title="Normative References">
		&RFC2119;
		&RFC8174;
		<?rfc include="reference.RFC.7854.xml"?>
                <?rfc include="reference.RFC.8671.xml"?>
                <?rfc include="reference.RFC.9069.xml"?>
                <?rfc include="reference.RFC.9736.xml"?>
        </references>

        <references title="Informative References">
                &I-D.ietf-grow-bmp-yang;
        </references>

        <section anchor="Acknowledgements" title="Acknowledgements" numbered="no">
            <t>
		The authors would like to thank Jeff Haas for his valuable input.
            </t>
        </section>

    </back>
</rfc>
