<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="exp" docName="draft-ietf-idr-bgp-ct-39" number="9832" consensus="true" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" prepTime="2025-09-12T13:07:45" indexInclude="true" scripts="Common,Latin">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-idr-bgp-ct-39" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9832" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="BGP Classful Transport Planes">BGP Classful Transport Planes</title>
    <seriesInfo name="RFC" value="9832" stream="IETF"/>
    <author fullname="Kaliraj Vairavakkalai" initials="K." role="editor" surname="Vairavakkalai">
      <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
      <address>
        <postal>
          <street>1133 Innovation Way</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94089</code>
          <country>United States of America</country>
        </postal>
        <email>kaliraj@juniper.net</email>
      </address>
    </author>
    <author fullname="Natrajan Venkataraman" initials="N." role="editor" surname="Venkataraman">
      <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
      <address>
        <postal>
          <street>1133 Innovation Way</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94089</code>
          <country>United States of America</country>
        </postal>
        <email>natv@juniper.net</email>
      </address>
    </author>
    <date month="09" year="2025"/>
    <area>RTG</area>
    <workgroup>idr</workgroup>
    <keyword>BGP-CT</keyword>
    <keyword>CT</keyword>
    <keyword>Intent-Based Routing</keyword>
    <keyword>BGP Service Mapping</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">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 indent="0" pn="section-abstract-2">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>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for examination, experimental implementation, and
            evaluation.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document defines an Experimental Protocol for the Internet
            community.  This document is a product of the Internet Engineering
            Task Force (IETF).  It represents the consensus of the IETF community.
            It has received public review and has been approved for publication
            by the Internet Engineering Steering Group (IESG).  Not all documents
            approved by the IESG are candidates for any level of Internet
            Standard; see Section 2 of RFC 7841. 
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9832" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-abbreviations">Abbreviations</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-definitions-and-notations">Definitions and Notations</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.3">
                <t indent="0" pn="section-toc.1-1.2.2.3.1"><xref derivedContent="2.3" format="counter" sectionFormat="of" target="section-2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-architecture-overview">Architecture Overview</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transport-class">Transport Class</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-classifying-te-tunnels">Classifying TE Tunnels</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transport-route-database-tr">Transport Route Database (TRDB)</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transport-class-route-targe">Transport Class Route Target</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-resolution-scheme">Resolution Scheme</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mapping-community">Mapping Community</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-classful-transport-fami">BGP Classful Transport Family</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-nlri-encoding">NLRI Encoding</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-next-hop-encoding">Next Hop Encoding</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.3">
                <t indent="0" pn="section-toc.1-1.6.2.3.1"><xref derivedContent="6.3" format="counter" sectionFormat="of" target="section-6.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-carrying-multiple-types-of-">Carrying Multiple Types of Encapsulation Information</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.4">
                <t indent="0" pn="section-toc.1-1.6.2.4.1"><xref derivedContent="6.4" format="counter" sectionFormat="of" target="section-6.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-comparison-with-other-famil">Comparison with Other Families Using Encoding from RFC 8277</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-protocol-procedures">Protocol Procedures</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-preparing-the-network-to-de">Preparing the Network to Deploy Classful Transport Planes</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-originating-bgp-ct-routes">Originating BGP CT Routes</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.3">
                <t indent="0" pn="section-toc.1-1.7.2.3.1"><xref derivedContent="7.3" format="counter" sectionFormat="of" target="section-7.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-processing-bgp-ct-routes-by">Processing BGP CT Routes by Ingress Nodes</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.4">
                <t indent="0" pn="section-toc.1-1.7.2.4.1"><xref derivedContent="7.4" format="counter" sectionFormat="of" target="section-7.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-readvertising-bgp-ct-route-">Readvertising BGP CT Route by Border Nodes</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.5">
                <t indent="0" pn="section-toc.1-1.7.2.5.1"><xref derivedContent="7.5" format="counter" sectionFormat="of" target="section-7.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-border-nodes-receiving-bgp-">Border Nodes Receiving BGP CT Routes on EBGP</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.6">
                <t indent="0" pn="section-toc.1-1.7.2.6.1"><xref derivedContent="7.6" format="counter" sectionFormat="of" target="section-7.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-avoiding-path-hiding-throug">Avoiding Path Hiding Through Route Reflectors</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.7">
                <t indent="0" pn="section-toc.1-1.7.2.7.1"><xref derivedContent="7.7" format="counter" sectionFormat="of" target="section-7.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-avoiding-loops-between-rout">Avoiding Loops Between Route Reflectors in Forwarding Paths</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.8">
                <t indent="0" pn="section-toc.1-1.7.2.8.1"><xref derivedContent="7.8" format="counter" sectionFormat="of" target="section-7.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ingress-nodes-receiving-ser">Ingress Nodes Receiving Service Routes with a Mapping Community</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.9">
                <t indent="0" pn="section-toc.1-1.7.2.9.1"><xref derivedContent="7.9" format="counter" sectionFormat="of" target="section-7.9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-best-effort-transport-class">Best-Effort Transport Class</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.10">
                <t indent="0" pn="section-toc.1-1.7.2.10.1"><xref derivedContent="7.10" format="counter" sectionFormat="of" target="section-7.10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-interaction-with-bgp-attrib">Interaction with BGP Attributes Specifying Next Hop Address and Color</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.11">
                <t indent="0" pn="section-toc.1-1.7.2.11.1"><xref derivedContent="7.11" format="counter" sectionFormat="of" target="section-7.11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-applicability-to-flowspec-r">Applicability to Flowspec Redirect-to-IP</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.12">
                <t indent="0" pn="section-toc.1-1.7.2.12.1"><xref derivedContent="7.12" format="counter" sectionFormat="of" target="section-7.12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-applicability-to-ipv6">Applicability to IPv6</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.13">
                <t indent="0" pn="section-toc.1-1.7.2.13.1"><xref derivedContent="7.13" format="counter" sectionFormat="of" target="section-7.13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-srv6-support">SRv6 Support</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.14">
                <t indent="0" pn="section-toc.1-1.7.2.14.1"><xref derivedContent="7.14" format="counter" sectionFormat="of" target="section-7.14"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-error-handling-consideratio">Error-Handling Considerations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-illustration-of-bgp-ct-proc">Illustration of BGP CT Procedures</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-reference-topology">Reference Topology</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-service-layer-route-exchang">Service Layer Route Exchange</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.3">
                <t indent="0" pn="section-toc.1-1.8.2.3.1"><xref derivedContent="8.3" format="counter" sectionFormat="of" target="section-8.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transport-layer-route-propa">Transport Layer Route Propagation</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.4">
                <t indent="0" pn="section-toc.1-1.8.2.4.1"><xref derivedContent="8.4" format="counter" sectionFormat="of" target="section-8.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-data-plane-view">Data Plane View</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2.4.2">
                  <li pn="section-toc.1-1.8.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.8.2.4.2.1.1"><xref derivedContent="8.4.1" format="counter" sectionFormat="of" target="section-8.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-steady-state">Steady State</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.8.2.4.2.2.1"><xref derivedContent="8.4.2" format="counter" sectionFormat="of" target="section-8.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-local-repair-of-primary-pat">Local Repair of Primary Path</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.4.2.3">
                    <t indent="0" pn="section-toc.1-1.8.2.4.2.3.1"><xref derivedContent="8.4.3" format="counter" sectionFormat="of" target="section-8.4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-absorbing-failure-of-the-pr">Absorbing Failure of the Primary Path: Fallback to Best-Effort Tunnels</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-scaling-considerations">Scaling Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-avoiding-unintended-spread-">Avoiding Unintended Spread of BGP CT Routes Across Domains</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-constrained-distribution-of">Constrained Distribution of PNHs to SNs (On-Demand Next Hop)</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.3">
                <t indent="0" pn="section-toc.1-1.9.2.3.1"><xref derivedContent="9.3" format="counter" sectionFormat="of" target="section-9.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-limiting-the-visibility-sco">Limiting the Visibility Scope of PE Loopback as PNHs</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-operations-and-manageabilit">Operations and Manageability Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mpls-oam">MPLS OAM</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-usage-of-rd-and-label-alloc">Usage of RD and Label-Allocation Modes</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.3">
                <t indent="0" pn="section-toc.1-1.10.2.3.1"><xref derivedContent="10.3" format="counter" sectionFormat="of" target="section-10.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-managing-transport-route-vi">Managing Transport-Route Visibility</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-deployment-considerations">Deployment Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2">
              <li pn="section-toc.1-1.11.2.1">
                <t indent="0" pn="section-toc.1-1.11.2.1.1"><xref derivedContent="11.1" format="counter" sectionFormat="of" target="section-11.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-coordination-between-domain">Coordination Between Domains Using Different Community Namespaces</xref></t>
              </li>
              <li pn="section-toc.1-1.11.2.2">
                <t indent="0" pn="section-toc.1-1.11.2.2.1"><xref derivedContent="11.2" format="counter" sectionFormat="of" target="section-11.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-managing-intent-at-service-">Managing Intent at Service and Transport Layers</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2.2.2">
                  <li pn="section-toc.1-1.11.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.11.2.2.2.1.1"><xref derivedContent="11.2.1" format="counter" sectionFormat="of" target="section-11.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-service-layer-color-managem">Service Layer Color Management</xref></t>
                  </li>
                  <li pn="section-toc.1-1.11.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.11.2.2.2.2.1"><xref derivedContent="11.2.2" format="counter" sectionFormat="of" target="section-11.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-non-agreeing-color-transpor">Non-Agreeing Color Transport Domains</xref></t>
                  </li>
                  <li pn="section-toc.1-1.11.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.11.2.2.2.3.1"><xref derivedContent="11.2.3" format="counter" sectionFormat="of" target="section-11.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-heterogeneous-agreeing-colo">Heterogeneous Agreeing Color Transport Domains</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.11.2.3">
                <t indent="0" pn="section-toc.1-1.11.2.3.1"><xref derivedContent="11.3" format="counter" sectionFormat="of" target="section-11.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-migration-scenarios">Migration Scenarios</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2.3.2">
                  <li pn="section-toc.1-1.11.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.11.2.3.2.1.1"><xref derivedContent="11.3.1" format="counter" sectionFormat="of" target="section-11.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-ct-islands-connected-vi">BGP CT Islands Connected via BGP LU Domain</xref></t>
                  </li>
                  <li pn="section-toc.1-1.11.2.3.2.2">
                    <t indent="0" pn="section-toc.1-1.11.2.3.2.2.1"><xref derivedContent="11.3.2" format="counter" sectionFormat="of" target="section-11.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-ct-interoperability-bet">BGP CT: Interoperability Between MPLS and Other Forwarding Technologies</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.11.2.4">
                <t indent="0" pn="section-toc.1-1.11.2.4.1"><xref derivedContent="11.4" format="counter" sectionFormat="of" target="section-11.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mtu-considerations">MTU Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.11.2.5">
                <t indent="0" pn="section-toc.1-1.11.2.5.1"><xref derivedContent="11.5" format="counter" sectionFormat="of" target="section-11.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-use-of-dscp">Use of DSCP</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-applicability-to-network-sl">Applicability to Network Slicing</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="13" format="counter" sectionFormat="of" target="section-13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.13.2">
              <li pn="section-toc.1-1.13.2.1">
                <t indent="0" pn="section-toc.1-1.13.2.1.1"><xref derivedContent="13.1" format="counter" sectionFormat="of" target="section-13.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-bgp-safi">New BGP SAFI</xref></t>
              </li>
              <li pn="section-toc.1-1.13.2.2">
                <t indent="0" pn="section-toc.1-1.13.2.2.1"><xref derivedContent="13.2" format="counter" sectionFormat="of" target="section-13.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-format-for-bgp-extended">New Format for BGP Extended Community</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.13.2.2.2">
                  <li pn="section-toc.1-1.13.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.13.2.2.2.1.1"><xref derivedContent="13.2.1" format="counter" sectionFormat="of" target="section-13.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-existing-registries">Existing Registries</xref></t>
                  </li>
                  <li pn="section-toc.1-1.13.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.13.2.2.2.2.1"><xref derivedContent="13.2.2" format="counter" sectionFormat="of" target="section-13.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-registries">New Registries</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.13.2.3">
                <t indent="0" pn="section-toc.1-1.13.2.3.1"><xref derivedContent="13.3" format="counter" sectionFormat="of" target="section-13.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mpls-oam-code-points">MPLS OAM Code Points</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="14" format="counter" sectionFormat="of" target="section-14"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-transport-class-id-registry">Transport Class ID Registry</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="15" format="counter" sectionFormat="of" target="section-15"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.16">
            <t indent="0" pn="section-toc.1-1.16.1"><xref derivedContent="16" format="counter" sectionFormat="of" target="section-16"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.16.2">
              <li pn="section-toc.1-1.16.2.1">
                <t indent="0" pn="section-toc.1-1.16.2.1.1"><xref derivedContent="16.1" format="counter" sectionFormat="of" target="section-16.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.16.2.2">
                <t indent="0" pn="section-toc.1-1.16.2.2.1"><xref derivedContent="16.2" format="counter" sectionFormat="of" target="section-16.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.17">
            <t indent="0" pn="section-toc.1-1.17.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-extensibility-consideration">Extensibility Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.17.2">
              <li pn="section-toc.1-1.17.2.1">
                <t indent="0" pn="section-toc.1-1.17.2.1.1"><xref derivedContent="A.1" format="counter" sectionFormat="of" target="section-appendix.a.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-signaling-intent-over-a-pe-">Signaling Intent over a PE-CE Attachment Circuit</xref></t>
              </li>
              <li pn="section-toc.1-1.17.2.2">
                <t indent="0" pn="section-toc.1-1.17.2.2.1"><xref derivedContent="A.2" format="counter" sectionFormat="of" target="section-appendix.a.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-ct-egress-te">BGP CT Egress TE</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.18">
            <t indent="0" pn="section-toc.1-1.18.1"><xref derivedContent="Appendix B" format="default" sectionFormat="of" target="section-appendix.b"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-applicability-to-intra-as-a">Applicability to Intra-AS and Different Inter-AS Deployments</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.18.2">
              <li pn="section-toc.1-1.18.2.1">
                <t indent="0" pn="section-toc.1-1.18.2.1.1"><xref derivedContent="B.1" format="counter" sectionFormat="of" target="section-appendix.b.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-intra-as-use-case">Intra-AS Use Case</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.18.2.1.2">
                  <li pn="section-toc.1-1.18.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.18.2.1.2.1.1"><xref derivedContent="B.1.1" format="counter" sectionFormat="of" target="section-appendix.b.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-topology">Topology</xref></t>
                  </li>
                  <li pn="section-toc.1-1.18.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.18.2.1.2.2.1"><xref derivedContent="B.1.2" format="counter" sectionFormat="of" target="section-appendix.b.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transport-layer">Transport Layer</xref></t>
                  </li>
                  <li pn="section-toc.1-1.18.2.1.2.3">
                    <t indent="0" pn="section-toc.1-1.18.2.1.2.3.1"><xref derivedContent="B.1.3" format="counter" sectionFormat="of" target="section-appendix.b.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-service-layer-route-exchange">Service Layer Route Exchange</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.18.2.2">
                <t indent="0" pn="section-toc.1-1.18.2.2.1"><xref derivedContent="B.2" format="counter" sectionFormat="of" target="section-appendix.b.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-inter-as-option-a-use-case">Inter-AS Option A Use Case</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.18.2.2.2">
                  <li pn="section-toc.1-1.18.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.18.2.2.2.1.1"><xref derivedContent="B.2.1" format="counter" sectionFormat="of" target="section-appendix.b.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-topology-2">Topology</xref></t>
                  </li>
                  <li pn="section-toc.1-1.18.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.18.2.2.2.2.1"><xref derivedContent="B.2.2" format="counter" sectionFormat="of" target="section-appendix.b.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transport-layer-2">Transport Layer</xref></t>
                  </li>
                  <li pn="section-toc.1-1.18.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.18.2.2.2.3.1"><xref derivedContent="B.2.3" format="counter" sectionFormat="of" target="section-appendix.b.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-service-layer-route-exchange-2">Service Layer Route Exchange</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.18.2.3">
                <t indent="0" pn="section-toc.1-1.18.2.3.1"><xref derivedContent="B.3" format="counter" sectionFormat="of" target="section-appendix.b.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-inter-as-option-b-use-case">Inter-AS Option B Use Case</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.18.2.3.2">
                  <li pn="section-toc.1-1.18.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.18.2.3.2.1.1"><xref derivedContent="B.3.1" format="counter" sectionFormat="of" target="section-appendix.b.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-topology-3">Topology</xref></t>
                  </li>
                  <li pn="section-toc.1-1.18.2.3.2.2">
                    <t indent="0" pn="section-toc.1-1.18.2.3.2.2.1"><xref derivedContent="B.3.2" format="counter" sectionFormat="of" target="section-appendix.b.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transport-layer-3">Transport Layer</xref></t>
                  </li>
                  <li pn="section-toc.1-1.18.2.3.2.3">
                    <t indent="0" pn="section-toc.1-1.18.2.3.2.3.1"><xref derivedContent="B.3.3" format="counter" sectionFormat="of" target="section-appendix.b.3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-service-layer-route-exchange-3">Service Layer Route Exchange</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.19">
            <t indent="0" pn="section-toc.1-1.19.1"><xref derivedContent="Appendix C" format="default" sectionFormat="of" target="section-appendix.c"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-why-reuse-rfcs-8277-and-436">Why reuse RFCs 8277 and 4364?</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.19.2">
              <li pn="section-toc.1-1.19.2.1">
                <t indent="0" pn="section-toc.1-1.19.2.1.1"><xref derivedContent="C.1" format="counter" sectionFormat="of" target="section-appendix.c.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-update-packing-consideratio">Update Packing Considerations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.20">
            <t indent="0" pn="section-toc.1-1.20.1"><xref derivedContent="Appendix D" format="default" sectionFormat="of" target="section-appendix.d"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-scaling-using-bgp-mpls-name">Scaling Using BGP MPLS Namespaces</xref></t>
          </li>
          <li pn="section-toc.1-1.21">
            <t indent="0" pn="section-toc.1-1.21.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.e"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.22">
            <t indent="0" pn="section-toc.1-1.22.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.f"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.23">
            <t indent="0" pn="section-toc.1-1.23.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.g"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">Provider networks typically span across multiple domains where each
      domain can either represent an Autonomous System (AS) or an Interior
      Gateway Protocol (IGP) region within an AS. In these networks, several
      services are provisioned between different pairs of service endpoints
      (e.g., Provider Edge (PE) nodes) that can be either in the same domain
      or across different domains.</t>
      <t indent="0" pn="section-1-2"><xref target="RFC9315" format="default" sectionFormat="of" derivedContent="RFC9315"/> defines "Intent" as:</t>
      <blockquote pn="section-1-3">
        <t indent="0" pn="section-1-3.1">A set of operational
      goals (that a network should meet) and outcomes (that a network is supposed
      to deliver) defined in a declarative manner without specifying how to achieve
      or implement them.</t>
      </blockquote>
      <t indent="0" pn="section-1-4"> This document prescribes constructs and procedures
      to realize "Intent" and enable provider networks to forward
      service traffic based on service-specific Intent from end-to-end across service
      endpoints.</t>
      <t indent="0" pn="section-1-5">The mechanisms described in this document achieve "Intent-Driven
      Service Mapping" between any pair of service endpoints by:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-6">
        <li pn="section-1-6.1">
          <t indent="0" pn="section-1-6.1.1">Provisioning end-to-end "Intent-aware" paths using BGP. For
          example, a low-latency path or a best-effort path.</t>
        </li>
        <li pn="section-1-6.2">
          <t indent="0" pn="section-1-6.2.1">Expressing a desired Intent. For example, use a low-latency path
          with a fallback to the best-effort path.</t>
        </li>
        <li pn="section-1-6.3">
          <t indent="0" pn="section-1-6.3.1">Forwarding service traffic "only" using end-to-end "Intent-aware"
          paths honoring that desired Intent.</t>
        </li>
      </ul>
      <t indent="0" pn="section-1-7">The constructs and procedures defined in this document apply equally
      to intra-AS and inter-AS (a.k.a. multi-AS) deployments in the style of option A, option B, and
      option C (<xref target="RFC4364" sectionFormat="of" section="10" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4364#section-10" derivedContent="RFC4364"/>) in
      provider networks.</t>
      <t indent="0" pn="section-1-8">Such networks provision intra-domain transport tunnels between a pair
      of endpoints, typically a service node or a border node that service traffic
      traverses through. These tunnels are signaled using various tunneling
      protocols depending on the forwarding architecture used in the domain,
      which can be Multiprotocol Label Switching (MPLS), Internet Protocol
      version 4 (IPv4), or Internet Protocol version 6 (IPv6).</t>
      <t indent="0" pn="section-1-9">The mechanisms defined in this document allow different tunneling
      technologies to become TC aware. These can be applied
      homogeneously to intra-domain tunneling technologies used in existing
      brownfield networks as well as new greenfield networks. For clarity,
      only some tunneling technologies are detailed in this document. In some
      examples, only MPLS Traffic Engineering (TE) is described.
      Other tunneling technologies have been described in detail in other
      documents (and only an overview has been included in this document). For
      example, the details for Segment Routing over IPv6 (SRv6) are provided in <xref target="I-D.ietf-idr-bgp-ct-srv6" format="default" sectionFormat="of" derivedContent="BGP-CT-SRv6"/> and an overview is provided in <xref target="SRv6-Support" format="default" sectionFormat="of" derivedContent="Section 7.13"/>.</t>
      <t indent="0" pn="section-1-10">Customers need to be able to express desired Intent to the network,
      and the network needs to have constructs able to enact the customer's
      Intent. The network constructs defined in this document are used to
      classify and group these intra-domain tunnels based on various
      characteristics, like TE characteristics (e.g., low-latency), into
      identifiable classes that can pass "Intent-aware" traffic. These
      constructs enable services to signal their Intent to use one or more
      identifiable classes and mechanisms to selectively map traffic onto
      "Intent-aware" tunnels for these classes.</t>
      <t indent="0" pn="section-1-11">This document introduces a new BGP address family called "BGP
      Classful Transport (BGP CT)", which extends/stitches Intent-aware intra-domain
      tunnels belonging to the same class across domain boundaries to
      establish end-to-end Intent-aware paths between service endpoints.</t>
      <t indent="0" pn="section-1-12"><xref target="I-D.hr-spring-intentaware-routing-using-color" format="default" sectionFormat="of" derivedContent="Intent-Routing-Color"/> describes various use cases and
      applications of the procedures described in this document.</t>
      <t indent="0" pn="section-1-13"><xref target="Appendix_C" format="default" sectionFormat="of" derivedContent="Appendix C"/> provides an outline of the design
      philosophy behind this specification. In particular, readers who are
      already familiar with one or more BGP VPN technologies may want to
      review this appendix before reading the main body of the
      specification.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-abbreviations">Abbreviations</name>
        <dl spacing="normal" newline="false" indent="3" pn="section-2.1-1">
          <dt pn="section-2.1-1.1">ABR:</dt>
          <dd pn="section-2.1-1.2">Area Border Router (readvertises BGP CT or BGP LU
	routes with NH self)</dd>
          <dt pn="section-2.1-1.3">AFI:</dt>
          <dd pn="section-2.1-1.4">Address Family Identifier</dd>
          <dt pn="section-2.1-1.5">AS:</dt>
          <dd pn="section-2.1-1.6">Autonomous System</dd>
          <dt pn="section-2.1-1.7">ASBR:</dt>
          <dd pn="section-2.1-1.8">Autonomous System Border Router</dd>
          <dt pn="section-2.1-1.9">ASN:</dt>
          <dd pn="section-2.1-1.10">Autonomous System Number</dd>
          <dt pn="section-2.1-1.11">BGP VPN:</dt>
          <dd pn="section-2.1-1.12">VPNs built using RD or RT; architecture described
	in <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/></dd>
          <dt pn="section-2.1-1.13">BGP LU:</dt>
          <dd pn="section-2.1-1.14">BGP Labeled Unicast family (AFI/SAFIs 1/4, 2/4)</dd>
          <dt pn="section-2.1-1.15">BGP CT:</dt>
          <dd pn="section-2.1-1.16">BGP Classful Transport family (AFI/SAFIs 1/76, 2/76)</dd>
          <dt pn="section-2.1-1.17">BN:</dt>
          <dd pn="section-2.1-1.18">Border Node</dd>
          <dt pn="section-2.1-1.19">CBF:</dt>
          <dd pn="section-2.1-1.20">Class-Based Forwarding</dd>
          <dt pn="section-2.1-1.21">CCA:</dt>
          <dd pn="section-2.1-1.22">Community Carrying Attribute</dd>
          <dt pn="section-2.1-1.23">CsC:</dt>
          <dd pn="section-2.1-1.24">Carriers' Carriers (serving the Carrier VPN)</dd>
          <dt pn="section-2.1-1.25">DSCP:</dt>
          <dd pn="section-2.1-1.26">Differentiated Services Code Point</dd>
          <dt pn="section-2.1-1.27">EP:</dt>
          <dd pn="section-2.1-1.28">Endpoint (of a tunnel, e.g., a loopback address in the network)</dd>
          <dt pn="section-2.1-1.29">EPE:</dt>
          <dd pn="section-2.1-1.30">Egress Peer Engineering</dd>
          <dt pn="section-2.1-1.31">eSN:</dt>
          <dd pn="section-2.1-1.32">Egress Service Node</dd>
          <dt pn="section-2.1-1.33">FEC:</dt>
          <dd pn="section-2.1-1.34">Forwarding Equivalence Class</dd>
          <dt pn="section-2.1-1.35">FRR:</dt>
          <dd pn="section-2.1-1.36">Fast Reroute (Preprogrammed NH leg in forwarding)</dd>
          <dt pn="section-2.1-1.37">iSN:</dt>
          <dd pn="section-2.1-1.38">Ingress Service Node</dd>
          <dt pn="section-2.1-1.39">L-ISIS:</dt>
          <dd pn="section-2.1-1.40">Labeled ISIS (see RFC 8667)</dd>
          <dt pn="section-2.1-1.41">LSP:</dt>
          <dd pn="section-2.1-1.42">Label Switched Path</dd>
          <dt pn="section-2.1-1.43">MPLS:</dt>
          <dd pn="section-2.1-1.44">Multiprotocol Label Switching</dd>
          <dt pn="section-2.1-1.45">NH:</dt>
          <dd pn="section-2.1-1.46">Next Hop</dd>
          <dt pn="section-2.1-1.47">NLRI:</dt>
          <dd pn="section-2.1-1.48">Network Layer Reachability Information</dd>
          <dt pn="section-2.1-1.49">PE:</dt>
          <dd pn="section-2.1-1.50">Provider Edge</dd>
          <dt pn="section-2.1-1.51">PIC:</dt>
          <dd pn="section-2.1-1.52">Prefix Independent Convergence</dd>
          <dt pn="section-2.1-1.53">PNH:</dt>
          <dd pn="section-2.1-1.54">Protocol Next Hop (address carried in a BGP UPDATE message)</dd>
          <dt pn="section-2.1-1.55">RD:</dt>
          <dd pn="section-2.1-1.56">Route Distinguisher</dd>
          <dt pn="section-2.1-1.57">RD:EP:</dt>
          <dd pn="section-2.1-1.58">Route Distinguisher and
	Endpoint (in a BGP Prefix)</dd>
          <dt pn="section-2.1-1.59">RSVP-TE:</dt>
          <dd pn="section-2.1-1.60">Resource Reservation Protocol - Traffic Engineering</dd>
          <dt pn="section-2.1-1.61">RT:</dt>
          <dd pn="section-2.1-1.62">Route Target (as used in Route Target extended community)</dd>
          <dt pn="section-2.1-1.63">RTC:</dt>
          <dd pn="section-2.1-1.64">Route Target Constraint <xref target="RFC4684" format="default" sectionFormat="of" derivedContent="RFC4684"/></dd>
          <dt pn="section-2.1-1.65">SAFI:</dt>
          <dd pn="section-2.1-1.66">Subsequent Address Family Identifier</dd>
          <dt pn="section-2.1-1.67">SID:</dt>
          <dd pn="section-2.1-1.68">Segment Identifier</dd>
          <dt pn="section-2.1-1.69">SLA:</dt>
          <dd pn="section-2.1-1.70">Service Level Agreement</dd>
          <dt pn="section-2.1-1.71">SN:</dt>
          <dd pn="section-2.1-1.72">Service Node</dd>
          <dt pn="section-2.1-1.73">SR:</dt>
          <dd pn="section-2.1-1.74">Segment Routing</dd>
          <dt pn="section-2.1-1.75">SRTE:</dt>
          <dd pn="section-2.1-1.76">Segment Routing Traffic Engineering</dd>
          <dt pn="section-2.1-1.77">TC:</dt>
          <dd pn="section-2.1-1.78">Transport Class</dd>
          <dt pn="section-2.1-1.79">TC ID:</dt>
          <dd pn="section-2.1-1.80">Transport Class Identifier</dd>
          <dt pn="section-2.1-1.81">TC-BE:</dt>
          <dd pn="section-2.1-1.82">Transport Class - Best Effort</dd>
          <dt pn="section-2.1-1.83">TE:</dt>
          <dd pn="section-2.1-1.84">Traffic Engineering</dd>
          <dt pn="section-2.1-1.85">TEA:</dt>
          <dd pn="section-2.1-1.86">Tunnel Encapsulation Attribute (attribute code 23)</dd>
          <dt pn="section-2.1-1.87">TRDB:</dt>
          <dd pn="section-2.1-1.88">Transport Route Database</dd>
          <dt pn="section-2.1-1.89">UHP:</dt>
          <dd pn="section-2.1-1.90">Ultimate Hop Popping</dd>
          <dt pn="section-2.1-1.91">VRF:</dt>
          <dd pn="section-2.1-1.92">Virtual Routing and Forwarding (used with a table)</dd>
        </dl>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.2">
        <name slugifiedName="name-definitions-and-notations">Definitions and Notations</name>
        <dl spacing="normal" newline="true" indent="3" pn="section-2.2-1">
          <dt pn="section-2.2-1.1">BGP CCA:</dt>
          <dd pn="section-2.2-1.2">A BGP attribute
          that carries community. Examples of BGP CCAs are COMMUNITIES
          (attribute code 8), EXTENDED COMMUNITIES (attribute code 16), IPv6
          Address Specific Extended Community (attribute code 25), and
          LARGE_COMMUNITY (attribute code 32).</dd>
          <dt pn="section-2.2-1.3">color:0:100 or col-100:</dt>
          <dd pn="section-2.2-1.4">This notation denotes a Color extended
          community as defined in <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/> with the "Flags" field set to 0 and
          the "Color Value" field set to 100.</dd>
          <dt pn="section-2.2-1.5">End-to-End Tunnel:</dt>
          <dd pn="section-2.2-1.6">A tunnel spanning several adjacent
          tunnel domains created by "stitching" them together using MPLS
          labels or an equivalent identifier based on the forwarding
          architecture.</dd>
          <dt pn="section-2.2-1.7">Import processing:</dt>
          <dd pn="section-2.2-1.8">Receive-side processing of an overlay
          route, including things like import-policy application, Resolution Scheme selection, and NH resolution.</dd>
          <dt pn="section-2.2-1.9">Mapping Community:</dt>
          <dd pn="section-2.2-1.10">Any BGP CCA (e.g., Community,
          Extended Community) on an overlay route that maps to a Resolution
          Scheme. For example, color:0:100, transport-target:0:100.</dd>
          <dt pn="section-2.2-1.11">Provider Namespace:</dt>
          <dd pn="section-2.2-1.12">Internal Infrastructure address
          space in a provider network managed by the operator.</dd>
          <dt pn="section-2.2-1.13">Resolution Scheme:</dt>
          <dd pn="section-2.2-1.14">A construct comprising of an ordered
          set of TRDBs to resolve NH reachability for realizing a
          desired Intent.</dd>
          <dt pn="section-2.2-1.15">Service Family:</dt>
          <dd pn="section-2.2-1.16">A BGP address family used for
          advertising routes for destinations in "data traffic". For example,
          AFI/SAFIs 1/1 or 1/128.</dd>
          <dt pn="section-2.2-1.17">Service Prefix:</dt>
          <dd pn="section-2.2-1.18">A destination in "data traffic". Routes
          to these prefixes are carried in a Service Family.</dd>
          <dt pn="section-2.2-1.19">Transport Family:</dt>
          <dd pn="section-2.2-1.20">A BGP address family used for
          advertising tunnels, which are, in turn, used by service routes for
          resolution. For example, AFI/SAFIs 1/4 or 1/76.</dd>
          <dt pn="section-2.2-1.21">Transport Tunnel:</dt>
          <dd pn="section-2.2-1.22">A tunnel over which a service may
          place traffic.  Such a tunnel can be provisioned or signaled using a
          variety of means.  For example, Generic Routing Encapsulation (GRE),
          UDP, LDP, RSVP-TE, IGP Flexible Algorithm (Flex-Algo), or SRTE.</dd>
          <dt pn="section-2.2-1.23">Transport Layer:</dt>
          <dd pn="section-2.2-1.24">A layer in the network that
          contains Transport Tunnels and Transport Families.</dd>
          <dt pn="section-2.2-1.25">Tunnel Route:</dt>
          <dd pn="section-2.2-1.26">A Route to Tunnel Destination/Endpoint
          that is installed at the headend (ingress) of the tunnel.</dd>
          <dt pn="section-2.2-1.27">Tunnel Domain:</dt>
          <dd pn="section-2.2-1.28">A domain of the network containing
          SNs and BNs under a single
          administrative control that has tunnels between them.</dd>
          <dt pn="section-2.2-1.29">Brownfield network:</dt>
          <dd pn="section-2.2-1.30">An existing network that is already
          in service, deploying a chosen set of technologies and
          hardware. Enhancements and upgrades to such network deployments
          protect return on investment and should consider continuity of
          service.</dd>
          <dt pn="section-2.2-1.31">Greenfield network:</dt>
          <dd pn="section-2.2-1.32">A new network deployment that can
          make choices of new technology or hardware as needed with fewer
          constraints than brownfield network.</dd>
          <dt pn="section-2.2-1.33">Transport Class:</dt>
          <dd pn="section-2.2-1.34">A construct to group transport tunnels
          offering similar SLAs (see <xref target="tc-te" format="default" sectionFormat="of" derivedContent="Section 4.1"/>).</dd>
          <dt pn="section-2.2-1.35">Transport Class RT:</dt>
          <dd pn="section-2.2-1.36">A Route Target extended community
          used to identify a specific Transport Class.</dd>
          <dt pn="section-2.2-1.37">transport-target:0:100:</dt>
          <dd pn="section-2.2-1.38">This notation denotes a
          Transport Class RT as defined in this document
          with the "Transport Class ID" field set to 100.</dd>
          <dt pn="section-2.2-1.39">Transport Route Database:</dt>
          <dd pn="section-2.2-1.40">At the SN and BN, a Transport
          Class has an associated TRDB that collects its
          tunnel routes.</dd>
          <dt pn="section-2.2-1.41">Transport Plane:</dt>
          <dd pn="section-2.2-1.42">An end-to-end plane consisting of
          transport tunnels belonging to the same Transport Class.</dd>
        </dl>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.3">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-2.3-1">
    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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals, as
    shown here.
        </t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-architecture-overview">Architecture Overview</name>
      <t indent="0" pn="section-3-1">This section describes the BGP CT architecture with a brief
      illustration:</t>
      <figure anchor="ArchOv" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-bgp-ct-overview-with-exampl">BGP CT Overview with Example Topology</name>
        <artset pn="section-3-2.1">
          <artwork type="svg" align="left" pn="section-3-2.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="496" width="536" viewBox="0 0 536 496" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 24,240 L 24,320" fill="none" stroke="black"/>
              <path d="M 424,64 L 424,96" fill="none" stroke="black"/>
              <path d="M 472,240 L 472,320" fill="none" stroke="black"/>
              <path d="M 240,32 L 344,32" fill="none" stroke="black"/>
              <path d="M 360,32 L 384,32" fill="none" stroke="black"/>
              <path d="M 104,64 L 176,64" fill="none" stroke="black"/>
              <path d="M 328,64 L 376,64" fill="none" stroke="black"/>
              <path d="M 72,112 L 88,112" fill="none" stroke="black"/>
              <path d="M 240,110 L 256,110" fill="none" stroke="black"/>
              <path d="M 240,114 L 256,114" fill="none" stroke="black"/>
              <path d="M 312,112 L 328,112" fill="none" stroke="black"/>
              <path d="M 104,192 L 168,192" fill="none" stroke="black"/>
              <path d="M 312,192 L 400,192" fill="none" stroke="black"/>
              <path d="M 40,224 L 48,224" fill="none" stroke="black"/>
              <path d="M 136,224 L 152,224" fill="none" stroke="black"/>
              <path d="M 360,224 L 376,224" fill="none" stroke="black"/>
              <path d="M 448,224 L 456,224" fill="none" stroke="black"/>
              <path d="M 48,240 L 64,240" fill="none" stroke="black"/>
              <path d="M 272,240 L 288,240" fill="none" stroke="black"/>
              <path d="M 48,288 L 64,288" fill="none" stroke="black"/>
              <path d="M 272,288 L 288,288" fill="none" stroke="black"/>
              <path d="M 40,336 L 48,336" fill="none" stroke="black"/>
              <path d="M 448,336 L 456,336" fill="none" stroke="black"/>
              <path d="M 56,80 L 72,112" fill="none" stroke="black"/>
              <path d="M 320,80 L 328,96" fill="none" stroke="black"/>
              <path d="M 376,64 L 384,48" fill="none" stroke="black"/>
              <path d="M 40,224 C 31.16936,224 24,231.16936 24,240" fill="none" stroke="black"/>
              <path d="M 456,224 C 464.83064,224 472,231.16936 472,240" fill="none" stroke="black"/>
              <path d="M 40,336 C 31.16936,336 24,328.83064 24,320" fill="none" stroke="black"/>
              <path d="M 456,336 C 464.83064,336 472,328.83064 472,320" fill="none" stroke="black"/>
              <path d="M 124,88 L 148,88" fill="none" stroke="black"/>
              <path d="M 364,88 L 388,88" fill="none" stroke="black"/>
              <path d="M 120,136 L 140,136" fill="none" stroke="black"/>
              <path d="M 360,136 L 380,136" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="432,64 420,58.4 420,69.6" fill="black" transform="rotate(270,424,64)"/>
              <polygon class="arrowhead" points="408,192 396,186.4 396,197.6" fill="black" transform="rotate(0,400,192)"/>
              <polygon class="arrowhead" points="368,224 356,218.4 356,229.6" fill="black" transform="rotate(180,360,224)"/>
              <polygon class="arrowhead" points="368,32 356,26.4 356,37.6" fill="black" transform="rotate(180,360,32)"/>
              <polygon class="arrowhead" points="336,64 324,58.4 324,69.6" fill="black" transform="rotate(180,328,64)"/>
              <polygon class="arrowhead" points="280,288 268,282.4 268,293.6" fill="black" transform="rotate(180,272,288)"/>
              <polygon class="arrowhead" points="280,240 268,234.4 268,245.6" fill="black" transform="rotate(180,272,240)"/>
              <polygon class="arrowhead" points="144,224 132,218.4 132,229.6" fill="black" transform="rotate(180,136,224)"/>
              <polygon class="arrowhead" points="112,64 100,58.4 100,69.6" fill="black" transform="rotate(180,104,64)"/>
              <polygon class="arrowhead" points="56,288 44,282.4 44,293.6" fill="black" transform="rotate(180,48,288)"/>
              <polygon class="arrowhead" points="56,240 44,234.4 44,245.6" fill="black" transform="rotate(180,48,240)"/>
              <g class="text">
                <text x="132" y="36">INET</text>
                <text x="212" y="36">[RR21]</text>
                <text x="352" y="36">&lt;</text>
                <text x="412" y="36">[RR11]</text>
                <text x="144" y="52">Service</text>
                <text x="192" y="52">/</text>
                <text x="424" y="52">|</text>
                <text x="480" y="52">IP1,col-100</text>
                <text x="60" y="68">[PE21]</text>
                <text x="96" y="68">&lt;</text>
                <text x="248" y="68">:</text>
                <text x="284" y="68">[SN11]</text>
                <text x="320" y="68">&lt;</text>
                <text x="480" y="68">IP2,col-200</text>
                <text x="248" y="84">:</text>
                <text x="480" y="84">IP3,100:200</text>
                <text x="116" y="100">_(</text>
                <text x="148" y="100">.)</text>
                <text x="248" y="100">:</text>
                <text x="356" y="100">_(</text>
                <text x="388" y="100">.)</text>
                <text x="496" y="100">^^^^^^^</text>
                <text x="104" y="116">(</text>
                <text x="156" y="116">_)</text>
                <text x="204" y="116">--[BN21]</text>
                <text x="284" y="116">[BN11]</text>
                <text x="344" y="116">(</text>
                <text x="424" y="116">_)-[PE11]</text>
                <text x="496" y="116">Mapping</text>
                <text x="116" y="132">(.</text>
                <text x="144" y="132">)</text>
                <text x="248" y="132">:</text>
                <text x="356" y="132">(.</text>
                <text x="384" y="132">)</text>
                <text x="496" y="132">Community</text>
                <text x="248" y="148">Inter-AS-Link</text>
                <text x="248" y="164">:</text>
                <text x="248" y="180">[.......AS2:SR-TE........]:[.......AS1:RSVP-TE......]</text>
                <text x="200" y="196">Traffic</text>
                <text x="272" y="196">Direction</text>
                <text x="96" y="228">[PE21]--&lt;</text>
                <text x="180" y="228">[BN21]</text>
                <text x="320" y="228">[BN21]--&lt;</text>
                <text x="404" y="228">[BN11]</text>
                <text x="40" y="244">&lt;</text>
                <text x="152" y="244">RD1:PE11(L3),PNH=BN21</text>
                <text x="248" y="244">:</text>
                <text x="264" y="244">&lt;</text>
                <text x="376" y="244">RD1:PE11(L1),PNH=BN11</text>
                <text x="140" y="260">transport-target:0:100</text>
                <text x="248" y="260">:</text>
                <text x="364" y="260">transport-target:0:100</text>
                <text x="248" y="276">:</text>
                <text x="496" y="276">BGP</text>
                <text x="524" y="276">CT</text>
                <text x="40" y="292">&lt;</text>
                <text x="152" y="292">RD2:PE11(L4),PNH=BN21</text>
                <text x="248" y="292">:</text>
                <text x="264" y="292">&lt;</text>
                <text x="376" y="292">RD2:PE11(L2),PNH=BN11</text>
                <text x="140" y="308">transport-target:0:200</text>
                <text x="248" y="308">:</text>
                <text x="364" y="308">transport-target:0:200</text>
                <text x="140" y="324">^^^^^^^^^^^^^^^^^^^^^^</text>
                <text x="440" y="324">^^^</text>
                <text x="112" y="340">Route</text>
                <text x="164" y="340">Target</text>
                <text x="200" y="340">&amp;</text>
                <text x="336" y="340">Transport</text>
                <text x="400" y="340">Class</text>
                <text x="436" y="340">ID</text>
                <text x="112" y="356">Mapping</text>
                <text x="184" y="356">Community</text>
                <text x="32" y="388">Intents</text>
                <text x="76" y="388">at</text>
                <text x="108" y="388">SN11</text>
                <text x="144" y="388">and</text>
                <text x="184" y="388">PE21:</text>
                <text x="68" y="420">Scheme1:</text>
                <text x="156" y="420">color:0:100,</text>
                <text x="268" y="420">(TRDB[TC-100],</text>
                <text x="380" y="420">TRDB[TC-BE])</text>
                <text x="68" y="436">Scheme2:</text>
                <text x="156" y="436">color:0:200,</text>
                <text x="268" y="436">(TRDB[TC-200],</text>
                <text x="380" y="436">TRDB[TC-BE])</text>
                <text x="68" y="452">Scheme3:</text>
                <text x="172" y="452">100:200,</text>
                <text x="268" y="452">(TRDB[TC-100],</text>
                <text x="384" y="452">TRDB[TC-200])</text>
                <text x="64" y="468">^^^^^^^</text>
                <text x="236" y="468">^^^^</text>
                <text x="396" y="468">^^^^^^</text>
                <text x="44" y="484">Resolution</text>
                <text x="120" y="484">Schemes</text>
                <text x="208" y="484">Transport</text>
                <text x="272" y="484">Route</text>
                <text x="308" y="484">DB</text>
                <text x="384" y="484">Transport</text>
                <text x="448" y="484">Class</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="left" pn="section-3-2.1.2">
              INET     [RR21]--------------&lt;&lt;---[RR11]
              Service  /                       /    | IP1,col-100
    [PE21] &lt;&lt;--------+        : [SN11] &lt;&lt;-----+     ^ IP2,col-200
      \        ___            :        \     ___    | IP3,100:200
       \     _(  .)           :         \  _(  .)   |     ^^^^^^^
        +-- (     _) --[BN21]===[BN11]--- (     _)-[PE11] Mapping
             (.__)            :            (.__)         Community
                        Inter-AS-Link
                              :
    [.......AS2:SR-TE........]:[.......AS1:RSVP-TE......]
            ---------Traffic Direction-----------&gt;

   .-- [PE21]--&lt;&lt;--[BN21]          [BN21]--&lt;&lt;--[BN11]  --.
  | &lt;&lt;--RD1:PE11(L3),PNH=BN21 : &lt;&lt;--RD1:PE11(L1),PNH=BN11 |
  |   transport-target:0:100  :   transport-target:0:100  |
  |                           :                           | BGP CT
  | &lt;&lt;--RD2:PE11(L4),PNH=BN21 : &lt;&lt;--RD2:PE11(L2),PNH=BN11 |
  |   transport-target:0:200  :   transport-target:0:200  |
  |   ^^^^^^^^^^^^^^^^^^^^^^                         ^^^  |
   '--     Route Target &amp;            Transport Class ID--'
          Mapping Community

Intents at SN11 and PE21:

    Scheme1: color:0:100, (TRDB[TC-100], TRDB[TC-BE])
    Scheme2: color:0:200, (TRDB[TC-200], TRDB[TC-BE])
    Scheme3:     100:200, (TRDB[TC-100], TRDB[TC-200])
    ^^^^^^^                ^^^^               ^^^^^^
Resolution Schemes   Transport Route DB    Transport Class
</artwork>
        </artset>
      </figure>
      <t indent="0" pn="section-3-3">To achieve end-to-end "Intent-Driven Service Mapping", this document
      defines the following constructs and BGP extensions:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3-4">
        <li pn="section-3-4.1">
          <t indent="0" pn="section-3-4.1.1">The "Transport Class" construct (see <xref target="tc" format="default" sectionFormat="of" derivedContent="Section 4"/>) to group
          underlay tunnels.</t>
        </li>
        <li pn="section-3-4.2">
          <t indent="0" pn="section-3-4.2.1">The "Resolution Scheme" construct (see <xref target="Nexthop_Resoln_Schm" format="default" sectionFormat="of" derivedContent="Section 5"/>)
          for overlay routes with Mapping Communities to resolve NH reachability from either one or an ordered set of Transport
          Classes.</t>
        </li>
        <li pn="section-3-4.3">
          <t indent="0" pn="section-3-4.3.1">The "BGP Classful Transport" (see <xref target="ct-family" format="default" sectionFormat="of" derivedContent="Section 6"/>)
          address family to extend these constructs to adjacent domains.</t>
        </li>
      </ul>
      <t indent="0" pn="section-3-5"><xref target="ArchOv" format="default" sectionFormat="of" derivedContent="Figure 1"/> depicts the intra-AS and inter-AS
      application of these constructs. Interactions between SN1 and PE11 describe
      the intra-AS usage. Interactions between PE21 and PE11 describe the inter-AS usage.</t>
      <t indent="0" pn="section-3-6"> The example topology is an inter-AS
      option C network (<xref target="RFC4364" sectionFormat="of" section="10" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4364#section-10" derivedContent="RFC4364"/>) with two AS domains;
      each domain contains tunnels serving two Intents, e.g., 'low-latency' denoted
      by color 100 and 'high-bandwidth' denoted by color 200. AS1 is an RSVP-TE
      network; AS2 is an SRTE network. BGP CT and BGP LU are transport families
      used between the two AS domains. IP1, IP2, and IP3 are service prefixes
      (AFI/SAFI: 1/1) behind egress PE11.</t>
      <t indent="0" pn="section-3-7">PE21, SN11, and PE11 are the SNs in this network. SN11 is an ingress
      PE with intra-domain reachability to PE11. PE21 is an ingress PE with
      inter-domain reachability to PE11.</t>
      <t indent="0" pn="section-3-8">The tunneling mechanisms are made "Transport Class" aware. They
      publish their underlay tunnels for a Transport Class into an associated TRDB
      (see <xref target="trdb" format="default" sectionFormat="of" derivedContent="Section 4.2"/>). In <xref target="ArchOv" format="default" sectionFormat="of" derivedContent="Figure 1"/>, RSVP-TE publishes its underlay tunnels into TRDBs
      created for Transport Classes 100 and 200 at BN11 and SN11 within AS1;
      Similarly, SR-TE publishes its underlay tunnels into TRDBs created for
      Transport Classes 100 and 200 at PE21 within AS2.</t>
      <t indent="0" pn="section-3-9">Resolution Schemes are used to realize Intent. A Resolution Scheme is
      identified by its "Mapping Community" and contains an ordered list of
      Transport Classes. Overlay routes carry an indication of the desired
      Intent using a BGP community, which assumes the role of "Mapping Community".</t>
      <t indent="0" pn="section-3-10">Egress SN "PE11" advertises service routes with desired  Mapping Community, e.g., color:0:100.</t>
      <t indent="0" pn="section-3-11">For the intra-AS case, SN1 maps this intra-AS route on RSVP-TE 
      tunnels with TC ID 100 by using the Resolution Scheme for color:0:100.</t>
      <t indent="0" pn="section-3-12">For the inter-AS case, the underlay route in a TRDB is advertised 
      in BGP to extend an underlay tunnel to adjacent domains. A new BGP 
      transport family called "BGP Classful Transport", also known as BGP CT 
      (AFI/SAFIs 1/76, 2/76), is defined for this purpose. BGP CT makes it
      possible to advertise multiple tunnels to the same destination address, 
      thus avoiding the need for multiple loopbacks on the eSN.</t>
      <t indent="0" pn="section-3-13">The BGP CT address family carries transport prefixes across tunnel
      domain boundaries. Its design and operation are analogous to BGP LU
      (AFI/SAFIs 1/4 or 2/4). It disseminates "Transport Class" information
      for the transport prefixes across the participating domains while
      avoiding the need of per-TC loopback. This is not possible
      with BGP LU without using per-color loopback. This dissemination makes
      the end-to-end network a "Transport Class" aware tunneled network.</t>
      <t indent="0" pn="section-3-14">In <xref target="ArchOv" format="default" sectionFormat="of" derivedContent="Figure 1"/>, BGP CT routes are originated at BN11 in
      AS1 with NH "self" towards BN21 in AS2 to extend available RSVP-TE
      tunnels for Transport Classes 100 and 200 in AS1. BN21 propagates these
      routes with NH "self" to PE21, which resolves the BGP CT routes
      over SRTE tunnels belonging to same Transport Class, thus forming a
      BGP CT tunnel for each TC ID at PE21.</t>
      <t indent="0" pn="section-3-15">PE21 maps the inter-AS service routes received with color:0:100 from 
      AS1 on BGP CT tunnel with TC ID 100 by using the Resolution Scheme for 
      color:0:100. Note that this procedure is same as that followed by SN1 
      in the intra-AS case.</t>
      <t indent="0" pn="section-3-16">The following text illustrates how CT architecture provides tiered
      fallback options at a per-route granularity. <xref target="ArchOv" format="default" sectionFormat="of" derivedContent="Figure 1"/>
      shows the Resolution Schemes in use, which make the following NH
      resolution happen at SN11 (intra-AS) and PE21 (inter-AS) for the service 
      routes of prefixes IP1, IP2, and IP3:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3-17">
        <li pn="section-3-17.1">
          <t indent="0" pn="section-3-17.1.1">Resolve IP1 NH over available tunnels in TRDB for Transport
          Class 100 with fallback to TRDB for best effort.</t>
        </li>
        <li pn="section-3-17.2">
          <t indent="0" pn="section-3-17.2.1">Resolve IP2 NH over available tunnels in TRDB for Transport
          Class 200 with fallback to TRDB for best effort.</t>
        </li>
        <li pn="section-3-17.3">
          <t indent="0" pn="section-3-17.3.1">Resolve IP3 NH over available tunnels in TRDB for Transport
          Class 100 with fallback to TRDB for Transport Class 200.</t>
        </li>
      </ul>
      <t indent="0" pn="section-3-18">In <xref target="ArchOv" format="default" sectionFormat="of" derivedContent="Figure 1"/>, SN11 resolves IP1, IP2, and IP3
      directly over RSVP-TE tunnels in AS1. PE21 resolves IP1, IP2, and IP3
      over extended BGP CT tunnels that resolve over SR-TE tunnels in AS2.</t>
      <t indent="0" pn="section-3-19">This document describes procedures using MPLS forwarding
      architecture. However, these procedures would work in a similar manner
      for non-MPLS forwarding architectures as well. <xref target="SRv6-Support" format="default" sectionFormat="of" derivedContent="Section 7.13"/> 
      describes the application of BGP CT over the SRv6 data plane.</t>
    </section>
    <section anchor="tc" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-transport-class">Transport Class</name>
      <t indent="0" pn="section-4-1">Transport Class is a construct that groups transport tunnels offering
      similar SLAs within the administrative domain of a provider network or
      closely coordinated provider networks.</t>
      <t indent="0" pn="section-4-2">A Transport Class is uniquely identified by a 32-bit "Transport Class
      ID" that is assigned by the operator. The operator consistently
      provisions a Transport Class on participating nodes (SNs and BNs) in a
      domain with its unique Transport Class ID.</t>
      <t indent="0" pn="section-4-3">A Transport Class is also configured with RD and import/export RT
      attributes. Creation of a Transport Class instantiates its corresponding
      TRDB and Resolution Schemes on that node.</t>
      <t indent="0" pn="section-4-4">All nodes within a domain agree on a common Transport Class ID
      namespace. However, two cooperating domains may not always agree on the
      same namespace. Procedures to manage differences in Transport Class ID
      namespaces between cooperating domains are specified in <xref target="non-agreeing" format="default" sectionFormat="of" derivedContent="Section 11.2.2"/>.</t>
      <t indent="0" pn="section-4-5">Transport Class ID conveys the Color of tunnels in a Transport Class.
      The terms 'Transport Class ID' and 'Color' are used interchangeably in
      this document.</t>
      <section anchor="tc-te" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-classifying-te-tunnels">Classifying TE Tunnels</name>
        <t indent="0" pn="section-4.1-1">TE tunnels can be classified into a Transport Class based on the TE
        attributes they possess and the TE characteristics that the operator
        defines for that Transport Class. Due to the fact that multiple TE
        tunneling protocols exist, their TE attributes and characteristics may
        not be equal but sufficiently similar. Some examples of such
        classifications are as follows:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2">
          <li pn="section-4.1-2.1">
            <t indent="0" pn="section-4.1-2.1.1">Tunnels (RSVP-TE, IGP Flex-Algo, SR-TE) that support latency
            sensitive routing.</t>
          </li>
          <li pn="section-4.1-2.2">
            <t indent="0" pn="section-4.1-2.2.1">RSVP-TE tunnels that only go over admin-group with Green
            links.</t>
          </li>
          <li pn="section-4.1-2.3">
            <t indent="0" pn="section-4.1-2.3.1">Tunnels (RSVP-TE, SR-TE) that offer FRR.</t>
          </li>
          <li pn="section-4.1-2.4">
            <t indent="0" pn="section-4.1-2.4.1">Tunnels (RSVP-TE, SR-TE) that share resources in the network
            based on Shared Risk Link Groups defined by TE policy.</t>
          </li>
          <li pn="section-4.1-2.5">
            <t indent="0" pn="section-4.1-2.5.1">Tunnels (RSVP-TE, SR-TE, BGP CT) that avoid certain nodes in
            the network based on RSVP-TE Explicit Route Object (ERO), SR-TE policy, or BGP policy.</t>
          </li>
        </ul>
        <t indent="0" pn="section-4.1-3">An operator may configure an SN/BN to classify a tunnel into an
        appropriate Transport Class. How exactly these tunnels are made
        Transport Class aware is implementation specific and outside the scope
        of this document.</t>
        <t indent="0" pn="section-4.1-4">When a tunnel is made Transport Class aware, it causes the Tunnel
        Route to be installed in the corresponding TRDB of that Transport
        Class. These routes are used to resolve overlay routes, including BGP
        CT. The BGP CT routes may be further readvertised to adjacent domains
        to extend these tunnels. While readvertising BGP CT routes, the
        "Transport Class ID" is encoded as part of the Transport Class
        RT, which is a new Route Target extended community defined in <xref target="tc-rt" format="default" sectionFormat="of" derivedContent="Section 4.3"/>.</t>
        <t indent="0" pn="section-4.1-5">An SN/BN receiving the transport routes via BGP with sufficient
        signaling information to identify a Transport Class can associate
        those tunnel routes with the corresponding Transport Class. For example,
        in BGP CT family routes, the Transport Class RT indicates the
        Transport Class. For BGP LU family routes, import processing based on
        communities or inter-AS source-peer may be used to place the route in
        the desired Transport Class.</t>
        <t indent="0" pn="section-4.1-6">When the tunnel route is received via <xref target="RFC9830" format="default" sectionFormat="of" derivedContent="RFC9830"/> with
        "Color:Endpoint" as the NLRI that encodes the Transport Class as an
        integer 'Color' in its Policy Color field, the 'Color' is mapped to a
        Transport Class during the import processing. The SRTE tunnel route
        for this 'Endpoint' is installed in the corresponding TRDB. The SRTE
        tunnel will be extended by a BGP CT advertisement with NLRI
        RD:EP, Transport Class RT, and a new label. The MPLS swap route
        thus installed for the new label will pop the label and forward the
        decapsulated traffic into the path determined by the SRTE route for
        further encapsulation.</t>
        <t indent="0" pn="section-4.1-7"><xref target="I-D.ietf-pce-segment-routing-policy-cp" format="default" sectionFormat="of" derivedContent="PCEP-SRPOLICY"/> extends the Path Computation Element
        Communication Protocol (PCEP) to signal attributes of an SR Policy
        that include Color. This Color is mapped to a Transport Class thus
        associating the SR Policy with the desired Transport Class.</t>
        <t indent="0" pn="section-4.1-8">Similarly, <xref target="I-D.ietf-pce-pcep-color" format="default" sectionFormat="of" derivedContent="PCEP-RSVP-COLOR"/> extends PCEP to carry
        the Color attribute for its use with RSVP-TE LSPs. This Color is
        mapped to a Transport Class thus associating the RSVP-TE LSP with the
        desired Transport Class.</t>
      </section>
      <section anchor="trdb" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-transport-route-database-tr">Transport Route Database (TRDB)</name>
        <t indent="0" pn="section-4.2-1">A TRDB is a logical collection of
        transport routes pertaining to the same Transport Class. In any node,
        every Transport Class has an associated TRDB. Resolution Schemes
        resolve NH reachability for EP using the transport routes within
        the scope of the TRDBs.</t>
        <t indent="0" pn="section-4.2-2">Tunnel EP addresses in a TRDB belong to the provider
        namespace representing the core transport region.</t>
        <t indent="0" pn="section-4.2-3">An implementation may realize the TRDB as a "Routing Table"
        referred to in <xref target="RFC4271" sectionFormat="of" section="9.1.2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-9.1.2.1" derivedContent="RFC4271"/>, which is used only for resolving NH
        reachability in the control plane. An implementation may choose a
        different datastructure to realize this logical construct while still
        adhering to the procedures defined in this document. The tunnel routes
        in a TRDB require no footprint in the forwarding plane unless they are
        used to resolve an NH.</t>
        <t indent="0" pn="section-4.2-4">SNs or BNs originate routes for the BGP CT address
        family from the TRDB. These routes have RD:EP in the NLRI,
        carry a Transport Class RT, and an MPLS label or equivalent identifier
        in different forwarding architecture. BGP CT family
        routes received with Transport Class RT are installed into their
        respective TRDB.</t>
      </section>
      <section anchor="tc-rt" numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-transport-class-route-targe">Transport Class Route Target</name>
        <t indent="0" pn="section-4.3-1">This section defines a new type of Route Target called a
        "Transport Class Route Target extended community" (also known as a
        "Transport Class RT"). The procedures for use of this extended community
        with BGP CT routes (AFI/SAFI: 1/76 or 2/76) are described below.</t>
        <t indent="0" pn="section-4.3-2">The Transport Class RT is a
        transitive extended community <xref target="RFC4360" format="default" sectionFormat="of" derivedContent="RFC4360"/>
        of extended type, which has the format as shown in <xref target="TCExtCom" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</t>
        <figure anchor="TCExtCom" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-transport-class-rt">Transport Class RT</name>
          <artwork align="left" name="" type="" alt="" pn="section-4.3-3.1">
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Type= 0xa   | SubType= 0x02 |            Reserved           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Transport Class ID                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <dl spacing="normal" newline="false" indent="3" pn="section-4.3-4">
          <dt pn="section-4.3-4.1">Type:</dt>
          <dd pn="section-4.3-4.2">A 1-octet field that <bcp14>MUST</bcp14> be set to 0xa to indicate 'Transport Class'.</dd>
          <dt pn="section-4.3-4.3">SubType:</dt>
          <dd pn="section-4.3-4.4">A 1-octet field that <bcp14>MUST</bcp14> be set to 0x2 to indicate 'Route Target'.</dd>
          <dt pn="section-4.3-4.5">Reserved:</dt>
          <dd pn="section-4.3-4.6">
            <t indent="0" pn="section-4.3-4.6.1">A 2-octet reserved bits field.</t>
            <t indent="0" pn="section-4.3-4.6.2">This field <bcp14>MUST</bcp14> be set to zero on transmission.</t>
            <t indent="0" pn="section-4.3-4.6.3">This field <bcp14>SHOULD</bcp14> be ignored on reception and <bcp14>MUST</bcp14> be left unaltered.</t>
          </dd>
          <dt pn="section-4.3-4.7">Transport Class ID:</dt>
          <dd pn="section-4.3-4.8">
            <t indent="0" pn="section-4.3-4.8.1">This field is encoded in 4 octets.</t>
            <t indent="0" pn="section-4.3-4.8.2">This field contains the "Transport Class ID", which is an unsigned 32-bit integer.</t>
            <t indent="0" pn="section-4.3-4.8.3">This document reserves the Transport Class ID value 0 to represent the "Best-Effort Transport Class ID".</t>
          </dd>
        </dl>
        <t indent="0" pn="section-4.3-5">A Transport Class RT with TC ID 100
        is denoted as "transport-target:0:100".</t>
        <t indent="0" pn="section-4.3-6">The VPN route import/export mechanisms specified in BGP/MPLS IP VPNs (see <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>) and the Constrained Route
        Distribution mechanisms specified in Route Target Constraint (see <xref target="RFC4684" format="default" sectionFormat="of" derivedContent="RFC4684"/>) are applied using the Route Target extended
        community. These mechanisms are applied to BGP CT routes (AFI/SAFI:
        1/76 or 2/76) using the Transport Class RT".</t>
        <t indent="0" pn="section-4.3-7">A BGP speaker that implements procedures described in this document
        and <xref target="RFC4684" format="default" sectionFormat="of" derivedContent="RFC4684"/> <bcp14>MUST</bcp14> also
        apply the RTC procedures to the Transport Class RT
        carried on BGP CT routes (AFI/SAFI: 1/76 or 2/76). An RTC
        route is generated for each Route Target imported by locally
        provisioned Transport Classes.</t>
        <t indent="0" pn="section-4.3-8">Further, when processing RT membership NLRIs containing a Transport
        Class RT received from external BGP
        peers, it is necessary to consider multiple External BGP (EBGP) paths for a given RTC
        prefix for building the outbound route filter: not just the best
        path. An implementation <bcp14>MAY</bcp14> provide configuration to control how many
        EBGP RTC paths are considered.</t>
        <t indent="0" pn="section-4.3-9">The Transport Class RT is carried on
        BGP CT family routes and is used to associate them with appropriate
        TRDBs at receiving BGP speakers. The Transport Class RT is carried
        unaltered on the BGP CT route across BGP CT negotiated sessions except
        for scenarios described in <xref target="non-agreeing" format="default" sectionFormat="of" derivedContent="Section 11.2.2"/>.
        Implementations should provide policy mechanisms to perform match,
        strip, or rewrite operations on a Transport Class RT just like any other
        BGP community.</t>
        <t indent="0" pn="section-4.3-10">Defining a new type code for the Transport Class RT
        avoids conflicting with any VPN Route Target
        assignments already in use for service families.</t>
        <t indent="0" pn="section-4.3-11">This document also reserves the non-transitive version of the Transport Class RT
        (see <xref target="tc-rt-nt" format="default" sectionFormat="of" derivedContent="Section 13.2.1.1.2"/>) for future use. The non-transitive Transport Class
        RT is not used. If received, it is
        considered equivalent in functionality to the transitive Transport
        Class RT, except for the difference in
        Transitive bit flag.</t>
      </section>
    </section>
    <section anchor="Nexthop_Resoln_Schm" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-resolution-scheme">Resolution Scheme</name>
      <t indent="0" pn="section-5-1">A Resolution Scheme is a construct that consists of a specific TRDB
      or an ordered set of TRDBs. An overlay route is associated with a
      Resolution Scheme during import processing based on the Mapping
      Community in the route.</t>
      <t indent="0" pn="section-5-2">Resolution Schemes enable a BGP speaker to resolve NH
      reachability for overlay routes over the appropriate underlay tunnels
      within the scope of the TRDBs. Longest Prefix Match (LPM) of the NH is performed within the identified TRDB.</t>
      <t indent="0" pn="section-5-3">An implementation may provide an option for the overlay route to
      resolve over less-preferred Transport Classes, should the resolution
      over a primary Transport Class fail.</t>
      <t indent="0" pn="section-5-4">To accomplish this, the "Resolution Scheme" is configured with the
      primary Transport Class and an ordered list of fallback Transport
      Classes. Two Resolution Schemes are considered equivalent in Intent if
      they consist of the same ordered set of TRDBs.</t>
      <t indent="0" pn="section-5-5">Operators must ensure that Resolution Schemes for a Mapping Community
      are provisioned consistently on various nodes participating in a BGP CT
      network based on desired Intent and Transport Classes available in that
      domain.</t>
      <section anchor="Mapping_Comm" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-mapping-community">Mapping Community</name>
        <t indent="0" pn="section-5.1-1">A "Mapping Community" is used to signal the desired Intent on an
        overlay route. At an ingress node receiving the route, it maps the
        overlay route to a "Resolution Scheme" used to resolve the route's
        NH.</t>
        <t indent="0" pn="section-5.1-2">A Mapping Community is a "role" and not a new type of community;
        any BGP Community Carrying Attribute (e.g., Community or Extended
        Community) may play this role in addition to the other roles it may already
        be playing. For example, the Transport Class RT
        plays a dual role: as Route Target and a Mapping
        Community.</t>
        <t indent="0" pn="section-5.1-3">Operator provisioning ensures that the ingress and egress SNs agree
        on the BGP CCA and community namespace to use for the Mapping
        Community.</t>
        <t indent="0" pn="section-5.1-4">A Mapping Community maps to exactly one Resolution Scheme at
        a receiving BGP speaker. An implementation <bcp14>SHOULD</bcp14> allow the association of
        multiple Mapping Communities to a Resolution Scheme. This helps with
        renumbering and migration scenarios.</t>
        <t indent="0" pn="section-5.1-5">An example of a Mapping Community is a Color extended community "color:0:100", described in
        <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>, or the "transport-target:0:100" described in
        <xref target="tc-rt" format="default" sectionFormat="of" derivedContent="Section 4.3"/>.</t>
        <t indent="0" pn="section-5.1-6">The first community on the overlay route that matches a Mapping
        Community of a locally configured Resolution Scheme is considered the
        effective Mapping Community for the route. The Resolution Scheme thus
        found is used when resolving the route's PNH. If a route contains more
        than one Mapping Community, it indicates that the route considers
        these distinct Mapping Communities as equivalent in Intent.</t>
        <t indent="0" pn="section-5.1-7">On an overlay route, if more than one Mapping Community exists that map
        to distinct Resolution Schemes having dissimilar Intents at a receiving
        node, it is considered a configuration error.</t>
        <t indent="0" pn="section-5.1-8">Since a route can carry multiple communities, but only a single
        Resolution Scheme can be in effect for the route on any given router,
        it is incumbent on the operator to ensure that communities attached
        to a route will map to the desired Resolution Scheme at each point
        in the network.</t>
        <t indent="0" pn="section-5.1-9">It should be noted that the Mapping Community role does not require
        applying Route Target Constraint procedures specified in <xref target="RFC4684" format="default" sectionFormat="of" derivedContent="RFC4684"/>.</t>
      </section>
    </section>
    <section anchor="ct-family" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-bgp-classful-transport-fami">BGP Classful Transport Family</name>
      <t indent="0" pn="section-6-1">The BGP Classful Transport (BGP CT) family uses the existing Address
      Family Identifier (AFI) of IPv4 or IPv6 and a new SAFI 76 "Classful
      Transport" that applies to both IPv4 and IPv6 AFIs.</t>
      <t indent="0" pn="section-6-2">The AFI/SAFI 1/76 <bcp14>MUST</bcp14> be negotiated as per the Multiprotocol
      Extensions capability described in <xref target="RFC4760" sectionFormat="of" section="8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4760#section-8" derivedContent="RFC4760"/>
      to be able to send and receive BGP CT routes for IPv4 endpoint
      prefixes.</t>
      <t indent="0" pn="section-6-3">The AFI/SAFI 2/76 <bcp14>MUST</bcp14> be negotiated as per the Multiprotocol
      Extensions capability described in <xref target="RFC4760" sectionFormat="of" section="8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4760#section-8" derivedContent="RFC4760"/>
      to be able to send and receive BGP CT routes for IPv6 endpoint
      prefixes.</t>
      <section anchor="ct-nlri" numbered="true" toc="include" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-nlri-encoding">NLRI Encoding</name>
        <t indent="0" pn="section-6.1-1">The "Classful Transport" SAFI NLRI has the same encoding as
        specified in <xref target="RFC8277" sectionFormat="of" section="2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8277#section-2" derivedContent="RFC8277"/>.</t>
        <t indent="0" pn="section-6.1-2">When the AFI/SAFI is 1/76, the BGP CT NLRI Prefix consists
        of an 8-byte RD followed by an IPv4 prefix. When AFI/SAFI is 2/76, the
        BGP CT NLRI Prefix consists of an 8-byte RD followed by an
        IPv6 prefix.</t>
        <t indent="0" pn="section-6.1-3">The procedures described for AFI/SAFIs 1/4 or 1/128 in
        <xref target="RFC8277" sectionFormat="of" section="2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8277#section-2" derivedContent="RFC8277"/> apply for AFI/SAFI 1/76 also. The procedures
        described for AFI/SAFIs 2/4 or 2/128 in <xref target="RFC8277" sectionFormat="of" section="2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8277#section-2" derivedContent="RFC8277"/> apply for AFI/SAFI 2/76 also.</t>
        <t indent="0" pn="section-6.1-4">BGP CT routes <bcp14>MAY</bcp14> carry multiple labels in the NLRI by negotiating
        the Multiple Labels Capability as described in <xref target="RFC8277" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8277#section-2.1" derivedContent="RFC8277"/>.</t>
        <t indent="0" pn="section-6.1-5">Properties received on a BGP CT route include the
        Transport Class RT, which is used to
        associate the route with the correct TRDBs on SNs and BNs in the
        network, and either an IPv4 or an IPv6 NH.</t>
      </section>
      <section anchor="ct-nhop" numbered="true" toc="include" removeInRFC="false" pn="section-6.2">
        <name slugifiedName="name-next-hop-encoding">Next Hop Encoding</name>
        <t indent="0" pn="section-6.2-1">When the length of the Next hop Address field is 4, the next hop
        address is an IPv4 address.</t>
        <t indent="0" pn="section-6.2-2">When the length of the Next hop Address field is 16 (or 32), the next
        hop address is an IPv6 address (potentially followed by the
        link-local IPv6 address of the next hop). This follows 
        <xref target="RFC2545" sectionFormat="of" section="3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc2545#section-3" derivedContent="RFC2545"/>.</t>
        <t indent="0" pn="section-6.2-3">When the length of Next hop Address field is 24 (or 48), the next
        hop address is a VPN-IPv6 with an 8-octet RD set to zero
        (potentially followed by the link-local VPN-IPv6 address of the next
        hop with an 8-octet RD set to zero). This follows 
        <xref target="RFC4659" sectionFormat="of" section="3.2.1.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4659#section-3.2.1.1" derivedContent="RFC4659"/>.</t>
        <t indent="0" pn="section-6.2-4">When the length of the Next hop Address field is 12, the next hop
        address is a VPN-IPv4 with 8-octet RD set to zero.</t>
        <t indent="0" pn="section-6.2-5">If the length of the Next hop Address field contains any other
        values, it is considered an error and is handled via BGP session reset
        as per <xref section="7.11" target="RFC7606" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7606#section-7.11" derivedContent="RFC7606"/>.</t>
      </section>
      <section anchor="CTMultiEncap" numbered="true" toc="include" removeInRFC="false" pn="section-6.3">
        <name slugifiedName="name-carrying-multiple-types-of-">Carrying Multiple Types of Encapsulation Information</name>
        <t indent="0" pn="section-6.3-1">To ease interoperability between nodes supporting different
        forwarding technologies, a BGP CT route allows carrying multiple
        types of encapsulation information.</t>
        <t indent="0" pn="section-6.3-2">An MPLS label is carried using the encoding in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>. A node that does not support MPLS forwarding
        advertises the special label 3 (Implicit NULL) in the MPLS label field (see <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>). The Implicit NULL label carried in BGP CT route indicates
        to a receiving node that it should not impose any BGP CT label for this
        route.</t>
        <t indent="0" pn="section-6.3-3">The SID information for SR with respect to the MPLS data plane is
        carried as specified in the Prefix-SID attribute defined as part of
        <xref target="RFC8669" sectionFormat="of" section="3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8669#section-3" derivedContent="RFC8669"/>.</t>
        <t indent="0" pn="section-6.3-4">The SID information for SR with respect to SRv6 data plane is
        carried as specified in <xref target="SRv6-Support" format="default" sectionFormat="of" derivedContent="Section 7.13"/>.</t>
        <t indent="0" pn="section-6.3-5">UDP tunneling information is carried using the Tunnel Encapsulation
        Attribute as specified in <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-6.4">
        <name slugifiedName="name-comparison-with-other-famil">Comparison with Other Families Using Encoding from RFC 8277</name>
        <t indent="0" pn="section-6.4-1">AFI/SAFI 1/128 (L3VPN) is a family encoded using <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> that carries service prefixes in the NLRI, where the prefixes
        come from the customer namespaces and are contextualized into separate
        user virtual service RIBs called VRFs as per <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>.</t>
        <t indent="0" pn="section-6.4-2">AFI/SAFI 1/4 (BGP LU) is a family encoded using <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> that carries
        transport prefixes in the NLRI, where the prefixes come from the
        provider namespace.</t>
        <t indent="0" pn="section-6.4-3">AFI/SAFI 1/76 (BGP CT) is a family encoded using <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> that carries transport prefixes in the NLRI, where the prefixes
        come from the provider namespace and are contextualized into separate
        TRDB, following mechanisms similar to <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> procedures.</t>
        <t indent="0" pn="section-6.4-4">It is worth noting that AFI/SAFI 1/128 has been used to carry
        transport prefixes in "L3VPN inter-AS Carrier's carrier" scenario as
        defined in <xref target="RFC4364" sectionFormat="of" section="10" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4364#section-10" derivedContent="RFC4364"/>, where BGP LU/LDP
        prefixes in CsC VRF are advertised in AFI/SAFI 1/128 towards the
        remote-end client carrier.</t>
        <t indent="0" pn="section-6.4-5">In this document, SAFI 76 (CT) is used instead of reusing SAFI
        128 (L3VPN) for AFIs 1 or 2 to carry these transport routes because it
        is operationally advantageous to segregate transport and service
        prefixes into separate address families. For example, such an approach
        allows operators to safely enable a "per-prefix" label-allocation scheme
        for BGP CT prefixes, typically with a number of routes in
        the hundreds of thousands or less, without affecting SAFI 128 service
        prefixes, which may represent millions of routes at the time of writing.
        The "per-prefix" label-allocation scheme localizes routing churn
        during topology changes.</t>
        <t indent="0" pn="section-6.4-6">Service routes continue to be carried in their existing AFI/SAFIs
        without any change. For example, L3VPN (AFI/SAFI: 1/128 and 2/128),
        EVPN (AFI/SAFI: 25/70 ), Virtual Private LAN Service (VPLS) (AFI/SAFI: 25/65), or Internet (AFI/SAFI:
        1/1 or 2/1). These service routes can resolve over BGP CT (AFI/SAFI:
        1/76 or 2/76) transport routes.</t>
        <t indent="0" pn="section-6.4-7">A new SAFI 76 for AFI 1 and AFI 2 also facilitates having a
        different distribution path of the transport family routes in a
        network than the service route distribution path. Service routes
        (SAFI 128) are exchanged over an EBGP multihop session
        between ASes with the NH unchanged; whereas BGP CT
        routes (SAFI 76) are advertised over EBGP single-hop sessions with a
        "NH self" rewrite over inter-AS links.</t>
        <t indent="0" pn="section-6.4-8">The BGP CT SAFI 76 for AFI 1 and 2 is conceptually similar to BGP
        LU SAFI 4 in that it carries transport prefixes. The only difference
        is that it also carries in a Route Target an indication of which
        Transport Class the transport prefix belongs to and uses the RD to
        disambiguate multiple instances of the same transport prefix in a BGP
        UPDATE message.</t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-protocol-procedures">Protocol Procedures</name>
      <t indent="0" pn="section-7-1">This section summarizes the procedures followed by various nodes
      speaking BGP CT family.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-7.1">
        <name slugifiedName="name-preparing-the-network-to-de">Preparing the Network to Deploy Classful Transport Planes</name>
        <t indent="0" pn="section-7.1-1">It is the responsibility of the operators to decide the Transport
        Classes to enable and use in their network. They are also expected to
        allocate a Transport Class RT to identify each Transport
        Class.</t>
        <t indent="0" pn="section-7.1-2">Operators configure the Transport Classes on the SNs and BNs in the
        network with Transport Class RTs and appropriate
        Route Distinguishers.</t>
        <t indent="0" pn="section-7.1-3">Implementations <bcp14>MAY</bcp14> provide automatic generation and
        assignment of RD, RT values. They <bcp14>MAY</bcp14> also provide a
        way to manually override the automatic mechanism in order to deal with
        any conflicts that may arise with existing RD, RT values in different
        network domains participating in the deployment.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-7.2">
        <name slugifiedName="name-originating-bgp-ct-routes">Originating BGP CT Routes</name>
        <t indent="0" pn="section-7.2-1">BGP CT routes are sent only to BGP peers that have negotiated the
        Multiprotocol Extensions capability described in <xref target="RFC4760" sectionFormat="of" section="8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4760#section-8" derivedContent="RFC4760"/> to be able to send
        and receive BGP CT routes.</t>
        <t indent="0" pn="section-7.2-2">At the ingress node of the tunnel's home domain, the tunneling
        protocols install tunnel routes in the TRDB associated with the
        Transport Class to which the tunnel belongs.</t>
        <t indent="0" pn="section-7.2-3">The egress node of the tunnel, i.e., the tunnel endpoint (EP),
        originates the BGP CT route with RD:EP in the NLRI, a Transport Class RT,
        and the PNH as the EP. This BGP CT route will be resolved over the tunnel
        route in TRDB at the ingress node. When the tunnel is up, the Classful
        Transport BGP route will become usable and get readvertised by the
        ingress node to BGP peers in neighboring domains.</t>
        <t indent="0" pn="section-7.2-4">Alternatively, the ingress node of the tunnel, which is also an
        ASBR/ABR in a tunnel's home domain, may originate the BGP CT route for
        the tunnel destination with RD:EP in the NLRI, attaching a Transport Class
        Route Target that identifies the Transport Class. This BGP CT route is
        advertised to EBGP peers and IBGP peers in neighboring domains.</t>
        <t indent="0" pn="section-7.2-5">This originated route <bcp14>SHOULD NOT</bcp14> be advertised to
        the IBGP core that contains the tunnel. This may be implemented by
        mechanisms such as policy configuration. The impact of not prohibiting
        such advertisements is outside the scope of this document.</t>
        <t indent="0" pn="section-7.2-6">A unique RD <bcp14>SHOULD</bcp14> be used by the originator of a
        BGP CT route to disambiguate the multiple BGP
        advertisements for a transport endpoint. An administrator may use
        duplicate RDs based on local choice, understanding the impact on path
        diversity and troubleshooting, as described in <xref target="rd-lbl-usage" format="default" sectionFormat="of" derivedContent="Section 10.2"/>.</t>
      </section>
      <section anchor="CTingress" numbered="true" toc="include" removeInRFC="false" pn="section-7.3">
        <name slugifiedName="name-processing-bgp-ct-routes-by">Processing BGP CT Routes by Ingress Nodes</name>
        <t indent="0" pn="section-7.3-1">Upon receipt of a BGP CT route with a PNH EP that is not directly
          connected (e.g., an IBGP-route), a Mapping Community (the Transport
          Class RT) on the route is used to decide to which Resolution Scheme
          this route is to be mapped.</t>
        <t indent="0" pn="section-7.3-2">The Resolution Scheme for a Transport Class RT with Transport
          Class ID "C1" contains the TRDB of a Transport Class with same ID.
          The administrator <bcp14>MAY</bcp14> customize the Resolution Scheme for Transport
          Class ID "C1" to map to a different ordered list of TRDBs. If the
          Resolution Scheme for TC ID "C1" is not found, the Resolution Scheme
          containing the Best-Effort TRDB is used.</t>
        <t indent="0" pn="section-7.3-3">The routes in the TRDBs associated with a selected Resolution
          Scheme are used to resolve the received PNH EP. The order of TRDBs
          in the Resolution Scheme is followed when resolving the received
          PNH, such that a route in a backup TRDB is used only when a matching
          route was not found for EP in the primary TRDBs preceding it. This
          achieves the fallback desired by the Resolution Scheme.</t>
        <t indent="0" pn="section-7.3-4">If the resolution process does not find a matching route for the EP
          in any of the associated TRDBs, the received BGP CT route <bcp14>MUST</bcp14> be
          considered unresolvable. (See <xref target="RFC4271" sectionFormat="of" section="9.1.2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-9.1.2.1" derivedContent="RFC4271"/>.)</t>
        <t indent="0" pn="section-7.3-5">The received BGP CT route <bcp14>MUST</bcp14> be added to the TRDB corresponding
          to the Transport Class ID "C1" if the TC is provisioned
          locally. This step applies only if the Transport Class RT is
          received on a BGP CT family route. The RD in the BGP CT NLRI prefix
          RD:EP is ignored when the BGP CT route for EP is added to the TRDB
          so that overlay routes can resolve over this BGP CT tunnel route by
          performing a lookup for the EP. Please note that a TRDB is a logical
          database of tunnel routes belonging to the same Transport Class ID;
          hence, it only uses the EP as the lookup key (without RD or TC ID).</t>
        <t indent="0" pn="section-7.3-6">If no Mapping Community is found on a BGP CT route, the Best-Effort Resolution Scheme is used to resolve the route's next hop,
          and the BGP CT route is not added to any TRDB.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-7.4">
        <name slugifiedName="name-readvertising-bgp-ct-route-">Readvertising BGP CT Route by Border Nodes</name>
        <t indent="0" pn="section-7.4-1">This section describes the MPLS label handling when readvertising
          a BGP CT route with "NH self". When readvertising a BGP
          CT route with "NH self", a BN allocates an MPLS label to
          advertise upstream in the BGP CT NLRI. The BN also installs
          an MPLS route for that label that swaps the incoming label with the
          label received from the downstream BGP speaker (or pops the incoming
          label if the label received from the downstream BGP speaker was
          Implicit NULL). The MPLS route then pushes received traffic to the
          transport tunnel or direct interface that the BGP CT
          route's PNH resolved over.</t>
        <t indent="0" pn="section-7.4-2">The label <bcp14>SHOULD</bcp14> be allocated with "per-prefix" label-allocation
          semantics. The IP prefix in the TRDB context (Transport Class,
          IP prefix) is used as the key to "per-prefix" label allocation.
          This helps in avoiding BGP CT route churn throughout the CT network
          when an instability (e.g., link failure) is experienced in a domain.
          The failure is not propagated further than the BN closest to the
          failure. If a different label-allocation mode is used, the impact on
          end-to-end convergence should be considered.</t>
        <t indent="0" pn="section-7.4-3">The value of the advertised MPLS label is locally significant
          and is dynamic by default. A BN may provide an option to allocate a
          value from a statically provisioned range. This can be achieved
          using a locally configured export policy or via mechanisms such as
          the ones described related to BGP Prefix-SID as described in BGP (see <xref target="RFC8669" format="default" sectionFormat="of" derivedContent="RFC8669"/>).</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-7.5">
        <name slugifiedName="name-border-nodes-receiving-bgp-">Border Nodes Receiving BGP CT Routes on EBGP</name>
        <t indent="0" pn="section-7.5-1">If a route is received with a PNH that is known to be directly
          connected (for example, an EBGP single-hop neighbor address), the
          directly connected interface is checked for MPLS forwarding
          capability. No other next hop resolution process is performed since
          the inter-AS link can be used for any Transport Class.</t>
        <t indent="0" pn="section-7.5-2">If the inter-AS links need to honor Transport Class, then the BN
          <bcp14>MUST</bcp14> follow the procedures of an ingress node (<xref target="CTingress" format="default" sectionFormat="of" derivedContent="Section 7.3"/>) and perform the next hop resolution process.
          In order to make the link Transport Class aware, the route to the
          directly connected PNH is installed in the TRDB belonging to the
          associated Transport Class.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-7.6">
        <name slugifiedName="name-avoiding-path-hiding-throug">Avoiding Path Hiding Through Route Reflectors</name>
        <t indent="0" pn="section-7.6-1">When multiple instances of a given RD:EP exist with different
          forwarding characteristics, BGP ADD-PATH (see <xref target="RFC7911" format="default" sectionFormat="of" derivedContent="RFC7911"/>) is helpful.</t>
        <t indent="0" pn="section-7.6-2">When multiple BNs exist such that they advertise an "RD:EP" prefix
          to Route Reflectors (RRs), the RRs may hide all but one of the BNs,
          unless BGP ADD-PATH (see <xref target="RFC7911" format="default" sectionFormat="of" derivedContent="RFC7911"/>) is used for the
          BGP CT family. This is similar to L3VPN inter-AS option B
          scenarios.</t>
        <t indent="0" pn="section-7.6-3">Hence, BGP ADD-PATH (see <xref target="RFC7911" format="default" sectionFormat="of" derivedContent="RFC7911"/>) <bcp14>SHOULD</bcp14> be used
          for the BGP CT family to avoid path hiding through RRs so
          that the RR sends multiple CT routes for RD:EP to its clients. This
          improves the convergence time when the path via one of the multiple
          BNs fails.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-7.7">
        <name slugifiedName="name-avoiding-loops-between-rout">Avoiding Loops Between Route Reflectors in Forwarding Paths</name>
        <t indent="0" pn="section-7.7-1">A pair of redundant ABRs, each acting as an RR with the next hop
          set to itself, may choose each other as the best path instead of the upstream
          ASBR, causing a traffic-forwarding loop.</t>
        <t indent="0" pn="section-7.7-2">This problem can happen for routes of any BGP address family,
          including BGP CT and BGP LU.</t>
        <t indent="0" pn="section-7.7-3">Using one or more of the approaches described in <xref target="I-D.ietf-idr-bgp-fwd-rr" format="default" sectionFormat="of" derivedContent="BGP-FWD-RR"/> lowers the possibility of such loops in a
          network with redundant ABRs.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-7.8">
        <name slugifiedName="name-ingress-nodes-receiving-ser">Ingress Nodes Receiving Service Routes with a Mapping Community</name>
        <t indent="0" pn="section-7.8-1">Upon receipt of a BGP service route (for example, AFI/SAFI: 1/1,
          2/1) with a PNH as the EP that is not directly connected (for example,
          an IBGP-route), a Mapping Community (for example, a Color Extended
          Community) on the route is used to decide to which Resolution Scheme
          this route is to be mapped.</t>
        <t indent="0" pn="section-7.8-2">The Resolution Scheme for a Color extended community with Color
          "C1" contains a TRDB for a Transport Class with same ID followed by
          the Best-Effort TRDB. The administrator <bcp14>MAY</bcp14> customize the Resolution
          Scheme to map to a different ordered list of TRDBs. If the
          Resolution Scheme for TC ID "C1" is not found, the Resolution Scheme
          containing the Best-Effort TRDB is used.</t>
        <t indent="0" pn="section-7.8-3">If no Mapping Community was found on the overlay route, the "Best
          Effort Resolution Scheme" is used for resolving the route's next
          hop. This behavior is backward compatible to behavior of an
          implementation that does not follow procedures described in this
          document.</t>
        <t indent="0" pn="section-7.8-4">The routes in the TRDBs associated with the selected Resolution
          Scheme are used to resolve the received PNH EP. The order of TRDBs
          in a Resolution Scheme is followed when resolving the received PNH,
          such that a route in a backup TRDB is used only when a matching
          route was not found for the EP in the primary TRDBs preceding it. This
          achieves the fallback desired by the Resolution Scheme.</t>
        <t indent="0" pn="section-7.8-5">If the resolution process does not find a Tunnel Route for the EP in
          any of the Transport Route Databases, the service route <bcp14>MUST</bcp14> be
          considered unresolvable. (See <xref target="RFC4271" sectionFormat="of" section="9.1.2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-9.1.2.1" derivedContent="RFC4271"/>).</t>
        <t indent="0" pn="section-7.8-6">Note: For an illustration of above procedures in an MPLS network,
        refer to <xref target="CTProc" format="default" sectionFormat="of" derivedContent="Section 8"/>.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-7.9">
        <name slugifiedName="name-best-effort-transport-class">Best-Effort Transport Class</name>
        <t indent="0" pn="section-7.9-1">It is also possible to represent a 'Best-Effort' SLA as a Transport
          Class. At the time of writing, BGP LU is used to extend the best-effort intra-domain
          tunnels to other domains.</t>
        <t indent="0" pn="section-7.9-2">Alternatively, BGP CT may also be used to carry the best-effort
          tunnels. This document reserves the Transport Class ID value 0 to
          represent the "Best-Effort Transport Class ID". However, implementations
          <bcp14>SHOULD</bcp14> provide configuration to use a different value for this
          purpose. Procedures to manage differences in Transport Class ID
          namespaces between domains are provided in <xref target="non-agreeing" format="default" sectionFormat="of" derivedContent="Section 11.2.2"/>.</t>
        <t indent="0" pn="section-7.9-3">The "Best-Effort Transport Class ID" value is used in the
          "Transport Class ID" field of the Transport Class RT
          that is attached to the BGP CT route that advertises a
          best-effort tunnel endpoint. Thus, the RT formed is called the "Best-Effort Transport Class RT".</t>
        <t indent="0" pn="section-7.9-4">When a BN or SN receives a BGP CT route with Best-Effort
          Transport Class RT as the Mapping Community, the Best-Effort Resolution Scheme is used for resolving the BGP next hop, and
          the resultant route is installed in the best-effort transport route
          database. If no best-effort tunnel was found to resolve the BGP next
          hop, the BGP CT route <bcp14>MUST</bcp14> be considered unusable and not be
          propagated further.</t>
        <t indent="0" pn="section-7.9-5">When a BGP speaker receives an overlay route without any explicit
          Mapping Community, and absent local policy, the Best-Effort
          Resolution Scheme is used for resolving the BGP next hop on the
          route. This behavior is backward compatible to behavior of an
          implementation that does not follow procedures described in this
          document.</t>
        <t indent="0" pn="section-7.9-6">Implementations <bcp14>MAY</bcp14> provide configuration to selectively install
          BGP CT routes to the Forwarding Information Base (FIB) to provide
          reachability for control-plane peering towards endpoints in other
          domains.</t>
      </section>
      <section anchor="bgp-att" numbered="true" toc="include" removeInRFC="false" pn="section-7.10">
        <name slugifiedName="name-interaction-with-bgp-attrib">Interaction with BGP Attributes Specifying Next Hop Address and Color</name>
        <t indent="0" pn="section-7.10-1">The Tunnel Encapsulation Attribute, described in <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>, can be used to request a specific type of tunnel
        encapsulation. This attribute may apply to BGP service routes or
        transport routes including BGP CT family routes.</t>
        <t indent="0" pn="section-7.10-2">It should be noted that in such cases "Transport Class ID/Color"
        can exist in multiple places on the same route, and a precedence order
        needs to be established to determine which Transport Class the route's
        next hop should resolve over. This document specifies the following
        order of precedence with more-specific scoping of Color preferred to less-specific scoping: </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.10-3">
          <li pn="section-7.10-3.1">
            <t indent="0" pn="section-7.10-3.1.1">Color sub-TLV in the Tunnel Encapsulation Attribute.</t>
          </li>
          <li pn="section-7.10-3.2">
            <t indent="0" pn="section-7.10-3.2.1">Transport Class RT on a BGP CT route.</t>
          </li>
          <li pn="section-7.10-3.3">
            <t indent="0" pn="section-7.10-3.3.1">Color extended community on a BGP service route.</t>
          </li>
        </ul>
        <t indent="0" pn="section-7.10-4">Color specified in the Color sub-TLV in a TEA is a more-specific
        indication of "Transport Class ID/Color" than Mapping Community
        (Transport Class RT) on a BGP CT transport route, which, in turn, is
        more specific than a service route scoped Mapping Community (Color
        extended community).</t>
        <t indent="0" pn="section-7.10-5">Any BGP attributes or mechanisms defined in future that carry
        Transport Class ID/Color on the route are expected to specify the
        order of precedence relative to the above.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-7.11">
        <name slugifiedName="name-applicability-to-flowspec-r">Applicability to Flowspec Redirect-to-IP</name>
        <t indent="0" pn="section-7.11-1">Flowspec routes using redirect-to-IP next hop are described in <xref target="I-D.ietf-idr-flowspec-redirect-ip" format="default" sectionFormat="of" derivedContent="FLOWSPEC-REDIR-IP"/>.</t>
        <t indent="0" pn="section-7.11-2">Such Flowspec BGP routes with redirect-to-IP next hop <bcp14>MAY</bcp14> be
        attached with a Mapping Community (e.g., color:0:100), which allows
        redirecting the flow traffic over a tunnel to the IP next hop
        satisfying the desired SLA (e.g., Transport Class color 100).</t>
        <t indent="0" pn="section-7.11-3">The Flowspec BGP family acts as just another service that can make use
        of the BGP CT architecture to achieve flow-based forwarding with SLAs.</t>
      </section>
      <section anchor="IPv6-Applicability" numbered="true" toc="include" removeInRFC="false" pn="section-7.12">
        <name slugifiedName="name-applicability-to-ipv6">Applicability to IPv6</name>
        <t indent="0" pn="section-7.12-1">BGP CT procedures apply equally to IPv4- and IPv6-enabled intra-AS
        or inter-AS option A, B, and C networks. This section describes
        the applicability of BGP CT to IPv6 at various layers.</t>
        <t indent="0" pn="section-7.12-2">A network that is BGP CT enabled supports IPv6 service families (for
        example, AFI/SAFI 2/1 or 2/128) and IPv6 transport signaling protocols
        like SRTEv6, LDPv6, or RSVP-TEv6.</t>
        <t indent="0" pn="section-7.12-3">Procedures in this document also apply to a network with Pure IPv6
        core, that uses MPLS forwarding for intra-domain tunnels and inter-AS
        links. The BGP CTv6 family (AFI/SAFI: 2/76) is used to carry global IPv6
        address tunnel endpoints in the NLRI. Service family routes (for
        example, AFI/SAFI: 1/1, 2/1, 1/128, and 2/128) are also advertised with
        those Global IPv6 addresses as next hop.</t>
        <t indent="0" pn="section-7.12-4">Procedures in this document also apply to a 6PE network with an
        IPv4 core, which uses MPLS forwarding for intra-domain tunnels and
        inter-AS links. The BGP CTv6 family (AFI/SAFI: 2/76) is used to carry IPv4
        Mapped IPv6 address tunnel endpoints in the NLRI. IPv6 Service family
        routes (for example, AFI/SAFI: 2/1, 2/128) are also advertised with
        those IPv4 Mapped IPv6 addresses as next hop.</t>
        <t indent="0" pn="section-7.12-5">The PE-CE attachment circuits may use IPv4 addresses only, IPv6
        addresses only, or both IPv4 and IPv6 addresses.</t>
      </section>
      <section anchor="SRv6-Support" numbered="true" toc="include" removeInRFC="false" pn="section-7.13">
        <name slugifiedName="name-srv6-support">SRv6 Support</name>
        <t indent="0" pn="section-7.13-1">The BGP CT family (AFI/SAFI 2/76) may be used to set up inter-domain
        tunnels of a certain Transport Class when using a Segment Routing over
        IPv6 (SRv6) data plane on the inter-AS links or as an intra-AS
        tunneling mechanism.</t>
        <t indent="0" pn="section-7.13-2">Details of SRv6 Endpoint behaviors used by BGP CT and the
        procedures are specified and illustrated in a separate document (see <xref target="I-D.ietf-idr-bgp-ct-srv6" format="default" sectionFormat="of" derivedContent="BGP-CT-SRv6"/>). As noted in that
        document, a BGP CT route update for SRv6 includes a BGP attribute
        containing SRv6 SID information (e.g., a BGP Prefix-SID <xref target="RFC9252" format="default" sectionFormat="of" derivedContent="RFC9252"/>) with the
        Transposition Scheme disabled.</t>
      </section>
      <section anchor="error-handling" numbered="true" toc="include" removeInRFC="false" pn="section-7.14">
        <name slugifiedName="name-error-handling-consideratio">Error-Handling Considerations</name>
        <t indent="0" pn="section-7.14-1">If a BGP speaker receives both transitive and non-transitive (see <xref target="tc-rt-t" format="default" sectionFormat="of" derivedContent="Section 13.2.1.1.1"/> and <xref target="tc-rt-nt" format="default" sectionFormat="of" derivedContent="Section 13.2.1.1.2"/>, respectively) versions of a Transport Class
        extended community on a route, only the transitive one is used.</t>
        <t indent="0" pn="section-7.14-2">If a BGP speaker considers a received "Transport Class" extended
        community (the transitive or non-transitive version) or any other part of
        a BGP CT route invalid for some reason, but is able to successfully
        parse the NLRI and attributes, the treat-as-withdraw approach from <xref target="RFC7606" format="default" sectionFormat="of" derivedContent="RFC7606"/> is used. The route is kept as Unusable, with
        appropriate diagnostic information, to aid troubleshooting.</t>
      </section>
    </section>
    <section anchor="CTProc" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-illustration-of-bgp-ct-proc">Illustration of BGP CT Procedures</name>
      <t indent="0" pn="section-8-1">This section illustrates BGP CT procedures in an inter-AS option C
      MPLS network.</t>
      <t indent="0" pn="section-8-2">All illustrations in this document make use of IP address ranges as described in <xref target="RFC6890" format="default" sectionFormat="of" derivedContent="RFC6890"/>. The range 192.0.2.0/24 is used to
      represent transport endpoints like loopback addresses. The range
      203.0.113.0/24 is used to represent service route prefixes advertised in
      AFI/SAFIs: 1/1 or 1/128.</t>
      <t indent="0" pn="section-8-3">Though this section illustrates the use of IPv4, as described in <xref target="IPv6-Applicability" format="default" sectionFormat="of" derivedContent="Section 7.12"/>, these procedures work equally for IPv6
      as well.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-8.1">
        <name slugifiedName="name-reference-topology">Reference Topology</name>
        <figure anchor="CTProcTopo" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-multi-domain-bgp-ct-network">Multi-Domain BGP CT Network</name>
          <artset pn="section-8.1-1.1">
            <artwork type="svg" align="left" pn="section-8.1-1.1.1">
              <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="560" viewBox="0 0 560 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 128,48 L 128,96" fill="none" stroke="black"/>
                <path d="M 144,80 L 144,96" fill="none" stroke="black"/>
                <path d="M 144,128 L 144,176" fill="none" stroke="black"/>
                <path d="M 240,80 L 240,96" fill="none" stroke="black"/>
                <path d="M 240,128 L 240,176" fill="none" stroke="black"/>
                <path d="M 256,48 L 256,96" fill="none" stroke="black"/>
                <path d="M 272,80 L 272,96" fill="none" stroke="black"/>
                <path d="M 272,128 L 272,176" fill="none" stroke="black"/>
                <path d="M 448,80 L 448,96" fill="none" stroke="black"/>
                <path d="M 448,128 L 448,176" fill="none" stroke="black"/>
                <path d="M 464,48 L 464,96" fill="none" stroke="black"/>
                <path d="M 480,80 L 480,96" fill="none" stroke="black"/>
                <path d="M 480,128 L 480,176" fill="none" stroke="black"/>
                <path d="M 544,80 L 544,96" fill="none" stroke="black"/>
                <path d="M 544,128 L 544,176" fill="none" stroke="black"/>
                <path d="M 144,80 L 160,80" fill="none" stroke="black"/>
                <path d="M 224,80 L 240,80" fill="none" stroke="black"/>
                <path d="M 272,80 L 288,80" fill="none" stroke="black"/>
                <path d="M 432,80 L 448,80" fill="none" stroke="black"/>
                <path d="M 144,176 L 160,176" fill="none" stroke="black"/>
                <path d="M 224,176 L 240,176" fill="none" stroke="black"/>
                <path d="M 272,176 L 288,176" fill="none" stroke="black"/>
                <path d="M 432,176 L 448,176" fill="none" stroke="black"/>
                <path d="M 120,288 L 192,288" fill="none" stroke="black"/>
                <path d="M 352,288 L 432,288" fill="none" stroke="black"/>
                <path d="M 344,96 L 376,160" fill="none" stroke="black"/>
                <path d="M 336,160 L 368,96" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="440,288 428,282.4 428,293.6" fill="black" transform="rotate(0,432,288)"/>
                <g class="text">
                  <text x="132" y="36">[RR26]</text>
                  <text x="260" y="36">[RR27]</text>
                  <text x="468" y="36">[RR16]</text>
                  <text x="192" y="84">[ABR23]</text>
                  <text x="360" y="84">[ASBR21]-[ASBR13]</text>
                  <text x="512" y="84">-[PE11]</text>
                  <text x="80" y="116">[CE41]-[PE25]-[P28]</text>
                  <text x="256" y="116">[P29]</text>
                  <text x="464" y="116">[P15]</text>
                  <text x="532" y="116">[CE31]</text>
                  <text x="192" y="180">[ABR24]</text>
                  <text x="360" y="180">[ASBR22]-[ASBR14]</text>
                  <text x="512" y="180">-[PE12]</text>
                  <text x="56" y="228">:</text>
                  <text x="120" y="228">AS2</text>
                  <text x="192" y="228">:</text>
                  <text x="280" y="228">AS2</text>
                  <text x="352" y="228">:</text>
                  <text x="512" y="228">:</text>
                  <text x="32" y="244">AS4</text>
                  <text x="56" y="244">:</text>
                  <text x="124" y="244">region-1</text>
                  <text x="192" y="244">:</text>
                  <text x="276" y="244">region-2</text>
                  <text x="352" y="244">:</text>
                  <text x="424" y="244">AS1</text>
                  <text x="512" y="244">:</text>
                  <text x="544" y="244">AS3</text>
                  <text x="56" y="260">:</text>
                  <text x="192" y="260">:</text>
                  <text x="352" y="260">:</text>
                  <text x="512" y="260">:</text>
                  <text x="52" y="292">203.0.113.41</text>
                  <text x="232" y="292">Traffic</text>
                  <text x="304" y="292">Direction</text>
                  <text x="500" y="292">203.0.113.31</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="left" pn="section-8.1-1.1.2">
             [RR26]          [RR27]                    [RR16]
               |               |                         |
               |               |                         |
               | +--[ABR23]--+ | +--[ASBR21]-[ASBR13]--+ | +-[PE11]+
               | |           | | |        \  /         | | |       |
[CE41]-[PE25]-[P28]          [P29]         \/          [P15]   [CE31]
                 |           |   |         /\          |   |       |
                 |           |   |        /  \         |   |       |
                 |           |   |       /    \        |   |       |
                 +--[ABR24]--+   +--[ASBR22]-[ASBR14]--+   +-[PE12]+


      :      AS2       :         AS2       :                   :
  AS4 :    region-1    :      region-2     :       AS1         :  AS3
      :                :                   :                   :

203.0.113.41  ---------- Traffic Direction ----------&gt;  203.0.113.31

</artwork>
          </artset>
        </figure>
        <t indent="0" pn="section-8.1-2">This example shows a provider MPLS network that consists of two
        ASes, AS1 and AS2, that serve customers AS3 and AS4, respectively.
        The traffic direction being described is from CE41 to CE31. CE31 may request a
        specific SLA (mapped to Gold for this example), when
        traversing these provider networks.</t>
        <t indent="0" pn="section-8.1-3">AS2 is further divided into two regions. There are three tunnel
        domains in the provider's space:</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-8.1-4">
          <li pn="section-8.1-4.1">AS1 uses ISIS Flex-Algo (see<xref target="RFC9350" format="default" sectionFormat="of" derivedContent="RFC9350"/>) intra-domain tunnels. </li>
          <li pn="section-8.1-4.2">AS2 uses RSVP-TE intra-domain
          tunnels.</li>
        </ul>
        <t indent="0" pn="section-8.1-5">MPLS forwarding is used within these domains and on
        inter-domain links.</t>
        <t indent="0" pn="section-8.1-6">The network exposes two Transport Classes: "Gold" with Transport
        Class ID 100 and "Bronze" with Transport Class ID 200. These Transport
        Classes are provisioned at the PEs and the Border nodes (ABRs and ASBRs)
        in the network.</t>
        <t indent="0" pn="section-8.1-7">The following tunnels exist for the Gold Transport Class:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-8.1-8">
          <li pn="section-8.1-8.1">
            <t indent="0" pn="section-8.1-8.1.1">PE25_to_ABR23_gold - RSVP-TE tunnel</t>
          </li>
          <li pn="section-8.1-8.2">
            <t indent="0" pn="section-8.1-8.2.1">PE25_to_ABR24_gold - RSVP-TE tunnel</t>
          </li>
          <li pn="section-8.1-8.3">
            <t indent="0" pn="section-8.1-8.3.1">ABR23_to_ASBR22_gold - RSVP-TE tunnel</t>
          </li>
          <li pn="section-8.1-8.4">
            <t indent="0" pn="section-8.1-8.4.1">ASBR13_to_PE11_gold - SRTE tunnel</t>
          </li>
          <li pn="section-8.1-8.5">
            <t indent="0" pn="section-8.1-8.5.1">ASBR14_to_PE11_gold - SRTE tunnel</t>
          </li>
        </ul>
        <t indent="0" pn="section-8.1-9">The following tunnels exist for Bronze Transport Class:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-8.1-10">
          <li pn="section-8.1-10.1">
            <t indent="0" pn="section-8.1-10.1.1">PE25_to_ABR23_bronze - RSVP-TE tunnel</t>
          </li>
          <li pn="section-8.1-10.2">
            <t indent="0" pn="section-8.1-10.2.1">ABR23_to_ASBR21_bronze - RSVP-TE tunnel</t>
          </li>
          <li pn="section-8.1-10.3">
            <t indent="0" pn="section-8.1-10.3.1">ABR23_to_ASBR22_bronze - RSVP-TE tunnel</t>
          </li>
          <li pn="section-8.1-10.4">
            <t indent="0" pn="section-8.1-10.4.1">ABR24_to_ASBR21_bronze - RSVP-TE tunnel</t>
          </li>
          <li pn="section-8.1-10.5">
            <t indent="0" pn="section-8.1-10.5.1">ASBR13_to_PE12_bronze - ISIS Flex-Algo tunnel</t>
          </li>
          <li pn="section-8.1-10.6">
            <t indent="0" pn="section-8.1-10.6.1">ASBR14_to_PE11_bronze - ISIS Flex-Algo tunnel</t>
          </li>
        </ul>
        <t indent="0" pn="section-8.1-11">These tunnels are either provisioned or autodiscovered to belong
        to Transport Class IDs 100 or 200.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-8.2">
        <name slugifiedName="name-service-layer-route-exchang">Service Layer Route Exchange</name>
        <t indent="0" pn="section-8.2-1">Service nodes PE11 and PE12 negotiate service families (AFI/SAFIs: 1/1 and
        1/128) on the BGP session with RR16. Service helpers RR16 and
        RR26 exchange these service routes with the next hop unchanged over a
        multihop EBGP session between the two ASes. PE25 negotiates service
        families (AFI/SAFIs: 1/1 and 1/128) with RR26.</t>
        <t indent="0" pn="section-8.2-2">The PEs see each other as the next hop in the BGP UPDATE message for the
        service family routes. BGP ADD-PATH send and receive are enabled on
        both directions on the EBGP multihop session between RR16 and RR26 for
        AFI/SAFIs: 1/1 and 1/128. BGP ADD-PATH send is negotiated in the RR to
        PE direction in each AS. This is to avoid the path-hiding service
        routes at the RR, i.e., AFI/SAFI 1/1 routes advertised by both PE11 and
        PE12 or AFI/SAFI 1/128 routes originated by both PE11 and PE12 using
        the same RD.</t>
        <t indent="0" pn="section-8.2-3">Forwarding happens using service routes installed at service nodes
        PE25, PE11, and PE12 only. Service routes received from CEs are not
        present in any other nodes' FIB in the network.</t>
        <t indent="0" pn="section-8.2-4">As an example, CE31 advertises a route for prefix 203.0.113.31 with
        the next hop as itself to PE11 and PE12. CE31 can attach a Mapping Community
        color:0:100 on this route to indicate its request for a Gold SLA. Or,
        PE11 can attach the same using locally configured policies.</t>
        <t indent="0" pn="section-8.2-5">Consider CE31 getting VPN service from PE11. The
        RD1:203.0.113.31 route is readvertised in AFI/SAFI 1/128 by PE11 with
        the next hop set to itself (192.0.2.11) and label V-L1 to RR16 with the Mapping
        Community color:0:100 attached. RR16 advertises this route with the BGP
        ADD-PATH ID set to RR26, which readvertises to PE25 with the next hop
        unchanged. Now, PE25 can resolve the PNH 192.0.2.11 using transport
        routes received in BGP CT or BGP LU.</t>
        <t indent="0" pn="section-8.2-6">Using BGP ADD-PATH, service routes advertised by PE11 and PE12 for
        AFI/SAFIs: 1/1 and 1/128 reach PE25 via RR16, RR26 with the next hop
        unchanged, as PE11 or PE12.</t>
        <t indent="0" pn="section-8.2-7">The IP FIB at the PE25 VRF will have a route for 203.0.113.31 with a
        next hop when resolved that points to a Gold tunnel in the ingress
        domain.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-8.3">
        <name slugifiedName="name-transport-layer-route-propa">Transport Layer Route Propagation</name>
        <t indent="0" pn="section-8.3-1">Egress nodes PE11 and PE12 negotiate a BGP CT family with transport
        ASBRs ASBR13 and ASBR14. These egress nodes originate BGP CT routes for
        tunnel endpoint addresses that are advertised as a next hop in BGP
        service routes. In this example, both PEs participate in Transport
        Classes Gold and Bronze. The protocol procedures are explained using
        the Gold SLA transport plane; the Bronze SLA transport plane is
        used to highlight the path-hiding aspects.</t>
        <t indent="0" pn="section-8.3-2">For Gold tunnels, PE11 is provisioned with Transport Class having TC ID 100, RD value
        192.0.2.11:100, and a transport-target:0:100. For Bronze tunnels, PE11 is provisioned with
        Transport Class 200, RD value 192.0.2.11:200, and transport-target:0:200.
        Similarly, for Gold tunnels, PE12 is provisioned with
        Transport Class having TC ID 100, RD value 192.0.2.12:100, and a
        transport-target:0:100. For Bronze tunnels, PE12 is provisioned with Transport Class having TC ID 200, RD
        value 192.0.2.12:200, and transport-target:0:200.
        Note that, in this example, the BGP CT routes carry only the Transport
        Class RT and no IP address format route target.</t>
        <t indent="0" pn="section-8.3-3">The RD value originated by an egress node is not modified by any
        BGP speakers when the route is readvertised to the ingress node. Thus,
        the RD can be used to identify the originator (unique RD provisioned)
        or set of originators (RD reused on multiple nodes).</t>
        <t indent="0" pn="section-8.3-4">Similarly, these Transport Classes are also configured on ASBRs,
        ABRs, and PEs with same Transport Class RT and unique RDs.</t>
        <t indent="0" pn="section-8.3-5">ASBR13 and ASBR14 negotiate BGP CT family with transport ASBRs
        ASBR21 and ASBR22 in neighboring ASes. ASBR21 and ASBR22 negotiate BGP CT
        family with RR27 in region 2, which reflects BGP CT routes to ABR23 and
        ABR24. ABR23 and ABR24 negotiate BGP CT family with ingress node PE25 in
        region 1. The BGP LU family is also negotiated on these sessions alongside the
        BGP CT family. The BGP LU family carries Best-Effort Transport Class routes;
        BGP CT carries Gold and Bronze Transport Class routes.</t>
        <t indent="0" pn="section-8.3-6">PE11 is provisioned to originate a BGP CT route for endpoint PE11,
        with a Gold SLA. This route is sent with NLRI RD prefix
        192.0.2.11:100:192.0.2.11, Label B-L0, next hop 192.0.2.11, and a Route
        Target extended community transport-target:0:100. Label B-L0 can
        either be Implicit NULL (Label 3) or a UHP label.</t>
        <t indent="0" pn="section-8.3-7">This route is received by ASBR13 and it resolves over the tunnel
        ASBR13_to_PE11_gold. The route is then readvertised by ASBR13 in BGP
        CT family to ASBRs ASBR21, ASBR22 according to export policy. This
        route is sent with same NLRI RD prefix 192.0.2.11:100:192.0.2.11,
        Label B-L1, the next hop set to itself, and transport-target:0:100. An MPLS swap route
        is installed at ASBR13 for B-L1 with a next hop pointing to
        ASBR13_to_PE11_gold tunnel.</t>
        <t indent="0" pn="section-8.3-8">Similarly, ASBR14 also receives a BGP CT route for
        192.0.2.11:100:192.0.2.11 from PE11, and it resolves over the tunnel
        ASBR14_to_PE11_gold. The route is then readvertised by ASBR14 in the BGP
        CT family to ASBRs ASBR21 and ASBR22 according to export policy. This
        route is sent with the same NLRI RD prefix 192.0.2.11:100:192.0.2.11,
        Label B-L2, next hop set to itself, and transport-target:0:100. An MPLS swap route
        is installed at ASBR14 for B-L1 with a next hop pointing to
        ASBR14_to_PE11_gold tunnel.</t>
        <t indent="0" pn="section-8.3-9">In the Bronze plane, the BGP CT route with a Bronze SLA to endpoint PE11
        is originated by PE11 with an NLRI containing RD prefix
        192.0.2.11:200:192.0.2.11 and an appropriate label. The use of distinct
        RDs for Gold and Bronze allows both Gold and Bronze advertisements to
        traverse path-selection pinch points without any path hiding at RRs or
        ASBRs. And Route Target extended community transport-target:0:200 lets
        the route resolve over Bronze tunnels in the network, similar to the
        process being described for the Gold SLA path.</t>
        <t indent="0" pn="section-8.3-10">Moving back to the Gold plane, ASBR21 receives the Gold SLA BGP CT
        routes for NLRI RD prefix 192.0.2.11:100:192.0.2.11 over the single-hop
        EBGP sessions from ASBR13 and ASBR14 and can compute ECMP/FRR
        towards them. ASBR21 readvertises the BGP CT route for
        192.0.2.11:100:192.0.2.11 with a next hop set to itself (loopback address
        192.0.2.21) to RR27, advertising a new label: B-L3. An MPLS swap route
        is installed for label B-L3 at ASBR21 to swap to received labels B-L1 and
        B-L2 and forward to ASBR13 and ASBR14 respectively; this is an ECMP
        route. RR27 readvertises this BGP CT route to ABR23 and ABR24 with the label
        and next hop unchanged.</t>
        <t indent="0" pn="section-8.3-11">Similarly, ASBR22 receives BGP CT route 192.0.2.11:100:192.0.2.11
        over the single-hop EBGP sessions from ASBR13 and ASBR14, and it
        readvertises with the next hop set to itself (loopback address 192.0.2.22) to RR27,
        advertising a new label: B-L4. An MPLS swap route is installed for
        label B-L4 at ASBR22 to swap to received labels B-L1 and B-L2 and forward
        to ASBR13 and ASBR14, respectively. RR27 also readvertises this BGP CT route
        to ABR23 and ABR24 with the label and next hop unchanged.</t>
        <t indent="0" pn="section-8.3-12">BGP ADD-PATH is enabled for the BGP CT family on the sessions between
        RR27 and the ASBRs and ABRs such that routes for 192.0.2.11:100:192.0.2.11
        with the next hops ASBR21 and ASBR22 are reflected to ABR23 and ABR24
        without any path hiding. Thus, ABR23 is given visibility of both
        available next hops for the Gold SLA.</t>
        <t indent="0" pn="section-8.3-13">ABR23 receives the route with next hop 192.0.2.21 and label B-L3 from
        RR27. The transport-target:0:100 on this route acts as
        the Mapping Community and instructs ABR23 to strictly resolve the next
        hop using routes in TC 100 TRDB only. ABR23 is unable to find a
        route for 192.0.2.21 in the TC 100 TRDB. Thus, it considers this
        route unusable and does not propagate it further. This prunes ASBR21
        from the Gold SLA tunneled path.</t>
        <t indent="0" pn="section-8.3-14">ABR23 also receives the route with next hop 192.0.2.22 and label B-L4
        from RR27. The transport-target:0:100 on this route
        acts as the Mapping Community and instructs ABR23 to strictly resolve the
        next hop using routes in TC 100 TRDB only. ABR23 successfully
        resolves the next hop to point to ABR23_to_ASBR22_gold tunnel. ABR23
        readvertises this BGP CT route with the next hop set to itself (loopback address
        192.0.2.23) and a new label B-L5 to PE25. A swap route for B-L5 is
        installed by ABR23 to swap to label B-L4 and forward into
        ABR23_to_ASBR22_gold tunnel.</t>
        <t indent="0" pn="section-8.3-15">PE25 receives the BGP CT route for prefix 192.0.2.11:100:192.0.2.11
        with label B-L5, next hop 192.0.2.23, and transport-target:0:100 from
        RR26. It similarly resolves the next hop 192.0.2.23 over transport
        class 100, pushing labels associated with PE25_to_ABR23_gold
        tunnel.</t>
        <t indent="0" pn="section-8.3-16">In this manner, the Gold transport LSP "ASBR13_to_PE11_gold" in the
        egress domain is extended by BGP CT until the ingress node PE25 in the
        ingress domain, to create an end-to-end Gold SLA path. MPLS swap
        routes are installed at ASBR13, ASBR22, and ABR23, when propagating the
        PE11 BGP CT Gold Transport Class route 192.0.2.11:100:192.0.2.11 with
        next hop set to itself towards PE25.</t>
        <t indent="0" pn="section-8.3-17">Thus formed, the BGP CT LSP originates in PE25 and terminates in
        ASBR13 (assuming PE11 advertised Implicit NULL), traversing over the
        Gold underlay LSPs in each domain. ASBR13 uses UHP to stitch the BGP
        CT LSP into the "ASBR13_to_PE11_gold" LSP to traverse the last domain,
        thus satisfying Gold SLA end-to-end.</t>
        <t indent="0" pn="section-8.3-18">When PE25 receives service routes from RR26 with next hop
        192.0.2.11 and Mapping Community color:0:100, it resolves over this
        BGP CT route 192.0.2.11:100:192.0.2.11. Thus, pushing label B-L5 and
        pushing as the top label the labels associated with PE25_to_ABR23_gold
        tunnel.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-8.4">
        <name slugifiedName="name-data-plane-view">Data Plane View</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-8.4.1">
          <name slugifiedName="name-steady-state">Steady State</name>
          <t indent="0" pn="section-8.4.1-1">This section describes how the data plane looks in steady
          state.</t>
          <t indent="0" pn="section-8.4.1-2">CE41 transmits an IP packet with the destination 203.0.113.31. On
          receiving this packet, PE25 performs a lookup in the IP FIB
          associated with the CE41 interface. This lookup yields the service
          route that pushes the VPN service label V-L1, BGP CT label B-L5, and
          labels for PE25_to_ABR23_gold tunnel. Thus, PE25 encapsulates the IP
          packet in an MPLS packet with labels V-L1 (innermost), B-L5, and top
          label PE25_to_ABR23_gold tunnel. This MPLS packet is thus
          transmitted to ABR23 using the Gold SLA.</t>
          <t indent="0" pn="section-8.4.1-3">ABR23 decapsulates the packet received on PE25_to_ABR23_gold
          tunnel as required and finds the MPLS packet with label B-L5. It
          performs a lookup for label B-L5 in the global MPLS FIB. This yields
          the route that swaps label B-L5 with label B-L4 and pushes the top
          label provided by ABR23_to_ASBR22_gold tunnel. Thus, ABR23 transmits
          the MPLS packet with label B-L4 to ASBR22 on a tunnel that
          satisfies the Gold SLA.</t>
          <t indent="0" pn="section-8.4.1-4">ASBR22 similarly performs a lookup for label B-L4 in the global MPLS
          FIB, finds the route that swaps label B-L4 with label B-L2, and
          forwards it to ASBR13 over the directly connected MPLS-enabled
          interface. This interface is a common resource not dedicated to any
          specific Transport Class, in this example.</t>
          <t indent="0" pn="section-8.4.1-5">ASBR13 receives the MPLS packet with label B-L2 and performs a
          lookup in the MPLS FIB, finds the route that pops label B-L2, and pushes
          labels associated with ASBR13_to_PE11_gold tunnel. This transmits
          the MPLS packet with VPN label V-L1 to PE11 using a tunnel that
          preserves the Gold SLA in AS 1.</t>
          <t indent="0" pn="section-8.4.1-6">PE11 receives the MPLS packet with V-L1 and performs VPN
          forwarding, thus transmitting the original IP payload from CE41 to
          CE31. The payload has traversed path satisfying the Gold SLA
          end-to-end.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-8.4.2">
          <name slugifiedName="name-local-repair-of-primary-pat">Local Repair of Primary Path</name>
          <t indent="0" pn="section-8.4.2-1">This section describes how the data plane at ASBR22 reacts when
          the link between ASBR22 and ASBR13 experiences a failure and an
          alternate path exists.</t>
          <t indent="0" pn="section-8.4.2-2">Assuming the ASBR22_to_ASBR13 link goes down, traffic with
          a Gold SLA going to PE11 will need repair. ASBR22 has an alternate BGP CT
          route for 192.0.2.11:100:192.0.2.11 from ASBR14. This has been
          preprogrammed in forwarding by ASBR22 as an FRR backup next hop for
          label B-L4. This allows the Gold SLA traffic to be locally repaired
          at ASBR22 without the failure event propagated in the BGP CT
          network. In this case, ingress node PE25 will not know there was a
          failure, and traffic restoration will be independent of prefix scale
          (PIC).</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-8.4.3">
          <name slugifiedName="name-absorbing-failure-of-the-pr">Absorbing Failure of the Primary Path: Fallback to Best-Effort Tunnels</name>
          <t indent="0" pn="section-8.4.3-1">This section describes how the data plane reacts when a Gold path
          experiences a failure but no alternate path exists.</t>
          <t indent="0" pn="section-8.4.3-2">Assume tunnel ABR23_to_ASBR22_gold goes down, such that now no
          end-to-end Gold path exists in the network. This makes the BGP CT
          route for RD prefix 192.0.2.11:100:192.0.2.11 unusable at ABR23.
          This makes ABR23 send a BGP withdrawal for 192.0.2.11:100:192.0.2.11
          to PE25.</t>
          <t indent="0" pn="section-8.4.3-3">The withdrawal for 192.0.2.11:100:192.0.2.11 allows PE25 to react
          to the loss of the Gold path to 192.0.2.11. Assuming PE25 is
          provisioned to use a Best-Effort Transport Class as the backup path,
          this withdrawal of a BGP CT route allows PE25 to adjust the next hop
          of the VPN service route to push the labels provided by the BGP LU
          route. That repairs the traffic to go via the best-effort path. PE25
          can also be provisioned to use the Bronze Transport Class as the backup
          path. The repair will happen in similar manner in that case
          as well.</t>
          <t indent="0" pn="section-8.4.3-4">Traffic repair to absorb the failure happens at ingress node
          PE25 in a service prefix scale independent manner (PIC). The repair time will be proportional to time taken for withdrawing 
          the BGP CT route.</t>
          <t indent="0" pn="section-8.4.3-5">These examples demonstrate the various levels of fail-safe
          mechanisms available to protect traffic in a BGP CT network.</t>
        </section>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-scaling-considerations">Scaling Considerations</name>
      <section anchor="secure-propagate" numbered="true" toc="include" removeInRFC="false" pn="section-9.1">
        <name slugifiedName="name-avoiding-unintended-spread-">Avoiding Unintended Spread of BGP CT Routes Across Domains</name>
        <t indent="0" pn="section-9.1-1"><xref target="RFC8212" format="default" sectionFormat="of" derivedContent="RFC8212"/> suggests BGP speakers require explicit
          configuration of both BGP Import and Export Policies in order to
          receive or send routes over EBGP sessions.</t>
        <t indent="0" pn="section-9.1-2">It is recommended to follow this for BGP CT routes. It will
          prohibit unintended advertisement of transport routes throughout the
          BGP CT transport domain, which may span across multiple AS domains.
          This will conserve usage resources for MPLS labels and next hops in the
          network. An ASBR of a domain can be provisioned to allow routes with
          only the Transport Class RTs that are required by SNs in the
          domain.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-9.2">
        <name slugifiedName="name-constrained-distribution-of">Constrained Distribution of PNHs to SNs (On-Demand Next Hop)</name>
        <t indent="0" pn="section-9.2-1">This section describes how the number of Protocol Next Hops (PNHs)
          advertised to an SN or BN can be constrained using BGP Classful
          Transport and RTC (see <xref target="RFC4684" format="default" sectionFormat="of" derivedContent="RFC4684"/>.</t>
        <t indent="0" pn="section-9.2-2">An egress SN <bcp14>MAY</bcp14> advertise a BGP CT route for RD:eSN with two
          Route Targets: transport-target:0:&lt;TC&gt; and an RT carrying
          &lt;eSN&gt;:&lt;TC&gt;, where TC is the Transport Class identifier
          and eSN is the IP address used by the SN as BGP next hop in its service
          route advertisements.</t>
        <t indent="0" pn="section-9.2-3">Note that such use of the IP-address-specific route target
          &lt;eSN&gt;:&lt;TC&gt; is optional in a BGP CT network. It is
          required only if there is a requirement to prune the propagation of
          the transport route for an egress node eSN to only the set of
          ingress nodes that need it. When only the RT of
          transport-target:0:&lt;TC&gt; is used, the pruning happens in
          granularity of Transport Class ID (Color), not BGP next hop; a
          BGP CT route will only be advertised into a domain with at least one
          PE that imports its Transport Class.</t>
        <t indent="0" pn="section-9.2-4">The transport-target:0:&lt;TC&gt; is the new type of route target
          (Transport Class RT) defined in this document. It is carried in the BGP
          extended community attribute (attribute code 16).</t>
        <t indent="0" pn="section-9.2-5">The RT carrying &lt;eSN&gt;:&lt;TC&gt; <bcp14>MAY</bcp14> be an IP-address-specific regular RT (attribute code 16), or IPv6-address
          specific RT (attribute code 25). It should be noted that the
          Local Administrator field of these RTs can only carry two octets of
          information; thus, the &lt;TC&gt; field in this approach is
          limited to a 2-octet value. Future protocol extension work is
          needed to define a BGP CCA that can accommodate an IPv4/IPv6 address
          along with a 4-octet Local Administrator field.</t>
        <t indent="0" pn="section-9.2-6">An ingress SN <bcp14>MAY</bcp14> import BGP CT routes with a Route Target carrying
          &lt;eSN&gt;:&lt;TC&gt;. The ingress SN may learn the eSN values
          by configuration or it may discover them from the BGP next
          hop field in the BGP VPN service routes received from the eSN. A BGP
          ingress SN receiving a BGP service route with a next hop of eSN
          generates an RTC route for Route Target prefix &lt;Origin
          ASN&gt;:&lt;eSN&gt;/[80|176] in order to learn BGP CT transport
          routes to reach eSN. This allows constrained distribution of the
          transport routes to the PNHs actually required by iSN.</t>
        <t indent="0" pn="section-9.2-7">When RTC is in use, as described here, BGP CT routes will be
          constrained to follow the same path of propagation as the RTC
          routes. Therefore, a BN would learn the RTC routes advertised by
          ingress SNs and propagate further. This will allow constraining
          distribution of BGP CT routes for a PNH to only the necessary BNs in
          the network, closer to the egress SN.</t>
        <t indent="0" pn="section-9.2-8">When the path of route propagation of BGP CT routes is the same
          as the RTC routes, a BN would learn the RTC routes advertised by
          ingress SNs and propagate further. This will allow constraining
          distribution of BGP CT routes for a PNH to only the necessary BNs in
          the network, closer to the egress SN.</t>
        <t indent="0" pn="section-9.2-9">This mechanism provides "On-Demand Next Hop" of BGP CT routes,
          which helps with the scaling of MPLS forwarding state at the SN and
          BN.</t>
        <t indent="0" pn="section-9.2-10">However, the amount of state carried in RTC family may become
          proportional to the number of PNHs in the network. To strike a
          balance, the RTC route advertisements for &lt;Origin
          ASN&gt;:&lt;eSN&gt;/[80|176] <bcp14>MAY</bcp14> be confined to the BNs in the home
          region of an ingress SN, or the BNs of a super core.</t>
        <t indent="0" pn="section-9.2-11">Such a BN in the core of the network imports BGP CT routes with
          Transport-Target:0:&lt;TC&gt; and generates an RTC route for
          &lt;Origin ASN&gt;:0:&lt;TC&gt;/96, while not propagating the more
          specific RTC requests for specific PNHs. This lets the BN learn
          transport routes to all eSN nodes but confines their propagation to
          ingress SNs.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-9.3">
        <name slugifiedName="name-limiting-the-visibility-sco">Limiting the Visibility Scope of PE Loopback as PNHs</name>
        <t indent="0" pn="section-9.3-1">It may be even more desirable to limit the number of PNHs that
          are globally visible in the network. This is possible using
          the mechanism described in <xref target="Appendix_D" format="default" sectionFormat="of" derivedContent="Appendix D"/>.</t>
        <t indent="0" pn="section-9.3-2">Such that advertisement of PE loopback addresses as next hop in
          BGP service routes is confined to the region they belong to. An
          anycast IP-address called "Context Protocol Nexthop Address" (CPNH)
          abstracts the SNs in a region from other regions in the network.</t>
        <t indent="0" pn="section-9.3-3">This provides much greater advantage in terms of scaling,
          convergence and security. Changes to implement this feature are
          required only on the local region's BNs and RRs, so legacy PE
          devices can also benefit from this approach.</t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-operations-and-manageabilit">Operations and Manageability Considerations</name>
      <section anchor="mpls-oam" numbered="true" toc="include" removeInRFC="false" pn="section-10.1">
        <name slugifiedName="name-mpls-oam">MPLS OAM</name>
        <t indent="0" pn="section-10.1-1">MPLS Operations, Administration, and Maintenance (OAM) procedures specified in <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/> also
        apply to BGP CT.</t>
        <t indent="0" pn="section-10.1-2">The Target FEC Stack sub-TLV for IPv4 BGP CT has a
        Sub-Type of 31744 and a length of 13. The Value field consists of the
        RD advertised with the BGP CT prefix, the IPv4 prefix
        (with trailing 0 bits to make 32 bits in all), and a prefix length
        encoded as shown in <xref target="FECv4" format="default" sectionFormat="of" derivedContent="Figure 4"/>.</t>
        <figure anchor="FECv4" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-bgp-ct-ipv4-fec">BGP CT IPv4 FEC</name>
          <artwork align="left" name="" type="" alt="" pn="section-10.1-3.1">
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Route Distinguisher                      |
|                          (8 octets)                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         IPv4 prefix                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix Length |                 Must Be Zero                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
        </figure>
        <t indent="0" pn="section-10.1-4">The Target FEC Stack sub-TLV for IPv6 BGP CT has a
        Sub-Type of 31745 and a length of 25. The Value field consists of the
        RD advertised with the BGP CT prefix, the IPv6 prefix
        (with trailing 0 bits to make 128 bits in all) and a prefix length
        encoded as shown in <xref target="FECv6" format="default" sectionFormat="of" derivedContent="Figure 5"/>.</t>
        <figure anchor="FECv6" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-bgp-ct-ipv6-fec">BGP CT IPv6 FEC</name>
          <artwork align="left" name="" type="" alt="" pn="section-10.1-5.1">
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Route Distinguisher                      |
|                          (8 octets)                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         IPv6 prefix                           |
|                                                               |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix Length |                 Must Be Zero                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
        </figure>
        <t indent="0" pn="section-10.1-6">These prefix layouts are inherited from Sections <xref target="RFC8029" sectionFormat="bare" section="3.2.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8029#section-3.2.5" derivedContent="RFC8029"/> and <xref target="RFC8029" sectionFormat="bare" section="3.2.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8029#section-3.2.6" derivedContent="RFC8029"/> of <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/>.</t>
      </section>
      <section anchor="rd-lbl-usage" numbered="true" toc="include" removeInRFC="false" pn="section-10.2">
        <name slugifiedName="name-usage-of-rd-and-label-alloc">Usage of RD and Label-Allocation Modes</name>
        <t indent="0" pn="section-10.2-1">RDs aid in troubleshooting provider networks that deploy BGP CT, by
        uniquely identifying the originator of a route across an
        administrative domain that may either span multiple domains within a
        provider network or span closely coordinated provider networks.</t>
        <t indent="0" pn="section-10.2-2">The use of RDs also provides an option for signaling forwarding
        diversity within the same Transport Class. An SN can advertise an EP
        with the same Transport Class in multiple BGP CT routes with unique
        RDs.</t>
        <t indent="0" pn="section-10.2-3">For example, unique "RDx:EP1" prefixes can be advertised by an SN
        for an EP1 to different upstream BNs with unique forwarding-specific
        encapsulation (e.g., a Label) in order to collect traffic statistics at
        the SN for each BN. In the absence of an RD, duplicated Transport Class / Color
        values will be needed in the transport network to achieve such use
        cases.</t>
        <t indent="0" pn="section-10.2-4">The allocation of RDs is done at the point of origin of the BGP CT
        route. This can be either an egress SN or a BN. The default RD
        allocation mode is to use a unique RD per originating node for an EP.
        This mode allows for the ingress to uniquely identify each originated
        path. Alternatively, the same RD may be provisioned for multiple
        originators of the same EP. This mode can be used when the ingress
        does not require full visibility of all nodes originating an EP.</t>
        <t indent="0" pn="section-10.2-5">A label is allocated for a BGP CT route when it is advertised with
        the next hop set to itself by an SN or a BN. An implementation may use different
        label-allocation modes with BGP CT. Per-prefix is the recommended label-allocation
        mode as it provides better traffic convergence
        properties than a per-NH label-allocation mode. Furthermore, BGP
        CT offers two flavors for per-prefix label allocation:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-10.2-6">
          <li pn="section-10.2-6.1">The first
          flavor assigns a label for each unique "RD, EP".</li>
          <li pn="section-10.2-6.2">The second flavor
        assigns a label for each unique "Transport Class, EP" while ignoring
          the RD.</li>
        </ul>
        <t indent="0" pn="section-10.2-7">In a BGP CT network, the number of routes at an ingress PE is a
        function of unique EPs multiplied by BNs in the ingress domain that have the
        next hop set to themselves. BGP CT provides flexible RD and label-allocation modes
        to address operational requirements in a multi-domain network. The
        impacts on the control plane and forwarding behavior for these modes
        are detailed with an example in <xref target="CTRouteVis" format="default" sectionFormat="of" derivedContent="Section 10.3"/>.</t>
      </section>
      <section anchor="CTRouteVis" numbered="true" toc="include" removeInRFC="false" pn="section-10.3">
        <name slugifiedName="name-managing-transport-route-vi">Managing Transport-Route Visibility</name>
        <t indent="0" pn="section-10.3-1">This section details the usage of BGP CT RD and label-allocation
        modes to calibrate the level of path visibility and the amount of
        route and label scale in a multi-domain network.</t>
        <t indent="0" pn="section-10.3-2">Consider a multi-domain BGP CT network as illustrated in the
        following <xref target="MultiDomainNetwork" format="default" sectionFormat="of" derivedContent="Figure 6"/>:</t>
        <figure anchor="MultiDomainNetwork" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-managing-transport-route-vis">Managing Transport-Route Visibility in Multi-Domain Networks</name>
          <artset pn="section-10.3-3.1">
            <artwork type="svg" name="" align="left" alt="" pn="section-10.3-3.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="432" viewBox="0 0 432 400" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 80,112 L 80,176" fill="none" stroke="black"/>
                <path d="M 80,208 L 80,272" fill="none" stroke="black"/>
                <path d="M 136,80 L 136,96" fill="none" stroke="black"/>
                <path d="M 136,128 L 136,144" fill="none" stroke="black"/>
                <path d="M 136,240 L 136,256" fill="none" stroke="black"/>
                <path d="M 136,288 L 136,304" fill="none" stroke="black"/>
                <path d="M 288,128 L 288,176" fill="none" stroke="black"/>
                <path d="M 288,288 L 288,336" fill="none" stroke="black"/>
                <path d="M 136,80 L 216,80" fill="none" stroke="black"/>
                <path d="M 312,80 L 328,80" fill="none" stroke="black"/>
                <path d="M 80,112 L 112,112" fill="none" stroke="black"/>
                <path d="M 304,112 L 328,112" fill="none" stroke="black"/>
                <path d="M 136,144 L 216,144" fill="none" stroke="black"/>
                <path d="M 312,144 L 328,144" fill="none" stroke="black"/>
                <path d="M 288,176 L 328,176" fill="none" stroke="black"/>
                <path d="M 136,240 L 216,240" fill="none" stroke="black"/>
                <path d="M 312,240 L 328,240" fill="none" stroke="black"/>
                <path d="M 80,272 L 112,272" fill="none" stroke="black"/>
                <path d="M 304,272 L 328,272" fill="none" stroke="black"/>
                <path d="M 136,304 L 216,304" fill="none" stroke="black"/>
                <path d="M 312,304 L 328,304" fill="none" stroke="black"/>
                <path d="M 288,336 L 328,336" fill="none" stroke="black"/>
                <path d="M 48,368 L 128,368" fill="none" stroke="black"/>
                <path d="M 288,368 L 352,368" fill="none" stroke="black"/>
                <path d="M 304,288 L 312,304" fill="none" stroke="black"/>
                <path d="M 304,128 L 312,144" fill="none" stroke="black"/>
                <path d="M 304,96 L 312,80" fill="none" stroke="black"/>
                <path d="M 304,256 L 312,240" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="360,368 348,362.4 348,373.6" fill="black" transform="rotate(0,352,368)"/>
                <g class="text">
                  <text x="92" y="36">......................</text>
                  <text x="312" y="36">.............................</text>
                  <text x="8" y="52">:</text>
                  <text x="96" y="52">AS3</text>
                  <text x="176" y="52">:</text>
                  <text x="200" y="52">:</text>
                  <text x="312" y="52">AS1</text>
                  <text x="424" y="52">:</text>
                  <text x="8" y="68">:</text>
                  <text x="176" y="68">:</text>
                  <text x="200" y="68">:</text>
                  <text x="424" y="68">:</text>
                  <text x="8" y="84">:</text>
                  <text x="244" y="84">ASBR11</text>
                  <text x="348" y="84">PE11</text>
                  <text x="392" y="84">(EP1)</text>
                  <text x="424" y="84">:</text>
                  <text x="8" y="100">:</text>
                  <text x="176" y="100">:</text>
                  <text x="200" y="100">:</text>
                  <text x="272" y="100">\</text>
                  <text x="424" y="100">:</text>
                  <text x="8" y="116">:</text>
                  <text x="140" y="116">ASBR31</text>
                  <text x="176" y="116">:</text>
                  <text x="200" y="116">:</text>
                  <text x="288" y="116">[P]</text>
                  <text x="348" y="116">PE12</text>
                  <text x="392" y="116">(EP2)</text>
                  <text x="424" y="116">:</text>
                  <text x="8" y="132">:</text>
                  <text x="176" y="132">:</text>
                  <text x="200" y="132">:</text>
                  <text x="272" y="132">/</text>
                  <text x="424" y="132">:</text>
                  <text x="8" y="148">:</text>
                  <text x="244" y="148">ASBR12</text>
                  <text x="348" y="148">PE13</text>
                  <text x="392" y="148">(EP3)</text>
                  <text x="424" y="148">:</text>
                  <text x="8" y="164">:</text>
                  <text x="176" y="164">:</text>
                  <text x="200" y="164">:</text>
                  <text x="424" y="164">:</text>
                  <text x="8" y="180">:</text>
                  <text x="176" y="180">:</text>
                  <text x="200" y="180">:</text>
                  <text x="348" y="180">PE14</text>
                  <text x="392" y="180">(EP4)</text>
                  <text x="424" y="180">:</text>
                  <text x="8" y="196">:</text>
                  <text x="56" y="196">PE31--[P]</text>
                  <text x="176" y="196">:</text>
                  <text x="200" y="196">:</text>
                  <text x="424" y="196">:</text>
                  <text x="8" y="212">:</text>
                  <text x="176" y="212">:</text>
                  <text x="200" y="212">:</text>
                  <text x="424" y="212">:</text>
                  <text x="8" y="228">:</text>
                  <text x="176" y="228">:</text>
                  <text x="200" y="228">:</text>
                  <text x="424" y="228">:</text>
                  <text x="8" y="244">:</text>
                  <text x="244" y="244">ASBR21</text>
                  <text x="348" y="244">PE21</text>
                  <text x="392" y="244">(EP5)</text>
                  <text x="424" y="244">:</text>
                  <text x="8" y="260">:</text>
                  <text x="176" y="260">:</text>
                  <text x="200" y="260">:</text>
                  <text x="272" y="260">\</text>
                  <text x="424" y="260">:</text>
                  <text x="8" y="276">:</text>
                  <text x="140" y="276">ASBR32</text>
                  <text x="176" y="276">:</text>
                  <text x="200" y="276">:</text>
                  <text x="288" y="276">[P]</text>
                  <text x="348" y="276">PE22</text>
                  <text x="392" y="276">(EP6)</text>
                  <text x="424" y="276">:</text>
                  <text x="8" y="292">:</text>
                  <text x="176" y="292">:</text>
                  <text x="200" y="292">:</text>
                  <text x="272" y="292">/</text>
                  <text x="424" y="292">:</text>
                  <text x="8" y="308">:</text>
                  <text x="244" y="308">ASBR22</text>
                  <text x="348" y="308">PE22</text>
                  <text x="392" y="308">(EP7)</text>
                  <text x="424" y="308">:</text>
                  <text x="8" y="324">:</text>
                  <text x="176" y="324">:</text>
                  <text x="200" y="324">:</text>
                  <text x="424" y="324">:</text>
                  <text x="8" y="340">:</text>
                  <text x="176" y="340">:</text>
                  <text x="200" y="340">:</text>
                  <text x="348" y="340">PE24</text>
                  <text x="392" y="340">(EP8)</text>
                  <text x="424" y="340">:</text>
                  <text x="92" y="356">......................</text>
                  <text x="312" y="356">.............................</text>
                  <text x="168" y="372">Traffic</text>
                  <text x="240" y="372">Direction</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="" align="left" alt="" pn="section-10.3-3.1.2">
   ......................  .............................
   :         AS3        :  :            AS1            :
   :                    :  :                           :
   :               +----------ASBR11     +--PE11 (EP1) :
   :               |    :  :        \   /              :
   :        +----ASBR31 :  :         [P]----PE12 (EP2) :
   :        |      |    :  :        / | \              :
   :        |      +----------ASBR12  |  +--PE13 (EP3) :
   :        |           :  :          |                :
   :        |           :  :          +-----PE14 (EP4) :
   : PE31--[P]          :  :                           :
   :        |           :  :                           :
   :        |           :  :                           :
   :        |      +----------ASBR21     +--PE21 (EP5) :
   :        |      |    :  :        \   /              :
   :        +----ASBR32 :  :         [P]----PE22 (EP6) :
   :               |    :  :        / | \              :
   :               +----------ASBR22  |  +--PE22 (EP7) :
   :                    :  :          |                :
   :                    :  :          +-----PE24 (EP8) :
   ......................  .............................
        ----------- Traffic Direction --------&gt;
</artwork>
          </artset>
        </figure>
        <t indent="0" pn="section-10.3-4">The following table provides a comparison of the BGP CT route and
        label scale for varying endpoint-path visibility at ingress node PE31
        for each TC. It analyzes scenarios where Unicast or Anycast EPs
        (EP-type) may be originated by different node roles (Origin), using
        different RD allocation modes (RD-Modes), and different Per-Prefix
        label-allocation modes (PP-Modes).</t>
        <figure anchor="RDLabelVis" align="left" suppress-title="false" pn="figure-7">
          <name slugifiedName="name-route-and-path-visibility-a">Route and Path Visibility at Ingress Node</name>
          <artset pn="section-10.3-5.1">
            <artwork type="svg" name="" align="left" alt="" pn="section-10.3-5.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="432" viewBox="0 0 432 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,288" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,288" fill="none" stroke="black"/>
                <path d="M 136,32 L 136,288" fill="none" stroke="black"/>
                <path d="M 200,32 L 200,288" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,288" fill="none" stroke="black"/>
                <path d="M 344,32 L 344,288" fill="none" stroke="black"/>
                <path d="M 424,32 L 424,288" fill="none" stroke="black"/>
                <path d="M 8,32 L 424,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 424,64" fill="none" stroke="black"/>
                <path d="M 16,144 L 72,144" fill="none" stroke="black"/>
                <path d="M 88,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 144,144 L 192,144" fill="none" stroke="black"/>
                <path d="M 208,144 L 256,144" fill="none" stroke="black"/>
                <path d="M 272,144 L 336,144" fill="none" stroke="black"/>
                <path d="M 352,144 L 416,144" fill="none" stroke="black"/>
                <path d="M 8,288 L 424,288" fill="none" stroke="black"/>
                <g class="text">
                  <text x="40" y="52">EP-type</text>
                  <text x="108" y="52">Origin</text>
                  <text x="168" y="52">RD-Mode</text>
                  <text x="232" y="52">PP-Mode</text>
                  <text x="276" y="52">CT</text>
                  <text x="316" y="52">Routes</text>
                  <text x="356" y="52">CT</text>
                  <text x="396" y="52">Labels</text>
                  <text x="40" y="84">Unicast</text>
                  <text x="92" y="84">SN</text>
                  <text x="164" y="84">Unique</text>
                  <text x="224" y="84">TC,EP</text>
                  <text x="312" y="84">8</text>
                  <text x="384" y="84">8</text>
                  <text x="40" y="100">Unicast</text>
                  <text x="92" y="100">SN</text>
                  <text x="164" y="100">Unique</text>
                  <text x="224" y="100">RD,EP</text>
                  <text x="312" y="100">8</text>
                  <text x="384" y="100">8</text>
                  <text x="40" y="116">Unicast</text>
                  <text x="92" y="116">BN</text>
                  <text x="164" y="116">Unique</text>
                  <text x="224" y="116">TC,EP</text>
                  <text x="308" y="116">16</text>
                  <text x="384" y="116">8</text>
                  <text x="40" y="132">Unicast</text>
                  <text x="92" y="132">BN</text>
                  <text x="164" y="132">Unique</text>
                  <text x="224" y="132">RD,EP</text>
                  <text x="308" y="132">16</text>
                  <text x="380" y="132">16</text>
                  <text x="40" y="164">Anycast</text>
                  <text x="92" y="164">SN</text>
                  <text x="164" y="164">Unique</text>
                  <text x="224" y="164">TC,EP</text>
                  <text x="312" y="164">8</text>
                  <text x="384" y="164">2</text>
                  <text x="40" y="180">Anycast</text>
                  <text x="92" y="180">SN</text>
                  <text x="164" y="180">Unique</text>
                  <text x="224" y="180">RD,EP</text>
                  <text x="312" y="180">8</text>
                  <text x="384" y="180">8</text>
                  <text x="40" y="196">Anycast</text>
                  <text x="92" y="196">SN</text>
                  <text x="156" y="196">Same</text>
                  <text x="224" y="196">TC,EP</text>
                  <text x="312" y="196">2</text>
                  <text x="384" y="196">2</text>
                  <text x="40" y="212">Anycast</text>
                  <text x="92" y="212">SN</text>
                  <text x="156" y="212">Same</text>
                  <text x="224" y="212">RD,EP</text>
                  <text x="312" y="212">2</text>
                  <text x="384" y="212">2</text>
                  <text x="40" y="228">Anycast</text>
                  <text x="92" y="228">BN</text>
                  <text x="164" y="228">Unique</text>
                  <text x="224" y="228">TC,EP</text>
                  <text x="312" y="228">4</text>
                  <text x="384" y="228">2</text>
                  <text x="40" y="244">Anycast</text>
                  <text x="92" y="244">BN</text>
                  <text x="164" y="244">Unique</text>
                  <text x="224" y="244">RD,EP</text>
                  <text x="312" y="244">4</text>
                  <text x="384" y="244">4</text>
                  <text x="40" y="260">Anycast</text>
                  <text x="92" y="260">BN</text>
                  <text x="156" y="260">Same</text>
                  <text x="224" y="260">TC,EP</text>
                  <text x="312" y="260">2</text>
                  <text x="384" y="260">2</text>
                  <text x="40" y="276">Anycast</text>
                  <text x="92" y="276">BN</text>
                  <text x="156" y="276">Same</text>
                  <text x="224" y="276">RD,EP</text>
                  <text x="312" y="276">2</text>
                  <text x="384" y="276">2</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="" align="left" alt="" pn="section-10.3-5.1.2">
      +--------+------+-------+-------+---------+---------+
      |EP-type |Origin|RD-Mode|PP-Mode|CT Routes|CT Labels|
      +--------+------+-------+-------+---------+---------+
      |Unicast |SN    |Unique |TC,EP  |     8   |    8    |
      |Unicast |SN    |Unique |RD,EP  |     8   |    8    |
      |Unicast |BN    |Unique |TC,EP  |    16   |    8    |
      |Unicast |BN    |Unique |RD,EP  |    16   |   16    |
      |--------|------|-------|-------|---------|---------|
      |Anycast |SN    |Unique |TC,EP  |     8   |    2    |
      |Anycast |SN    |Unique |RD,EP  |     8   |    8    |
      |Anycast |SN    |Same   |TC,EP  |     2   |    2    |
      |Anycast |SN    |Same   |RD,EP  |     2   |    2    |
      |Anycast |BN    |Unique |TC,EP  |     4   |    2    |
      |Anycast |BN    |Unique |RD,EP  |     4   |    4    |
      |Anycast |BN    |Same   |TC,EP  |     2   |    2    |
      |Anycast |BN    |Same   |RD,EP  |     2   |    2    |
      +--------+------+-------+-------+---------+---------+
</artwork>
          </artset>
        </figure>
        <t indent="0" pn="section-10.3-6">In <xref target="RDLabelVis" format="default" sectionFormat="of" derivedContent="Figure 7"/>, route scale at
        ingress node PE31 is proportional to path diversity in the ingress domain
        (number of ASBRs) and point of origination of the BGP CT route. TE
        granularity at ingress node PE31 is proportional to the number of
        unique CT labels received, which depends on the PP-Mode and the path
        diversity in the ingress domain.</t>
        <t indent="0" pn="section-10.3-7">Deploying unique RDs is strongly <bcp14>RECOMMENDED</bcp14> because it helps in
        troubleshooting by uniquely identifying the originator of a route and
        avoids path hiding.</t>
        <t indent="0" pn="section-10.3-8">In typical deployments, originating BGP CT routes at the egress node
        (SN) is recommended. In this model, using either an "RD, EP" or "TC, EP"
        Per-Prefix label-allocation mode repairs traffic locally at the
        nearest BN for any failures in the network because the label value
        does not change.</t>
        <t indent="0" pn="section-10.3-9">Originating at BNs with unique RDs induces more routes than when
        originating at egress SNs. In this model, use of the "TC, EP" Per-Prefix
        label-allocation mode repairs traffic locally at the nearest BN for
        any failures in the network because the label value does not
        change.</t>
        <t indent="0" pn="section-10.3-10"><xref target="RDLabelVis" format="default" sectionFormat="of" derivedContent="Figure 7"/> demonstrates that
        BGP CT allows an operator to control how much path visibility and
        forwarding diversity is desired in the network for both Unicast and
        Anycast endpoints.</t>
      </section>
    </section>
    <section anchor="CTdeploy" numbered="true" toc="include" removeInRFC="false" pn="section-11">
      <name slugifiedName="name-deployment-considerations">Deployment Considerations</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-11.1">
        <name slugifiedName="name-coordination-between-domain">Coordination Between Domains Using Different Community Namespaces</name>
        <t indent="0" pn="section-11.1-1">Cooperating inter-AS option C domains may sometimes not agree on
        RT, RD, Mapping Community, or Transport Class RT values because of
        differences in community namespaces (e.g., during network mergers or
        renumbering for expansion). Such deployments may deploy mechanisms to
        map and rewrite the Route Target values on domain boundaries using
        per-ASBR import policies. This is no different than any other BGP VPN
        family. Mechanisms used in inter-AS VPN deployments may be leveraged
        with the BGP CT family also.</t>
        <t indent="0" pn="section-11.1-2">A Resolution Scheme allows association with multiple Mapping
        Communities. This minimizes service disruption during renumbering,
        network merger, or transition scenarios.</t>
        <t indent="0" pn="section-11.1-3">The Transport Class RT is useful to
        avoid collision with regular Route Target namespace used by service
        routes.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-11.2">
        <name slugifiedName="name-managing-intent-at-service-">Managing Intent at Service and Transport Layers</name>
        <t indent="0" pn="section-11.2-1"><xref target="CTProc" format="default" sectionFormat="of" derivedContent="Section 8"/>
        shows multiple domains that agree on a color namespace (Agreeing
        Color Domains) and contain tunnels with an equivalent set of colors
        (Homogenous Color Domains).</t>
        <t indent="0" pn="section-11.2-2">However, in the real world, this may not always be guaranteed. Two
        domains may independently manage their color namespaces; these are
        known as Non-Agreeing Color Domains. Two domains may have tunnels with
        unequal sets of colors; these are known as Heterogeneous Color
        Domains.</t>
        <t indent="0" pn="section-11.2-3">This section describes how BGP CT is deployed in such scenarios to
        preserve end-to-end Intent. Examples described in this section use
        inter-AS option C domains. Similar mechanisms will work for inter-AS
        option A and inter-AS option B scenarios as well.</t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-11.2.1">
          <name slugifiedName="name-service-layer-color-managem">Service Layer Color Management</name>
          <t indent="0" pn="section-11.2.1-1">At the service layer, it is recommended that a global color
          namespace be maintained across multiple cooperating domains. BGP CT
          allows indirection using Resolution Schemes to be able to maintain a
          global namespace in the service layer. This is possible even if each
          domain independently maintains its own local transport color
          namespace.</t>
          <t indent="0" pn="section-11.2.1-2">As explained in <xref target="Nexthop_Resoln_Schm" format="default" sectionFormat="of" derivedContent="Section 5"/>, a Mapping Community carried on a service
          route maps to a Resolution Scheme. The Mapping Community values for
          the service route can be abstract and are not required to match the
          transport color namespace. This abstract Mapping Community value
          representing a global service layer Intent is mapped to a local
          transport layer Intent available in each domain.</t>
          <t indent="0" pn="section-11.2.1-3">In this manner, it is recommended to keep color namespace
          management at the service layer and the transport layer decoupled
          from each other. In the following sections, the service layer agrees
          on a single global namespace.</t>
        </section>
        <section anchor="non-agreeing" numbered="true" toc="include" removeInRFC="false" pn="section-11.2.2">
          <name slugifiedName="name-non-agreeing-color-transpor">Non-Agreeing Color Transport Domains</name>
          <t indent="0" pn="section-11.2.2-1">Non-Agreeing Color Domains require a Mapping Community rewrite on
          each domain boundary. This rewrite helps to map one domain's color
          namespace to another domain's color namespace.</t>
          <t indent="0" pn="section-11.2.2-2">The following example illustrates how traffic is stitched and SLA
          is preserved when domains don't use the same namespace at the
          transport layer. Each domain specifies the same SLA using different
          color values.</t>
          <figure anchor="BGPCT_NON_AGREEING_COLOR_DOMAIN" align="left" suppress-title="false" pn="figure-8">
            <name slugifiedName="name-transport-layer-with-non-ag">Transport Layer with Non-agreeing Color Domains</name>
            <artset pn="section-11.2.2-3.1">
              <artwork type="svg" align="left" pn="section-11.2.2-3.1.1">
              <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="544" viewBox="0 0 544 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 72,80 L 96,80" fill="none" stroke="black"/>
                  <path d="M 168,80 L 184,80" fill="none" stroke="black"/>
                  <path d="M 248,80 L 288,80" fill="none" stroke="black"/>
                  <path d="M 360,80 L 376,80" fill="none" stroke="black"/>
                  <path d="M 440,80 L 480,80" fill="none" stroke="black"/>
                  <path d="M 96,192 L 176,192" fill="none" stroke="black"/>
                  <path d="M 336,192 L 400,192" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="408,192 396,186.4 396,197.6" fill="black" transform="rotate(0,400,192)"/>
                  <g class="text">
                    <text x="88" y="36">.....................</text>
                    <text x="272" y="36">.......................</text>
                    <text x="456" y="36">.....................</text>
                    <text x="8" y="52">:</text>
                    <text x="96" y="52">Gold(100)</text>
                    <text x="168" y="52">:</text>
                    <text x="184" y="52">:</text>
                    <text x="280" y="52">Gold(300)</text>
                    <text x="360" y="52">:</text>
                    <text x="376" y="52">:</text>
                    <text x="472" y="52">Gold(500)</text>
                    <text x="536" y="52">:</text>
                    <text x="8" y="68">:</text>
                    <text x="168" y="68">:</text>
                    <text x="184" y="68">:</text>
                    <text x="360" y="68">:</text>
                    <text x="376" y="68">:</text>
                    <text x="536" y="68">:</text>
                    <text x="8" y="84">:</text>
                    <text x="44" y="84">[PE11]</text>
                    <text x="132" y="84">[ASBR11]</text>
                    <text x="216" y="84">[ASBR21</text>
                    <text x="324" y="84">[ASBR22]</text>
                    <text x="408" y="84">[ASBR31</text>
                    <text x="512" y="84">[PE31]:</text>
                    <text x="8" y="100">:</text>
                    <text x="168" y="100">:</text>
                    <text x="184" y="100">:</text>
                    <text x="360" y="100">:</text>
                    <text x="376" y="100">:</text>
                    <text x="536" y="100">:</text>
                    <text x="8" y="116">:</text>
                    <text x="88" y="116">AS1</text>
                    <text x="168" y="116">:</text>
                    <text x="184" y="116">:</text>
                    <text x="280" y="116">AS2</text>
                    <text x="360" y="116">:</text>
                    <text x="376" y="116">:</text>
                    <text x="464" y="116">AS3</text>
                    <text x="536" y="116">:</text>
                    <text x="8" y="132">:</text>
                    <text x="168" y="132">:</text>
                    <text x="184" y="132">:</text>
                    <text x="360" y="132">:</text>
                    <text x="376" y="132">:</text>
                    <text x="536" y="132">:</text>
                    <text x="8" y="148">:</text>
                    <text x="104" y="148">Bronze(200)</text>
                    <text x="168" y="148">:</text>
                    <text x="184" y="148">:</text>
                    <text x="272" y="148">Bronze(400)</text>
                    <text x="360" y="148">:</text>
                    <text x="376" y="148">:</text>
                    <text x="464" y="148">Bronze(600)</text>
                    <text x="536" y="148">:</text>
                    <text x="88" y="164">.....................</text>
                    <text x="272" y="164">.......................</text>
                    <text x="456" y="164">.....................</text>
                    <text x="216" y="196">Traffic</text>
                    <text x="288" y="196">Direction</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="left" pn="section-11.2.2-3.1.2">
  ..................... ....................... .....................
  :      Gold(100)    : :       Gold(300)     : :       Gold(500)   :
  :                   : :                     : :                   :
  : [PE11]----[ASBR11]---[ASBR21------[ASBR22]---[ASBR31------[PE31]:
  :                   : :                     : :                   :
  :        AS1        : :          AS2        : :         AS3       :
  :                   : :                     : :                   :
  :      Bronze(200)  : :     Bronze(400)     : :     Bronze(600)   :
  ..................... ....................... .....................

             ----------- Traffic Direction --------&gt;
</artwork>
            </artset>
          </figure>
          <t indent="0" pn="section-11.2.2-4">In the topology shown in <xref target="BGPCT_NON_AGREEING_COLOR_DOMAIN" format="default" sectionFormat="of" derivedContent="Figure 8"/>, we have three Autonomous
          Systems. All the nodes in the topology support BGP CT.</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-11.2.2-5">
            <li pn="section-11.2.2-5.1">In AS1, the Gold SLA is represented by color 100 and Bronze by
          200.</li>
            <li pn="section-11.2.2-5.2">In AS2, the Gold SLA is represented by color 300 and Bronze by
          400.</li>
            <li pn="section-11.2.2-5.3">In AS3, the Gold SLA is represented by color 500 and Bronze by
          600.</li>
          </ul>
          <t indent="0" pn="section-11.2.2-6">Though the color values are different, they map to tunnels with
          sufficiently similar TE characteristics in each domain.</t>
          <t indent="0" pn="section-11.2.2-7">The service route carries an abstract Mapping Community that maps
          to the required SLA. For example, service routes that need to
          resolve over Gold transport tunnels carry a Mapping Community
          color:0:100500. In AS3, it maps to a Resolution Scheme containing
          TRDB with color 500; in AS2, it maps to TRDB with color 300;
          and in AS1, it maps to TRDB with color 100. Coordination is needed
          to provision the Resolution Schemes in each domain, as explained
          previously.</t>
          <t indent="0" pn="section-11.2.2-8">At the AS boundary, the Transport Class RT is rewritten
          for the BGP CT routes. In the previous topology, at ASBR31, the
          transport-target:0:500 for Gold tunnels is rewritten to
          transport-target:0:300 and then advertised to ASBR22. Similarly, the
          transport-target:0:300 for Gold tunnels are rewritten to
          transport-target:0:100 at ASBR21 before advertising to ASBR11. At
          PE11, the transport route received with transport-target:0:100 will
          be added to the color 100 TRDB. The service route received with
          Mapping Community color:0:100500 at PE1 maps to the Gold TRDB and
          resolves over this transport route.</t>
          <t indent="0" pn="section-11.2.2-9">Inter-domain traffic forwarding in the previous topology works as
          explained in <xref target="CTProc" format="default" sectionFormat="of" derivedContent="Section 8"/>.</t>
          <t indent="0" pn="section-11.2.2-10">Transport Class RT rewrite requires coordination of color values
          between domains in the transport layer. This method avoids the need
          to rewrite service route mapping communities, keeping the service
          layer homogenous and simple to manage. Coordinating Transport Class
          RT between two adjacent color domains at a time is easier than
          coordinating service layer colors deployed in a global mesh of
          non-adjacent color domains. This basically allows localizing the
          problem to a pair of adjacent color domains and solving it.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-11.2.3">
          <name slugifiedName="name-heterogeneous-agreeing-colo">Heterogeneous Agreeing Color Transport Domains</name>
          <t indent="0" pn="section-11.2.3-1">In a heterogeneous-domain scenario, it might not be possible to
          map a service layer Intent to the matching transport color, as the
          color might not be locally available in a domain.</t>
          <t indent="0" pn="section-11.2.3-2">The following example illustrates how traffic is stitched when a
          transit AS contains more shades for an SLA path compared to ingress
          and egress domains. This example shows how service routes can
          traverse through finer shades when available and take coarse shades
          otherwise.</t>
          <figure anchor="BGPCT_HETERO_COLOR_DOMAIN" align="left" suppress-title="false" pn="figure-9">
            <name slugifiedName="name-transport-layer-with-hetero">Transport Layer with Heterogeneous Color Domains</name>
            <artset pn="section-11.2.3-3.1">
              <artwork type="svg" align="left" pn="section-11.2.3-3.1.1">
              <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="544" viewBox="0 0 544 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 72,96 L 96,96" fill="none" stroke="black"/>
                  <path d="M 168,96 L 184,96" fill="none" stroke="black"/>
                  <path d="M 248,96 L 288,96" fill="none" stroke="black"/>
                  <path d="M 360,96 L 376,96" fill="none" stroke="black"/>
                  <path d="M 440,96 L 480,96" fill="none" stroke="black"/>
                  <path d="M 120,208 L 200,208" fill="none" stroke="black"/>
                  <path d="M 360,208 L 424,208" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="432,208 420,202.4 420,213.6" fill="black" transform="rotate(0,424,208)"/>
                  <g class="text">
                    <text x="88" y="36">.....................</text>
                    <text x="272" y="36">.......................</text>
                    <text x="456" y="36">.....................</text>
                    <text x="8" y="52">:</text>
                    <text x="168" y="52">:</text>
                    <text x="184" y="52">:</text>
                    <text x="276" y="52">Gold1(101)</text>
                    <text x="360" y="52">:</text>
                    <text x="376" y="52">:</text>
                    <text x="536" y="52">:</text>
                    <text x="8" y="68">:</text>
                    <text x="96" y="68">Gold(100)</text>
                    <text x="168" y="68">:</text>
                    <text x="184" y="68">:</text>
                    <text x="276" y="68">Gold2(102)</text>
                    <text x="360" y="68">:</text>
                    <text x="376" y="68">:</text>
                    <text x="464" y="68">Gold(100)</text>
                    <text x="536" y="68">:</text>
                    <text x="8" y="84">:</text>
                    <text x="168" y="84">:</text>
                    <text x="184" y="84">:</text>
                    <text x="360" y="84">:</text>
                    <text x="376" y="84">:</text>
                    <text x="536" y="84">:</text>
                    <text x="8" y="100">:</text>
                    <text x="44" y="100">[PE11]</text>
                    <text x="132" y="100">[ASBR11]</text>
                    <text x="216" y="100">[ASBR21</text>
                    <text x="324" y="100">[ASBR22]</text>
                    <text x="408" y="100">[ASBR31</text>
                    <text x="512" y="100">[PE31]:</text>
                    <text x="8" y="116">:</text>
                    <text x="168" y="116">:</text>
                    <text x="184" y="116">:</text>
                    <text x="360" y="116">:</text>
                    <text x="376" y="116">:</text>
                    <text x="536" y="116">:</text>
                    <text x="8" y="132">:</text>
                    <text x="56" y="132">Metro</text>
                    <text x="112" y="132">Ingress</text>
                    <text x="168" y="132">:</text>
                    <text x="184" y="132">:</text>
                    <text x="268" y="132">Core</text>
                    <text x="360" y="132">:</text>
                    <text x="376" y="132">:</text>
                    <text x="432" y="132">Metro</text>
                    <text x="484" y="132">Egress</text>
                    <text x="536" y="132">:</text>
                    <text x="8" y="148">:</text>
                    <text x="168" y="148">:</text>
                    <text x="184" y="148">:</text>
                    <text x="360" y="148">:</text>
                    <text x="376" y="148">:</text>
                    <text x="536" y="148">:</text>
                    <text x="8" y="164">:</text>
                    <text x="88" y="164">AS1</text>
                    <text x="168" y="164">:</text>
                    <text x="184" y="164">:</text>
                    <text x="280" y="164">AS2</text>
                    <text x="360" y="164">:</text>
                    <text x="376" y="164">:</text>
                    <text x="464" y="164">AS3</text>
                    <text x="536" y="164">:</text>
                    <text x="88" y="180">.....................</text>
                    <text x="272" y="180">.......................</text>
                    <text x="456" y="180">.....................</text>
                    <text x="240" y="212">Traffic</text>
                    <text x="312" y="212">Direction</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="left" pn="section-11.2.3-3.1.2">
  ..................... ....................... .....................
  :                   : :      Gold1(101)     : :                   :
  :      Gold(100)    : :      Gold2(102)     : :      Gold(100)    :
  :                   : :                     : :                   :
  : [PE11]----[ASBR11]---[ASBR21------[ASBR22]---[ASBR31------[PE31]:
  :                   : :                     : :                   :
  :   Metro Ingress   : :        Core         : :    Metro Egress   :
  :                   : :                     : :                   :
  :        AS1        : :          AS2        : :         AS3       :
  ..................... ....................... .....................

                ----------- Traffic Direction --------&gt;
</artwork>
            </artset>
          </figure>
          <t indent="0" pn="section-11.2.3-4">In <xref target="BGPCT_HETERO_COLOR_DOMAIN" format="default" sectionFormat="of" derivedContent="Figure 9"/>, we have three Autonomous
          Systems. All the nodes in the topology support BGP CT.</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-11.2.3-5">
            <li pn="section-11.2.3-5.1">In AS1, the Gold SLA is represented by color 100.</li>
            <li pn="section-11.2.3-5.2">In AS2, Gold has finer shades: Gold1 by color 101 and Gold2 by
          color 102.</li>
            <li pn="section-11.2.3-5.3">In AS3, the Gold SLA is represented by color 100.</li>
          </ul>
          <t indent="0" pn="section-11.2.3-6">This problem can be solved by the two approaches described in Sections <xref target="dup_tun_ap" format="counter" sectionFormat="of" derivedContent="11.2.3.1"/> and <xref target="cust_res_scheme" format="counter" sectionFormat="of" derivedContent="11.2.3.2"/>.</t>
          <section numbered="true" toc="exclude" anchor="dup_tun_ap" removeInRFC="false" pn="section-11.2.3.1">
            <name slugifiedName="name-duplicate-tunnels-approach">Duplicate Tunnels Approach</name>
            <t indent="0" pn="section-11.2.3.1-1">In this approach, duplicate tunnels that satisfy the Gold SLA are
            configured in domains AS1 and AS3, but they are given fine-grained
            colors 101 and 102.</t>
            <t indent="0" pn="section-11.2.3.1-2">These tunnels will be installed in TRDBs corresponding to
            transport classes of colors 101 and 102.</t>
            <t indent="0" pn="section-11.2.3.1-3">Overlay routes received with a Mapping Community (e.g.,
            transport-target or color community) can resolve over these
            tunnels in the TRDB with matching colors by using Resolution
            Schemes.</t>
            <t indent="0" pn="section-11.2.3.1-4">This approach consumes more resources in the transport and
            forwarding layer because of the duplicate tunnels.</t>
          </section>
          <section numbered="true" toc="exclude" anchor="cust_res_scheme" removeInRFC="false" pn="section-11.2.3.2">
            <name slugifiedName="name-customized-resolution-schem">Customized Resolution Schemes Approach</name>
            <t indent="0" pn="section-11.2.3.2-1">In this approach, Resolution Schemes in domains AS1 and AS3 are
            customized to map the received Mapping Community (e.g.,
            transport-target or color community) over available Gold SLA
            tunnels. This conserves resource usage with no additional state in
            the transport or forwarding planes.</t>
            <t indent="0" pn="section-11.2.3.2-2">Service routes advertised by PE31 that need to resolve over
            Gold1 transport tunnels carry a Mapping Community color:0:101. In
            AS3 and AS1, where Gold1 is not available, it is mapped to color
            100 TRDB using a customized Resolution Scheme. In AS2, Gold1 is
            available, and it maps to color 101 TRDB.</t>
            <t indent="0" pn="section-11.2.3.2-3">Similarly, service routes advertised by PE31 that need to
            resolve over Gold2 transport tunnels carry a Mapping Community
            color:0:102. In AS3 and AS1, where Gold2 is not available, it is
            mapped to color 100 TRDB using a customized Resolution Scheme. In
            AS2, Gold2 is available, and it maps to color 102 TRDB.</t>
            <t indent="0" pn="section-11.2.3.2-4">To facilitate this, SNs/BNs in all three ASes provision the
            transport classes 100, 101, and 102.  SNs and BNs in AS1 and AS3 are
            provisioned with customized Resolution Schemes that resolve routes
            with transport-target:0:101 or transport-target:0:102 using color
            100 TRDB.</t>
            <t indent="0" pn="section-11.2.3.2-5">PE31 is provisioned to originate BGP CT routes with color 101
            for endpoint PE31. This route is sent with an NLRI RD prefix RD1:PE31
            and Route Target extended community transport-target:0:101.</t>
            <t indent="0" pn="section-11.2.3.2-6">Similarly, PE31 is provisioned to originate BGP CT routes with
            color 102 for endpoint PE31. This route is sent with an NLRI RD
            prefix RD2:PE31 and Route Target extended community
            transport-target:0:102.</t>
            <t indent="0" pn="section-11.2.3.2-7">The following description explains the remaining procedures with
            color 101 as an example.</t>
            <t indent="0" pn="section-11.2.3.2-8">At ASBR31, the Route Target role of transport-target:0:101 on this
            BGP CT route gives instruction to add the route to color 101 TRDB. ASBR31
            is provisioned with a customized Resolution Scheme that resolves the
            routes carrying Mapping Community transport-target:0:101 to
            resolve using color 100 TRDB. This route is then readvertised
            from color 101 TRDB to ASBR22 with route-target:0:101.</t>
            <t indent="0" pn="section-11.2.3.2-9">At ASBR22, the BGP CT routes received with
            transport-target:0:101 will be added to color 101 TRDB and
            strictly resolve over tunnel routes in the same TRDB. This route
            is readvertised to ASBR21 with transport-target:0:101.</t>
            <t indent="0" pn="section-11.2.3.2-10">Similarly, at ASBR21, the BGP CT routes received with
            transport-target:0:101 will be added to color 101 TRDB and
            strictly resolve over tunnel routes in the same TRDB. This route
            is readvertised to ASBR11 with transport-target:0:101.</t>
            <t indent="0" pn="section-11.2.3.2-11">At ASBR11, the Route Target role of transport-target:0:101 on this
            BGP CT route gives instruction to add the route to color 101 TRDB. ASBR11
            is provisioned with a customized Resolution Scheme that resolves
            the routes carrying transport-target:0:101 to use color 100 TRDB.
            This route is then readvertised from color 101 TRDB to PE11 with
            transport-target:0:101.</t>
            <t indent="0" pn="section-11.2.3.2-12">At PE11, the Route Target role of transport-target:0:101 on this BGP
            CT route gives instruction to add the route to color 101 TRDB. PE11 is
            provisioned with a customized Resolution Scheme that resolves the
            routes carrying transport-target:0:101 to use color 100 TRDB.</t>
            <t indent="0" pn="section-11.2.3.2-13">When PE11 receives the service route with the Mapping Community
            color:0:101, it directly resolves over the BGP CT route in color
            101 TRDB, which, in turn, resolves over tunnel routes in color 100
            TRDB.</t>
            <t indent="0" pn="section-11.2.3.2-14">Similar processing is done for color 102 routes also at ASBR31,
            ASBR22, ASBR21, ASBR11, and PE11.</t>
            <t indent="0" pn="section-11.2.3.2-15">In doing so, PE11 can forward traffic via tunnels with color
            101, color 102 in the core domain and color 100 in the metro
            domains.</t>
          </section>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-11.3">
        <name slugifiedName="name-migration-scenarios">Migration Scenarios</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-11.3.1">
          <name slugifiedName="name-bgp-ct-islands-connected-vi">BGP CT Islands Connected via BGP LU Domain</name>
          <t indent="0" pn="section-11.3.1-1">This section explains how an end-to-end SLA can be achieved while
          transiting a domain that does not support BGP CT. BGP LU is used in
          such domains to connect the BGP CT islands.</t>
          <figure anchor="BGPCTIsles" align="left" suppress-title="false" pn="figure-10">
            <name slugifiedName="name-bgp-ct-in-as1-and-as3-conne">BGP CT in AS1 and AS3 Connected by BGP LU in AS2</name>
            <artset pn="section-11.3.1-2.1">
              <artwork type="svg" name="" align="left" alt="" pn="section-11.3.1-2.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="520" viewBox="0 0 520 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 104,32 L 104,64" fill="none" stroke="black"/>
                  <path d="M 424,32 L 424,64" fill="none" stroke="black"/>
                  <path d="M 104,32 L 184,32" fill="none" stroke="black"/>
                  <path d="M 320,32 L 424,32" fill="none" stroke="black"/>
                  <path d="M 48,80 L 80,80" fill="none" stroke="black"/>
                  <path d="M 144,80 L 200,80" fill="none" stroke="black"/>
                  <path d="M 264,80 L 280,80" fill="none" stroke="black"/>
                  <path d="M 344,80 L 392,80" fill="none" stroke="black"/>
                  <path d="M 456,80 L 472,80" fill="none" stroke="black"/>
                  <path d="M 128,112 L 144,112" fill="none" stroke="black"/>
                  <path d="M 208,112 L 224,112" fill="none" stroke="black"/>
                  <path d="M 328,112 L 344,112" fill="none" stroke="black"/>
                  <path d="M 408,112 L 424,112" fill="none" stroke="black"/>
                  <path d="M 24,128 L 40,128" fill="none" stroke="black"/>
                  <path d="M 104,128 L 120,128" fill="none" stroke="black"/>
                  <path d="M 224,128 L 240,128" fill="none" stroke="black"/>
                  <path d="M 304,128 L 320,128" fill="none" stroke="black"/>
                  <path d="M 400,128 L 416,128" fill="none" stroke="black"/>
                  <path d="M 480,128 L 496,128" fill="none" stroke="black"/>
                  <path d="M 120,160 L 184,160" fill="none" stroke="black"/>
                  <path d="M 328,160 L 400,160" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="504,128 492,122.4 492,133.6" fill="black" transform="rotate(0,496,128)"/>
                  <polygon class="arrowhead" points="432,112 420,106.4 420,117.6" fill="black" transform="rotate(0,424,112)"/>
                  <polygon class="arrowhead" points="408,160 396,154.4 396,165.6" fill="black" transform="rotate(0,400,160)"/>
                  <polygon class="arrowhead" points="408,128 396,122.4 396,133.6" fill="black" transform="rotate(180,400,128)"/>
                  <polygon class="arrowhead" points="336,112 324,106.4 324,117.6" fill="black" transform="rotate(180,328,112)"/>
                  <polygon class="arrowhead" points="328,128 316,122.4 316,133.6" fill="black" transform="rotate(0,320,128)"/>
                  <polygon class="arrowhead" points="232,128 220,122.4 220,133.6" fill="black" transform="rotate(180,224,128)"/>
                  <polygon class="arrowhead" points="232,112 220,106.4 220,117.6" fill="black" transform="rotate(0,224,112)"/>
                  <polygon class="arrowhead" points="136,112 124,106.4 124,117.6" fill="black" transform="rotate(180,128,112)"/>
                  <polygon class="arrowhead" points="128,128 116,122.4 116,133.6" fill="black" transform="rotate(0,120,128)"/>
                  <polygon class="arrowhead" points="32,128 20,122.4 20,133.6" fill="black" transform="rotate(180,24,128)"/>
                  <g class="text">
                    <text x="204" y="36">EBGP</text>
                    <text x="260" y="36">Multihop</text>
                    <text x="308" y="36">CT</text>
                    <text x="64" y="68">AS3</text>
                    <text x="272" y="68">AS2</text>
                    <text x="464" y="68">AS1</text>
                    <text x="24" y="84">[PE31</text>
                    <text x="112" y="84">ASBR31]</text>
                    <text x="232" y="84">[ASBR22</text>
                    <text x="312" y="84">ASBR21]</text>
                    <text x="424" y="84">[ASBR11</text>
                    <text x="496" y="84">PE11]</text>
                    <text x="164" y="116">EBGP</text>
                    <text x="196" y="116">LU</text>
                    <text x="364" y="116">EBGP</text>
                    <text x="396" y="116">LU</text>
                    <text x="60" y="132">IBGP</text>
                    <text x="92" y="132">CT</text>
                    <text x="260" y="132">IBGP</text>
                    <text x="292" y="132">LU</text>
                    <text x="436" y="132">IBGP</text>
                    <text x="468" y="132">CT</text>
                    <text x="216" y="164">Traffic</text>
                    <text x="288" y="164">Direction</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" name="" align="left" alt="" pn="section-11.3.1-2.1.2">
            +----------EBGP Multihop CT-------------+
            |                                       |
      AS3   |                   AS2                 |   AS1
[PE31-----ASBR31]--------[ASBR22---ASBR21]-------[ASBR11---PE11]

               &lt;--EBGP LU--&gt;            &lt;--EBGP LU--&gt;
  &lt;--IBGP CT--&gt;            &lt;--IBGP LU--&gt;         &lt;--IBGP CT--&gt;

              ---------Traffic Direction---------&gt;
</artwork>
            </artset>
          </figure>
          <t indent="0" pn="section-11.3.1-3">In the preceding topology shown in <xref target="BGPCTIsles" format="default" sectionFormat="of" derivedContent="Figure 10"/>,
          there are three AS domains: AS1 and AS3 support BGP CT, while AS2
          does not support BGP CT.</t>
          <t indent="0" pn="section-11.3.1-4">Nodes in AS1, AS2, and AS3 negotiate BGP LU family on IBGP
          sessions within the domain. Nodes in AS1 and AS3 negotiate BGP CT
          family on IBGP sessions within the domain. ASBR11 and ASBR21 as well
          as ASBR22 and ASBR31 negotiate BGP LU family on the EBGP session
          over directly connected inter-domain links. ASBR11 and ASBR31 have
          reachability to each other's loopbacks through BGP LU. ASBR11
          and ASBR31 negotiate BGP CT family over a multihop EBGP session
          formed using BGP LU reachability.</t>
          <t indent="0" pn="section-11.3.1-5">The following tunnels exist for the Gold Transport Class</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-11.3.1-6">
            <li pn="section-11.3.1-6.1">
              <t indent="0" pn="section-11.3.1-6.1.1">PE11_to_ASBR11_gold - RSVP-TE tunnel</t>
            </li>
            <li pn="section-11.3.1-6.2">
              <t indent="0" pn="section-11.3.1-6.2.1">ASBR11_to_PE11_gold - RSVP-TE tunnel</t>
            </li>
            <li pn="section-11.3.1-6.3">
              <t indent="0" pn="section-11.3.1-6.3.1">PE31_to_ASBR31_gold - SRTE tunnel</t>
            </li>
            <li pn="section-11.3.1-6.4">
              <t indent="0" pn="section-11.3.1-6.4.1">ASBR31_to_PE31_gold - SRTE tunnel</t>
            </li>
          </ul>
          <t indent="0" pn="section-11.3.1-7">The following tunnels exist for the Bronze Transport Class</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-11.3.1-8">
            <li pn="section-11.3.1-8.1">
              <t indent="0" pn="section-11.3.1-8.1.1">PE11_to_ASBR11_bronze - RSVP-TE tunnel</t>
            </li>
            <li pn="section-11.3.1-8.2">
              <t indent="0" pn="section-11.3.1-8.2.1">ASBR11_to_PE11_bronze - RSVP-TE tunnel</t>
            </li>
            <li pn="section-11.3.1-8.3">
              <t indent="0" pn="section-11.3.1-8.3.1">PE31_to_ASBR31_bronze - SRTE tunnel</t>
            </li>
            <li pn="section-11.3.1-8.4">
              <t indent="0" pn="section-11.3.1-8.4.1">ASBR31_to_PE31_bronze - SRTE tunnel</t>
            </li>
          </ul>
          <t indent="0" pn="section-11.3.1-9">These tunnels are provisioned to belong to Transport Classes Gold
          and Bronze, and they are advertised between ASBR31 and ASBR11 with the next
          hop set to themselves.</t>
          <t indent="0" pn="section-11.3.1-10">In AS2, which does not support BGP CT, a separate loopback may be
          used on ASBR22 and ASBR21 to represent Gold and Bronze SLAs, namely
          ASBR22_lpbk_gold, ASBR22_lpbk_bronze, ASBR21_lpbk_gold, and
          ASBR21_lpbk_bronze.</t>
          <t indent="0" pn="section-11.3.1-11">Furthermore, the following tunnels exist in AS2 to satisfy the
          different SLAs using per-SLA-loopback endpoints:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-11.3.1-12">
            <li pn="section-11.3.1-12.1">
              <t indent="0" pn="section-11.3.1-12.1.1">ASBR21_to_ASBR22_lpbk_gold - RSVP-TE tunnel</t>
            </li>
            <li pn="section-11.3.1-12.2">
              <t indent="0" pn="section-11.3.1-12.2.1">ASBR22_to_ASBR21_lpbk_gold - RSVP-TE tunnel</t>
            </li>
            <li pn="section-11.3.1-12.3">
              <t indent="0" pn="section-11.3.1-12.3.1">ASBR21_to_ASBR22_lpbk_bronze - RSVP-TE tunnel</t>
            </li>
            <li pn="section-11.3.1-12.4">
              <t indent="0" pn="section-11.3.1-12.4.1">ASBR22_to_ASBR21_lpbk_bronze - RSVP-TE tunnel</t>
            </li>
          </ul>
          <t indent="0" pn="section-11.3.1-13">The RD:PE11 BGP CT route is originated from PE11 towards ASBR11 with
          transport-target 'gold.' ASBR11 readvertises this route with the next
          hop set to ASBR11_lpbk_gold on the EBGP multihop session towards
          ASBR31. ASBR11 originates a BGP LU route for endpoint ASBR11_lpbk_gold
          on an EBGP session to ASBR21 with a 'gold SLA' community and a BGP LU
          route for ASBR11_lpbk_bronze with a 'bronze SLA' community. The SLA
          community is used by ASBR31 to publish the BGP LU routes in the
          corresponding BGP CT TRDBs.</t>
          <t indent="0" pn="section-11.3.1-14">ASBR21 readvertises the BGP LU route for endpoint
          ASBR11_lpbk_gold to ASBR22 with the next hop set by local policy config
          to the unique loopback ASBR21_lpbk_gold by matching the 'gold SLA'
          community received as part of BGP LU advertisement from ASBR11.
          ASBR22 receives this route and resolves the next hop over the
          ASBR22_to_ASBR21_lpbk_gold RSVP-TE tunnel. On successful resolution,
          ASBR22 readvertises this BGP LU route to ASBR31 with the next hop set to itself
          and a new label.</t>
          <t indent="0" pn="section-11.3.1-15">ASBR31 adds the ASBR11_lpbk_gold route received via EBGP LU from
          ASBR22 to a 'gold' TRDB based on the received 'gold SLA' community.
          ASBR31 uses this 'gold' TRDB route to resolve the next hop
          ASBR11_lpbk_gold received on the BGP CT route with transport-target
          'gold,' for the prefix RD:PE11 received over the EBGP multihop CT
          session, thus preserving the end-to-end SLA. Now ASBR31 readvertises
          the BGP CT route for RD:PE11 with the next hop set to itself, thus stitching
          with the BGP LU LSP in AS2. Intra-domain traffic forwarding in AS1
          and AS3 follows the procedures as explained in <xref target="CTProc" format="default" sectionFormat="of" derivedContent="Section 8"/>.</t>
          <t indent="0" pn="section-11.3.1-16">In cases where an SLA cannot be preserved in AS2 because SLA-specific
          tunnels and loopbacks don't exist in AS2, traffic can be
          carried over available SLAs (e.g., best-effort SLA) by rewriting the
          next hop to an ASBR21 loopback assigned to the available SLA. This
          eases migration in case of a heterogeneous color domain as well.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-11.3.2">
          <name slugifiedName="name-bgp-ct-interoperability-bet">BGP CT: Interoperability Between MPLS and Other Forwarding Technologies</name>
          <t indent="0" pn="section-11.3.2-1">This section describes how nodes supporting dissimilar
          encapsulation technologies can interoperate when
          using the BGP CT family.</t>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-11.3.2.1">
            <name slugifiedName="name-interoperation-between-mpls">Interoperation Between MPLS and SRv6 Nodes</name>
            <t indent="0" pn="section-11.3.2.1-1">BGP speakers may carry MPLS labels and SRv6 SIDs in BGP CT SAFI
            76 for AFI 1 or 2 routes using protocol encoding as described in
            <xref target="CTMultiEncap" format="default" sectionFormat="of" derivedContent="Section 6.3"/>.</t>
            <t indent="0" pn="section-11.3.2.1-2">MPLS labels are carried using the encoding described in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>, and SRv6 SIDs
            are carried using the Prefix-SID attribute as specified in <xref target="SRv6-Support" format="default" sectionFormat="of" derivedContent="Section 7.13"/>.</t>
            <figure anchor="BGPCT_MPLS_SRV6" align="left" suppress-title="false" pn="figure-11">
              <name slugifiedName="name-bgp-ct-interoperation-betwe">BGP CT Interoperation Between MPLS and SRv6 Nodes</name>
              <artset pn="section-11.3.2.1-3.1">
                <artwork type="svg" name="" align="left" alt="" pn="section-11.3.2.1-3.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="336" viewBox="0 0 336 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 136,48 L 136,64" fill="none" stroke="black"/>
                    <path d="M 136,96 L 136,112" fill="none" stroke="black"/>
                    <path d="M 80,32 L 104,32" fill="none" stroke="black"/>
                    <path d="M 136,48 L 192,48" fill="none" stroke="black"/>
                    <path d="M 72,80 L 128,80" fill="none" stroke="black"/>
                    <path d="M 144,80 L 192,80" fill="none" stroke="black"/>
                    <path d="M 136,112 L 192,112" fill="none" stroke="black"/>
                    <path d="M 24,144 L 56,144" fill="none" stroke="black"/>
                    <path d="M 248,144 L 288,144" fill="none" stroke="black"/>
                    <path d="M 104,32 L 124,72" fill="none" stroke="black"/>
                    <polygon class="arrowhead" points="296,144 284,138.4 284,149.6" fill="black" transform="rotate(0,288,144)"/>
                    <polygon class="arrowhead" points="32,144 20,138.4 20,149.6" fill="black" transform="rotate(180,24,144)"/>
                    <g class="text">
                      <text x="64" y="36">RR1</text>
                      <text x="204" y="52">R2</text>
                      <text x="248" y="52">[MPLS</text>
                      <text x="280" y="52">+</text>
                      <text x="312" y="52">SRv6]</text>
                      <text x="60" y="84">R1</text>
                      <text x="136" y="84">P</text>
                      <text x="204" y="84">R3</text>
                      <text x="248" y="84">[MPLS</text>
                      <text x="296" y="84">only]</text>
                      <text x="24" y="100">[MPLS</text>
                      <text x="56" y="100">+</text>
                      <text x="88" y="100">SRv6]</text>
                      <text x="204" y="116">R4</text>
                      <text x="248" y="116">[SRv6</text>
                      <text x="296" y="116">only]</text>
                      <text x="120" y="148">Bidirectional</text>
                      <text x="208" y="148">Traffic</text>
                    </g>
                  </svg>
                </artwork>
                <artwork type="ascii-art" name="" align="left" alt="" pn="section-11.3.2.1-3.1.2">
          RR1---+
                 \  +-------R2  [MPLS + SRv6]
                  \ |
          R1--------P-------R3  [MPLS only]
    [MPLS + SRv6]   |
                    +-------R4  [SRv6 only]

      &lt;---- Bidirectional Traffic -----&gt;
</artwork>
              </artset>
            </figure>
            <t indent="0" pn="section-11.3.2.1-4">This example shows a provider network with a mix of devices
            that have different forwarding capabilities. R1 and R2 support
            forwarding both MPLS and SRv6 packets. R3 supports forwarding MPLS
            packets only. R4 supports forwarding SRv6 packets only. All these
            nodes have a BGP session with Route Reflector RR1, which reflects
            routes between these nodes with the next hop unchanged. The BGP CT family
            is negotiated on these sessions.</t>
            <t indent="0" pn="section-11.3.2.1-5">R1 and R2 send and receive both MPLS labels and SRv6 SIDs in the
            BGP CT control plane routes. This allows them to be ingress and
            egress for both MPLS and SRv6 data planes. The MPLS label is carried
            using the encoding described in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>, and an SRv6 SID is carried using the Prefix-SID
            attribute as specified in <xref target="SRv6-Support" format="default" sectionFormat="of" derivedContent="Section 7.13"/> without the 
            Transposition Scheme. In this way, either MPLS or SRv6 forwarding
            can be used between R1 and R2.</t>
            <t indent="0" pn="section-11.3.2.1-6">R1 and R3 send and receive an MPLS label in the BGP CT control
            plane routes using the encoding described in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>. This allows them to be
            ingress and egress for MPLS data plane. R1 will carry an SRv6 SID in
            the Prefix-SID attribute, which will not be used by R3. In order to
            interoperate with MPLS-only device R3, R1 <bcp14>MUST NOT</bcp14> use the SRv6
            Transposition Scheme described in <xref target="RFC9252" format="default" sectionFormat="of" derivedContent="RFC9252"/>. The
            encoding suggested in <xref target="SRv6-Support" format="default" sectionFormat="of" derivedContent="Section 7.13"/> is used by R1.
            MPLS forwarding will be used between R1 and R3.</t>
            <t indent="0" pn="section-11.3.2.1-7">R1 and R4 send and receive SRv6 SIDs in the BGP CT control plane
            routes using the BGP Prefix-SID attribute, without a Transposition
            Scheme. This allows them to be ingress and egress for the SRv6 data
            plane. R4 will carry the special MPLS label with a value of 3
            (Implicit NULL) in the encoding described in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>, which tells R1 not to push
            any MPLS label for this BGP CT route towards R4. The MPLS label
            advertised by R1 in an NLRI as described in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> will not be used by R4. SRv6
            forwarding will be used between R1 and R4.</t>
            <t indent="0" pn="section-11.3.2.1-8">Note that, in this example, R3 and R4 cannot communicate directly
            with each other because they don't support a common forwarding
            technology. The BGP CT routes received at R3 and R4 from each other
            will remain unusable due to incompatible forwarding
            technology.</t>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-11.3.2.2">
            <name slugifiedName="name-interop-between-nodes-suppo">Interop Between Nodes Supporting MPLS and UDP Tunneling</name>
            <t indent="0" pn="section-11.3.2.2-1">This section describes how nodes supporting MPLS forwarding can
            interoperate with other nodes supporting UDP (or IP) tunneling
            when using BGP CT family.</t>
            <t indent="0" pn="section-11.3.2.2-2">MPLS labels are carried using the encoding described in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>, and UDP (or
            IP) tunneling information is carried using the TEA attribute or the
            Encapsulation extended community as specified in <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>.</t>
            <figure anchor="BGPCT_MPLS_UDP" align="left" suppress-title="false" pn="figure-12">
              <name slugifiedName="name-bgp-ct-interop-between-mpls">BGP CT Interop Between MPLS and UDP Tunneling Nodes</name>
              <artset pn="section-11.3.2.2-3.1">
                <artwork type="svg" name="" align="left" alt="" pn="section-11.3.2.2-3.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="328" viewBox="0 0 328 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 136,48 L 136,64" fill="none" stroke="black"/>
                    <path d="M 136,96 L 136,112" fill="none" stroke="black"/>
                    <path d="M 80,32 L 104,32" fill="none" stroke="black"/>
                    <path d="M 136,48 L 192,48" fill="none" stroke="black"/>
                    <path d="M 72,80 L 128,80" fill="none" stroke="black"/>
                    <path d="M 144,80 L 192,80" fill="none" stroke="black"/>
                    <path d="M 136,112 L 192,112" fill="none" stroke="black"/>
                    <path d="M 24,144 L 56,144" fill="none" stroke="black"/>
                    <path d="M 248,144 L 288,144" fill="none" stroke="black"/>
                    <path d="M 104,32 L 124,72" fill="none" stroke="black"/>
                    <polygon class="arrowhead" points="296,144 284,138.4 284,149.6" fill="black" transform="rotate(0,288,144)"/>
                    <polygon class="arrowhead" points="32,144 20,138.4 20,149.6" fill="black" transform="rotate(180,24,144)"/>
                    <g class="text">
                      <text x="64" y="36">RR1</text>
                      <text x="204" y="52">R2</text>
                      <text x="248" y="52">[MPLS</text>
                      <text x="280" y="52">+</text>
                      <text x="308" y="52">UDP]</text>
                      <text x="60" y="84">R1</text>
                      <text x="136" y="84">P</text>
                      <text x="204" y="84">R3</text>
                      <text x="248" y="84">[MPLS</text>
                      <text x="296" y="84">only]</text>
                      <text x="24" y="100">[MPLS</text>
                      <text x="56" y="100">+</text>
                      <text x="84" y="100">UDP]</text>
                      <text x="204" y="116">R4</text>
                      <text x="244" y="116">[UDP</text>
                      <text x="288" y="116">only]</text>
                      <text x="120" y="148">Bidirectional</text>
                      <text x="208" y="148">Traffic</text>
                    </g>
                  </svg>
                </artwork>
                <artwork type="ascii-art" name="" align="left" alt="" pn="section-11.3.2.2-3.1.2">
                      RR1---+
                             \  +-------R2  [MPLS + UDP]
                              \ |
                      R1--------P-------R3  [MPLS only]
                [MPLS + UDP]    |
                                +-------R4  [UDP only]

                  &lt;---- Bidirectional Traffic -----&gt;
</artwork>
              </artset>
            </figure>
            <t indent="0" pn="section-11.3.2.2-4">In this example, R1 and R2 support forwarding both MPLS and UDP
            tunneled packets. R3 supports forwarding MPLS packets only. R4
            supports forwarding UDP tunneled packets only. All these nodes
            have BGP session with Route Reflector RR1, which reflects routes
            between these nodes with the next hop unchanged. The BGP CT family is
            negotiated on these sessions.</t>
            <t indent="0" pn="section-11.3.2.2-5">R1 and R2 send and receive both MPLS labels and UDP tunneling
            info in the BGP CT control plane routes. This allows them to be
            ingress and egress for both MPLS and UDP tunneling data planes.
            The MPLS label is carried using the encoding described in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>. As specified in
            <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>, UDP tunneling information is carried
            using the Tunnel Encapsulation Attribute (attribute code 23) or the "barebones" Tunnel TLV
            carried in Encapsulation extended community. Either MPLS or UDP
            tunnel forwarding can be used between R1 and R2.</t>
            <t indent="0" pn="section-11.3.2.2-6">R1 and R3 send and receive MPLS labels in the BGP CT control
            plane routes using the encoding described in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>. This allows them to be
            ingress and egress for MPLS data plane. R1 will carry UDP
            tunneling info in the TEA, which will not be used by R3.
            MPLS forwarding will be used between R1 and R3.</t>
            <t indent="0" pn="section-11.3.2.2-7">R1 and R4 send and receive UDP tunneling info in the BGP CT
            control plane routes using the BGP TEA. This allows them to
            be ingress and egress for UDP tunneled data plane. R4 will carry
            MPLS special label 3 (Implicit NULL) in the encoding described in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>,
            which tells R1 not to push any MPLS label for this BGP
            CT route towards R4. The MPLS label advertised by R1 will not be
            used by R4. UDP tunneled forwarding will be used between R1 and
            R4.</t>
            <t indent="0" pn="section-11.3.2.2-8">Note that, in this example, R3 and R4 cannot communicate
            directly with each other because they don't support a common
            forwarding technology. The BGP CT routes received at R3 and R4
            from each other will remain unusable due to incompatible
            forwarding technology.</t>
          </section>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-11.4">
        <name slugifiedName="name-mtu-considerations">MTU Considerations</name>
        <t indent="0" pn="section-11.4-1">Operators should coordinate the MTU of the intra-domain tunnels
        used to prevent Path MTU discovery problems that could appear in
        deployments. The encapsulation overhead due to the MPLS label stack or
        equivalent tunnel header in different forwarding architecture should
        also be considered when determining the Path MTU of the end-to-end BGP
        CT tunnel.</t>
        <t indent="0" pn="section-11.4-2"><xref target="I-D.ietf-intarea-tunnels" format="default" sectionFormat="of" derivedContent="INTAREA-TUNNELS"/> discusses these
        considerations in more detail.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-11.5">
        <name slugifiedName="name-use-of-dscp">Use of DSCP</name>
        <t indent="0" pn="section-11.5-1">BGP CT specifies procedures for Intent-Driven Service Mapping in a
        service provider network and defines the 'Transport Class' construct to
        represent an Intent.</t>
        <t indent="0" pn="section-11.5-2">It may be desirable to allow a CE device to indicate in the data
        packet it sends what treatment it desires (the Intent) when the packet
        is forwarded within the provider network.</t>
        <t indent="0" pn="section-11.5-3">Such an indication can be in the form of a DSCP (see <xref target="RFC2474" format="default" sectionFormat="of" derivedContent="RFC2474"/>) in the IP header.</t>
        <t indent="0" pn="section-11.5-4">In <xref target="RFC2474" format="default" sectionFormat="of" derivedContent="RFC2474"/>, a Forwarding Class Selector maps to a PHB (Per-hop
        Behavior). The Transport Class construct is a PHB at the transport
        layer.</t>
        <figure anchor="Intent_PE_CE" align="left" suppress-title="false" pn="figure-13">
          <name slugifiedName="name-example-topology-with-dscp-">Example Topology with DSCP on PE-CE Links</name>
          <artset pn="section-11.5-5.1">
            <artwork type="svg" name="" align="left" alt="" pn="section-11.5-5.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="128" width="432" viewBox="0 0 432 128" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 152,32 L 176,32" fill="none" stroke="black"/>
                <path d="M 216,32 L 256,32" fill="none" stroke="black"/>
                <path d="M 96,48 L 128,48" fill="none" stroke="black"/>
                <path d="M 176,48 L 192,48" fill="none" stroke="black"/>
                <path d="M 224,48 L 248,48" fill="none" stroke="black"/>
                <path d="M 296,48 L 328,48" fill="none" stroke="black"/>
                <path d="M 152,64 L 168,64" fill="none" stroke="black"/>
                <path d="M 224,64 L 256,64" fill="none" stroke="black"/>
                <path d="M 96,96 L 128,96" fill="none" stroke="black"/>
                <path d="M 272,96 L 304,96" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="312,96 300,90.4 300,101.6" fill="black" transform="rotate(0,304,96)"/>
                <polygon class="arrowhead" points="264,64 252,58.4 252,69.6" fill="black" transform="rotate(0,256,64)"/>
                <polygon class="arrowhead" points="264,32 252,26.4 252,37.6" fill="black" transform="rotate(0,256,32)"/>
                <g class="text">
                  <text x="196" y="36">Gold</text>
                  <text x="72" y="52">[CE1]</text>
                  <text x="152" y="52">[PE1]</text>
                  <text x="208" y="52">[P]</text>
                  <text x="272" y="52">[PE2]</text>
                  <text x="352" y="52">[CE2]</text>
                  <text x="196" y="68">Bronze</text>
                  <text x="52" y="84">203.0.113.11</text>
                  <text x="380" y="84">203.0.113.22</text>
                  <text x="160" y="100">Traffic</text>
                  <text x="232" y="100">direction</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="" align="left" alt="" pn="section-11.5-5.1.2">
                      ----Gold-----&gt;
          [CE1]-----[PE1]---[P]----[PE2]-----[CE2]
                      ---Bronze----&gt;
    203.0.113.11                             203.0.113.22
               -----Traffic direction----&gt;
</artwork>
          </artset>
        </figure>
        <t indent="0" pn="section-11.5-6">Let PE1 be configured to map DSCP1 to the Gold TC and
        DSCP2 to the Bronze TC. Based on the DSCP received
        on the IP traffic from the CE device, PE1 forwards the IP packet over a
        Gold or Bronze TC tunnel. Thus, the forwarding is not based on just
        the destination IP address but also the DSCP. This is
        known as Class-Based Forwarding (CBF).</t>
        <t indent="0" pn="section-11.5-7">CBF is configured at the PE1 device, mapping the DSCP values to
        respective Transport Classes. This mapping (DSCP peering agreement) is
        communicated to CE devices by out-of-band mechanisms. This allows the
        administrator of CE1 to discover what Transport Classes exist in the
        provider network and which DSCP to encode so that traffic
        is forwarded using the desired Transport Class in the provided
        network. When the IP packet exits the provider network to CE2, PE2
        resets the DSCP based on the DSCP peering agreement with
        CE2.</t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-12">
      <name slugifiedName="name-applicability-to-network-sl">Applicability to Network Slicing</name>
      <t indent="0" pn="section-12-1">In Network Slicing, the IETF Network Slice Controller (NSC) is
      responsible for customizing and setting up the underlying transport
      (e.g., RSVP-TE, SRTE tunnels with desired characteristics) and resources
      (e.g., policies/shapers) in a transport network to create an IETF Network
      Slice.</t>
      <t indent="0" pn="section-12-2">The Transport Class construct described in this document can be used
      to realize the "IETF Network Slice" described in <xref target="RFC9543" sectionFormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9543#section-4" derivedContent="RFC9543"/>.</t>
      <t indent="0" pn="section-12-3">The NSC can use the Transport Class Identifier (Color value) to
      provision a transport tunnel in a specific IETF Network Slice.</t>
      <t indent="0" pn="section-12-4">Furthermore, the NSC can use the Mapping Community on the service
      route to map traffic to the desired IETF Network Slice.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-13">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-13.1">
        <name slugifiedName="name-new-bgp-safi">New BGP SAFI</name>
        <t indent="0" pn="section-13.1-1">IANA has assigned BGP SAFI code 76 for the "Classful Transport (CT)" SAFI.</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-13.1-2">
          <dt pn="section-13.1-2.1">Registry Group:</dt>
          <dd pn="section-13.1-2.2">Subsequent Address Family Identifiers (SAFI) Parameters</dd>
          <dt pn="section-13.1-2.3">Registry Name:</dt>
          <dd pn="section-13.1-2.4">
            <t indent="0" pn="section-13.1-2.4.1">SAFI Values</t>
            <table align="center" pn="table-1">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Value</th>
                  <th align="left" colspan="1" rowspan="1">Description</th>
                  <th align="left" colspan="1" rowspan="1">Reference</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">76</td>
                  <td align="left" colspan="1" rowspan="1">Classful Transport (CT)</td>
                  <td align="left" colspan="1" rowspan="1">RFC 9832</td>
                </tr>
              </tbody>
            </table>
          </dd>
        </dl>
        <t indent="0" pn="section-13.1-3">This will be used to create new AFI/SAFI pairs for IPv4 and IPv6
        BGP CT families, namely:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-13.1-4">
          <li pn="section-13.1-4.1">
            <t indent="0" pn="section-13.1-4.1.1">IPv4 BGP CT: AFI/SAFI = 1/76, for carrying IPv4 prefixes.</t>
          </li>
          <li pn="section-13.1-4.2">
            <t indent="0" pn="section-13.1-4.2.1">IPv6 BGP CT: AFI/SAFI = 2/76, for carrying IPv6 prefixes.</t>
          </li>
        </ul>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-13.2">
        <name slugifiedName="name-new-format-for-bgp-extended">New Format for BGP Extended Community</name>
        <t indent="0" pn="section-13.2-1">IANA has assigned a Format type (Type high = 0xa) of Extended
        Community <xref target="RFC4360" format="default" sectionFormat="of" derivedContent="RFC4360"/> for the Transport Class
        from the following registries in the "Border Gateway Protocol (BGP) Extended Communities" registry group:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-13.2-2">
          <li pn="section-13.2-2.1">
            <t indent="0" pn="section-13.2-2.1.1">the "BGP Transitive Extended Community Types" registry and</t>
          </li>
          <li pn="section-13.2-2.2">
            <t indent="0" pn="section-13.2-2.2.1">the "BGP Non-Transitive Extended Community Types" registry.</t>
          </li>
        </ul>
        <t indent="0" pn="section-13.2-3">The same low-order six bits have been assigned for both
        allocations.</t>
        <t indent="0" pn="section-13.2-4">This document uses this new Format with subtype 0x2 (route target),
        as a transitive extended community. The Route Target thus formed is
        called "Transport Class Route Target extended community".</t>
        <t indent="0" pn="section-13.2-5">The non-transitive Transport Class extended community with subtype
        0x2 (route target) is called the "Non-Transitive Transport Class Route
        Target extended community".</t>
        <t indent="0" pn="section-13.2-6">Following <xref target="RFC7153" format="default" sectionFormat="of" derivedContent="RFC7153"/>,
        assignments in the following subsections have been made.</t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-13.2.1">
          <name slugifiedName="name-existing-registries">Existing Registries</name>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-13.2.1.1">
            <name slugifiedName="name-registries-for-the-type-fie">Registries for the "Type" Field</name>
            <section anchor="tc-rt-t" numbered="true" toc="exclude" removeInRFC="false" pn="section-13.2.1.1.1">
              <name slugifiedName="name-transitive-types">Transitive Types</name>
              <t indent="0" pn="section-13.2.1.1.1-1">This registry contains values of the high-order octet (the
              "Type" field) of a Transitive Extended Community.</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-13.2.1.1.1-2">
                <dt pn="section-13.2.1.1.1-2.1">Registry Group:</dt>
                <dd pn="section-13.2.1.1.1-2.2">Border Gateway Protocol (BGP) Extended Communities</dd>
                <dt pn="section-13.2.1.1.1-2.3">Registry Name:</dt>
                <dd pn="section-13.2.1.1.1-2.4">
                  <t indent="0" pn="section-13.2.1.1.1-2.4.1">BGP Transitive Extended Community Types</t>
                  <table align="center" pn="table-2">
                    <thead>
                      <tr>
                        <th align="left" colspan="1" rowspan="1">Type Value</th>
                        <th align="left" colspan="1" rowspan="1">Name</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td align="left" colspan="1" rowspan="1">0x0a</td>
                        <td align="left" colspan="1" rowspan="1">Transport Class</td>
                      </tr>
                    </tbody>
                  </table>
                  <t indent="0" pn="section-13.2.1.1.1-2.4.3">(Sub-Types are defined in the "Transitive Transport Class Extended Community Sub-Types" registry.)</t>
                </dd>
              </dl>
            </section>
            <section anchor="tc-rt-nt" numbered="true" toc="exclude" removeInRFC="false" pn="section-13.2.1.1.2">
              <name slugifiedName="name-non-transitive-types">Non-Transitive Types</name>
              <t indent="0" pn="section-13.2.1.1.2-1">This registry contains values of the high-order octet (the
              "Type" field) of a Non-Transitive Extended Community.</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-13.2.1.1.2-2">
                <dt pn="section-13.2.1.1.2-2.1">Registry Group:</dt>
                <dd pn="section-13.2.1.1.2-2.2">Border Gateway Protocol (BGP) Extended Communities</dd>
                <dt pn="section-13.2.1.1.2-2.3">Registry Name:</dt>
                <dd pn="section-13.2.1.1.2-2.4">
                  <t indent="0" pn="section-13.2.1.1.2-2.4.1">BGP Non-Transitive Extended Community Types</t>
                  <table align="center" pn="table-3">
                    <thead>
                      <tr>
                        <th align="left" colspan="1" rowspan="1">Type Value</th>
                        <th align="left" colspan="1" rowspan="1">Name</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td align="left" colspan="1" rowspan="1">0x4a</td>
                        <td align="left" colspan="1" rowspan="1">Non-Transitive Transport Class</td>
                      </tr>
                    </tbody>
                  </table>
                  <t indent="0" pn="section-13.2.1.1.2-2.4.3">(Sub-Types are defined in the "Non-Transitive Transport
		Class Extended Community Sub-Types" registry.)</t>
                </dd>
              </dl>
            </section>
          </section>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-13.2.2">
          <name slugifiedName="name-new-registries">New Registries</name>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-13.2.2.1">
            <name slugifiedName="name-transitive-transport-class-">Transitive Transport Class Extended Community Sub-Types Registry</name>
            <t indent="0" pn="section-13.2.2.1-1">IANA has added the following subregistry under the
            "Border Gateway Protocol (BGP) Extended
            Communities" registry group:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-13.2.2.1-2">
              <dt pn="section-13.2.2.1-2.1">Registry Group:</dt>
              <dd pn="section-13.2.2.1-2.2">Border Gateway Protocol (BGP) Extended Communities</dd>
              <dt pn="section-13.2.2.1-2.3">Registry Name:</dt>
              <dd pn="section-13.2.2.1-2.4">Transitive Transport Class Extended Community Sub-Types</dd>
            </dl>
            <t indent="0" pn="section-13.2.2.1-3">Note: This registry contains values of the second octet (the
	    "Sub-Type" field) of an extended community when the value of the
	    first octet (the "Type" field) is 0x0a.</t>
            <table align="center" pn="table-4">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Range</th>
                  <th align="left" colspan="1" rowspan="1">Registration Procedure</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">0x00-0xbf</td>
                  <td align="left" colspan="1" rowspan="1">First Come First Served</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">0xc0-0xff</td>
                  <td align="left" colspan="1" rowspan="1">IETF Review</td>
                </tr>
              </tbody>
            </table>
            <table align="center" pn="table-5">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Sub-Type Value</th>
                  <th align="left" colspan="1" rowspan="1">Name</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">0x02</td>
                  <td align="left" colspan="1" rowspan="1">Route Target</td>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-13.2.2.2">
            <name slugifiedName="name-non-transitive-transport-cl">Non-Transitive Transport Class Extended Community Sub-Types Registry</name>
            <t indent="0" pn="section-13.2.2.2-1">IANA has added the following subregistry under the
            "Border Gateway Protocol (BGP) Extended
            Communities" registry group:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-13.2.2.2-2">
              <dt pn="section-13.2.2.2-2.1">Registry Group:</dt>
              <dd pn="section-13.2.2.2-2.2">Border Gateway Protocol (BGP) Extended Communities</dd>
              <dt pn="section-13.2.2.2-2.3">Registry Name:</dt>
              <dd pn="section-13.2.2.2-2.4">Non-Transitive Transport Class Extended Community Sub-Types</dd>
            </dl>
            <t indent="0" pn="section-13.2.2.2-3">Note: This registry contains values of the second octet (the
	    "Sub-Type" field) of an extended community when the value of the
	    first octet (the "Type" field) is 0x4a.</t>
            <table align="center" pn="table-6">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Range</th>
                  <th align="left" colspan="1" rowspan="1">Registration Procedure</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">0x00-0xbf</td>
                  <td align="left" colspan="1" rowspan="1">First Come First Served</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">0xc0-0xff</td>
                  <td align="left" colspan="1" rowspan="1">IETF Review</td>
                </tr>
              </tbody>
            </table>
            <table align="center" pn="table-7">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Sub-Type Value</th>
                  <th align="left" colspan="1" rowspan="1">Name</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">0x02</td>
                  <td align="left" colspan="1" rowspan="1">Route Target</td>
                </tr>
              </tbody>
            </table>
          </section>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-13.3">
        <name slugifiedName="name-mpls-oam-code-points">MPLS OAM Code Points</name>
        <t indent="0" pn="section-13.3-1">The following two code points have been assigned for Target FEC
        Stack sub-TLVs:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-13.3-2">
          <li pn="section-13.3-2.1">
            <t indent="0" pn="section-13.3-2.1.1">IPv4 BGP Classful Transport</t>
          </li>
          <li pn="section-13.3-2.2">
            <t indent="0" pn="section-13.3-2.2.1">IPv6 BGP Classful Transport</t>
          </li>
        </ul>
        <dl spacing="normal" newline="false" indent="3" pn="section-13.3-3">
          <dt pn="section-13.3-3.1">Registry Group:</dt>
          <dd pn="section-13.3-3.2">Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters</dd>
          <dt pn="section-13.3-3.3">Registry Name:</dt>
          <dd pn="section-13.3-3.4">
            <t indent="0" pn="section-13.3-3.4.1">Sub-TLVs for TLV Types 1, 16, and 21</t>
            <table align="center" pn="table-8">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Sub-Type</th>
                  <th align="left" colspan="1" rowspan="1">Name</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">31744</td>
                  <td align="left" colspan="1" rowspan="1">IPv4 BGP Classful Transport</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">31745</td>
                  <td align="left" colspan="1" rowspan="1">IPv6 BGP Classful Transport</td>
                </tr>
              </tbody>
            </table>
          </dd>
        </dl>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-14">
      <name slugifiedName="name-transport-class-id-registry">Transport Class ID Registry</name>
      <t indent="0" pn="section-14-1">This RFC documents the "Transport Class ID" registry and its assigned values.  The value ranges in this registry are either assigned by this document or reserved for Private Use.  Because the registry is complete, it is being published in this RFC rather than as an IANA-maintained registry.  However, note that IANA-related terminology <xref target="BCP26" format="default" sectionFormat="of" derivedContent="BCP26"/> is used here.</t>
      <t indent="0" pn="section-14-2">Registry Name: Transport Class ID</t>
      <t indent="0" pn="section-14-3">The Registration Procedures are as follows:</t>
      <table align="center" pn="table-9">
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Value</th>
            <th align="left" colspan="1" rowspan="1">Registration Procedure</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">0</td>
            <td align="left" colspan="1" rowspan="1">IETF Review</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">1-4294967295</td>
            <td align="left" colspan="1" rowspan="1">Private Use</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-14-5">As shown in the table below, the Transport Class ID value 0 is Reserved to represent the "Best-Effort Transport Class ID".  This is used in the 'Transport Class ID' field of a Transport Class RT that represents the Best-Effort Transport Class.</t>
      <table align="center" pn="table-10">
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Value</th>
            <th align="left" colspan="1" rowspan="1">Name</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">0</td>
            <td align="left" colspan="1" rowspan="1">Best-Effort Transport Class ID</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">1-4294967295</td>
            <td align="left" colspan="1" rowspan="1">Private Use</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-14-7">As noted in Sections <xref target="tc" format="counter" sectionFormat="of" derivedContent="4"/> and <xref target="bgp-att" format="counter" sectionFormat="of" derivedContent="7.10"/>, 'Transport Class ID' is
        interchangeable with 'Color'. For purposes of backward compatibility
        with usage of a 'Color' field in a Color extended community as specified
        in <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/> and <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>, the range 1-4294967295 uses
        'Private Use' as the Registration Procedure.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-15">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-15-1">This document uses the mechanisms from <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/> to define new
      BGP address families (AFI/SAFI : 1/76 and 2/76) that carry transport layer
      endpoints. These address families are explicitly configured and
      negotiated between BGP speakers, which confines the propagation scope of
      this reachability information. These routes stay in the part of network 
      where the new address family is negotiated and don't leak out into 
      the Internet. </t>
      <t indent="0" pn="section-15-2">Furthermore, procedures defined in <xref target="secure-propagate" format="default" sectionFormat="of" derivedContent="Section 9.1"/> mitigate 
      the risk of unintended propagation of BGP CT routes across inter-AS
      boundaries even when a BGP CT family is negotiated. BGP import and export policies 
      are used to control the BGP CT reachability information exchanged across AS boundaries.
      This mitigates the risk of advertising internal loopback addresses outside the 
      administrative control of the provider network. </t>
      <t indent="0" pn="section-15-3">This document does not change the underlying security issues inherent
      in the existing BGP protocol, such as those described in <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/> and <xref target="RFC4272" format="default" sectionFormat="of" derivedContent="RFC4272"/>.</t>
      <t indent="0" pn="section-15-4">Additionally, BGP sessions <bcp14>SHOULD</bcp14> be protected using the TCP
      Authentication Option <xref target="RFC5925" format="default" sectionFormat="of" derivedContent="RFC5925"/> and the Generalized TTL
      Security Mechanism <xref target="RFC5082" format="default" sectionFormat="of" derivedContent="RFC5082"/>.</t>
      <t indent="0" pn="section-15-5">Using a separate BGP family and new RT (Transport Class RT) minimizes
      the possibility of these routes mixing with service routes.</t>
      <t indent="0" pn="section-15-6">If redistributing between SAFI 76 and SAFI 4 routes for AFIs 1 or 2,
      there is a possibility of SAFI 4 routes mixing with SAFI 1 service
      routes. To avoid such scenarios, it is <bcp14>RECOMMENDED</bcp14> that implementations
      support keeping SAFI 76 and SAFI 4 transport routes in separate
      transport RIBs, distinct from service RIB that contain SAFI 1 service
      routes.</t>
      <t indent="0" pn="section-15-7">BGP CT routes distribute label binding using <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>
      for the MPLS data plane; hence, its security considerations apply.</t>
      <t indent="0" pn="section-15-8">BGP CT routes distribute SRv6 SIDs for SRv6 data planes; hence,
      the security considerations of <xref target="RFC9252" sectionFormat="of" section="9.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9252#section-9.3" derivedContent="RFC9252"/>
      apply. Moreover, the SRv6 SID Transposition Scheme is disabled in BGP CT, as
      described in <xref target="SRv6-Support" format="default" sectionFormat="of" derivedContent="Section 7.13"/>, to mitigate the risk of
      misinterpreting transposed SRv6 SID information as an MPLS label.</t>
      <t indent="0" pn="section-15-9">As <xref target="RFC4272" format="default" sectionFormat="of" derivedContent="RFC4272"/> discusses, BGP is vulnerable to
      traffic-diversion attacks. This SAFI route adds a new means by which an
      attacker could cause the traffic to be diverted from its normal path.
      Potential consequences include "hijacking" of traffic (insertion of an
      undesired node in the path, which allows for inspection or modification
      of traffic, or avoidance of security controls) or denial of service
      (directing traffic to a node that doesn't desire to receive it).</t>
      <t indent="0" pn="section-15-10">In order to mitigate the risk of the diversion of traffic from its
      intended destination, BGPsec solutions (<xref target="RFC8205" format="default" sectionFormat="of" derivedContent="RFC8205"/> and
      Origin Validation <xref target="RFC8210" format="default" sectionFormat="of" derivedContent="RFC8210"/><xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/>) may
      be extended in future to work for non-Internet SAFIs (SAFIs other than
      1).</t>
      <t indent="0" pn="section-15-11">The restriction of the applicability of the BGP CT SAFI 76 to its
      intended well-defined scope and utilizing <xref target="RFC8212" format="default" sectionFormat="of" derivedContent="RFC8212"/> limits
      the likelihood of traffic diversions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-idr-bgp-ct-srv6" to="BGP-CT-SRv6"/>
    <displayreference target="I-D.ietf-idr-bgp-fwd-rr" to="BGP-FWD-RR"/>
    <displayreference target="I-D.ietf-idr-multinexthop-attribute" to="MNH"/>
    <displayreference target="I-D.ietf-idr-flowspec-redirect-ip" to="FLOWSPEC-REDIR-IP"/>
    <displayreference target="I-D.kaliraj-bess-bgp-mpls-namespaces" to="MPLS-NS"/>
    <displayreference target="I-D.hr-spring-intentaware-routing-using-color" to="Intent-Routing-Color"/>
    <displayreference target="I-D.ietf-pce-pcep-color" to="PCEP-RSVP-COLOR"/>
    <displayreference target="I-D.ietf-pce-segment-routing-policy-cp" to="PCEP-SRPOLICY"/>
    <displayreference target="I-D.gredler-idr-bgplu-epe" to="BGP-LU-EPE"/>
    <displayreference target="I-D.ietf-intarea-tunnels" to="INTAREA-TUNNELS"/>
    <references pn="section-16">
      <name slugifiedName="name-references">References</name>
      <references pn="section-16.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC2474" target="https://www.rfc-editor.org/info/rfc2474" quoteTitle="true" derivedAnchor="RFC2474">
          <front>
            <title>Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers</title>
            <author fullname="K. Nichols" initials="K." surname="Nichols"/>
            <author fullname="S. Blake" initials="S." surname="Blake"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="December" year="1998"/>
            <abstract>
              <t indent="0">This document defines the IP header field, called the DS (for differentiated services) field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2474"/>
          <seriesInfo name="DOI" value="10.17487/RFC2474"/>
        </reference>
        <reference anchor="RFC2545" target="https://www.rfc-editor.org/info/rfc2545" quoteTitle="true" derivedAnchor="RFC2545">
          <front>
            <title>Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing</title>
            <author fullname="P. Marques" initials="P." surname="Marques"/>
            <author fullname="F. Dupont" initials="F." surname="Dupont"/>
            <date month="March" year="1999"/>
            <abstract>
              <t indent="0">BGP-4 Multiprotocol Extensions (BGP-MP) defines the format of two BGP attributes (MP_REACH_NLRI and MP_UNREACH_NLRI) that can be used to announce and withdraw the announcement of reachability information. This document defines how compliant systems should make use of those attributes for the purpose of conveying IPv6 routing information. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2545"/>
          <seriesInfo name="DOI" value="10.17487/RFC2545"/>
        </reference>
        <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271" quoteTitle="true" derivedAnchor="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 indent="0">This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t indent="0">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 indent="0">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 indent="0">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="RFC4272" target="https://www.rfc-editor.org/info/rfc4272" quoteTitle="true" derivedAnchor="RFC4272">
          <front>
            <title>BGP Security Vulnerabilities Analysis</title>
            <author fullname="S. Murphy" initials="S." surname="Murphy"/>
            <date month="January" year="2006"/>
            <abstract>
              <t indent="0">Border Gateway Protocol 4 (BGP-4), along with a host of other infrastructure protocols designed before the Internet environment became perilous, was originally designed with little consideration for protection of the information it carries. There are no mechanisms internal to BGP that protect against attacks that modify, delete, forge, or replay data, any of which has the potential to disrupt overall network routing behavior.</t>
              <t indent="0">This document discusses some of the security issues with BGP routing data dissemination. This document does not discuss security issues with forwarding of packets. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4272"/>
          <seriesInfo name="DOI" value="10.17487/RFC4272"/>
        </reference>
        <reference anchor="RFC4360" target="https://www.rfc-editor.org/info/rfc4360" quoteTitle="true" derivedAnchor="RFC4360">
          <front>
            <title>BGP Extended Communities Attribute</title>
            <author fullname="S. Sangli" initials="S." surname="Sangli"/>
            <author fullname="D. Tappan" initials="D." surname="Tappan"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t indent="0">This document describes the "extended community" BGP-4 attribute. This attribute provides a mechanism for labeling information carried in BGP-4. These labels can be used to control the distribution of this information, or for other applications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4360"/>
          <seriesInfo name="DOI" value="10.17487/RFC4360"/>
        </reference>
        <reference anchor="RFC4364" target="https://www.rfc-editor.org/info/rfc4364" quoteTitle="true" derivedAnchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t indent="0">This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="RFC4659" target="https://www.rfc-editor.org/info/rfc4659" quoteTitle="true" derivedAnchor="RFC4659">
          <front>
            <title>BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN</title>
            <author fullname="J. De Clercq" initials="J." surname="De Clercq"/>
            <author fullname="D. Ooms" initials="D." surname="Ooms"/>
            <author fullname="M. Carugi" initials="M." surname="Carugi"/>
            <author fullname="F. Le Faucheur" initials="F." surname="Le Faucheur"/>
            <date month="September" year="2006"/>
            <abstract>
              <t indent="0">This document describes a method by which a Service Provider may use its packet-switched backbone to provide Virtual Private Network (VPN) services for its IPv6 customers. This method reuses, and extends where necessary, the "BGP/MPLS IP VPN" method for support of IPv6. In BGP/MPLS IP VPN, "Multiprotocol BGP" is used for distributing IPv4 VPN routes over the service provider backbone, and MPLS is used to forward IPv4 VPN packets over the backbone. This document defines an IPv6 VPN address family and describes the corresponding IPv6 VPN route distribution in "Multiprotocol BGP".</t>
              <t indent="0">This document defines support of the IPv6 VPN service over both an IPv4 and an IPv6 backbone, and for using various tunneling techniques over the core, including MPLS, IP-in-IP, Generic Routing Encapsulation (GRE) and IPsec protected tunnels. The inter-working between an IPv4 site and an IPv6 site is outside the scope of this document. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4659"/>
          <seriesInfo name="DOI" value="10.17487/RFC4659"/>
        </reference>
        <reference anchor="RFC4684" target="https://www.rfc-editor.org/info/rfc4684" quoteTitle="true" derivedAnchor="RFC4684">
          <front>
            <title>Constrained Route Distribution for Border Gateway Protocol/MultiProtocol Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual Private Networks (VPNs)</title>
            <author fullname="P. Marques" initials="P." surname="Marques"/>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <author fullname="L. Fang" initials="L." surname="Fang"/>
            <author fullname="L. Martini" initials="L." surname="Martini"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="J. Guichard" initials="J." surname="Guichard"/>
            <date month="November" year="2006"/>
            <abstract>
              <t indent="0">This document defines Multi-Protocol BGP (MP-BGP) procedures that allow BGP speakers to exchange Route Target reachability information. This information can be used to build a route distribution graph in order to limit the propagation of Virtual Private Network (VPN) Network Layer Reachability Information (NLRI) between different autonomous systems or distinct clusters of the same autonomous system. This document updates RFC 4364. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4684"/>
          <seriesInfo name="DOI" value="10.17487/RFC4684"/>
        </reference>
        <reference anchor="RFC4760" target="https://www.rfc-editor.org/info/rfc4760" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC5082" target="https://www.rfc-editor.org/info/rfc5082" quoteTitle="true" derivedAnchor="RFC5082">
          <front>
            <title>The Generalized TTL Security Mechanism (GTSM)</title>
            <author fullname="V. Gill" initials="V." surname="Gill"/>
            <author fullname="J. Heasley" initials="J." surname="Heasley"/>
            <author fullname="D. Meyer" initials="D." surname="Meyer"/>
            <author fullname="P. Savola" initials="P." role="editor" surname="Savola"/>
            <author fullname="C. Pignataro" initials="C." surname="Pignataro"/>
            <date month="October" year="2007"/>
            <abstract>
              <t indent="0">The use of a packet's Time to Live (TTL) (IPv4) or Hop Limit (IPv6) to verify whether the packet was originated by an adjacent node on a connected link has been used in many recent protocols. This document generalizes this technique. This document obsoletes Experimental RFC 3682. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5082"/>
          <seriesInfo name="DOI" value="10.17487/RFC5082"/>
        </reference>
        <reference anchor="RFC5925" target="https://www.rfc-editor.org/info/rfc5925" quoteTitle="true" derivedAnchor="RFC5925">
          <front>
            <title>The TCP Authentication Option</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <date month="June" year="2010"/>
            <abstract>
              <t indent="0">This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5). TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5. TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints. The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes. TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously. TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5925"/>
          <seriesInfo name="DOI" value="10.17487/RFC5925"/>
        </reference>
        <reference anchor="RFC6811" target="https://www.rfc-editor.org/info/rfc6811" quoteTitle="true" derivedAnchor="RFC6811">
          <front>
            <title>BGP Prefix Origin Validation</title>
            <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="January" year="2013"/>
            <abstract>
              <t indent="0">To help reduce well-known threats against BGP including prefix mis- announcing and monkey-in-the-middle attacks, one of the security requirements is the ability to validate the origination Autonomous System (AS) of BGP routes. More specifically, one needs to validate that the AS number claiming to originate an address prefix (as derived from the AS_PATH attribute of the BGP route) is in fact authorized by the prefix holder to do so. This document describes a simple validation mechanism to partially satisfy this requirement. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6811"/>
          <seriesInfo name="DOI" value="10.17487/RFC6811"/>
        </reference>
        <reference anchor="RFC7153" target="https://www.rfc-editor.org/info/rfc7153" quoteTitle="true" derivedAnchor="RFC7153">
          <front>
            <title>IANA Registries for BGP Extended Communities</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="March" year="2014"/>
            <abstract>
              <t indent="0">This document reorganizes the IANA registries for the type values and sub-type values of the BGP Extended Communities attribute and the BGP IPv6-Address-Specific Extended Communities attribute. This is done in order to remove interdependencies among the registries, thus making it easier for IANA to determine which codepoints are available for assignment in which registries. This document also clarifies the information that must be provided to IANA when requesting an allocation from one or more of these registries. These changes are compatible with the existing allocations and thus do not affect protocol implementations. The changes will, however, impact the "IANA Considerations" sections of future protocol specifications. This document updates RFC 4360 and RFC 5701.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7153"/>
          <seriesInfo name="DOI" value="10.17487/RFC7153"/>
        </reference>
        <reference anchor="RFC7606" target="https://www.rfc-editor.org/info/rfc7606" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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="RFC7911" target="https://www.rfc-editor.org/info/rfc7911" quoteTitle="true" derivedAnchor="RFC7911">
          <front>
            <title>Advertisement of Multiple Paths in BGP</title>
            <author fullname="D. Walton" initials="D." surname="Walton"/>
            <author fullname="A. Retana" initials="A." surname="Retana"/>
            <author fullname="E. Chen" initials="E." surname="Chen"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <date month="July" year="2016"/>
            <abstract>
              <t indent="0">This document defines a BGP extension that allows the advertisement of multiple paths for the same address prefix without the new paths implicitly replacing any previous ones. The essence of the extension is that each path is identified by a Path Identifier in addition to the address prefix.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7911"/>
          <seriesInfo name="DOI" value="10.17487/RFC7911"/>
        </reference>
        <reference anchor="RFC8029" target="https://www.rfc-editor.org/info/rfc8029" quoteTitle="true" derivedAnchor="RFC8029">
          <front>
            <title>Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures</title>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="N. Kumar" initials="N." surname="Kumar"/>
            <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <date month="March" year="2017"/>
            <abstract>
              <t indent="0">This document describes a simple and efficient mechanism to detect data-plane failures in Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs). It defines a probe message called an "MPLS echo request" and a response message called an "MPLS echo reply" for returning the result of the probe. The MPLS echo request is intended to contain sufficient information to check correct operation of the data plane and to verify the data plane against the control plane, thereby localizing faults.</t>
              <t indent="0">This document obsoletes RFCs 4379, 6424, 6829, and 7537, and updates RFC 1122.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8029"/>
          <seriesInfo name="DOI" value="10.17487/RFC8029"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8212" target="https://www.rfc-editor.org/info/rfc8212" quoteTitle="true" derivedAnchor="RFC8212">
          <front>
            <title>Default External BGP (EBGP) Route Propagation Behavior without Policies</title>
            <author fullname="J. Mauch" initials="J." surname="Mauch"/>
            <author fullname="J. Snijders" initials="J." surname="Snijders"/>
            <author fullname="G. Hankins" initials="G." surname="Hankins"/>
            <date month="July" year="2017"/>
            <abstract>
              <t indent="0">This document updates RFC 4271 by defining the default behavior of a BGP speaker when there is no Import or Export Policy associated with an External BGP session.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8212"/>
          <seriesInfo name="DOI" value="10.17487/RFC8212"/>
        </reference>
        <reference anchor="RFC8277" target="https://www.rfc-editor.org/info/rfc8277" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8669" target="https://www.rfc-editor.org/info/rfc8669" quoteTitle="true" derivedAnchor="RFC8669">
          <front>
            <title>Segment Routing Prefix Segment Identifier Extensions for BGP</title>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <author fullname="A. Sreekantiah" initials="A." surname="Sreekantiah"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <date month="December" year="2019"/>
            <abstract>
              <t indent="0">Segment Routing (SR) leverages the source-routing paradigm. A node steers a packet through an ordered list of instructions called "segments". A segment can represent any instruction, topological or service based. The ingress node prepends an SR header to a packet containing a set of segment identifiers (SIDs). Each SID represents a topological or service-based instruction. Per-flow state is maintained only on the ingress node of the SR domain. An "SR domain" is defined as a single administrative domain for global SID assignment.</t>
              <t indent="0">This document defines an optional, transitive BGP attribute for announcing information about BGP Prefix Segment Identifiers (BGP Prefix-SIDs) and the specification for SR-MPLS SIDs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8669"/>
          <seriesInfo name="DOI" value="10.17487/RFC8669"/>
        </reference>
        <reference anchor="RFC9012" target="https://www.rfc-editor.org/info/rfc9012" quoteTitle="true" derivedAnchor="RFC9012">
          <front>
            <title>The BGP Tunnel Encapsulation Attribute</title>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="G. Van de Velde" initials="G." surname="Van de Velde"/>
            <author fullname="S. Sangli" initials="S." surname="Sangli"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <date month="April" year="2021"/>
            <abstract>
              <t indent="0">This document defines a BGP path attribute known as the "Tunnel Encapsulation attribute", which can be used with BGP UPDATEs of various Subsequent Address Family Identifiers (SAFIs) to provide information needed to create tunnels and their corresponding encapsulation headers. It provides encodings for a number of tunnel types, along with procedures for choosing between alternate tunnels and routing packets into tunnels.</t>
              <t indent="0">This document obsoletes RFC 5512, which provided an earlier definition of the Tunnel Encapsulation attribute. RFC 5512 was never deployed in production. Since RFC 5566 relies on RFC 5512, it is likewise obsoleted. This document updates RFC 5640 by indicating that the Load-Balancing Block sub-TLV may be included in any Tunnel Encapsulation attribute where load balancing is desired.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9012"/>
          <seriesInfo name="DOI" value="10.17487/RFC9012"/>
        </reference>
        <reference anchor="RFC9252" target="https://www.rfc-editor.org/info/rfc9252" quoteTitle="true" derivedAnchor="RFC9252">
          <front>
            <title>BGP Overlay Services Based on Segment Routing over IPv6 (SRv6)</title>
            <author fullname="G. Dawra" initials="G." role="editor" surname="Dawra"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Zhuang" initials="S." surname="Zhuang"/>
            <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>
            <date month="July" year="2022"/>
            <abstract>
              <t indent="0">This document defines procedures and messages for SRv6-based BGP services, including Layer 3 Virtual Private Network (L3VPN), Ethernet VPN (EVPN), and Internet services. It builds on "BGP/MPLS IP Virtual Private Networks (VPNs)" (RFC 4364) and "BGP MPLS-Based Ethernet VPN" (RFC 7432).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9252"/>
          <seriesInfo name="DOI" value="10.17487/RFC9252"/>
        </reference>
        <reference anchor="RFC9830" target="https://www.rfc-editor.org/info/rfc9830" quoteTitle="true" derivedAnchor="RFC9830">
          <front>
            <title>Advertising Segment Routing Policies in BGP</title>
            <author initials="S." surname="Previdi" fullname="Stefano Previdi">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="C." surname="Filsfils" fullname="Clarence Filsfils">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar" role="editor">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author initials="P." surname="Mattes" fullname="Paul Mattes">
              <organization showOnFrontPage="true">Microsoft</organization>
            </author>
            <author initials="D." surname="Jain" fullname="Dhanendra Jain">
              <organization showOnFrontPage="true">Google</organization>
            </author>
            <date month="September" year="2025"/>
          </front>
          <seriesInfo name="RFC" value="9830"/>
          <seriesInfo name="DOI" value="10.17487/RFC9830"/>
        </reference>
      </references>
      <references pn="section-16.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <referencegroup anchor="BCP26" target="https://www.rfc-editor.org/info/bcp26" derivedAnchor="BCP26">
          <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true">
            <front>
              <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
              <author fullname="M. Cotton" initials="M." surname="Cotton"/>
              <author fullname="B. Leiba" initials="B." surname="Leiba"/>
              <author fullname="T. Narten" initials="T." surname="Narten"/>
              <date month="June" year="2017"/>
              <abstract>
                <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
                <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
                <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="26"/>
            <seriesInfo name="RFC" value="8126"/>
            <seriesInfo name="DOI" value="10.17487/RFC8126"/>
          </reference>
        </referencegroup>
        <reference anchor="I-D.ietf-idr-bgp-ct-srv6" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-ct-srv6-07" quoteTitle="true" derivedAnchor="BGP-CT-SRv6">
          <front>
            <title>BGP CT - Adaptation to SRv6 dataplane</title>
            <author initials="K." surname="Vairavakkalai" fullname="Kaliraj Vairavakkalai" role="editor">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="N." surname="Venkataraman" fullname="Natrajan Venkataraman" role="editor">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <date month="August" day="22" year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-ct-srv6-07"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-idr-bgp-fwd-rr" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-fwd-rr-04" quoteTitle="true" derivedAnchor="BGP-FWD-RR">
          <front>
            <title>BGP Route Reflector with Next Hop Self</title>
            <author initials="K." surname="Vairavakkalai" fullname="Kaliraj Vairavakkalai" role="editor">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="N." surname="Venkataraman" fullname="Natrajan Venkataraman" role="editor">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <date month="August" day="22" year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-fwd-rr-04"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.gredler-idr-bgplu-epe" target="https://datatracker.ietf.org/doc/html/draft-gredler-idr-bgplu-epe-16" quoteTitle="true" derivedAnchor="BGP-LU-EPE">
          <front>
            <title>Egress Peer Engineering using BGP-LU</title>
            <author initials="H." surname="Gredler" fullname="Hannes Gredler" role="editor">
              <organization showOnFrontPage="true">RtBrick Inc.</organization>
            </author>
            <author initials="K." surname="Vairavakkalai" fullname="Kaliraj Vairavakkalai" role="editor">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="C." surname="R" fullname="Chandrasekar R">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="B." surname="Rajagopalan" fullname="Balaji Rajagopalan">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="E." surname="Aries" fullname="Ebben Aries">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="L." surname="Fang" fullname="Luyuan Fang">
              <organization showOnFrontPage="true">eBay</organization>
            </author>
            <date month="October" day="14" year="2024"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gredler-idr-bgplu-epe-16"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-idr-flowspec-redirect-ip" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-flowspec-redirect-ip-04" quoteTitle="true" derivedAnchor="FLOWSPEC-REDIR-IP">
          <front>
            <title>BGP Flow-Spec Redirect-to-IP Action</title>
            <author fullname="Jeffrey Haas" initials="J." surname="Haas">
              <organization showOnFrontPage="true">HPE</organization>
            </author>
            <author fullname="Wim Henderickx" initials="W." surname="Henderickx">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author fullname="Adam Simpson" initials="A." surname="Simpson">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <date day="2" month="September" year="2025"/>
            <abstract>
              <t indent="0">Flow-spec is an extension to BGP that allows for the dissemination of traffic flow specification rules. This has many possible applications, but the primary one for many network operators is the distribution of traffic filtering actions for distributed denial of service (DDoS) mitigation. The flow-spec standard [RFC8955] defines a redirect-to-VRF action for policy-based forwarding. This mechanism can be difficult to use, particularly in networks without L3 VPN infrastructure. This draft defines a new redirect-to-IP flow-spec action that provides a simpler method of policy-based forwarding. The details of the action, including the IPv4 or IPv6 target address, are encoded in newly defined BGP extended communities.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-flowspec-redirect-ip-04"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-intarea-tunnels" target="https://datatracker.ietf.org/doc/html/draft-ietf-intarea-tunnels-15" quoteTitle="true" derivedAnchor="INTAREA-TUNNELS">
          <front>
            <title>IP Tunnels in the Internet Architecture</title>
            <author fullname="Dr. Joseph D. Touch" initials="J. D." surname="Touch">
              <organization showOnFrontPage="true">Independent Consultant</organization>
            </author>
            <author fullname="Mark Townsley" initials="M." surname="Townsley">
              <organization showOnFrontPage="true">Cisco</organization>
            </author>
            <date day="9" month="May" year="2025"/>
            <abstract>
              <t indent="0">This document discusses the role of IP tunnels in the Internet architecture. An IP tunnel transits IP datagrams as payloads in non- link layer protocols. This document explains the relationship of IP tunnels to existing protocol layers and the challenges in supporting IP tunneling, based on the equivalence of tunnels to links. The implications of this document updates RFC 4459 and its MTU and fragmentation recommendations for IP tunnels.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-intarea-tunnels-15"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.hr-spring-intentaware-routing-using-color" target="https://datatracker.ietf.org/doc/html/draft-hr-spring-intentaware-routing-using-color-04" quoteTitle="true" derivedAnchor="Intent-Routing-Color">
          <front>
            <title>Problem statement for Inter-domain Intent-aware Routing using Color</title>
            <author fullname="Shraddha Hegde" initials="S." surname="Hegde">
              <organization showOnFrontPage="true">Juniper Networks Inc.</organization>
            </author>
            <author fullname="Dhananjaya Rao" initials="D." surname="Rao">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Jim Uttaro" initials="J." surname="Uttaro">
              <organization showOnFrontPage="true">Independent Contributor</organization>
            </author>
            <author fullname="Alex Bogdanov" initials="A." surname="Bogdanov">
              <organization showOnFrontPage="true">BT</organization>
            </author>
            <author fullname="Luay Jalil" initials="L." surname="Jalil">
              <organization showOnFrontPage="true">Verizon</organization>
            </author>
            <date day="31" month="January" year="2025"/>
            <abstract>
              <t indent="0">This draft describes the scope, set of use-cases and requirements for a distributed routing based solution to establish end-to-end intent- aware paths spanning multi-domain packet networks. The document focuses on BGP given its predominant use in inter-domain routing deployments, however the requirements may also apply to other solutions.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hr-spring-intentaware-routing-using-color-04"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-idr-multinexthop-attribute" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-multinexthop-attribute-04" quoteTitle="true" derivedAnchor="MNH">
          <front>
            <title>BGP MultiNexthop Attribute</title>
            <author initials="K." surname="Vairavakkalai" fullname="Kaliraj Vairavakkalai" role="editor">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="J. M." surname="Jeganathan" fullname="Jeyananth Minto Jeganathan">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="M." surname="Nanduri" fullname="Mohan Nanduri">
              <organization showOnFrontPage="true">Microsoft</organization>
            </author>
            <author initials="A. R." surname="Lingala" fullname="Avinash Reddy Lingala">
              <organization showOnFrontPage="true">AT&amp;T</organization>
            </author>
            <date month="March" day="25" year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-multinexthop-attribute-04"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.kaliraj-bess-bgp-mpls-namespaces" target="https://datatracker.ietf.org/doc/html/draft-kaliraj-bess-bgp-mpls-namespaces-01" quoteTitle="true" derivedAnchor="MPLS-NS">
          <front>
            <title>BGP Signaled MPLS Namespaces</title>
            <author initials="K." surname="Vairavakkalai" fullname="Kaliraj Vairavakkalai" role="editor">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="J. M." surname="Jeganathan" fullname="Jeyananth Minto Jeganathan">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="P." surname="Ramadenu" fullname="Praveen Ramadenu">
              <organization showOnFrontPage="true">AT&amp;T</organization>
            </author>
            <author initials="I." surname="Means" fullname="Israel Means">
              <organization showOnFrontPage="true">AT&amp;T</organization>
            </author>
            <date month="Aug" day="21" year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-kaliraj-bess-bgp-mpls-namespaces-01"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="PACKING-TEST" target="https://github.com/ietf-wg-idr/draft-ietf-idr-bgp-ct/blob/main/update-packing-test-results.txt" quoteTitle="true" derivedAnchor="PACKING-TEST">
          <front>
            <title>update-packing-test-results.txt</title>
            <author/>
            <date day="25" month="06" year="2023"/>
          </front>
          <refcontent>1a75d4d</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-color" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-color-12" quoteTitle="true" derivedAnchor="PCEP-RSVP-COLOR">
          <front>
            <title>Path Computation Element Protocol (PCEP) Extension for Color</title>
            <author fullname="Balaji Rajagopalan" initials="B." surname="Rajagopalan">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <author fullname="Shaofu Peng" initials="S." surname="Peng">
              <organization showOnFrontPage="true">ZTE Corporation</organization>
            </author>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization showOnFrontPage="true">Ciena Corporation</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization showOnFrontPage="true">Verizon Communications Inc.</organization>
            </author>
            <date day="26" month="February" year="2025"/>
            <abstract>
              <t indent="0">Color is a 32-bit numerical (unsigned integer) attribute used to associate a Traffic Engineering (TE) tunnel or policy with an intent or objective. For example, a TE Tunnel constructed to deliver low latency services and whose path is optimized for delay can be tagged with a color that represents "low latency." This document specifies extensions to the Path Computation Element Protocol (PCEP) to carry the color attribute.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-color-12"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-segment-routing-policy-cp" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-segment-routing-policy-cp-27" quoteTitle="true" derivedAnchor="PCEP-SRPOLICY">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing (SR) Policy Candidate Paths</title>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization showOnFrontPage="true">Ciena Corporation</organization>
            </author>
            <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
              <organization showOnFrontPage="true">Ciena Corporation</organization>
            </author>
            <author fullname="Samuel Sidor" initials="S." surname="Sidor">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Colby Barth" initials="C." surname="Barth">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Shuping Peng" initials="S." surname="Peng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <date day="4" month="April" year="2025"/>
            <abstract>
              <t indent="0">A Segment Routing (SR) Policy is an ordered list of instructions, called "segments" that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated. An SR Policy is made of one or more candidate paths. This document specifies the Path Computation Element Communication Protocol (PCEP) extension to signal candidate paths of an SR Policy. Additionally, this document updates RFC 8231 to allow delegation and setup of an SR Label Switched Path (LSP), without using the path computation request and reply messages. This document is applicable to both Segment Routing over MPLS (SR-MPLS) and Segment Routing over IPv6 (SRv6).</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-segment-routing-policy-cp-27"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC6890" target="https://www.rfc-editor.org/info/rfc6890" quoteTitle="true" derivedAnchor="RFC6890">
          <front>
            <title>Special-Purpose IP Address Registries</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="L. Vegoda" initials="L." surname="Vegoda"/>
            <author fullname="R. Bonica" initials="R." role="editor" surname="Bonica"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">This memo reiterates the assignment of an IPv4 address block (192.0.0.0/24) to IANA. It also instructs IANA to restructure its IPv4 and IPv6 Special-Purpose Address Registries. Upon restructuring, the aforementioned registries will record all special-purpose address blocks, maintaining a common set of information regarding each address block.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="153"/>
          <seriesInfo name="RFC" value="6890"/>
          <seriesInfo name="DOI" value="10.17487/RFC6890"/>
        </reference>
        <reference anchor="RFC8205" target="https://www.rfc-editor.org/info/rfc8205" quoteTitle="true" derivedAnchor="RFC8205">
          <front>
            <title>BGPsec Protocol Specification</title>
            <author fullname="M. Lepinski" initials="M." role="editor" surname="Lepinski"/>
            <author fullname="K. Sriram" initials="K." role="editor" surname="Sriram"/>
            <date month="September" year="2017"/>
            <abstract>
              <t indent="0">This document describes BGPsec, an extension to the Border Gateway Protocol (BGP) that provides security for the path of Autonomous Systems (ASes) through which a BGP UPDATE message passes. BGPsec is implemented via an optional non-transitive BGP path attribute that carries digital signatures produced by each AS that propagates the UPDATE message. The digital signatures provide confidence that every AS on the path of ASes listed in the UPDATE message has explicitly authorized the advertisement of the route.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8205"/>
          <seriesInfo name="DOI" value="10.17487/RFC8205"/>
        </reference>
        <reference anchor="RFC8210" target="https://www.rfc-editor.org/info/rfc8210" quoteTitle="true" derivedAnchor="RFC8210">
          <front>
            <title>The Resource Public Key Infrastructure (RPKI) to Router Protocol, Version 1</title>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="September" year="2017"/>
            <abstract>
              <t indent="0">In order to verifiably validate the origin Autonomous Systems and Autonomous System Paths of BGP announcements, routers need a simple but reliable mechanism to receive Resource Public Key Infrastructure (RFC 6480) prefix origin data and router keys from a trusted cache. This document describes a protocol to deliver them.</t>
              <t indent="0">This document describes version 1 of the RPKI-Router protocol. RFC 6810 describes version 0. This document updates RFC 6810.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8210"/>
          <seriesInfo name="DOI" value="10.17487/RFC8210"/>
        </reference>
        <reference anchor="RFC9256" target="https://www.rfc-editor.org/info/rfc9256" quoteTitle="true" derivedAnchor="RFC9256">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" year="2022"/>
            <abstract>
              <t indent="0">Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.</t>
              <t indent="0">This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
        <reference anchor="RFC9315" target="https://www.rfc-editor.org/info/rfc9315" quoteTitle="true" derivedAnchor="RFC9315">
          <front>
            <title>Intent-Based Networking - Concepts and Definitions</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="L. Ciavaglia" initials="L." surname="Ciavaglia"/>
            <author fullname="L. Z. Granville" initials="L. Z." surname="Granville"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <date month="October" year="2022"/>
            <abstract>
              <t indent="0">Intent and Intent-Based Networking are taking the industry by storm. At the same time, terms related to Intent-Based Networking are often used loosely and inconsistently, in many cases overlapping and confused with other concepts such as "policy." This document clarifies the concept of "intent" and provides an overview of the functionality that is associated with it. The goal is to contribute towards a common and shared understanding of terms, concepts, and functionality that can be used as the foundation to guide further definition of associated research and engineering problems and their solutions.</t>
              <t indent="0">This document is a product of the IRTF Network Management Research Group (NMRG). It reflects the consensus of the research group, having received many detailed and positive reviews by research group participants. It is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9315"/>
          <seriesInfo name="DOI" value="10.17487/RFC9315"/>
        </reference>
        <reference anchor="RFC9350" target="https://www.rfc-editor.org/info/rfc9350" quoteTitle="true" derivedAnchor="RFC9350">
          <front>
            <title>IGP Flexible Algorithm</title>
            <author fullname="P. Psenak" initials="P." role="editor" surname="Psenak"/>
            <author fullname="S. Hegde" initials="S." surname="Hegde"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." surname="Talaulikar"/>
            <author fullname="A. Gulko" initials="A." surname="Gulko"/>
            <date month="February" year="2023"/>
            <abstract>
              <t indent="0">IGP protocols historically compute the best paths over the network based on the IGP metric assigned to the links. Many network deployments use RSVP-TE or Segment Routing - Traffic Engineering (SR-TE) to steer traffic over a path that is computed using different metrics or constraints than the shortest IGP path. This document specifies a solution that allows IGPs themselves to compute constraint-based paths over the network. This document also specifies a way of using Segment Routing (SR) Prefix-SIDs and SRv6 locators to steer packets along the constraint-based paths.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9350"/>
          <seriesInfo name="DOI" value="10.17487/RFC9350"/>
        </reference>
        <reference anchor="RFC9543" target="https://www.rfc-editor.org/info/rfc9543" quoteTitle="true" derivedAnchor="RFC9543">
          <front>
            <title>A Framework for Network Slices in Networks Built from IETF Technologies</title>
            <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
            <author fullname="J. Drake" initials="J." role="editor" surname="Drake"/>
            <author fullname="R. Rokui" initials="R." surname="Rokui"/>
            <author fullname="S. Homma" initials="S." surname="Homma"/>
            <author fullname="K. Makhijani" initials="K." surname="Makhijani"/>
            <author fullname="L. Contreras" initials="L." surname="Contreras"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <date month="March" year="2024"/>
            <abstract>
              <t indent="0">This document describes network slicing in the context of networks built from IETF technologies. It defines the term "IETF Network Slice" to describe this type of network slice and establishes the general principles of network slicing in the IETF context.</t>
              <t indent="0">The document discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and the mapping of abstract requests to more specific technologies. The document also discusses related considerations with monitoring and security.</t>
              <t indent="0">This document also provides definitions of related terms to enable consistent usage in other IETF documents that describe or use aspects of IETF Network Slices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9543"/>
          <seriesInfo name="DOI" value="10.17487/RFC9543"/>
        </reference>
      </references>
    </references>
    <section anchor="Appendix_A" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-extensibility-consideration">Extensibility Considerations</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.1">
        <name slugifiedName="name-signaling-intent-over-a-pe-">Signaling Intent over a PE-CE Attachment Circuit</name>
        <t indent="0" pn="section-appendix.a.1-1">It may be desirable to allow a CE device to indicate in the data
        packet it sends what treatment it desires (the Intent) when the packet
        is forwarded within the provider network.</t>
        <t indent="0" pn="section-appendix.a.1-2"><xref section="A.10" target="I-D.ietf-idr-multinexthop-attribute" format="default" sectionFormat="of" derivedLink="https://datatracker.ietf.org/doc/html/draft-ietf-idr-multinexthop-attribute-04#appendix-A.10" derivedContent="MNH"/> describes some mechanisms that enable such
        signaling.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.2">
        <name slugifiedName="name-bgp-ct-egress-te">BGP CT Egress TE</name>
        <t indent="0" pn="section-appendix.a.2-1">Mechanisms described in <xref target="I-D.gredler-idr-bgplu-epe" format="default" sectionFormat="of" derivedContent="BGP-LU-EPE"/> also apply to the
        BGP CT family.</t>
        <t indent="0" pn="section-appendix.a.2-2">The Peer/32 or Peer/128 EPE route <bcp14>MAY</bcp14> be originated in the BGP CT
        family with the appropriate Mapping Community (e.g.,
        transport-target:0:100), thus allowing an EPE path to the peer that
        satisfies the desired SLA.</t>
      </section>
    </section>
    <section anchor="Appendix_B" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-applicability-to-intra-as-a">Applicability to Intra-AS and Different Inter-AS Deployments</name>
      <t indent="0" pn="section-appendix.b-1">As described in <xref section="10" target="RFC4364" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc4364#section-10" derivedContent="RFC4364"/>, in an option C network, service routes (VPN-IPv4) are
      neither maintained nor distributed by the ASBRs. Transport routes are
      maintained in the ASBRs and propagated in BGP LU or BGP CT.</t>
      <t indent="0" pn="section-appendix.b-2"><xref target="CTProc" format="default" sectionFormat="of" derivedContent="Section 8"/>
      illustrates how constructs of BGP CT work in an inter-AS option C
      deployment. The BGP CT constructs: AFI/SAFI 1/76, Transport Class, and
      Resolution Scheme are used in an inter-AS option C deployment.</t>
      <t indent="0" pn="section-appendix.b-3">In intra-AS and inter-AS option A and option B scenarios, AFI/SAFI 1/76
      may not be used, but the Transport Class and Resolution Scheme
      mechanisms are used to provide service mapping.</t>
      <t indent="0" pn="section-appendix.b-4">This section illustrates how BGP CT constructs work in intra-AS and
      inter-AS option A and option B deployment scenarios.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.1">
        <name slugifiedName="name-intra-as-use-case">Intra-AS Use Case</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.1.1">
          <name slugifiedName="name-topology">Topology</name>
          <figure anchor="BGPCT_INTRA_AS" align="left" suppress-title="false" pn="figure-14">
            <name slugifiedName="name-bgp-ct-intra-as">BGP CT Intra-AS</name>
            <artset pn="section-appendix.b.1.1-1.1">
              <artwork type="svg" name="" align="left" alt="" pn="section-appendix.b.1.1-1.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="440" viewBox="0 0 440 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 200,48 L 200,64" fill="none" stroke="black"/>
                  <path d="M 56,80 L 72,80" fill="none" stroke="black"/>
                  <path d="M 128,80 L 176,80" fill="none" stroke="black"/>
                  <path d="M 216,80 L 256,80" fill="none" stroke="black"/>
                  <path d="M 312,80 L 352,80" fill="none" stroke="black"/>
                  <path d="M 112,176 L 136,176" fill="none" stroke="black"/>
                  <path d="M 296,176 L 328,176" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="336,176 324,170.4 324,181.6" fill="black" transform="rotate(0,328,176)"/>
                  <g class="text">
                    <text x="204" y="36">[RR11]</text>
                    <text x="28" y="84">[CE21]</text>
                    <text x="100" y="84">[PE11]</text>
                    <text x="196" y="84">[P1]</text>
                    <text x="284" y="84">[PE12]</text>
                    <text x="380" y="84">[CE31]</text>
                    <text x="72" y="116">:</text>
                    <text x="312" y="116">:</text>
                    <text x="32" y="132">AS2</text>
                    <text x="72" y="132">:</text>
                    <text x="200" y="132">...AS1...</text>
                    <text x="312" y="132">:</text>
                    <text x="368" y="132">AS3</text>
                    <text x="72" y="148">:</text>
                    <text x="312" y="148">:</text>
                    <text x="52" y="180">203.0.113.21</text>
                    <text x="176" y="180">Traffic</text>
                    <text x="248" y="180">Direction</text>
                    <text x="388" y="180">203.0.113.31</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" name="" align="left" alt="" pn="section-appendix.b.1.1-1.1.2">
                          [RR11]
                            |
                            +
    [CE21]---[PE11]-------[P1]------[PE12]------[CE31]

            :                             :
      AS2   :           ...AS1...         :     AS3
            :                             :

    203.0.113.21 ---- Traffic Direction ----&gt; 203.0.113.31
</artwork>
            </artset>
          </figure>
          <t indent="0" pn="section-appendix.b.1.1-2"><xref target="BGPCT_INTRA_AS" format="default" sectionFormat="of" derivedContent="Figure 14"/> shows a provider
          network Autonomous System, AS1. It serves customers AS2 and AS3. Traffic
          direction being described is CE21 to CE31. CE31 may request a
          specific SLA (e.g., Gold for this traffic) when traversing this
          provider network.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.1.2">
          <name slugifiedName="name-transport-layer">Transport Layer</name>
          <t indent="0" pn="section-appendix.b.1.2-1">AS1 uses RSVP-TE intra-domain tunnels between PE11 and PE12. And it uses
          LDP tunnels for best-effort traffic.</t>
          <t indent="0" pn="section-appendix.b.1.2-2">The network has two TCs: Gold with TC ID 100 and Bronze
          with TC ID 200. These TCs
          are provisioned at the PEs. This creates the Resolution Schemes for
          these TCs at these PEs.</t>
          <t indent="0" pn="section-appendix.b.1.2-3">The following tunnels exist for the Gold TC:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.1.2-4">
            <li pn="section-appendix.b.1.2-4.1">
              <t indent="0" pn="section-appendix.b.1.2-4.1.1">PE11_to_PE12_gold - RSVP-TE tunnel</t>
            </li>
            <li pn="section-appendix.b.1.2-4.2">
              <t indent="0" pn="section-appendix.b.1.2-4.2.1">PE12_to_PE11_gold - RSVP-TE tunnel</t>
            </li>
          </ul>
          <t indent="0" pn="section-appendix.b.1.2-5">The following tunnels exist for Bronze TC:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.1.2-6">
            <li pn="section-appendix.b.1.2-6.1">
              <t indent="0" pn="section-appendix.b.1.2-6.1.1">PE11_to_PE12_bronze - RSVP-TE tunnel</t>
            </li>
            <li pn="section-appendix.b.1.2-6.2">
              <t indent="0" pn="section-appendix.b.1.2-6.2.1">PE11_to_PE12_bronze - RSVP-TE tunnel</t>
            </li>
          </ul>
          <t indent="0" pn="section-appendix.b.1.2-7">These tunnels are provisioned to belong to Transport Class 100 or
          200.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.1.3">
          <name slugifiedName="name-service-layer-route-exchange">Service Layer Route Exchange</name>
          <t indent="0" pn="section-appendix.b.1.3-1">Service nodes PE11 and PE12 negotiate service families (AFI/SAFI
          1/128) on the BGP session with RR11. Service helper RR11 reflects
          service routes between the two PEs with the next hop unchanged. There
          are no tunnels for Transport Class 100 or 200 from RR11 to the
          PEs.</t>
          <t indent="0" pn="section-appendix.b.1.3-2">Forwarding happens using service routes at service nodes PE11 and
          PE12. Routes received from CEs are not present in any other nodes'
          FIB in the provider network.</t>
          <t indent="0" pn="section-appendix.b.1.3-3">CE31 advertises a route, for example, prefix 203.0.113.31 with the next
          hop set to itself to PE12. CE31 can attach a Mapping Community color:0:100 on
          this route to indicate its request for a Gold SLA. Or, PE12 can
          attach the same using locally configured policies.</t>
          <t indent="0" pn="section-appendix.b.1.3-4">Consider CE31 getting VPN service from PE12. The
          RD:203.0.113.31 route is readvertised in AFI/SAFI 1/128 by PE12 with
          the next hop set to itself (192.0.2.12) and label V-L1 to RR11 with the Mapping
          Community color:0:100 attached. This AFI/SAFI 1/128 route reaches
          PE11 via RR11 with the next hop unchanged as PE12 and label V-L1.
          Now PE11 can resolve the PNH 192.0.2.12 using the PE11_to_PE12_gold RSVP
          TE LSP.</t>
          <t indent="0" pn="section-appendix.b.1.3-5">The IP FIB at PE11 VRF will have a route for 203.0.113.31 with a
          next hop when resolved using the Resolution Scheme belonging to the
          Mapping Community color:0:100, points to a PE11_to_PE12_gold
          tunnel.</t>
          <t indent="0" pn="section-appendix.b.1.3-6">BGP CT AFI/SAFI 1/76 is not used in this intra-AS deployment. But
          the Transport Class and Resolution Scheme constructs are used to
          preserve end-to-end SLA.</t>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.2">
        <name slugifiedName="name-inter-as-option-a-use-case">Inter-AS Option A Use Case</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.2.1">
          <name slugifiedName="name-topology-2">Topology</name>
          <figure anchor="BGPCT_INTERAS_A" align="left" suppress-title="false" pn="figure-15">
            <name slugifiedName="name-bgp-ct-inter-as-option-a">BGP CT Inter-AS option A</name>
            <artset pn="section-appendix.b.2.1-1.1">
              <artwork type="svg" align="left" pn="section-appendix.b.2.1-1.1.1">
              <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="560" viewBox="0 0 560 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 168,48 L 168,64" fill="none" stroke="black"/>
                  <path d="M 408,48 L 408,64" fill="none" stroke="black"/>
                  <path d="M 56,80 L 72,80" fill="none" stroke="black"/>
                  <path d="M 128,80 L 144,80" fill="none" stroke="black"/>
                  <path d="M 184,80 L 200,80" fill="none" stroke="black"/>
                  <path d="M 272,80 L 288,80" fill="none" stroke="black"/>
                  <path d="M 360,80 L 376,80" fill="none" stroke="black"/>
                  <path d="M 416,80 L 432,80" fill="none" stroke="black"/>
                  <path d="M 488,80 L 504,80" fill="none" stroke="black"/>
                  <path d="M 184,176 L 232,176" fill="none" stroke="black"/>
                  <path d="M 376,176 L 424,176" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="432,176 420,170.4 420,181.6" fill="black" transform="rotate(0,424,176)"/>
                  <g class="text">
                    <text x="172" y="36">[RR11]</text>
                    <text x="412" y="36">[RR21]</text>
                    <text x="28" y="84">[CE31]</text>
                    <text x="100" y="84">[PE11]</text>
                    <text x="164" y="84">[P1]</text>
                    <text x="236" y="84">[ASBR11]</text>
                    <text x="324" y="84">[ASBR21]</text>
                    <text x="396" y="84">[P2]</text>
                    <text x="460" y="84">[PE21]</text>
                    <text x="532" y="84">[CE41]</text>
                    <text x="72" y="116">:</text>
                    <text x="280" y="116">:</text>
                    <text x="488" y="116">:</text>
                    <text x="32" y="132">AS3</text>
                    <text x="72" y="132">:</text>
                    <text x="184" y="132">..AS1..</text>
                    <text x="280" y="132">:</text>
                    <text x="360" y="132">..AS2..</text>
                    <text x="488" y="132">:</text>
                    <text x="536" y="132">AS4</text>
                    <text x="72" y="148">:</text>
                    <text x="280" y="148">:</text>
                    <text x="488" y="148">:</text>
                    <text x="52" y="180">203.0.113.31</text>
                    <text x="264" y="180">Traffic</text>
                    <text x="336" y="180">Direction</text>
                    <text x="508" y="180">203.0.113.41</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="left" pn="section-appendix.b.2.1-1.1.2">
                  [RR11]                        [RR21]
                    |                             |
                    +                             +
[CE31]---[PE11]---[P1]---[ASBR11]---[ASBR21]---[P2]---[PE21]---[CE41]

        :                         :                         :
  AS3   :          ..AS1..        :      ..AS2..            :    AS4
        :                         :                         :

203.0.113.31          -------Traffic Direction------&gt;    203.0.113.41
</artwork>
            </artset>
          </figure>
          <t indent="0" pn="section-appendix.b.2.1-2">This example in <xref target="BGPCT_INTERAS_A" format="default" sectionFormat="of" derivedContent="Figure 15"/> shows two
          provider network Autonomous systems AS1, AS2. They serve L3VPN
          customers AS3, AS4 respectively. The ASBRs ASBR11 and ASBR21 have IP
          VRFs connected directly. The inter-AS link is IP enabled with no
          MPLS forwarding.</t>
          <t indent="0" pn="section-appendix.b.2.1-3">Traffic direction being described is CE31 to CE41. CE41 may
          request a specific SLA (e.g., Gold for this traffic), when traversing
          these provider core networks.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.2.2">
          <name slugifiedName="name-transport-layer-2">Transport Layer</name>
          <t indent="0" pn="section-appendix.b.2.2-1">AS1 uses RSVP-TE intra-domain tunnels between PE11 and ASBR11.
          And LDP tunnels for best-effort traffic. AS2 uses SRTE intra-domain
          tunnels between ASBR21 and PE21, and L-ISIS for best-effort
          tunnels.</t>
          <t indent="0" pn="section-appendix.b.2.2-2">The networks have two TCs: Gold with TC ID 100,
          Bronze with TC ID 200. These TCs
          are provisioned at the PEs and ASBRs. This creates the
          Resolution Schemes for these TCs at these PEs and
          ASBRs.</t>
          <t indent="0" pn="section-appendix.b.2.2-3">Following tunnels exist for Gold TC.</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.2.2-4">
            <li pn="section-appendix.b.2.2-4.1">
              <t indent="0" pn="section-appendix.b.2.2-4.1.1">PE11_to_ASBR11_gold - RSVP-TE tunnel</t>
            </li>
            <li pn="section-appendix.b.2.2-4.2">
              <t indent="0" pn="section-appendix.b.2.2-4.2.1">ASBR11_to_PE11_gold - RSVP-TE tunnel</t>
            </li>
            <li pn="section-appendix.b.2.2-4.3">
              <t indent="0" pn="section-appendix.b.2.2-4.3.1">PE21_to_ASBR21_gold - SRTE tunnel</t>
            </li>
            <li pn="section-appendix.b.2.2-4.4">
              <t indent="0" pn="section-appendix.b.2.2-4.4.1">ASBR21_to_PE21_gold - SRTE tunnel</t>
            </li>
          </ul>
          <t indent="0" pn="section-appendix.b.2.2-5">Following tunnels exist for Bronze TC.</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.2.2-6">
            <li pn="section-appendix.b.2.2-6.1">
              <t indent="0" pn="section-appendix.b.2.2-6.1.1">PE11_to_ASBR11_bronze - RSVP-TE tunnel</t>
            </li>
            <li pn="section-appendix.b.2.2-6.2">
              <t indent="0" pn="section-appendix.b.2.2-6.2.1">ASBR11_to_PE11_bronze - RSVP-TE tunnel</t>
            </li>
            <li pn="section-appendix.b.2.2-6.3">
              <t indent="0" pn="section-appendix.b.2.2-6.3.1">PE21_to_ASBR21_bronze - SRTE tunnel</t>
            </li>
            <li pn="section-appendix.b.2.2-6.4">
              <t indent="0" pn="section-appendix.b.2.2-6.4.1">ASBR21_to_PE21_bronze - SRTE tunnel</t>
            </li>
          </ul>
          <t indent="0" pn="section-appendix.b.2.2-7">These tunnels are provisioned to belong to TC 100 or
          200.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.2.3">
          <name slugifiedName="name-service-layer-route-exchange-2">Service Layer Route Exchange</name>
          <t indent="0" pn="section-appendix.b.2.3-1">Service nodes PE11, ASBR11 negotiate service family (AFI/SAFI
          1/128) on the BGP session with RR11. Service helper RR11 reflects
          service routes between the PE11 and ASBR11 with next hop
          unchanged.</t>
          <t indent="0" pn="section-appendix.b.2.3-2">Similarly, in AS2 PE21, ASBR21 negotiate service family (AFI/SAFI
          1/128) on the BGP session with RR21, which reflects service routes
          between the PE21 and ASBR21 with next hop unchanged.</t>
          <t indent="0" pn="section-appendix.b.2.3-3">CE41 advertises a route for example prefix 203.0.113.41 with next
          hop self to PE21 VRF. CE41 can attach a Mapping Community
          color:0:100 on this route, to indicate its request for Gold SLA. Or,
          PE21 can attach the same using locally configured policies.</t>
          <t indent="0" pn="section-appendix.b.2.3-4">Consider, CE41 is getting VPN service from PE21. The
          RD:203.0.113.41 route is readvertised in AFI/SAFI 1/128 by PE21 with
          next hop self (203.0.113.21) and label V-L1 to RR21 with the Mapping
          Community color:0:100 attached. This AFI/SAFI 1/128 route reaches
          ASBR21 via RR21 with the next hop unchanged as PE21 and label V-L1.
          Now ASBR21 can resolve the PNH 203.0.113.21 using
          ASBR21_to_PE21_gold SRTE LSP.</t>
          <t indent="0" pn="section-appendix.b.2.3-5">The IP FIB at ASBR21 VRF will have a route for 203.0.113.41 with
          a next hop resolved using Resolution Scheme associated with mapping
          community color:0:100, pointing to ASBR21_to_PE21_gold tunnel.</t>
          <t indent="0" pn="section-appendix.b.2.3-6">This route is readvertised with the next hop set to itself by ASBR21 to ASBR11
          on a BGP session in the VRF. The single-hop EBGP session endpoints are
          interface addresses. ASBR21 and ASBR11 act like a CE to each other.
          The previously mentioned process repeats in AS1 until the route
          reaches PE11 and resolves over the PE11_to_ASBR11_gold RSVP TE
          tunnel.</t>
          <t indent="0" pn="section-appendix.b.2.3-7">Traffic traverses as an unlabeled IP packet on the following legs:
          CE31-PE11, ASBR11-ASBR21, PE21-CE41. And it uses MPLS forwarding inside the
          AS1 and AS2 core.</t>
          <t indent="0" pn="section-appendix.b.2.3-8">BGP CT AFI/SAFI 1/76 is not used in this inter-AS option B
          deployment. But the Transport Class and Resolution Scheme constructs
          are used to preserve an end-to-end SLA.</t>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.3">
        <name slugifiedName="name-inter-as-option-b-use-case">Inter-AS Option B Use Case</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.3.1">
          <name slugifiedName="name-topology-3">Topology</name>
          <figure anchor="BGPCT_INTERAS_B" align="left" suppress-title="false" pn="figure-16">
            <name slugifiedName="name-bgp-ct-inter-as-option-b">BGP CT Inter-AS option B</name>
            <artset pn="section-appendix.b.3.1-1.1">
              <artwork type="svg" align="left" pn="section-appendix.b.3.1-1.1.1">
              <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="560" viewBox="0 0 560 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 168,48 L 168,64" fill="none" stroke="black"/>
                  <path d="M 408,48 L 408,64" fill="none" stroke="black"/>
                  <path d="M 56,80 L 72,80" fill="none" stroke="black"/>
                  <path d="M 128,80 L 144,80" fill="none" stroke="black"/>
                  <path d="M 184,80 L 200,80" fill="none" stroke="black"/>
                  <path d="M 272,80 L 288,80" fill="none" stroke="black"/>
                  <path d="M 360,80 L 376,80" fill="none" stroke="black"/>
                  <path d="M 416,80 L 432,80" fill="none" stroke="black"/>
                  <path d="M 488,80 L 504,80" fill="none" stroke="black"/>
                  <path d="M 184,176 L 208,176" fill="none" stroke="black"/>
                  <path d="M 368,176 L 400,176" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="408,176 396,170.4 396,181.6" fill="black" transform="rotate(0,400,176)"/>
                  <g class="text">
                    <text x="172" y="36">[RR13]</text>
                    <text x="412" y="36">[RR23]</text>
                    <text x="28" y="84">[CE31]</text>
                    <text x="100" y="84">[PE11]</text>
                    <text x="164" y="84">[P1]</text>
                    <text x="236" y="84">[ASBR12]</text>
                    <text x="324" y="84">[ASBR21]</text>
                    <text x="396" y="84">[P2]</text>
                    <text x="460" y="84">[PE22]</text>
                    <text x="532" y="84">[CE41]</text>
                    <text x="72" y="116">:</text>
                    <text x="280" y="116">:</text>
                    <text x="472" y="116">:</text>
                    <text x="32" y="132">AS3</text>
                    <text x="72" y="132">:</text>
                    <text x="184" y="132">..AS1..</text>
                    <text x="280" y="132">:</text>
                    <text x="360" y="132">..AS2..</text>
                    <text x="472" y="132">:</text>
                    <text x="520" y="132">AS4</text>
                    <text x="72" y="148">:</text>
                    <text x="280" y="148">:</text>
                    <text x="472" y="148">:</text>
                    <text x="52" y="180">203.0.113.31</text>
                    <text x="248" y="180">Traffic</text>
                    <text x="320" y="180">Direction</text>
                    <text x="508" y="180">203.0.113.41</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="left" pn="section-appendix.b.3.1-1.1.2">
                  [RR13]                        [RR23]
                    |                             |
                    +                             +
[CE31]---[PE11]---[P1]---[ASBR12]---[ASBR21]---[P2]---[PE22]---[CE41]

        :                         :                       :
  AS3   :          ..AS1..        :      ..AS2..          :    AS4
        :                         :                       :

203.0.113.31          ---- Traffic Direction ----&gt;       203.0.113.41
</artwork>
            </artset>
          </figure>
          <t indent="0" pn="section-appendix.b.3.1-2"><xref target="BGPCT_INTERAS_B" format="default" sectionFormat="of" derivedContent="Figure 16"/> shows two
          provider network Autonomous Systems: AS1 and AS2. They serve L3VPN
          customers AS3 and AS4, respectively. The ASBRs ASBR12 and ASBR21
          don't have any IP VRFs. The inter-AS link is MPLS-forwarding
          enabled.</t>
          <t indent="0" pn="section-appendix.b.3.1-3">Traffic direction being described is CE31 to CE41. CE41 may
          request a specific SLA (e.g., Gold for this traffic) when traversing
          these provider core networks.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.3.2">
          <name slugifiedName="name-transport-layer-3">Transport Layer</name>
          <t indent="0" pn="section-appendix.b.3.2-1">AS1 uses RSVP-TE intra-domain tunnels between PE11 and ASBR21
          and LDP tunnels for best-effort traffic. AS2 uses SRTE intra-domain
          tunnels between ASBR21 and PE22 along with L-ISIS for best-effort
          tunnels.</t>
          <t indent="0" pn="section-appendix.b.3.2-2">The networks have two TCs: Gold with TC ID 100
          and Bronze with TC ID 200. These TCs
          are provisioned at the PEs and ASBRs. This creates the
          Resolution Schemes for these Transport Classes at these PEs and
          ASBRs.</t>
          <t indent="0" pn="section-appendix.b.3.2-3">The following tunnels exist for Gold TC:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.3.2-4">
            <li pn="section-appendix.b.3.2-4.1">
              <t indent="0" pn="section-appendix.b.3.2-4.1.1">PE11_to_ASBR12_gold - RSVP-TE tunnel</t>
            </li>
            <li pn="section-appendix.b.3.2-4.2">
              <t indent="0" pn="section-appendix.b.3.2-4.2.1">ASBR12_to_PE11_gold - RSVP-TE tunnel</t>
            </li>
            <li pn="section-appendix.b.3.2-4.3">
              <t indent="0" pn="section-appendix.b.3.2-4.3.1">PE22_to_ASBR21_gold - SRTE tunnel</t>
            </li>
            <li pn="section-appendix.b.3.2-4.4">
              <t indent="0" pn="section-appendix.b.3.2-4.4.1">ASBR21_to_PE22_gold - SRTE tunnel</t>
            </li>
          </ul>
          <t indent="0" pn="section-appendix.b.3.2-5">The following tunnels exist for Bronze TC:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.3.2-6">
            <li pn="section-appendix.b.3.2-6.1">
              <t indent="0" pn="section-appendix.b.3.2-6.1.1">PE11_to_ASBR12_bronze - RSVP-TE tunnel</t>
            </li>
            <li pn="section-appendix.b.3.2-6.2">
              <t indent="0" pn="section-appendix.b.3.2-6.2.1">ASBR12_to_PE11_bronze - RSVP-TE tunnel</t>
            </li>
            <li pn="section-appendix.b.3.2-6.3">
              <t indent="0" pn="section-appendix.b.3.2-6.3.1">PE22_to_ASBR21_bronze - SRTE tunnel</t>
            </li>
            <li pn="section-appendix.b.3.2-6.4">
              <t indent="0" pn="section-appendix.b.3.2-6.4.1">ASBR21_to_PE22_bronze - SRTE tunnel</t>
            </li>
          </ul>
          <t indent="0" pn="section-appendix.b.3.2-7">These tunnels are provisioned to belong to TC 100 or
          200.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b.3.3">
          <name slugifiedName="name-service-layer-route-exchange-3">Service Layer Route Exchange</name>
          <t indent="0" pn="section-appendix.b.3.3-1">Service nodes PE11 and ASBR12 negotiate service family (AFI/SAFI
          1/128) on the BGP session with RR13. Service helper RR13 reflects
          service routes between the PE11 and ASBR12 with the next hop
          unchanged.</t>
          <t indent="0" pn="section-appendix.b.3.3-2">Similarly, in AS2 PE22, ASBR21 negotiates service family (AFI/SAFI
          1/128) on the BGP session with RR23, which reflects service routes
          between PE22 and ASBR21 with the next hop unchanged.</t>
          <t indent="0" pn="section-appendix.b.3.3-3">ASBR21 and ASBR12 negotiate AFI/SAFI 1/128 between them and
          readvertise L3VPN routes with the next hop set to themselves, allocating new labels.
          The single-hop EBGP session endpoints are interface addresses.</t>
          <t indent="0" pn="section-appendix.b.3.3-4">CE41 advertises a route, for example, prefix 203.0.113.41 with the next
          hop set to itself to PE22 VRF. CE41 can attach a Mapping Community
          color:0:100 on this route to indicate its request for the Gold SLA. Or,
          PE22 can attach the same using locally configured policies.</t>
          <t indent="0" pn="section-appendix.b.3.3-5">Consider CE41 getting VPN service from PE22. The
          RD:203.0.113.41 route is readvertised in AFI/SAFI 1/128 by PE22 with
          the next hop set to itself (192.0.2.22) and label V-L1 to RR23 with the Mapping
          Community color:0:100 attached. This AFI/SAFI 1/128 route reaches
          ASBR21 via RR23 with the next hop unchanged as PE22 and label V-L1.
          Now ASBR21 can resolve the PNH 192.0.2.22 using ASBR21_to_PE22_gold
          SRTE LSP.</t>
          <t indent="0" pn="section-appendix.b.3.3-6">Next, ASBR21 readvertises the RD:203.0.113.41 route with the next hop
          set to itself to ASBR12 with a newly allocated MPLS label V-L2. Forwarding
          for this label is installed to Swap V-L1, and Push labels for
          ASBR21_to_PE22_gold tunnel.</t>
          <t indent="0" pn="section-appendix.b.3.3-7">ASBR12 further readvertises the RD:203.0.113.41 route via RR13 to
          PE11 with the next hop set to itself, 192.0.2.12. PE11 resolves the next hop
          192.0.2.12 over PE11_to_ASBR12_gold RSVP TE tunnel.</t>
          <t indent="0" pn="section-appendix.b.3.3-8">Traffic traverses as the IP packet on the following legs: CE31-PE11
          and PE21-CE41. And it uses MPLS forwarding on the ASBR11-ASBR21 link and
          inside the AS1-AS2 core.</t>
          <t indent="0" pn="section-appendix.b.3.3-9">BGP CT AFI/SAFI 1/76 is not used in this inter-AS option B
          deployment. But the Transport Class and Resolution Scheme constructs
          are used to preserve an end-to-end SLA.</t>
        </section>
      </section>
    </section>
    <section anchor="Appendix_C" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.c">
      <name slugifiedName="name-why-reuse-rfcs-8277-and-436">Why reuse RFCs 8277 and 4364?</name>
      <t indent="0" pn="section-appendix.c-1"><xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> is one of the key design patterns produced by the networking
      industry. It introduced virtualization and allowed sharing of resources
      in the service provider space with multiple tenant networks, providing
      isolated and secure Layer 3 VPN services. This design pattern has been
      reused since to provide other service layer virtualizations like Layer 2
      virtualization (VPLS, L2VPN, EVPN), ISO virtualization, ATM
      virtualization, and Flowspec VPN.</t>
      <t indent="0" pn="section-appendix.c-2">It is to be noted that these services have different NLRI encodings.
      The L3VPN service family that binds the MPLS label to an IP prefix uses the encoding described in  <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>
      and others define different NLRI encodings.</t>
      <t indent="0" pn="section-appendix.c-3">BGP CT reuses the procedures described in <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> to slice a transport network into
      multiple transport planes that different service routes can bind to
      using color.</t>
      <t indent="0" pn="section-appendix.c-4">BGP CT reuses <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> because it precisely fits the purpose.  That is, in
      an MPLS network, BGP CT needs to bind the MPLS label for transport endpoints,
      which are IPv4 or IPv6 endpoints, and disambiguate between multiple
      instances of those endpoints in multiple transport planes. Hence, use of the
      RD:IP_Prefix and carrying a Label for it as specified in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> works
      well for this purpose.</t>
      <t indent="0" pn="section-appendix.c-5">Another advantage of using the precise encoding as defined in <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> and <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> is that it allows 
      interoperation with BGP speakers that support SAFI 128 for AFIs 1 or
      2. This can be useful during transition until all BGP speakers in the
      network support BGP CT.</t>
      <t indent="0" pn="section-appendix.c-6">In the future, if <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> evolves into a typed NLRI that does not carry
      Label in the NLRI, BGP CT will be compatible with that as well. In
      essence, BGP CT encoding is compatible with existing deployed
      technologies (<xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> and <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>) and will adapt to any changes mechanisms from <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>
      undergo in future.</t>
      <t indent="0" pn="section-appendix.c-7">This approach leverages the benefits of time-tested design patterns
      proposed in <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> and <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>. Moreover, this approach greatly
      reduces operational training costs and protocol compatibility
      considerations as it complements and works well with existing protocol
      machinery: this problem does not need a brand
      new NLRI and procedures.</t>
      <t indent="0" pn="section-appendix.c-8">BGP CT design also avoids overloading the NLRI MPLS label field from <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>
      with information related to the non-MPLS data plane because it leads to
      backward-compatibility issues.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.c.1">
        <name slugifiedName="name-update-packing-consideratio">Update Packing Considerations</name>
        <t indent="0" pn="section-appendix.c.1-1">BGP CT carries Transport Class as an attribute. This means routes
        that don't share the same Transport Class cannot be packed into the same
        BGP UPDATE message. Update packing in BGP CT will be similar to family routes from <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>
        carrying attributes like communities or extended
        communities. Service families like AFI/SAFI 1/128 have considerably
        more scale than transport families like AFI/SAFI 1/4 or AFI/SAFI 1/76,
        which carry only loopbacks. Update packing mechanisms that scale for
        AFI/SAFI 1/128 routes will scale similarly for AFI/SAFI 1/76 routes.
        </t>
        <t indent="0" pn="section-appendix.c.1-2"><xref section="6.3.2.1" target="I-D.hr-spring-intentaware-routing-using-color" format="default" sectionFormat="of" derivedLink="https://datatracker.ietf.org/doc/html/draft-hr-spring-intentaware-routing-using-color-04#section-6.3.2.1" derivedContent="Intent-Routing-Color"/> suggests
        scaling numbers for a transport network where BGP CT can be deployed.
        Experiments were conducted with this scale to find the convergence
        time with BGP CT for those scaling numbers. Scenarios involving BGP CT
        carrying IPv4 and IPv6 endpoints with an MPLS label were tested. Tests
        with BGP CT IPv6 endpoints and SRv6 SID are planned.</t>
        <t indent="0" pn="section-appendix.c.1-3">Tests were conducted with a 1.9 million BGP CT route scale (387K
        endpoints in 5 TCs). Initial convergence time for all
        cases was less than 2 minutes, which compares favorably with user
        expectation for such a scale. This experiment proves that carrying
        Transport Class information as an attribute keeps BGP convergence
        within an acceptable range. Details of the experiment and test results
        are available in <xref target="PACKING-TEST" format="default" sectionFormat="of" derivedContent="PACKING-TEST"/>.</t>
        <t indent="0" pn="section-appendix.c.1-4">Furthermore, even in today's BGP LU deployments, each egress node
        originates a BGP LU route for its loopback, with some attributes like
        community identifying the originating node or region and an AIGP
        attribute. These attributes may be unique per egress node; thus, they do not
        help with update packing in transport family routes.</t>
      </section>
    </section>
    <section anchor="Appendix_D" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.d">
      <name slugifiedName="name-scaling-using-bgp-mpls-name">Scaling Using BGP MPLS Namespaces</name>
      <t indent="0" pn="section-appendix.d-1">This document considers the scaling scenario suggested in <xref section="6.3.2.1" target="I-D.hr-spring-intentaware-routing-using-color" format="default" sectionFormat="of" derivedLink="https://datatracker.ietf.org/doc/html/draft-hr-spring-intentaware-routing-using-color-04#section-6.3.2.1" derivedContent="Intent-Routing-Color"/> where 300K nodes exist in the
      network with 5 TCs.</t>
      <t indent="0" pn="section-appendix.d-2">This may result in 1.5M transport layer routes and MPLS transit
      routes in all Border Nodes in the network, which may overwhelm the
      nodes' MPLS-forwarding resources.</t>
      <t indent="0" pn="section-appendix.d-3"><xref section="6.2" target="I-D.kaliraj-bess-bgp-mpls-namespaces" format="default" sectionFormat="of" derivedLink="https://datatracker.ietf.org/doc/html/draft-kaliraj-bess-bgp-mpls-namespaces-01#section-6.2" derivedContent="MPLS-NS"/> describes how MPLS Namespaces
      mechanism is used to scale such a network. This approach reduces the
      number of PNHs that are globally visible in the network, thus reducing
      forwarding resource usage network wide. Service route state is kept
      confined closer to network edge, and any churn is confined within the
      region containing the point of failure, which improves convergence
      also.</t>
    </section>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.e">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.e-1">The authors thank <contact fullname="Jeff Haas"/>, <contact fullname="John Scudder"/>, <contact fullname="Susan Hares"/>, <contact fullname="Dongjie (Jimmy)"/>, <contact fullname="Moses Nagarajah"/>,
      <contact fullname="Jeffrey (Zhaohui) Zhang"/>, <contact fullname="Joel       Halpern"/>, <contact fullname="Jingrong Xie"/>, <contact fullname="Mohamed Boucadair"/>, <contact fullname="Greg Skinner"/>,
      <contact fullname="Simon Leinen"/>, <contact fullname="Navaneetha       Krishnan"/>, <contact fullname="Ravi M R"/>, <contact fullname="Chandrasekar Ramachandran"/>, <contact fullname="Shradha       Hegde"/>, <contact fullname="Colby Barth"/>, <contact fullname="Vishnu       Pavan Beeram"/>, <contact fullname="Sunil Malali"/>, <contact fullname="William J Britto"/>, <contact fullname="R Shilpa"/>, <contact fullname="Ashish Kumar (FE)"/>, <contact fullname="Sunil Kumar Rawat"/>,
      <contact fullname="Abhishek Chakraborty"/>, <contact fullname="Richard       Roberts"/>, <contact fullname="Krzysztof Szarkowicz"/>, <contact fullname="John E Drake"/>, <contact fullname="Srihari Sangli"/>,
      <contact fullname="Jim Uttaro"/>, <contact fullname="Luay Jalil"/>,
      <contact fullname="Keyur Patel"/>, <contact fullname="Ketan       Talaulikar"/>, <contact fullname="Dhananjaya Rao"/>, <contact fullname="Swadesh Agarwal"/>, <contact fullname="Robert Raszuk"/>,
      <contact fullname="Ahmed Darwish"/>, <contact fullname="Aravind Srinivas       Srinivasa Prabhakar"/>, <contact fullname="Moshiko Nayman"/>, <contact fullname="Chris Tripp"/>, <contact fullname="Gyan Mishra"/>, <contact fullname="Vijay Kestur"/>, and <contact fullname="Santosh Kolenchery"/>
      for all the valuable discussions, constructive criticisms, and review
      comments.</t>
      <t indent="0" pn="section-appendix.e-2">The decision to not reuse SAFI 128 and create a new address family to
      carry these transport routes was based on suggestion made by <contact fullname="Richard Roberts"/> and <contact fullname="Krzysztof       Szarkowicz"/>.</t>
      <t indent="0" pn="section-appendix.e-3">Thanks to <contact fullname="John Scudder"/> for showing us with
      example how the Figures can be enhanced using SVG format.</t>
    </section>
    <section anchor="Contributors" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.f">
      <name slugifiedName="name-contributors">Contributors</name>
      <t indent="0" pn="section-appendix.f-1">The following people contributed substantially to the content of this
   document and should be considered coauthors:</t>
      <author fullname="Reshma Das" initials="D." surname="Das">
        <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
        <address>
          <postal>
            <street>1133 Innovation Way</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94089</code>
            <country>United States of America</country>
          </postal>
          <email>dreshma@juniper.net</email>
        </address>
      </author>
      <author fullname="Israel Means" initials="I" surname="Means">
        <organization abbrev="" showOnFrontPage="true">AT&amp;T</organization>
        <address>
          <postal>
            <street>2212 Avenida Mara</street>
            <city>Chula Vista</city>
            <region>California</region>
            <code>91914</code>
            <country>United States of America</country>
          </postal>
          <email>israel.means@att.com</email>
        </address>
      </author>
      <author fullname="Csaba Mate" initials="CS" surname="Mate">
        <organization abbrev="" showOnFrontPage="true">KIFU, Hungarian NREN</organization>
        <address>
          <postal>
            <street>35 Vaci Street</street>
            <city>Budapest</city>
            <region/>
            <code>1134</code>
            <country>Hungary</country>
          </postal>
          <email>ietf@nop.hu</email>
        </address>
      </author>
      <author fullname="Deepak J Gowda" initials="J" surname="Gowda">
        <organization abbrev="" showOnFrontPage="true">Extreme Networks</organization>
        <address>
          <postal>
            <street>55 Commerce Valley Drive West, Suite 300</street>
            <city>Thornhill, Toronto</city>
            <region>Ontario</region>
            <code>L3T 7V9</code>
            <country>Canada</country>
          </postal>
          <email>dgowda@extremenetworks.com</email>
        </address>
      </author>
      <t indent="0" pn="section-appendix.f-2">We also acknowledge the contribution of the following individuals:</t>
      <author fullname="Balaji Rajagopalan" initials="B." surname="Rajagopalan">
        <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
        <address>
          <postal>
            <street>Electra, Exora Business Park~Marathahalli - Sarjapur Outer Ring Road</street>
            <city>Bangalore</city>
            <region>KA</region>
            <code>560103</code>
            <country>India</country>
          </postal>
          <email>balajir@juniper.net</email>
        </address>
      </author>
      <author fullname="Rajesh M" initials="M">
        <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
        <address>
          <postal>
            <street>Electra, Exora Business Park~Marathahalli - Sarjapur Outer Ring Road</street>
            <city>Bangalore</city>
            <region>KA</region>
            <code>560103</code>
            <country>India</country>
          </postal>
          <email>mrajesh@juniper.net</email>
        </address>
      </author>
      <author fullname="Chaitanya Yadlapalli" initials="C" surname="Yadlapalli">
        <organization abbrev="" showOnFrontPage="true">AT&amp;T</organization>
        <address>
          <postal>
            <street>200 S Laurel Ave</street>
            <city>Middletown</city>
            <region>NJ</region>
            <code>07748</code>
            <country>United States of America</country>
          </postal>
          <email>cy098d@att.com</email>
        </address>
      </author>
      <author fullname="Mazen Khaddam" initials="M" surname="Khaddam">
        <organization abbrev="" showOnFrontPage="true">Cox Communications Inc.</organization>
        <address>
          <postal>
            <street/>
            <city>Atlanta</city>
            <region>GA</region>
            <code/>
            <country>United States of America</country>
          </postal>
          <email>mazen.khaddam@cox.com</email>
        </address>
      </author>
      <author fullname="Rafal Jan Szarecki" initials="R" surname="Szarecki">
        <organization abbrev="" showOnFrontPage="true">Google</organization>
        <address>
          <postal>
            <street>1160 N Mathilda Ave, Bldg 5</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94089</code>
            <country>United States of America</country>
          </postal>
          <email>szarecki@google.com</email>
        </address>
      </author>
      <author fullname="Xiaohu Xu" initials="X" surname="Xu">
        <organization abbrev="" showOnFrontPage="true">China Mobile</organization>
        <address>
          <postal>
            <street/>
            <city>Beijing</city>
            <region/>
            <code/>
            <country>China</country>
          </postal>
          <email>xuxiaohu@cmss.chinamobile.com</email>
        </address>
      </author>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.g">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Kaliraj Vairavakkalai" initials="K." role="editor" surname="Vairavakkalai">
        <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
        <address>
          <postal>
            <street>1133 Innovation Way</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94089</code>
            <country>United States of America</country>
          </postal>
          <email>kaliraj@juniper.net</email>
        </address>
      </author>
      <author fullname="Natrajan Venkataraman" initials="N." role="editor" surname="Venkataraman">
        <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
        <address>
          <postal>
            <street>1133 Innovation Way</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94089</code>
            <country>United States of America</country>
          </postal>
          <email>natv@juniper.net</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
