<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-decraene-idr-nlri-error-handling-01" category="std" consensus="true" submissionType="IETF" xml:lang="en" updates="7606" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title>The Key List BGP Attribute for NLRI Error handling</title>
    <seriesInfo name="Internet-Draft" value="draft-decraene-idr-nlri-error-handling-01"/>
    <author initials="B." surname="Decraene" fullname="Bruno Decraene">
      <organization>Orange</organization>
      <address>
        <email>bruno.decraene@orange.com</email>
      </address>
    </author>
    <author initials="J. G." surname="Scudder" fullname="John G. Scudder">
      <organization>HPE</organization>
      <address>
        <email>jgs@juniper.net</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <area>rtg</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>bgp</keyword>
    <keyword>error-handling</keyword>
    <keyword>NLRI</keyword>
    <abstract>
      <?line 61?>

<t>RFC 7606 partially revises the error handling for BGP UPDATE messages.
It reduces the cases of BGP session reset by defining and using less impactful error handling approaches, such as attribute discard and treat-as-withdraw when applicable.
The treat-as-withdraw approach requires that the entire NLRI field of the MP_REACH_NLRI attribute be successfully parsed. This typically means parsing errors in MP_REACH_NLRI cannot be handled by any means short of session reset.
This is exacerbated by the use of non-key data within NLRI, which introduces parsing complexity and additional error cases.</t>
      <t>This specification defines a non-transitive BGP attribute, the "NLRI_KEY_LIST attribute", to encode NLRIs as per the format of MP_UNREACH_NLRI.
This attribute is used to allow the treat-as-withdraw error-handling approach to be used in case an error in the MP_REACH_NLRI attribute prevents the parsing of its NLRIs.</t>
      <t>This document updates RFC 7606 by mandating that the NLRI_KEY_LIST attribute appear before the MP_REACH_NLRI (or any other) attribute in an UPDATE message.</t>
    </abstract>
  </front>
  <middle>
    <?line 72?>

<section anchor="intro">
      <name>Introduction</name>
      <t>According to the base BGP specification <xref target="RFC4271"/>, a BGP speaker that receives an UPDATE message containing a malformed attribute is required to reset the session over which the offending attribute was received.
This behavior is undesirable because a session reset impacts not only routes with the offending attribute but also other valid routes exchanged over the session.</t>
      <t><xref target="RFC7606"/> revises BGP error handling, with the goal of minimizing the impact on routing of a malformed UPDATE message, while maintaining protocol correctness to the extent possible.
For most BGP attributes, a malformed attribute may be handled using attribute discard or treat-as-withdraw.
Both approaches preserve the routing of all the NLRIs not advertised in the affected BGP UPDATE message.
However, as indicated in Section 3 of <xref target="RFC7606"/>, treat-as-withdraw can only be used if the entire NLRI field of the MP_REACH_NLRI attribute is successfully parsed.
This typically means parsing errors in MP_REACH_NLRI cannot be handled by any means short of session reset.</t>
      <t><xref target="RFC4760"/> allows the Border Gateway Protocol (BGP) to advertise general routing information in the Network Layer Reachability Information (NLRI) field of the UPDATE message.
Some specifications, such as <xref target="RFC8277"/>, <xref target="I-D.ietf-idr-bgp-car"/>, and <xref target="I-D.ietf-idr-bgp-ct"/> carry both a key field and a non-key field in the NLRI.
The key field is typically the real NLRI.
The non-key field carries extra data that is NLRI-specific and hence not located in the BGP path attributes for packing optimization purposes.
For example, <xref target="RFC8277"/> carries the Prefix in the key field and one label (stack) in the non-key field.
As another example, <xref target="I-D.ietf-idr-bgp-car"/> defines a BGP CAR SAFI explicitly carrying Key Fields and Non-Key Fields as a list of TLVs.
In case of a BGP withdraw, the key is indicated in the MP_UNREACH_NLRI attribute to withdraw the unfeasible routes, while the non-key data is typically not encoded.</t>
      <t>This specification defines a new BGP non-transitive attribute, the "NLRI_KEY_LIST attribute", to carry the NLRIs using the simple and existing format of MP_UNREACH_NLRI.
