<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-liu-grow-bmp-rm-aggregated-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Aggregated BMP Route Monitoring Message">Definition for Aggregated BMP Route Monitoring Message</title>
    <seriesInfo name="Internet-Draft" value="draft-liu-grow-bmp-rm-aggregated-06"/>
    <author initials="Y." surname="Liu" fullname="Yisong Liu">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>liuyisong@chinamobile.com</email>
      </address>
    </author>
    <author initials="C." surname="Lin" fullname="Changwang Lin">
      <organization>New H3C Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>linchangwang.04414@h3c.com</email>
      </address>
    </author>
    <author initials="M." surname="Srivastava" fullname="Mukul Srivastava">
      <organization>Hewlett Packard Enterprise</organization>
      <address>
        <postal>
          <street>10 Technology Park Dr</street>
          <region>Westford, MA 01886</region>
          <country>United States of America</country>
        </postal>
        <email>mukul.srivastava@hpe.com</email>
      </address>
    </author>
    <author initials="P." surname="Narasimha" fullname="Prasad S. Narasimha">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>snprasad@cisco.com</email>
      </address>
    </author>
    <date year="2026"/>
    <area>ops</area>
    <workgroup>GROW Working Group</workgroup>
    <keyword>BMP, Aggregated, RM</keyword>
    <abstract>
      <?line 72?>

