<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-decraene-idr-nlri-error-handling-03" category="std" consensus="true" submissionType="IETF" xml:lang="en" updates="7606" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title>The Key List BGP Attribute for NLRI Error handling</title>
    <seriesInfo name="Internet-Draft" value="draft-decraene-idr-nlri-error-handling-03"/>
    <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@bgp.nu</email>
      </address>
    </author>
    <date year="2026" month="September" day="14"/>
    <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="RFC9871"/>, and <xref target="RFC9832"/> 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="RFC9871"/> 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 (<xref target="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 with a least one reachable Network Layer Reachability Information (NLRI).</t>
        <t>It <bcp14>MUST NOT</bcp14> be sent:</t>
        <ul spacing="normal">
          <li>
            <t>more than once in an UPDATE message;</t>
          </li>
          <li>
            <t>in an UPDATE message not carrying the MP_REACH_NLRI attribute;</t>
          </li>
          <li>
            <t>in an UPDATE message with an MP_REACH_NLRI attribute with no reachable Network Layer Reachability Information (NLRI).</t>
          </li>
        </ul>
        <t>To facilitate the parsing of the NLRI_KEY_LIST attribute 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 list and the ordering of NLRIs within the NLRI_KEY_LIST <bcp14>MUST</bcp14> be the same as the list and 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="RFC9871"/>, and <xref target="RFC9871"/> 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, Robert Raszuk and Donatas Abraitis 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="RFC9871">
          <front>
            <title>BGP Color-Aware Routing (CAR)</title>
            <author fullname="D. Rao" initials="D." role="editor" surname="Rao"/>
            <author fullname="S. Agrawal" initials="S." role="editor" surname="Agrawal"/>
            <date month="November" 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).</t>
              <t>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 Network Layer Reachability Information (NLRI) model for both SAFIs that allows 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 the MPLS label stack, SR-MPLS label index, and Segment Routing over IPv6 (SRv6) Segment Identifiers (SIDs). This solution also defines a new Local Color Mapping (LCM) Extended Community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9871"/>
          <seriesInfo name="DOI" value="10.17487/RFC9871"/>
        </reference>
        <reference anchor="RFC9832">
          <front>
            <title>BGP Classful Transport Planes</title>
            <author fullname="K. Vairavakkalai" initials="K." role="editor" surname="Vairavakkalai"/>
            <author fullname="N. Venkataraman" initials="N." role="editor" surname="Venkataraman"/>
            <date month="September" 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" or "TCs"), 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 the TEAS Network Slices framework (RFC 9543).</t>
              <t>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 the procedures described in RFC 4364 ("BGP/MPLS IP Virtual Private Networks (VPNs)") and follows the NLRI encoding described in RFC 8277 ("Using BGP to Bind MPLS Labels to Address Prefixes") is defined to enable each advertised underlay route to be identified by its class. This new address family is called "BGP Classful Transport" (or "BGP CT").</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9832"/>
          <seriesInfo name="DOI" value="10.17487/RFC9832"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
9N8kgeNMKTYAAA==

-->

</rfc>