Its most important use is for AFI/SAFI whose NLRI are considered to be at elevated risk of malformation. An example are AFI/SAFI that encode both a key field and a non-key field in the NLRIs of the MP_REACH_NLRI attribute, while encodes NLRI in a simpler way in the MP_UNREACH_NLRI attrbiute, e.g., with only the key field.
For such AFI/SAFI, in case of an error in the MP_UNREACH_NLRI attribute preventing the identification of all NLRIs key, the parsing of the NLRI_KEY_LIST attribute is more likely allow the identification of all NLRIs key.
This attribute is used to allow the treat-as-withdraw error-handling approach to be used when there is an error in the MP_REACH_NLRI attribute that prevents the parsing of its NLRIs.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>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"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="capability">
      <name>NLRI_KEY_LIST Capability</name>
      <t>To avoid the overhead of sending and receiving an attribute which is not understood by the BGP speaker receiving it, this document defines a new BGP Capability <xref target="RFC5492"/> "NLRI_KEY_LIST", of type TBD2, and of length zero.
A BGP speaker that supports the reception of the NLRI_KEY_LIST attribute {#receiving} <bcp14>SHOULD</bcp14> advertise the NLRI_KEY_LIST Capability Advertisements.
A BGP speaker <bcp14>SHOULD NOT</bcp14> send the NLRI_KEY_LIST attribute unless its peer has advertised the NLRI_KEY_LIST Capability. 
Note however that if the attribute is sent, it will cause no harm (an incapable implementation will disregard the attribute, per the base BGP specification). A potential reason to send the attribute to a peer that has not advertised support is to avoid fragmenting a peer group.</t>
    </section>
    <section anchor="nlrikeylist-attribute">
      <name>NLRI_KEY_LIST Attribute</name>
      <section anchor="format">
        <name>NLRI_KEY_LIST Format</name>
        <t>The NLRI_KEY_LIST attribute is an optional, non-transitive BGP path attribute with type code TBD1. 
The format of the NLRI_KEY_LIST attribute is the same as the format of the MP_UNREACH_NLRI as defined in Section 4 of <xref target="RFC4760"/> and the relevant specification for the AFI/SAFI in question.</t>
      </section>
      <section anchor="sending">
        <name>Sending the NLRI_KEY_LIST attribute</name>
        <t>The NLRI_KEY_LIST attribute may be sent in a BGP UPDATE message carrying the MP_REACH_NLRI attribute.
It <bcp14>MUST NOT</bcp14> be sent in an UPDATE message not carrying the MP_REACH_NLRI attribute.
To facilitate the determination of the NLRI key list in an UPDATE message with a malformed attribute, the NLRI_KEY_LIST <bcp14>SHALL</bcp14> be encoded as the very first path attribute in an UPDATE message, followed by the MP_REACH_NLRI attribute. (This represents an update to Section 5.1 <xref target="RFC7606"/>, which mandated that the MP_REACH_NLRI come first.)
The ordering of NLRIs within the NLRI_KEY_LIST <bcp14>MUST</bcp14> be the same as their ordering within the corresponding MP_REACH_NLRI. <!-- This is only needed if the requirement to compare the TAW to the MP_REACH_NLRI during normal operation is retained. If we end up deciding on the other approach instead, i.e., ignore the TAW unless there is an error, this ordering requirement should be removed. The reasoning for imposing the ordering requirement is, if we're going to always compare them, we are adding work to the inner loop of the protocol, for every update, so we should minimize that work. Requiring identical ordering means the comparison can be guaranteed to be O(N) in the number of NLRI; if ordering isn't required, the worst-case is more like O(N^2) or in any case not as good as O(N). -->
        </t>
        <t>If the AFI/SAFI specification allows for different NLRI encodings in the MP_UNREACH_NLRI, the sender <bcp14>MUST</bcp14> use the simplest encoding. The receiver <bcp14>MUST</bcp14> accept any valid encoding. For example, <xref target="RFC3107"/> allows the use of either the MPLS label stack originally sent or the static 0x800000 value. The latter is simpler in that the size is smaller, fixed, and the number of labels to parse is minimized.</t>
        <t>The NLRI_KEY_LIST attribute is generally useful as its encoding is simpler than the encoding of the MP_REACH_NLRI, hence it maximizes the chances of handling an error in the MP_REACH_NLRI attribute using the treat-as-withdraw approach.
In particular the NLRI_KEY_LIST attribute does not carry the variable length "Network Address of Next Hop" field nor the "Length of Next Hop Network Address" which, if erroneous, trigger a BGP session reset as per <xref target="RFC7606"/>. 
<!-- Furthermore, in some implementations, it may be the case that a different code path is used to generate the MP_UNREACH_NLRI encoding than is used to generate the MP_REACH_NLRI encoding. This can be seen as beneficial, analogous to "it's ideal if redundant parts come from different suppliers". -->
It is notably, although not exclusively, useful for AFI/SAFI carrying non-key data in the NLRI such as <xref target="RFC8277"/>, <xref target="I-D.ietf-idr-bgp-car"/>, and <xref target="I-D.ietf-idr-bgp-ct"/> as these NLRI are longer and more complex, hence have a higher probability of error. In addition, in case of error, they have a lower probability of being able to parse the full list of NLRIs.
It is less useful when the NLRI encoding is the same for MP_REACH_NLRI and MP_UNREACH_NLRI.</t>
      </section>
      <section anchor="receiving">
        <name>Receiving the NLRI_KEY_LIST attribute</name>
        <t>An UPDATE message with a malformed MP_REACH_NLRI attribute and a correctly formed NLRI_KEY_LIST attribute <bcp14>SHALL</bcp14> be handled using the approach of "treat-as-withdraw".
The UPDATE message <bcp14>SHALL</bcp14> be handled as if received with only the NLRI_KEY_LIST attribute - all other attributes being ignored - and the NLRI_KEY_LIST attribute handled as an MP_UNREACH_NLRI attribute.</t>
        <t>In the case of an UPDATE message with a correctly formed MP_REACH_NLRI attribute, the NLRI_KEY_LIST attribute <bcp14>SHOULD</bcp14> be parsed and its list of NLRI compared to the list of NLRI present in the MP_REACH_NLRI attribute.
In case of difference, the NLRI_KEY_LIST attribute <bcp14>SHALL</bcp14> be ignored.
However, because this reveals an error in either the NLRI_KEY_LIST attribute or the MP_REACH_NLRI attribute, a BGP speaker must provide debugging facilities to permit issues caused by a malformed attribute to be diagnosed.
At a minimum, such facilities must include logging an error listing the NLRI involved and containing the entire malformed UPDATE message when such an attribute is detected.
The malformed UPDATE message should be analyzed, and the root cause should be investigated.</t>
        <!-- When a BGP speaker receives a BGP route that includes the NLRI_KEY_LIST attribute, it MUST discard the NLRI_KEY_LIST attribute after having successfully parsed this BGP UPDATE. -->

</section>
      <section anchor="error">
        <name>NLRI_KEY_LIST attribute Error Handling</name>
        <t>The NLRI_KEY_LIST attribute has the same format as the MP_UNREACH_NLRI and hence has the same conditions under which it is considered malformed.
As per <xref target="receiving"/>, an UPDATE message with a malformed NLRI_KEY_LIST attribute is handled using the approach of "attribute discard".</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <!-- This is arguably not best called "Operational Considerations". It could also be a subsection under "Sending the NLRI_KEY_LIST attribute", or even part of the main body of that section (but then it gets kind of long and wordy). -->

<t>The choice of whether or not to send the NLRI_KEY_LIST attribute is up to the implementor and the operator. As is discussed elsewhere in this document, the attribute is considered more likely to be valuable for AFI/SAFI with more complex NLRI encodings, and less likely to be valuable in the case where the encodings used for the MP_REACH_NLRI and MP_UNREACH_NLRI are the same.</t>
      <t>Drawbacks of sending the attribute include space overhead in the UPDATE message, as well as time overhead to form the attribute on the sender side and to validate it on the receiver side.</t>
      <t>The primary advantage of sending the attribute is avoidance of session reset with concomitant service disruption, but one may also observe the potential to detect non-fatal errors which would otherwise be invisible, when the NLRI_KEY_LIST attribute is compared to the MP_REACH_NLRI attribute. The latter might motivate an operator to configure support even for less complex AFI/SAFI.</t>
      <t>An implementation <bcp14>SHOULD</bcp14> provide a configuration option allowing the operator to send, or not send, the attribute with any AFI/SAFI. The default may differ for different AFI/SAFI; this specification does not, in any case, mandate a default.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate a new optional, non-transitive attribute called "NLRI_KEY_LIST" from the BGP Path Attributes registry of the Border Gateway Protocol (BGP) Parameters group.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Code</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">NLRI_KEY_LIST</td>
            <td align="left">(this doc)</td>
          </tr>
        </tbody>
      </table>
      <t>IANA is requested to allocate a new capability called "NLRI_KEY_LIST" from the Capability Codes registry.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD2</td>
            <td align="left">NLRI_KEY_LIST</td>
            <td align="left">(this doc)</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>The NLRI_KEY_LIST attribute does not change BGP security considerations.
An attacker having the ability to send or modify a BGP message has the ability to withdraw any NLRI, with or without the NLRI_KEY_LIST attribute.</t>
    </section>
    <section anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors of this specification thank Jeffrey Haas and Robert Raszuk for their review and comments.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="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>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="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>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>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>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>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="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>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="RFC5492">
          <front>
            <title>Capabilities Advertisement with BGP-4</title>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <author fullname="R. Chandra" initials="R." surname="Chandra"/>
            <date month="February" year="2009"/>
            <abstract>
              <t>This document defines an Optional Parameter, called Capabilities, that is expected to facilitate the introduction of new capabilities in the Border Gateway Protocol (BGP) by providing graceful capability advertisement without requiring that BGP peering be terminated.</t>
              <t>This document obsoletes RFC 3392. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5492"/>
          <seriesInfo name="DOI" value="10.17487/RFC5492"/>
        </reference>
        <reference anchor="RFC7606">
          <front>
            <title>Revised Error Handling for BGP UPDATE Messages</title>
            <author fullname="E. Chen" initials="E." role="editor" surname="Chen"/>
            <author fullname="J. Scudder" initials="J." role="editor" surname="Scudder"/>
            <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <date month="August" year="2015"/>
            <abstract>
              <t>According to the base BGP specification, a BGP speaker that receives an UPDATE message containing a malformed attribute is required to reset the session over which the offending attribute was received. This behavior is undesirable because a session reset would impact not only routes with the offending attribute but also other valid routes exchanged over the session. This document partially revises the error handling for UPDATE messages and provides guidelines for the authors of documents defining new attributes. Finally, it revises the error handling procedures for a number of existing attributes.</t>
              <t>This document updates error handling for RFCs 1997, 4271, 4360, 4456, 4760, 5543, 5701, and 6368.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7606"/>
          <seriesInfo name="DOI" value="10.17487/RFC7606"/>
        </reference>
        <reference anchor="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>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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3107">
          <front>
            <title>Carrying Label Information in BGP-4</title>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <date month="May" year="2001"/>
            <abstract>
              <t>This document specifies the way in which the label mapping information for a particular route is piggybacked in the same Border Gateway Protocol (BGP) Update message that is used to distribute the route itself. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3107"/>
          <seriesInfo name="DOI" value="10.17487/RFC3107"/>
        </reference>
        <reference anchor="RFC8277">
          <front>
            <title>Using BGP to Bind MPLS Labels to Address Prefixes</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This document specifies a set of procedures for using BGP to advertise that a specified router has bound a specified MPLS label (or a specified sequence of MPLS labels organized as a contiguous part of a label stack) to a specified address prefix. This can be done by sending a BGP UPDATE message whose Network Layer Reachability Information field contains both the prefix and the MPLS label(s) and whose Next Hop field identifies the node at which said prefix is bound to said label(s). This document obsoletes RFC 3107.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8277"/>
          <seriesInfo name="DOI" value="10.17487/RFC8277"/>
        </reference>
        <reference anchor="I-D.ietf-idr-bgp-car">
          <front>
            <title>BGP Color-Aware Routing (CAR)</title>
            <author fullname="Dhananjaya Rao" initials="D." surname="Rao">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Swadesh Agrawal" initials="S." surname="Agrawal">
              <organization>Cisco Systems</organization>
            </author>
            <date day="20" month="February" year="2025"/>
            <abstract>
              <t>   This document describes a BGP based routing solution to establish
   end-to-end intent-aware paths across a multi-domain transport
   network.  The transport network can span multiple service provider
   and customer network domains.  The BGP intent-aware paths can be used
   to steer traffic flows for service routes that need a specific
   intent.  This solution is called BGP Color-Aware Routing (BGP CAR).

   This document describes the routing framework and BGP extensions to
   enable intent-aware routing using the BGP CAR solution.  The solution
   defines two new BGP SAFIs (BGP CAR SAFI and BGP VPN CAR SAFI) for
   IPv4 and IPv6.  It also defines an extensible NLRI model for both
   SAFIs that allow multiple NLRI types to be defined for different use
   cases.  Each type of NLRI contains key and TLV based non-key fields
   for efficient encoding of different per-prefix information.  This
   specification defines two NLRI types, Color-Aware Route NLRI and IP
   Prefix NLRI.  It defines non-key TLV types for MPLS label stack,
   Label Index and SRv6 SIDs.  This solution also defines a new Local
   Color Mapping (LCM) Extended Community.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-car-16"/>
        </reference>
        <reference anchor="I-D.ietf-idr-bgp-ct">
          <front>
            <title>BGP Classful Transport Planes</title>
            <author fullname="Kaliraj Vairavakkalai" initials="K." surname="Vairavakkalai">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Natrajan Venkataraman" initials="N." surname="Venkataraman">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <date day="28" month="February" year="2025"/>
            <abstract>
              <t>   This document specifies a mechanism referred to as "Intent Driven
   Service Mapping".  The mechanism uses BGP to express intent based
   association of overlay routes with underlay routes having specific
   Traffic Engineering (TE) characteristics satisfying a certain Service
   Level Agreement (SLA).  This is achieved by defining new constructs
   to group underlay routes with sufficiently similar TE characteristics
   into identifiable classes (called "Transport Classes"), that overlay
   routes use as an ordered set to resolve reachability (Resolution
   Schemes) towards service endpoints.  These constructs can be used,
   for example, to realize the "IETF Network Slice" defined in TEAS
   Network Slices framework.

   Additionally, this document specifies protocol procedures for BGP
   that enable dissemination of service mapping information in a network
   that may span multiple cooperating administrative domains.  These
   domains may be administered either by the same provider or by closely
   coordinating providers.  A new BGP address family that leverages RFC
   4364 ("BGP/MPLS IP Virtual Private Networks (VPNs)") procedures and
   follows RFC 8277 ("Using BGP to Bind MPLS Labels to Address
   Prefixes") NLRI encoding is defined to enable each advertised
   underlay route to be identified by its class.  This new address
   family is called "BGP Classful Transport", a.k.a., BGP CT.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-ct-39"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA71bbXMbx5H+zir9hwn4wVIOwImMEtmMzwkkUhYTiuKRVFKu
qzvVYHcATrjYQXZ2CcKU/kt+S37ZPd09sy94I311dy6Xudjdmen3frp7PRgM
nu092/OlztPPOnO5OVJlURm6aecF//Dl4cuX3708pHuJLo+UL1NeVI1n1nvr
8nI5x7rTk+t3dF8XRh+popzSj8UUD/LSFLkp1Uk+tbkxhc2n6lr7W/XOFQmf
Vc1TXRp/pF7/7uXv6EbqklzPsGta6Ek5SE1SaJObgU2LQZ4VdmCKwhWDG9Cd
YbvBywNaVdoyw5rrG6P+bJbqzPpSvfnxQo3KsrDjqjRq4gp1fnZ5qk5ovYrr
aXGmcxBrcrq+XRzRH6UGajydy0X3RLlHWzHPVXnjClkzoEdC/Juiyp06DsTL
jq7AKR8LHBZumJm22ZEa07vDyOgfHb8xTNxsddM/uZtc/ThUV0mVpqZo7fr+
4qSz5d+m/o9/q3I7N8UQ8qdnuStmurR3JvB3+e7t4cHBd0fh+tXh64P6GrqI
17999d1hvCYVxetvD16/OlKKzSWfrO/9m4OXr+t3D1+/5neVOh0cD60pJ6xO
CHiQ6OJo84OSNxsMBkqPfVnohNnAdmwqaq6L0uosW6rC3FlvvCqhfNNRLiud
zODTxfHo+kTNjPd6avzw2d5piXVplYR1iaYd3ITfxiUZN17wsN3xUqVmYnPa
D/uqytNVhneUnc1B1qTKVs/V83nhdHJjfF/5KrlR2itdm2JqPdhOebcSPlMO
tB8sbHkDk1+oxY3JaYPMJnqcGdBKVr3+XjwDZP69sgUzokuRQl7ihpj7xJos
Jc7owYeLz5cno7fvP/OjhqKxITIhDA9mIFII15t0CH+y2HY5Byl0e2Z07vkh
Mck8Qwj5yraJznNX0p4sD5OSCHUel3v4S0kEdcTMbOIw/GvudWKKMcICryS6
K29oRe7ywS3cGyFDKxIEzqYj+xCahSRsXhZOlBqJhBvNM3NvyyWLW6epLXGo
jipjxQ/Jsvh4PzeJnYBdekn0js00nwwbzL0lM2crqaXXZxJ7RMjnP5/89Pns
9Oq6edrDYweNJC4VjXgyBjgmrxLPId4gw0/njRSjPBod4QfEkNJuUIZb8Pp1
s+gGq8ZKsGxsZAdIjdiGQIIQcGOXdczhYTAp8ZQoWJBscYs5auSH6F3N8K4K
cV3V/gpNzkAUBIvFtaVuERqRbXQBiiEgs4G456CaTMrhUfGiLaWc2Or6+1DC
yMymsEYidZ8yE1sKq/lhnw3nKz0aJYkrUqbR8bljkhRHhY5pPDyEoPn1ax/2
EV7Qt6xXTcElMbAUv04NTDIvdYgnkElGNgCtdDQdfJq1LWGIaIke4+5wjJg8
3XaTicmZ5maPhfaRhjTa0tjc6DtL+oYp5anxtqAIg/uJJg/TK5FPwptX5M0u
p0jrKtIp2drWg/Ef2Kd3ohp1pzObxoXmPrmh5JYKBy2W2IJYpmQsX7/WQZ0E
2w2u/eb8qYMfwxBnkObM/iyWZQLdivjAucFY26LuKoSjB8SA1FkrBk5TusRl
UFYBMZY5hftgEea+JAufO1AuARpoRs1cgBy1KHx/i35netmOjpJQ1tMDNl1z
bxz2BoJtJRjyTm+KO/GSNsNZVruY6FCnkHppQwigZxoKTCjOridJnPTeLeD4
RZ8CloWeEw7JWHplxHF+Q+e0tNbfEI+QDcR46ugz+Z/lKIrOG3JUsO3/ryQV
rJQgEqyUA7HExTcIG7DpHyGjBfR7EQ3oOUT7goN2lL6aAuYVsNyorBpA4Zyg
mHNTLlxxq870EpteGqhaj21Gaey09fZz4uVFV35rarxyM9ONXi1UwtwQQCPt
PTxswmcc4ZA7Nz0tIQS8UkC9bJaK0rOQw+m2TtlyL3IXE5xpvd9RItuygYxa
r3a3olMtxxTkZUEEHHit5KRBZJjpAKRKDPtA5morZq3B7ueaKK+9lkEjAsgt
+9G8pMgi0p5XBZye4QJ5PHAKYYt+W4Y1WbT5RQH8cB+P6koGBZfK9NjAQFCD
Jbcv4msdLnHSiFKIxNLWgZv11AIsxNjb0aW6Gr07xUJCkyiRlqIs4ozKpHd0
hmd6znFs+xbtkVEVBau6PvsLQ+YAGziY0v7Rx/s1f3YlUAR/bgOblkfDKeow
wSgvnxjNMTUkjBiZ23JhTXdshdQq+Cp9ApAzC6Z9BdD9IjAnBt/EVgngnM0s
KYgFCszpy1CDbIV4p8iunDiwDgFHE3DyHOrICKG6f2X9LW5gdhIqUWMTgPAW
wUbgwZioVyYzdyz1wqK8ppwoiYf5H6pRHq2Hd6h3ZpcJ4PSXerB/JGJH7cn2
4paMz4KYAGEQKHdYydjyLmY4HYakz4mk40zBFzmcRa76NcIlU10HuVvMMcDc
GkWk9KM2oZBRhXEc319Fw7vgrCU1Q+6ZvTXgoMHvjxzyf1kFcJ1JcYU3fWot
wAbztIJgfx+Ji2HsjF8+A/SrtDQ/YuhHkkO06X34dHUN3+K/6vwjX1+e/Pun
08uTY7q+ej86O6sv9sIbV+8/fjo7bq6alW8/fvhwcn4si3FXdW7t9T6MfupJ
Uut9vLg+/Xg+OusJ5+0ahjxFBGapkQWuycG034M1J5CHxLg3by/++Y+DVwjK
vwo9FQRi+UFNEvwgSfdD1If25SdEt9wLZQ45BdSe6LktgZ0ZcAGBLHJF6hnu
7f36P0gy/3mkvh8n84NXP4QbxHDnZpRZ5ybLbP3O2mIR4oZbG46ppdm5vyLp
Lr2jnzq/o9xbN7//A4zVqMHBt3/4YU/qtK5DvdXziIIe9pP6Bxdu13CIO4da
gwsTQK0bo1NBcKFEgfylIpJf7WJJugeCkqkyKnzpXN19aBd3zQ627K/Yy3qW
aRP8ELppMIhueoElUvhYzo26fnN8GCxlojKTTxHzfjaFIxywXmP6ak5Zwwe0
lJh5DCK7YtHDfs3DVxUU3GDT9ZUtHkbxNXboNaIaa2Gh76SiyqWDVlIvxFB1
59v1yS4yhurZ3rnDHjdSnwTcJ1x36wWQiWRQInmwe1FuzR3OKmbquSawzUaU
ccmYMVcSh/l91GGFmVIl1tm4XzdvNrcGXiDbojikGtESyAekwY6II7VMOghI
C//MAwlhpVALOmbEEy18UujpLGSqsHwKwDQfqk1O07TAQ1DuPn4n8ORhX9DC
1xidd6Qyqujm0kXrb+qMdQF1KNfJvBlmwMYPiNLrTvvrkezJ4EqjjtF+pW+2
Maf74IudavVVXa3G6i3oo2DwBAfugkaCYPS4BkvY6++V8WXsV0CWVyG47Ha4
EIIelW1oDJDZClBaL8sbAL8jS0t/O2aIzpZr3SiytyfuiRA70Qn5oC4lUqTI
iMXM5no18HBy5/ph46FsEhubI/0NopR0NY5IMo1GACchFIhgvWpymw7tQ6GE
mJqu8jZO1XMGXYXh1gpBF2wmDU1ywmhPvx0edJsfkkaky8kxLDQ5VzoPVI4z
1cMXYg7cOQgQSqBf6G2vi4J1Ojar/mCLZpPWWm5e+bkTG+2QMVTf/2owULHn
zsAkNyZtGjRFg9246HGzuQ692OvRX2MzrMtbWjEJPGvKECRMEboaJE3qrdFQ
4XSiFqTLFDKFBSWWqXNCslS6NV61uS+RxxHEhwZFgJ3mrkVDSCJrIDYk5lok
bVaAqyrUMWNicObuZMphQpiOMyMqx+qibuM2FijNEiPfFNSHDA1jnaGk8W1Z
zfrELP2g0QOph9o6QXg2z8Fs5tw8+k7sO/aZDMMWLpbXV97RVoH+0PIMgJw2
HQa0zdiEy4qEdBCJl76WWAVRZykrUXMOkgAsRwQvTV1Qfnx+3jQkqtkYVAbb
/D1xXW9qff5NWTerxXdBiy8HXH61yx7a878OXygpMajTxq9wuvOQoGO3poOH
ajD4gULl6aQbf7vhOfTeSE6pnUxgAlALWyGHCZDnt9R8/dB5JqAnHlUF5COF
qS/rLaJxcCM9vKwTQlrMgnS3m5fX20I0B+02CsMsy1i2dCHv7Co0g7gXBBnZ
KYIqNTc4cIdE5AmdJOrl/bcv6R86vTJCYYboZbixH2trZj0EIE+GQs/glRk1
dCf2ntQVE2CjYqaCoQa3V1mDwdJic2Vnng6tTRAONmkwqgXjRRG1KQR5eWgF
h4eb+gn90LwDipvpe6YkmDGWJzK0bercJ1axTcdm+1xVOl48Zk6qTBc7c3zq
jG9SqWQn+Bhjy4Dje7GnO0rTgsIWeZS5L9V7N++F7koeNN07kzWtV9TK8p6k
G45CxHNuXOWpAW+nU4qgGybZYe7YylmEwzgPvKsKMkfyVu6eeEpSXVDs+6KD
Zcw/7L9sY7rlgYzxOB23WhViFqXZ5I2N+tkgdqzasCaMqEMc84ZG5zToygH/
Ekv4VMOP3BSyoR17tvzGU3REZITc6AsAJGsa5miqoyQ1F27W4ocAeGZREfZC
XDotQ6UI5S6xf1YiIk9vpA15n2SwrTtDT4IHdDp5NdLqtjObVP+/2ZgXbNDu
HGYuZ+PAIg7MYToefexGUytU3dgphSa4wThWfk6MrED2zusheqfPVideMBX2
IbC1ts3YsKOSY9RRhhF9hZIrdpxjE0lkzUk+SDN2rbqRvlMikMBXHB/8rjdf
Q4cq1vNPrZl5Svw4ot0WeqSpGsaKiJPh9W0n19i3Oy3kMjKCJAistxbHemFq
skLn2n4UoCf1qHilzbqNqgH3qwJWayYnolsBaSm99EgToEWDzrd3ZllXp3kT
dKStu1kDa5Ld2p3eRVloZYxNGDMyK5TI2hYacV4a8VznYSgeHklF3blKDDvJ
o+QFLQZZt4e1cZpfSg1zh1jXbe+2kMe2/V2xi+bVDx5mFVVghbtDYAWgH1fT
KQNpqRV5GuYo88wsubNHCS29GJm5bhyRCwxNrQZ/MuUdUZphLFLNwviydQCT
YHNE35SinBBQM52FUUwdN2x+57K7oNbW9xhlM5je9rWARCCJ0nkX/FA1TNP0
4Hlbd2hKEEpOy5/bUKxwDCJIgc1rIJfaDlNdBhTGOfuv/KHYhu5kPQDkKVpo
j4ls/C61c4JniBs/QdhlI3pSct+Og+eGybwYYNPBqGH9Wguq2VO+zXwf4dzD
Puvv0b7Jje6Gf2oNhVtrQaWeBncWJVQjM8qR/m9sCXP+ac3bap3KZFbgVJMb
OCE/mhp24OdHovzaRyI9yWPqYyy1AWzeBnIFtdXmEkt9XaDcG4e56ZiKHRqj
GhqFbN0E2OeUoB3ZI3/cM+avhaqxD70QEVrvCe0w6nZzZSvYOmJ++vhGjV26
lBvU3Q5bP6cvikqydWhjahCDb21okLvQ1qcp0rKpG6+5OnA24ZgKf+V4h1OJ
43YjdociqnldpEcU7IraS6WzQXBoxDIlbVSejB7Vk1lIP2JlnNRf70+3Das1
HpTgR9Udw6TuKJiMqY3dVkpeiSSMmDbvZlt5VAhtl2ABfE82J4B1GKViS4i8
iG3xGNhjjCLWt2cvK5yHOO3nOmnNagJlq107uOnCZFxJlnbWeh+MkUOtbB76
SKG6J/GK1pwU61RO2DK+VRf29J60z6+5C2NnGmWcTqktTD68nRcvTXmqRde+
FxJtQcvQleXpPn2pRXZJs4VqLiCa7Js+B6HSSr6cGzcfdDWDBHAgCYZrhwnq
hix+3STBasHuyaBsQaMcSRyWP6jod4HzFqNfxTNbG6StlsMMxQLKQlda+v5A
ZgPiHNI1zCd2WhWmHmSw55N9sY1GI472PQzoemUeE+BYxBi63jc0nudNR6ju
2rWoINX1YwCQH10tSojOlw0dzGJqJrrKpOgVaLbSboqv/15cfeWjk9AT6Lcb
Xv3YH6aiWbaPY5vT0floJe4iA9JdToD8OHwaiqjdfAOQyG40c9w6lmlYjcG+
O4KUqrcMw84LKt9HDa4vzBQIqljGYL37W7cLXSAYwDZ8GEsR9V/UX6hbpb6A
w5T+XJqAdNWXZ3v/cjTgf74ctf/INa2lmZHCoq7tfnkeA+wL2uRpImrGxo+K
ojX5fMtfsEQ5rHB0zJ8DiA3+csYOn8AYDZqSqhBKVgwkPnkUJTU9Kv4INzSI
wrZJZ9shOyGWIpA3II99JggkplH+8hUOsQyQM4KeiK5a7zcdNvhC+Gyfq82C
/7pq5yfhAeiMktvcLaC2afiq5GF/9VYtCPl/c8JnSmvuSd2mW/UnM5kUZgnM
qeVDuEs3NghTl9r/XN3GRGgL/iDZLELBMIsD8Gd7D0ehfWrSf+tNEL9Njwn4
b2KSeK5hNQAA

-->

</rfc>