<t>This document proposes an aggregated BMP Route Monitoring message
   based on the BMP Multi-Peer Header message (draft-liu-grow-bmp-multiple-peer-header).
   It can compress multiple BMP Route
   Monitoring messages into one aggregated BMP Route Monitoring message
   to reduce the amount of reported BMP Route Monitoring messages and
   reduce the network overhead.</t>
    </abstract>
  </front>
  <middle>
    <?line 81?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC7854"/> defines BMP Route Monitoring message, which is used to
   send incremental routes advertised and withdrawn by peers to the
   monitoring station. BMP Route Monitoring message consists of Common
   Header, Per-Peer Header and BGP Update PDU. Among them, Common
   Header and Per-Peer Header are defined in <xref target="RFC7854"/>, and the BGP
   Update PDU contains the BGP PATH attribute and prefix, as shown in
   <xref target="fig-bmp-rm-format"/>.</t>
      <figure anchor="fig-bmp-rm-format">
        <name>BMP Route Monitoring Message Structure</name>
        <artwork type="ascii-art"><![CDATA[
                  +------------------------------+
                  |       Common Header          |
                  +------------------------------+
                  |       Per-Peer Header        |
                  +------------------------------+
                  |       BGP Update PDU         |
                  |+----------------------------+|
                  ||      BGP PATH Attributes   ||
                  |+----------------------------+|
                  ||      Prefixes              ||
                  |+----------------------------+|
                  +------------------------------+
]]></artwork>
      </figure>
      <t><xref target="I-D.ietf-grow-bmp-tlv"/> changes the structure of BMP Route Monitoring
   message where the Per-Peer Header is followed by one BGP Message TLV and optional TLVs,
   as shown in <xref target="fig-bmpv4-rm-format"/>. The BGP Update PDU is enclosed in the BGP Message TLV,
   and a Route Monitoring message MUST contain one BGP Message TLV.</t>
      <figure anchor="fig-bmpv4-rm-format">
        <name>BMPv4 Route Monitoring Message Structure</name>
        <artwork type="ascii-art"><![CDATA[
                  +------------------------------+
                  |       Common Header          |
                  +------------------------------+
                  |       Per-Peer Header        |
                  +------------------------------+
                  |       BGP Message TLV        |
                  |+----------------------------+|
                  ||      BGP Update PDU        ||
                  ||+--------------------------+||
                  |||     BGP PATH Attributes  |||
                  ||+--------------------------+||
                  |||     Prefixes             |||
                  ||+--------------------------+||
                  |+----------------------------+|
                  +------------------------------+
                  |       Optional TLVs          |
                  +------------------------------+
]]></artwork>
      </figure>
      <t>Currently, a piece of BMP Route Monitoring message can contain
   one Common Header, one Per-Peer Header, and one BGP Update PDU
   or one BGP Message TLV including one BGP Update PDU, and
   the BGP Update PDU can contain multiple non-repeatable BGP PATH
   attributes and prefixes.</t>
      <t><xref target="I-D.liu-grow-bmp-multiple-peer-header"/> defines the Multi-Peer
   Header Message to compress multiple BMP Per-Peer messages into one
   aggregated BMP message for reducing the reported BMP messages and
   the network overhead.</t>
      <t>This document proposes an aggregated BMP Route Monitoring message
   based on the Multi-Peer Header message. It can compress multiple BMP
   Route Monitoring messages into one aggregated BMP Route Monitoring
   message, which reduces the amount of reported BMP Route Monitoring
   messages and also reduces the network overhead.</t>
      <section anchor="requirements-language">
        <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="solution">
      <name>Solution</name>
      <section anchor="current-bgp-group-packaging">
        <name>Current BGP Group Packaging</name>
        <t>The rapid growth of existing network routing tables and the
   complexity of network topology have led to the need for BGP to
   support more peers. In particular, in scenarios with a large number
   of peers and a large amount of routes, the router needs to send
   routes to a large number of BGP peers, and most of the peers have
   the same configuration, which requires higher packaging and sending
   performance.</t>
        <t>The BGP group packaging technology treats all BGP peers with common
   configurations as a packaging group. In this way, each route to be
   sent is packaged only once and then sent to all neighbors in the
   packaging group, which exponentially improves the packaging
   efficiency.</t>
        <t>Before the group packaging feature was supported, each route to be
   sent had to be packaged separately for each peer. Group packaging
   enables unified packaging and separate sending, that is, each route
   to be sent is packaged only once and then sent to all peers in the
   packaging group, which exponentially improves the efficiency of
   packaging and sending. In scenarios with a large number of neighbors
   and a large amount of routes, as shown in <xref target="fig-app-group-package"/>, group packaging
   greatly improves the performance of BGP packaging and sending.</t>
        <figure anchor="fig-app-group-package">
          <name>Typical Application Scenario for Group Packaging</name>
          <artwork type="ascii-art"><![CDATA[
  +---------------------------------------------------------------+
  | +----------+                                            AS    |
  | |    RR1   |                                                  |
  | +-+-+-+-+--+                                                  |
  |   | | | |                IBGP                                 |
  |   | | | +---------------------------------------------+       |
  |   | | +------------------------------+                |       |
  |   | +---------------+                |                |       |
  |   |                 |                |                |       |
  | +-+------+       +--+-----+       +--+-----+       +--+-----+ |
  | | Client |  ...  | Client |  ...  | Client |  ...  | Client | |
  | +-+------+       +--+-----+       +--+-----+       +--+-----+ |
  |   |                 |                |                |       |
  |   | +---------------+                |                |       |
  |   | | +------------------------------+                |       |
  |   | | | +---------------------------------------------+       |
  |   | | | |                IBGP                                 |
  | +-+-+-+-+--+                                                  |
  | |    RR2   |                                                  |
  | +----------+                                                  |
  +---------------------------------------------------------------+
]]></artwork>
        </figure>
        <t><xref target="fig-app-group-package"/> is a typical network diagram of reflectors with multiple
   clients, RR routers need to send routes to a large number of BGP
   client peers, and most of the client peers have the same
   configuration. Suppose an RR reflector has 100 clients and 100,000
   routes to be reflected. If each neighbor is packaged separately,
   when the reflector RR sends routes to 100 clients, the total number
   of times all routes are packaged is 100,000 x 100. The group
   packaging technology reduces this process to 100,000 x 1, which is
   equivalent to a 100-fold improvement in performance.</t>
        <t>The comparison of packet assembly by peer and peer packaging group
   is shown in <xref target="fig-comp-two-methods"/>. It can be clearly seen that assembling packets
   by peer packaging group can greatly improve packet performance.</t>
        <figure anchor="fig-comp-two-methods">
          <name>Comparison of Two Packaging Methods</name>
          <artwork type="ascii-art"><![CDATA[
  +----------------------------------------------------------------+
  |  Encapsulation by Peer | Encapsulation by Peer Packaging Group |
  +----------------------------------------------------------------+
  |    N Peers             |    N Peers of Peer Packaging Group    |
  +----------------------------------------------------------------+
  |    N Times Packaging   |    1 Times Packaging                  |
  +----------------------------------------------------------------+
  |    N Times Sending     |    N Times Sending                    |
  +----------------------------------------------------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="bmp-send-batching-optimization">
        <name>BMP Send Batching Optimization</name>
        <t>Currently, network devices have implemented BGP send batching
   technology. This allows messages with the same attributes to be
   batched together and sent to multiple neighbors simultaneously.</t>
        <t>However, BMP Route Monitoring message is handled on a per-peer
   basis, which means they cannot take advantage of the BGP send
   batching functionality.</t>
        <t>From the perspective of BMP Route Monitoring packet format, if BMP
   Route Monitoring packets are also assembled according to peers, they
   need to be assembled once for each peer, and the assembly
   performance will also be limited. Moreover, the BMP Route Monitoring
   message information may be different depending on the peer, and needs to
   be sent to the monitoring server multiple times, which increases the
   network overhead.</t>
        <t>In multiple BMP Route Monitoring messages, if the prefixes are the
   same but the Per-Peer Header and BGP PATH attributes are different,
   according to the way of packet assembly by peer packaging group, the
   different BGP attributes can be extracted, combined with the
   corresponding Per-Peer Header, and reuse of the same BGP PATH
   attributes, which together form a aggregated BMP Route Monitoring
   message. See section 4 for detailed format of the aggregated BMP
   Route Monitoring message. As shown in <xref target="fig-bmp-encap-per-peer"/> and <xref target="fig-bmp-encap-multi-peers"/>, compared with
   the original multiple BMP Route Monitoring message, the aggregated
   BMP Route Monitoring message exponentially reduces the Common Header
   and the same BGP PATH attributes and prefixes, and is only assembled
   once, which not only effectively the network overhead is reduced and
   the assembly performance is further improved.</t>
        <figure anchor="fig-bmp-encap-per-peer">
          <name>BMP Encapsulation by Per-Peer</name>
          <artwork type="ascii-art"><![CDATA[
  +--------+      +---------------------+      +-----------------+
  |        |----->|Packaging for Peer 1 |----->|Sending to Server|
  |        |      +---------------------+      +-----------------+
  |        |      ~
  |Prefixes|      ~
  |        |      +---------------------+      +-----------------+
  |        |----->|Packaging for Peer N |----->|Sending to Server|
  +--------+      +---------------------+      +-----------------+
]]></artwork>
        </figure>
        <figure anchor="fig-bmp-encap-multi-peers">
          <name>BMP Encapsulation by Multi-Peers</name>
          <artwork type="ascii-art"><![CDATA[
  +--------+    +-------------------------+    +-----------------+
  |Prefixes|--->|Packaging for Multi-Peers|--->|Sending to Server|
  +--------+    +-------------------------+    +-----------------+
]]></artwork>
        </figure>
        <t>This document defines this aggregated BMP Route Monitoring
   message, and its format has been defined based on the Multi-Peer
   Header message format defined in Section 4 of <xref target="I-D.liu-grow-bmp-multiple-peer-header"/>,
   see Section 4 for its detailed format.</t>
      </section>
    </section>
    <section anchor="aggregated-route-monitoring-definition">
      <name>Aggregated Route Monitoring Definition</name>
      <t>This section adds a new BMP Multi-Peer Message Type for BMP Route
   Monitoring, which is populated in the Multi-Peer Message Type field
   of the BMP Common Multi-Peer Header defined in Section 5 of <xref target="I-D.liu-grow-bmp-multiple-peer-header"/>.</t>
      <t>Multi-Peer Message Type = TBD: Aggregated Route Monitoring, Recommended value 0.</t>
    </section>
    <section anchor="aggregated-route-monitoring-message">
      <name>Aggregated Route Monitoring Message</name>
      <section anchor="message-format-for-bmpv3-and-bmpv4">
        <name>Message Format for BMPv3 and BMPv4</name>
        <t>This section defines two aggregated BMP Route Monitoring message
   formats, according to the Route Monitoring message format of <xref target="RFC7854"/>
   and <xref target="I-D.ietf-grow-bmp-tlv"/>.</t>
        <t><xref target="fig-bmp-agg-rm-format"/> shows one aggregated Route Monitoring message format,
   based on the Route Monitoring message format of <xref target="RFC7854"/>, including Common Header,
   Common Multi-Peer Header, and BGP Update PDU. Among them, the Common Header is the
   same as that defined in Section 4.1 of <xref target="RFC7854"/>, the BGP Update PDU
   contains the same BGP PATH attribute and prefixes, and the Common
   Multi-Peer Header will be defined below.</t>
        <figure anchor="fig-bmp-agg-rm-format">
          <name>BMP Aggregated Route Monitoring Message Format</name>
          <artwork type="ascii-art"><![CDATA[
        +--------------------------------------------------+
        |       Common Header (Type = Multi-Peer Header)   |
        +--------------------------------------------------+
        |       Common Multi-Peer Header                   |
        ~                                                  ~
        +--------------------------------------------------+
        |       BGP Update PDU                             |
        |+----------------------------+                    |
        ||      BGP PATH Attributes   |                    |
        |+----------------------------+                    |
        ||      Prefixes              |                    |
        |+----------------------------+                    |
        +--------------------------------------------------+
]]></artwork>
        </figure>
        <t><xref target="fig-bmpv4-agg-rm-format"/> shows another aggregated Route Monitoring message format,
   based on the BMPv4 Route Monitoring message format of <xref target="I-D.ietf-grow-bmp-tlv"/>, including Common Header, Common
   Multi-Peer Header, BGP Message TLV including BGP Update PDU, and optional TLVs. Among them, the Common Header
   and the Common Multi-Peer Header are the same as the above, the BGP Update PDU of the BGP Message TLV
   also contains the same BGP PATH attribute and prefixes, and the Optional TLVs can be shared TLVs or TLVs
   specific to a particular prefix.</t>
        <figure anchor="fig-bmpv4-agg-rm-format">
          <name>BMPv4 Aggregated Route Monitoring Message Format</name>
          <artwork type="ascii-art"><![CDATA[
        +--------------------------------------------------+
        |       Common Header (Type = Multi-Peer Header)   |
        +--------------------------------------------------+
        |       Common Multi-Peer Header                   |
        ~                                                  ~
        +--------------------------------------------------+
        |       BGP Message TLV                            |
        ++------------------------------------------+      |
        ||      BGP Update PDU                      |      |
        ||+----------------------------+            |      |
        |||      BGP PATH Attributes   |            |      |
        ||+----------------------------+            |      |
        |||      Prefixes              |            |      |
        ||+----------------------------+            |      |
        |+------------------------------------------+      |
        +--------------------------------------------------+
        |       Optional TLVs                              |
        +--------------------------------------------------+
]]></artwork>
        </figure>
        <t>As shown in <xref target="fig-common-mph-format"/>, the format of the Common Multi-Peer Header in
   the aggregated Route Monitoring message is defined, which
   contains multiple Wild Card Per-Peer Headers defined in Section 5 of
   <xref target="I-D.liu-grow-bmp-multiple-peer-header"/>. The Multi-Peer Message
   Length is the length of Common Multi-Peer Header in bytes (including
   all Wild Card Per-Peer Headers, Per-Peer Information Lengths, and
   Per-Peer BGP PATH Attributes). Each Wild Card Per-Peer Header could
   be followed by the unique Per-Peer BGP PATH attribute of the
   corresponding peer route. If no Per-Peer BGP PATH attribute follows,
   the corresponding Per-Peer Information length MUST be set to 0.</t>
        <figure anchor="fig-common-mph-format">
          <name>Common Multi-Peer Header Format for Route Monitoring</name>
          <artwork type="ascii-art"><![CDATA[
      +--------------------------------------------------------+
      |       Multi-Peer Message Type (TBD) (1 byte)           |
      +--------------------------------------------------------+
      |       Multi-Peer Message Length (2 byte)               |
      +--------------------------------------------------------+
      |       Wild Card Per-Peer Header 1                      |
      +--------------------------------------------------------+
      |       Per-Peer Information Length 1 (2 bytes)          |
      +--------------------------------------------------------+
      |       Per-Peer BGP PATH Attributes 1                   |
      +--------------------------------------------------------+
      ~                                                        ~
      +--------------------------------------------------------+
      |       Wild Card Per-Peer Header N                      |
      +--------------------------------------------------------+
      |       Per-Peer Information Length N (2 bytes)          |
      +--------------------------------------------------------+
      |       Per-Peer BGP PATH Attributes N                   |
      +--------------------------------------------------------+
]]></artwork>
        </figure>
        <t>In the Common Multi-Peer Header format, the Wild Card Per-Peer
   Header format is the same as that defined in <xref target="I-D.liu-grow-bmp-multiple-peer-header"/>.</t>
        <t>Per-Peer Information Length (2 bytes) indicates the length of the
   Per-Peer BGP PATH Attributes in the Common Multi-Peer Header.</t>
        <t>The format of the Per-Peer BGP PATH Attribute in the Common Multi-
   Peer Header is the same as BGP PATH Attribute in the BGP Update PDU.
   The Per-Peer BGP PATH Attribute field does not need to be filled in
   when the route attributes corresponding to each peer are exactly the
   same. Only when the routing attributes corresponding to the peers
   are different to a certain extent, different parts of the routing
   attributes need to be filled in Per-Peer BGP PATH Attribute field
   according to the peers. The same parts of the routing attributes are
   filled in the BGP Update PDU. If the routing attributes
   corresponding to each peer are completely different, the routing
   attributes (BGP PATH Attribute) in the BGP Update PDU will be empty.</t>
        <t>If the Per-Peer BGP PATH Attribute in Common Multi-Peer Header
   exists, it means that the BGP PATH Attribute of the BGP Update PDU
   needs to be integrated with the Per-Peer BGP PATH Attribute of
   Common Multi-Peer Header to obtain the complete BGP PATH Attribute
   of BGP UPDATE PDU sent or received to the corresponding peer.
   Otherwise, the BGP PATH Attribute of the BGP UPDATE PDU is the
   complete BGP PATH Attribute.</t>
        <t>The Per-Peer BGP PATH Attributes in Common Multi-Peer Header is
   optional. A Common Multi-Peer Header may just include the Per-Peer
   Header(s) without any PATH attributes following them.</t>
        <t>Multiple aggregated Route Monitoring messages can be used for same
   or different set of BGP Update prefixes.</t>
      </section>
      <section anchor="route-monitoring-message">
        <name>Route Monitoring Message</name>
        <t>Sender MUST send either the Route Monitoring Message (type 0) as
   defined in <xref target="RFC7854"/> OR the aggregated Route Monitoring Message and
   MUST NOT combine the two message formats in the updates.</t>
      </section>
      <section anchor="support-for-various-rib-views">
        <name>Support for various RIB-Views</name>
        <t>Aggregated Route Monitoring messages can be used for any of the RIB-
   views (Adj-RIB-In pre, Adj-RIB-In post, Adj-RIB-Out pre, Adj-RIB-Out
   post &amp; Local-RIB) when batching is feasible.</t>
        <t>Batching across RIB-views with aggregated Route Monitoring Message
   can be used leveraging methods defined in <xref target="I-D.patki-grow-bmp-common-updates"/>.</t>
      </section>
      <section anchor="examples-of-multiple-peers">
        <name>Examples of Multiple Peers</name>
        <t>This Section lists some examples to show how to use the aggregated Route Monitoring Message
   based on the Route Monitoring Message format of <xref target="RFC7854"/>.</t>
        <t>For the BMPv4 aggregated Route Monitoring Message, its usage is similar to these examples.</t>
        <t>As shown in <xref target="fig-exp-no-peer-attr"/>, there are three peers with no per-peer BGP
   PATH attributes along with all PATH attributes from BGP Update PDU
   being shared.</t>
        <figure anchor="fig-exp-no-peer-attr">
          <name>Three Peers with No Per-Peer BGP PATH Attributes</name>
          <artwork type="ascii-art"><![CDATA[
          +-----------------------------------------------+
          |       Multi-Peer Message Type (TBD)           |
          +-----------------------------------------------+
          |       Multi-Peer Message Length               |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 1             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 1 (0)       |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 2             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 2 (0)       |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 3             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 3 (0)       |
          +-----------------------------------------------+
          |       BGP Update PDU                          |
          |+----------------------------+                 |
          ||      BGP PATH Attributes   |                 |
          |+----------------------------+                 |
          ||      Prefixes              |                 |
          |+----------------------------+                 |
          +-----------------------------------------------+
]]></artwork>
        </figure>
        <t>As shown in <xref target="fig-exp-one-peer-attr"/>, there are three peers with one of the peers
   having different PATH attribute along with shared PATH attributes in
   the BGP Update PDU.</t>
        <figure anchor="fig-exp-one-peer-attr">
          <name>Three Peers with One Peer Having Different PATH Attribute</name>
          <artwork type="ascii-art"><![CDATA[
          +-----------------------------------------------+
          |       Multi-Peer Message Type (TBD)           |
          +-----------------------------------------------+
          |       Multi-Peer Message Length               |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 1             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 1           |
          +-----------------------------------------------+
          |       Per-Peer BGP PATH Attributes 1          |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 2             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 2 (0)       |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 3             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 3 (0)       |
          +-----------------------------------------------+
          |       BGP Update PDU                          |
          |+----------------------------+                 |
          ||      BGP PATH Attributes   |                 |
          |+----------------------------+                 |
          ||      Prefixes              |                 |
          |+----------------------------+                 |
          +-----------------------------------------------+
]]></artwork>
        </figure>
        <t>As shown in <xref target="fig-exp-all-peer-attr"/>, there are three peers with all the peers
   having different PATH attributes along with shared PATH attributes
   in BGP Update PDU.</t>
        <figure anchor="fig-exp-all-peer-attr">
          <name>Three Peers with All Having Different PATH Attributes</name>
          <artwork type="ascii-art"><![CDATA[
          +-----------------------------------------------+
          |       Multi-Peer Message Type (TBD)           |
          +-----------------------------------------------+
          |       Multi-Peer Message Length               |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 1             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 1           |
          +-----------------------------------------------+
          |       Per-Peer BGP PATH Attributes 1          |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 2             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 2           |
          +-----------------------------------------------+
          |       Per-Peer BGP PATH Attributes 2          |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 3             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 3           |
          +-----------------------------------------------+
          |       Per-Peer BGP PATH Attributes 3          |
          +-----------------------------------------------+
          |       BGP Update PDU                          |
          |+----------------------------+                 |
          ||      BGP PATH Attributes   |                 |
          |+----------------------------+                 |
          ||      Prefixes              |                 |
          |+----------------------------+                 |
          +-----------------------------------------------+
]]></artwork>
        </figure>
        <t>As shown in <xref target="fig-exp-all-peer-diff-attr"/>, there are three peers with all the peers
   having different PATH attributes along with no shared PATH
   attributes in BGP Update PDU.</t>
        <figure anchor="fig-exp-all-peer-diff-attr">
          <name>Three Peers with All Having Different PATH Attributes along without Shared Path Attributes</name>
          <artwork type="ascii-art"><![CDATA[
          +-----------------------------------------------+
          |       Multi-Peer Message Type (TBD)           |
          +-----------------------------------------------+
          |       Multi-Peer Message Length               |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 1             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 1           |
          +-----------------------------------------------+
          |       Per-Peer BGP PATH Attributes 1          |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 2             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 2           |
          +-----------------------------------------------+
          |       Per-Peer BGP PATH Attributes 2          |
          +-----------------------------------------------+
          |       Wild Card Per-Peer Header 3             |
          +-----------------------------------------------+
          |       Per-Peer Information Length 3           |
          +-----------------------------------------------+
          |       Per-Peer BGP PATH Attributes 3          |
          +-----------------------------------------------+
          |       BGP Update PDU                          |
          |+----------------------------+                 |
          ||      Prefixes              |                 |
          |+----------------------------+                 |
          +-----------------------------------------------+
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The considerations in Section 11 of <xref target="RFC7854"/> apply to this
   document. It is also believed that this document does not add any
   additional security considerations.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests IANA to define one new "BMP Multi-Peer Message Type" registry
   to the BMP parameters name space (https://www.iana.org/assignments/bmp-parameters/bmp-parameters.xhtml).</t>
      <t>The new "BMP Multi-Peer Message Type" registry is seeded with the following new type (Section 3):</t>
      <t>Type = TBD: Aggregated Route Monitoring</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <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>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="RFC7854" target="https://www.rfc-editor.org/info/rfc7854" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7854.xml">
        <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>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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <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>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="I-D.ietf-grow-bmp-tlv" target="https://datatracker.ietf.org/doc/html/draft-ietf-grow-bmp-tlv-20" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-grow-bmp-tlv.xml">
        <front>
          <title>BMP v4: Extended TLV Support for BGP Monitoring Protocol (BMP)</title>
          <author fullname="Paolo Lucente" initials="P." surname="Lucente">
            <organization>NTT</organization>
          </author>
          <author fullname="Yunan Gu" initials="Y." surname="Gu">
            <organization>Huawei</organization>
          </author>
          <author fullname="Maxence Younsi" initials="M." surname="Younsi">
            <organization>INSA-Lyon</organization>
          </author>
          <author fullname="Pierre Francois" initials="P." surname="Francois">
            <organization>INSA-Lyon</organization>
          </author>
          <date day="2" month="March" year="2026"/>
          <abstract>
            <t>Most of the BGP Monitoring Protocol (BMP) message types make provision for data in Type, Length, Value (TLV) format. However, Route Monitoring messages (which provide a snapshot of the monitored Routing Information Base) Stats Reports (which supply periodical counters) and Peer Down messages (which indicate that a peering session was terminated) do not. Supporting (optional) data in TLV format across all BMP message types provides consistent and extensible structures that would be useful among the various use- cases where conveying additional data to a monitoring station is required. This document updates RFC 7854 [RFC7854] to support TLV data in all message types and defines some essential TLVs. Additionally, this document introduces support for enterprise- specific TLVs in the BGP Monitoring Protocol by defining an Enterprise Bit (E-bit) that allows usage of per-vendor Type values.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-grow-bmp-tlv-20"/>
      </reference>
      <reference anchor="I-D.patki-grow-bmp-common-updates" target="https://datatracker.ietf.org/doc/html/draft-patki-grow-bmp-common-updates-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.patki-grow-bmp-common-updates.xml">
        <front>
          <title>Common BMP Route-Monitoring Messages for Routes Unchanged by Policy</title>
          <author fullname="Dhananjay Patki" initials="D." surname="Patki">
            <organization>Cisco Systems, Inc.</organization>
          </author>
          <author fullname="Narasimha Prasad" initials="N." surname="Prasad">
            <organization>Cisco Systems, Inc.</organization>
          </author>
          <date day="20" month="October" year="2025"/>
          <abstract>
            <t>A route unmodified by the inbound policy on a monitored router is included both in Pre-Policy Adj-RIB-In as well as Post-Policy Adj- RIB-In Route-Monitoring messages when both the Pre-Policy and Post- Policy Route-Monitoring modes are enabled. Similarly, a route unmodified by the outbound policy is included in Pre-Policy Adj-RIB- Out as well as Post-Policy Adj-RIB-Out Route-Monitoring messages. This document defines a method to avoid duplicate inclusion of routes unmodified by policy either in Adj-RIB-In or Adj-RIB-Out.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-patki-grow-bmp-common-updates-02"/>
      </reference>
      <reference anchor="I-D.liu-grow-bmp-multiple-peer-header" target="https://datatracker.ietf.org/doc/html/draft-liu-grow-bmp-multiple-peer-header-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.liu-grow-bmp-multiple-peer-header.xml">
        <front>
          <title>Definition for BMP Multiple Peer Header</title>
          <author fullname="Yisong Liu" initials="Y." surname="Liu">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Changwang Lin" initials="C." surname="Lin">
            <organization>New H3C Technologies</organization>
          </author>
          <author fullname="Narasimha Prasad" initials="N." surname="Prasad">
            <organization>Cisco Systems</organization>
          </author>
          <author fullname="Mukul Kumar Srivastava" initials="M. K." surname="Srivastava">
            <organization>Juniper Networks</organization>
          </author>
          <date day="25" month="April" year="2026"/>
          <abstract>
            <t>This document proposes a format of multiple peer header for aggregating BMP messages. It can be used to compress multiple BMP messages with per-peer header into one aggregated BMP message, which could reduce the amount of reported BMP messages and reduce network overhead.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-liu-grow-bmp-multiple-peer-header-01"/>
      </reference>
    </references>
  </back>

</rfc>
