<?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-car-16" number="9871" consensus="true" updates="" obsoletes="" ipr="trust200902" submissionType="IETF" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" xml:lang="en" prepTime="2025-11-20T13:44:19" indexInclude="true" scripts="Common,Latin">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-idr-bgp-car-16" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9871" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="BGP Color-Aware Routing (CAR)">BGP Color-Aware Routing (CAR)</title>
    <seriesInfo name="RFC" value="9871" stream="IETF"/>
    <author fullname="Dhananjaya Rao" initials="D" role="editor" surname="Rao">
      <organization showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>dhrao@cisco.com</email>
      </address>
    </author>
    <author fullname="Swadesh Agrawal" initials="S" role="editor" surname="Agrawal">
      <organization showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>swaagraw@cisco.com</email>
      </address>
    </author>
    <date month="11" year="2025"/>
    <area>RTG</area>
    <workgroup>idr</workgroup>
    <keyword>intent-aware routing</keyword>
    <keyword>intent-based routing</keyword>
    <keyword>color-aware VPNs</keyword>
    <keyword>color-aware BGP transport</keyword>
    <keyword>BGP extensible NLRI</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
    This document describes a BGP-based routing solution to establish
    end-to-end intent-aware paths across a multi-domain transport network. The transport
    network can span multiple service provider and customer network domains.
    The BGP intent-aware paths can be used to steer traffic flows for service routes 
    that need a specific intent. This solution is called BGP Color-Aware Routing (BGP CAR).
      </t>
      <t indent="0" pn="section-abstract-2">
   This document describes the routing framework and BGP extensions to enable
   intent-aware routing using the BGP CAR solution. The solution defines two
   new BGP SAFIs (BGP CAR SAFI and BGP VPN CAR SAFI) for IPv4 and IPv6. It
   also defines an extensible Network Layer Reachability Information (NLRI)
   model for both SAFIs that allows multiple NLRI types to be defined for
   different use cases.  Each type of NLRI contains key and TLV-based non-key
   fields for efficient encoding of different per-prefix information. This
   specification defines two NLRI types: Color-Aware Route NLRI and IP Prefix
   NLRI. It defines non-key TLV types for the MPLS label stack, SR-MPLS label
   index, and Segment Routing over IPv6 (SRv6) Segment Identifiers (SIDs). This
   solution also defines a new Local Color Mapping (LCM) Extended Community.
      </t>
    </abstract>
    <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/rfc9871" 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" 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>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" format="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-illustration">Illustration</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.3">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.3.1"><xref derivedContent="1.3" format="counter" sectionFormat="of" target="section-1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </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-bgp-car-safi">BGP CAR SAFI</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" 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-data-model">Data Model</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" 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-extensible-encoding">Extensible Encoding</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-bgp-car-route-origination">BGP CAR Route Origination</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.4">
                <t indent="0" pn="section-toc.1-1.2.2.4.1"><xref derivedContent="2.4" format="counter" sectionFormat="of" target="section-2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-car-route-validation">BGP CAR Route Validation</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.5">
                <t indent="0" pn="section-toc.1-1.2.2.5.1"><xref derivedContent="2.5" format="counter" sectionFormat="of" target="section-2.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-car-route-resolution">BGP CAR Route Resolution</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.6">
                <t indent="0" pn="section-toc.1-1.2.2.6.1"><xref derivedContent="2.6" format="counter" sectionFormat="of" target="section-2.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-aigp-metric-computation">AIGP Metric Computation</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.7">
                <t indent="0" pn="section-toc.1-1.2.2.7.1"><xref derivedContent="2.7" format="counter" sectionFormat="of" target="section-2.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-inherent-multipath-capabili">Inherent Multipath Capability</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.8">
                <t indent="0" pn="section-toc.1-1.2.2.8.1"><xref derivedContent="2.8" format="counter" sectionFormat="of" target="section-2.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-car-signaling-through-d">BGP CAR Signaling Through Different Color Domains</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.9">
                <t indent="0" pn="section-toc.1-1.2.2.9.1"><xref derivedContent="2.9" format="counter" sectionFormat="of" target="section-2.9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-format-and-encoding">Format and Encoding</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2.9.2">
                  <li pn="section-toc.1-1.2.2.9.2.1">
                    <t indent="0" pn="section-toc.1-1.2.2.9.2.1.1"><xref derivedContent="2.9.1" format="counter" sectionFormat="of" target="section-2.9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-car-safi-nlri-format">BGP CAR SAFI NLRI Format</xref></t>
                  </li>
                  <li pn="section-toc.1-1.2.2.9.2.2">
                    <t indent="0" pn="section-toc.1-1.2.2.9.2.2.1"><xref derivedContent="2.9.2" format="counter" sectionFormat="of" target="section-2.9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-type-specific-non-key-tlv-f">Type-Specific Non-Key TLV Format</xref></t>
                  </li>
                  <li pn="section-toc.1-1.2.2.9.2.3">
                    <t indent="0" pn="section-toc.1-1.2.2.9.2.3.1"><xref derivedContent="2.9.3" format="counter" sectionFormat="of" target="section-2.9.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-color-aware-route-e-c-nlri-">Color-Aware Route (E, C) NLRI Type</xref></t>
                  </li>
                  <li pn="section-toc.1-1.2.2.9.2.4">
                    <t indent="0" pn="section-toc.1-1.2.2.9.2.4.1"><xref derivedContent="2.9.4" format="counter" sectionFormat="of" target="section-2.9.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ip-prefix-e-nlri-type">IP Prefix (E) NLRI Type</xref></t>
                  </li>
                  <li pn="section-toc.1-1.2.2.9.2.5">
                    <t indent="0" pn="section-toc.1-1.2.2.9.2.5.1"><xref derivedContent="2.9.5" format="counter" sectionFormat="of" target="section-2.9.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-local-color-mapping-lcm-ext">Local Color Mapping (LCM) Extended Community</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.2.2.10">
                <t indent="0" pn="section-toc.1-1.2.2.10.1"><xref derivedContent="2.10" format="counter" sectionFormat="of" target="section-2.10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-lcm-ec-and-bgp-color-ec-usa">LCM-EC and BGP Color-EC Usage</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.11">
                <t indent="0" pn="section-toc.1-1.2.2.11.1"><xref derivedContent="2.11" format="counter" sectionFormat="of" target="section-2.11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-error-handling">Error Handling</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-service-route-automated-ste">Service Route Automated Steering on Color-Aware Paths</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-filtering">Filtering</xref></t>
          </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-scaling">Scaling</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-ultra-scale-reference-topol">Ultra-Scale Reference Topology</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-deployment-model">Deployment Model</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.2.2">
                  <li pn="section-toc.1-1.5.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.1.1"><xref derivedContent="5.2.1" format="counter" sectionFormat="of" target="section-5.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-flat">Flat</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.2.1"><xref derivedContent="5.2.2" format="counter" sectionFormat="of" target="section-5.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hierarchical-design-with-ne">Hierarchical Design with Next-Hop-Self at Ingress Domain BR</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.3.1"><xref derivedContent="5.2.3" format="counter" sectionFormat="of" target="section-5.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hierarchical-design-with-nex">Hierarchical Design with Next-Hop-Unchanged at Ingress Domain BR</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-scale-analysis">Scale Analysis</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-anycast-sid">Anycast SID</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.4.2">
                  <li pn="section-toc.1-1.5.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.4.2.1.1"><xref derivedContent="5.4.1" format="counter" sectionFormat="of" target="section-5.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-anycast-sid-for-transit-int">Anycast SID for Transit Inter-Domain Nodes</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.4.2.2.1"><xref derivedContent="5.4.2" format="counter" sectionFormat="of" target="section-5.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-anycast-sid-for-transport-c">Anycast SID for Transport Color Endpoints</xref></t>
                  </li>
                </ul>
              </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-routing-convergence">Routing Convergence</xref></t>
          </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-car-srv6">CAR SRv6</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-overview">Overview</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2.1.2">
                  <li pn="section-toc.1-1.7.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.7.2.1.2.1.1"><xref derivedContent="7.1.1" format="counter" sectionFormat="of" target="section-7.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-routed-service-sid">Routed Service SID</xref></t>
                  </li>
                  <li pn="section-toc.1-1.7.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.7.2.1.2.2.1"><xref derivedContent="7.1.2" format="counter" sectionFormat="of" target="section-7.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-non-routed-service-sid">Non-Routed Service SID</xref></t>
                  </li>
                </ul>
              </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-deployment-options-for-car-">Deployment Options for CAR SRv6 Locator Reachability Distribution and Forwarding</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2.2.2">
                  <li pn="section-toc.1-1.7.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.7.2.2.2.1.1"><xref derivedContent="7.2.1" format="counter" sectionFormat="of" target="section-7.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hop-by-hop-ipv6-forwarding-">Hop-by-Hop IPv6 Forwarding for BGP SRv6 Prefixes</xref></t>
                  </li>
                  <li pn="section-toc.1-1.7.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.7.2.2.2.2.1"><xref derivedContent="7.2.2" format="counter" sectionFormat="of" target="section-7.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-encapsulation-between-brs-f">Encapsulation Between BRs for BGP SRv6 Prefixes</xref></t>
                  </li>
                </ul>
              </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-operational-benefits-of-usi">Operational Benefits of Using CAR SAFI for SRv6 Locator Prefix Distribution</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-car-ip-prefix-route">CAR IP Prefix Route</xref></t>
          </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-vpn-car">VPN CAR</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-format-and-encoding-2">Format and Encoding</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2.1.2">
                  <li pn="section-toc.1-1.9.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.9.2.1.2.1.1"><xref derivedContent="9.1.1" format="counter" sectionFormat="of" target="section-9.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-vpn-car-e-c-nlri-type">VPN CAR (E, C) NLRI Type</xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.9.2.1.2.2.1"><xref derivedContent="9.1.2" format="counter" sectionFormat="of" target="section-9.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-vpn-car-ip-prefix-nlri-type">VPN CAR IP Prefix NLRI Type</xref></t>
                  </li>
                </ul>
              </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-iana-considerations">IANA 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-bgp-car-safis">BGP CAR SAFIs</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-bgp-car-nlri-types-registry">"BGP CAR NLRI Types" Registry</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-bgp-car-nlri-tlv-registry">"BGP CAR NLRI TLV" Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.4">
                <t indent="0" pn="section-toc.1-1.10.2.4.1"><xref derivedContent="10.4" format="counter" sectionFormat="of" target="section-10.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-guidance-for-designated-exp">Guidance for Designated Experts</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2.4.2">
                  <li pn="section-toc.1-1.10.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.10.2.4.2.1.1"><xref derivedContent="10.4.1" format="counter" sectionFormat="of" target="section-10.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-additional-evaluation-crite">Additional Evaluation Criteria for the "BGP CAR NLRI Types" Registry</xref></t>
                  </li>
                  <li pn="section-toc.1-1.10.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.10.2.4.2.2.1"><xref derivedContent="10.4.2" format="counter" sectionFormat="of" target="section-10.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-additional-evaluation-criter">Additional Evaluation Criteria for the "BGP CAR NLRI TLV" Registry</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.10.2.5">
                <t indent="0" pn="section-toc.1-1.10.2.5.1"><xref derivedContent="10.5" format="counter" sectionFormat="of" target="section-10.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-border-gateway-protocol-bgp">"Border Gateway Protocol (BGP) Extended Communities" Registry</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-manageability-and-operation">Manageability and Operational Considerations</xref></t>
          </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-security-considerations">Security Considerations</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-references">References</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-normative-references">Normative References</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-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-illustrations-of-service-st">Illustrations of Service Steering</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.14.2">
              <li pn="section-toc.1-1.14.2.1">
                <t indent="0" pn="section-toc.1-1.14.2.1.1"><xref derivedContent="A.1" format="counter" sectionFormat="of" target="section-appendix.a.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-e2e-bgp-transport-car-inten">E2E BGP Transport CAR Intent Realized Using IGP Flexible Algorithm</xref></t>
              </li>
              <li pn="section-toc.1-1.14.2.2">
                <t indent="0" pn="section-toc.1-1.14.2.2.1"><xref derivedContent="A.2" format="counter" sectionFormat="of" target="section-appendix.a.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-e2e-bgp-transport-car-intent">E2E BGP Transport CAR Intent Realized Using SR Policy</xref></t>
              </li>
              <li pn="section-toc.1-1.14.2.3">
                <t indent="0" pn="section-toc.1-1.14.2.3.1"><xref derivedContent="A.3" format="counter" sectionFormat="of" target="section-appendix.a.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-transport-car-intent-re">BGP Transport CAR Intent Realized in a Section of the Network</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.14.2.3.2">
                  <li pn="section-toc.1-1.14.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.14.2.3.2.1.1"><xref derivedContent="A.3.1" format="counter" sectionFormat="of" target="section-appendix.a.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-provide-intent-for-service-">Provide Intent for Service Flows Only in Core Domain Running IS-IS Flexible Algorithm</xref></t>
                  </li>
                  <li pn="section-toc.1-1.14.2.3.2.2">
                    <t indent="0" pn="section-toc.1-1.14.2.3.2.2.1"><xref derivedContent="A.3.2" format="counter" sectionFormat="of" target="section-appendix.a.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-provide-intent-for-service-f">Provide Intent for Service Flows Only in Core Domain over TE Tunnel Mesh</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.14.2.4">
                <t indent="0" pn="section-toc.1-1.14.2.4.1"><xref derivedContent="A.4" format="counter" sectionFormat="of" target="section-appendix.a.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transit-network-domains-tha">Transit Network Domains That Do Not Support CAR</xref></t>
              </li>
              <li pn="section-toc.1-1.14.2.5">
                <t indent="0" pn="section-toc.1-1.14.2.5.1"><xref derivedContent="A.5" format="counter" sectionFormat="of" target="section-appendix.a.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-resource-avoidance-using-bg">Resource Avoidance Using BGP CAR and IGP Flexible Algorithm</xref></t>
              </li>
              <li pn="section-toc.1-1.14.2.6">
                <t indent="0" pn="section-toc.1-1.14.2.6.1"><xref derivedContent="A.6" format="counter" sectionFormat="of" target="section-appendix.a.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-per-flow-steering-over-car-">Per-Flow Steering over CAR Routes</xref></t>
              </li>
              <li pn="section-toc.1-1.14.2.7">
                <t indent="0" pn="section-toc.1-1.14.2.7.1"><xref derivedContent="A.7" format="counter" sectionFormat="of" target="section-appendix.a.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-advertising-bgp-car-routes-">Advertising BGP CAR Routes for Shared IP Addresses</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="Appendix B" format="default" sectionFormat="of" target="section-appendix.b"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-color-mapping-illustrations">Color Mapping Illustrations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.15.2">
              <li pn="section-toc.1-1.15.2.1">
                <t indent="0" pn="section-toc.1-1.15.2.1.1"><xref derivedContent="B.1" format="counter" sectionFormat="of" target="section-appendix.b.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-single-color-domain-contain">Single Color Domain Containing Network Domains with N:N Color
        Distribution</xref></t>
              </li>
              <li pn="section-toc.1-1.15.2.2">
                <t indent="0" pn="section-toc.1-1.15.2.2.1"><xref derivedContent="B.2" format="counter" sectionFormat="of" target="section-appendix.b.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-single-color-domain-containi">Single Color Domain Containing Network Domains with N:M Color Distribution</xref></t>
              </li>
              <li pn="section-toc.1-1.15.2.3">
                <t indent="0" pn="section-toc.1-1.15.2.3.1"><xref derivedContent="B.3" format="counter" sectionFormat="of" target="section-appendix.b.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multiple-color-domains">Multiple Color Domains</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.16">
            <t indent="0" pn="section-toc.1-1.16.1"><xref derivedContent="Appendix C" format="default" sectionFormat="of" target="section-appendix.c"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-car-srv6-illustrations">CAR SRv6 Illustrations</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="C.1" format="counter" sectionFormat="of" target="section-appendix.c.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-car-srv6-locator-reacha">BGP CAR SRv6 Locator Reachability Hop-by-Hop Distribution</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="C.2" format="counter" sectionFormat="of" target="section-appendix.c.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-car-srv6-locator-reachab">BGP CAR SRv6 Locator Reachability Distribution with Encapsulation</xref></t>
              </li>
              <li pn="section-toc.1-1.16.2.3">
                <t indent="0" pn="section-toc.1-1.16.2.3.1"><xref derivedContent="C.3" format="counter" sectionFormat="of" target="section-appendix.c.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-car-e-c-route-distribut">BGP CAR (E, C) Route Distribution for Steering Non-Routed Service SID</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 D" format="default" sectionFormat="of" target="section-appendix.d"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-car-safi-nlri-update-packin">CAR SAFI NLRI Update Packing Efficiency Calculation</xref></t>
          </li>
          <li pn="section-toc.1-1.18">
            <t indent="0" pn="section-toc.1-1.18.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.19">
            <t indent="0" pn="section-toc.1-1.19.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.20">
            <t indent="0" pn="section-toc.1-1.20.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 anchor="INTRO" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
      BGP Color-Aware Routing (CAR) is a BGP-based routing solution to establish
      end-to-end intent-aware paths across a multi-domain service provider
      transport network. BGP CAR distributes distinct routes to a destination network 
      endpoint, such as a Provider Edge (PE) router, for different intents or colors. Color is a 
      non-zero 32-bit integer value associated with a network intent (such as low cost, low delay, 
      avoid some resources, 5G network slice, etc.) as defined in 
      <xref target="RFC9256" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. 
      </t>
      <t indent="0" pn="section-1-2">
      BGP CAR fulfills the transport and VPN problem statement and the requirements described
      in <xref target="I-D.hr-spring-intentaware-routing-using-color" format="default" sectionFormat="of" derivedContent="INTENT-AWARE"/>.
      </t>
      <t indent="0" pn="section-1-3">
      For this purpose, this document specifies two new BGP SAFIs, called 
      BGP CAR SAFI (83) and VPN CAR SAFI (84), that carry infrastructure routes to
      set up the transport paths. Both CAR SAFI and VPN CAR SAFI apply to IPv4 Unicast and 
      IPv6 Unicast AFIs (AFI 1 and AFI 2). The use of these SAFIs with other AFIs are 
      outside the scope of this document.
      </t>
      <t indent="0" pn="section-1-4">
      BGP CAR SAFI can be enabled on transport devices in a provider network
      (underlay) to set up color-aware transport/infrastructure paths across
      provider networks.  The multi-domain transport network may comprise of
      multiple BGP Autonomous Systems (ASes) as well as multiple IGP domains within a single BGP
      AS. BGP CAR SAFI can also be enabled within a VPN Routing and Forwarding (VRF) on a PE router towards
      a peering Customer Edge (CE) router, and on devices within a customer
      network. VPN CAR SAFI is used for the distribution of intent-aware
      routes from different customers received on a PE router across the
      provider networks, maintaining the separation of the customer address
      spaces that may overlap. The BGP CAR solution thus enables intent-aware
      transport paths to be set up across a multi-domain network that can span
      customer and provider network domains.
      </t>
      <t indent="0" pn="section-1-5">
      This document also defines two BGP CAR route types for this purpose.
      </t>
      <t indent="0" pn="section-1-6">
      The BGP CAR Type-1 NLRI (E, C) enables the generation and distribution of multiple 
      color-aware routes to the same destination IP prefix for different colors. 
      This case arises from situations where a transport node such as a PE has a common 
      IP address (such as a loopback) to advertise for multiple intents. The operator intends
      to use the common IP address as both the BGP next hop for service routes and as the 
      transport endpoint for the data plane path. Multiple routes are needed for this same 
      address or prefix to set up a unique path for each intent. One example is setting up 
      multiple Label Switched Paths (LSPs) for MPLS or Segment Routing over MPLS (SR-MPLS) to an egress PE, one per intent.
      </t>
      <t indent="0" pn="section-1-7">
      The BGP CAR Type-2 NLRI (IP Prefix or E) enables the distribution of multiple color-aware routes to a 
      transport node for the case where the operator specifies a unique network 
      IP address block for a given intent, and the transport node gets assigned a 
      unique IP prefix or address for each intent. An example use case is Segment Routing over IPv6 (SRv6)
      per-intent locators.
      </t>
      <t indent="0" pn="section-1-8">
      These BGP CAR intent-aware paths are then used by an ingress node (such as a PE) to 
      steer traffic flows for service routes that need the specific intents. Steering may be 
      towards a destination for all or specific traffic flows.
      </t>
      <t indent="0" pn="section-1-9">BGP CAR adheres to the flat routing model of BGP for IP routing (BGP-IP) <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/> or BGP Labeled Unicast (BGP-LU) (SAFI 4 in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>), and extends it to support intent awareness, thereby
     providing a consistent operational experience with those widely deployed
     transport routing technologies.</t>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-1.1">
        <name slugifiedName="name-terminology">Terminology</name>
        <dl spacing="normal" newline="true" indent="3" pn="section-1.1-1">
          <dt pn="section-1.1-1.1">Intent (in routing):</dt>
          <dd pn="section-1.1-1.2">
            <t indent="0" pn="section-1.1-1.2.1">Any behaviors to influence routing or path selection, including
	    any combination of the following behaviors:</t>
            <ol type="a" spacing="compact" indent="adaptive" start="1" pn="section-1.1-1.2.2">
	      <li pn="section-1.1-1.2.2.1" derivedCounter="a.">Topology path selection (e.g., minimize metric or avoid
	      resource)</li>
              <li pn="section-1.1-1.2.2.2" derivedCounter="b.">Network Function Virtualization (NFV) service insertion (e.g., service chain steering)</li>
              <li pn="section-1.1-1.2.2.3" derivedCounter="c.">Per-hop behavior (e.g., a 5G slice)</li>
            </ol>
            <t indent="0" pn="section-1.1-1.2.3">This is a more specific concept with respect to routing
	      beyond best-effort, compared to intent as a declarative
	      abstraction in <xref target="RFC9315" format="default" sectionFormat="of" derivedContent="RFC9315"/>.</t>
          </dd>
          <dt pn="section-1.1-1.3">Color:</dt>
          <dd pn="section-1.1-1.4">A non-zero 32-bit integer value associated with an intent
          (e.g., low cost, low delay, or avoid some resources) as defined in
          <xref target="RFC9256" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. Color assignment is managed by
          the operator.</dd>
          <dt pn="section-1.1-1.5">Colored service route:</dt>
          <dd pn="section-1.1-1.6">An egress PE (e.g., E2) colors its BGP service (e.g., VPN) route
          (e.g., V/v) to indicate the intent that it requests for the traffic
          bound to V/v.  The color is encoded as a BGP Color
          Extended Community <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>, used as per <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>,
          or represented by the locator part of SRv6 Service SID <xref target="RFC9252" format="default" sectionFormat="of" derivedContent="RFC9252"/>.</dd>
          <dt pn="section-1.1-1.7">Color-aware path to (E2, C):</dt>
          <dd pn="section-1.1-1.8">A path to forward packets towards E2 that satisfies the intent
          associated with color C.  Several technologies may provide a
          color-aware path to (E2, C), such as SR Policy <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>, IGP
          Flexible Algorithm <xref target="RFC9350" format="default" sectionFormat="of" derivedContent="RFC9350"/>, and BGP CAR (as specified in this document).</dd>
          <dt pn="section-1.1-1.9">Color-aware route (E2, C):</dt>
          <dd pn="section-1.1-1.10">A distributed or signaled route that builds a color-aware path to E2 for 
          color C.</dd>
          <dt pn="section-1.1-1.11">Service route automated steering on color-aware path:</dt>
          <dd pn="section-1.1-1.12">An ingress PE (or ASBR) E1 automatically steers traffic for a
          C-colored service route V/v from E2 onto an (E2, C) color-aware
          path. If several such paths exist, a preference scheme is used to
          select the best path (for example, IGP Flexible Algorithm is preferred over SR
          Policy, and SR Policy is preferred over BGP CAR).</dd>
          <dt pn="section-1.1-1.13">Color domain:</dt>
          <dd pn="section-1.1-1.14">A set of nodes that share the same color-to-intent mapping, typically under
          single administration. This set can be organized into one or multiple network domains 
          (IGP areas/instances within a single BGP AS, or multiple BGP ASes). Color-to-intent 
          mapping on nodes is set by configuration. Color re-mapping and filtering may happen 
          at color domain boundaries. Refer to 
          <xref target="I-D.hr-spring-intentaware-routing-using-color" format="default" sectionFormat="of" derivedContent="INTENT-AWARE"/>.</dd>
          <dt pn="section-1.1-1.15">Resolution of a BGP CAR route (E, C):</dt>
          <dd pn="section-1.1-1.16">An inter-domain BGP CAR route (E, C) via N is resolved on an
          intra-domain color-aware path (N, C) where N is the next hop of the
          BGP CAR route.</dd>
          <dt pn="section-1.1-1.17">Resolution versus steering:</dt>
          <dd pn="section-1.1-1.18">
            <t indent="0" pn="section-1.1-1.18.1">Consistent with the terminology used in the SR Policy document
	    (<xref target="RFC9256" sectionFormat="of" section="8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-8" derivedContent="RFC9256"/>), in
	    this document (service route) steering is used to describe the
	    mapping of the traffic for a service route onto a BGP CAR path.
	    In contrast, the term resolution is preserved for the mapping of
	    an inter-domain BGP CAR route on an intra-domain color-aware
	    path.</t>
            <dl spacing="normal" newline="true" indent="3" pn="section-1.1-1.18.2">
              <dt pn="section-1.1-1.18.2.1">Service steering:</dt>
              <dd pn="section-1.1-1.18.2.2">Service route maps traffic to a BGP CAR path (or other
	      color-aware path, e.g., SR Policy). If a color-aware path is not
	      available, local policy may map to a color-unaware routing/TE path
	      (e.g., BGP-LU, RSVP-TE, IGP/LDP).  The service steering concept is
	      agnostic to the transport technology used.  <xref target="STEERING" format="default" sectionFormat="of" derivedContent="Section 3"/> describes the specific service steering
	      mechanisms leveraged for MPLS, SR-MPLS, and SRv6.</dd>
              <dt pn="section-1.1-1.18.2.3">Intra-domain resolution:</dt>
              <dd pn="section-1.1-1.18.2.4">BGP CAR route maps to an intra-domain color-aware path (e.g., SR
	      Policy, IGP Flexible Algorithm, BGP CAR) or a color-unaware routing/TE path
	      (e.g., RSVP-TE, IGP/LDP, BGP-LU).</dd>
            </dl>
          </dd>
          <dt pn="section-1.1-1.19">Transport network:</dt>
          <dd pn="section-1.1-1.20">A network that comprises of multiple cooperating domains managed
          by one or more operators, and uses routing technologies such as IP,
          MPLS, and SR to forward packets for connectivity and
          other services.  In an SR deployment, the transport network is
          within a trusted domain as per <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>.</dd>
          <dt pn="section-1.1-1.21">Transport layer:</dt>
          <dd pn="section-1.1-1.22">Refers to an underlay network layer (e.g., MPLS LSPs between
          PEs) that gets used by an overlay or service layer (e.g., MPLS
          VPNs).</dd>
          <dt pn="section-1.1-1.23">Transport RR:</dt>
          <dd pn="section-1.1-1.24">A BGP Route Reflector (RR) used to distribute transport/underlay routes within a domain or 
          across domains.</dd>
          <dt pn="section-1.1-1.25">Service RR:</dt>
          <dd pn="section-1.1-1.26">A BGP Route Reflector (RR) used to distribute service/overlay routes
          within a domain or across domains.</dd>
        </dl>
        <t indent="0" pn="section-1.1-2">Abbreviations:</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-1.1-3">
          <dt pn="section-1.1-3.1">ABR:</dt>
          <dd pn="section-1.1-3.2">Area Border Router</dd>
          <dt pn="section-1.1-3.3">AFI:</dt>
          <dd pn="section-1.1-3.4">Address Family Identifier</dd>
          <dt pn="section-1.1-3.5">AIGP:</dt>
          <dd pn="section-1.1-3.6">Accumulated IGP Metric Attribute <xref target="RFC7311" format="default" sectionFormat="of" derivedContent="RFC7311"/></dd>
          <dt pn="section-1.1-3.7">ASBR:</dt>
          <dd pn="section-1.1-3.8">Autonomous System Border Router</dd>
          <dt pn="section-1.1-3.9">BGP-LU:</dt>
          <dd pn="section-1.1-3.10">BGP Labeled Unicast SAFI (SAFI value 4 as per <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>)</dd>
          <dt pn="section-1.1-3.11">BGP-IP:</dt>
          <dd pn="section-1.1-3.12">BGP IPv4/IPv6 Unicast SAFI (SAFI value 1 as per <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/> and <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/>)</dd>
          <dt pn="section-1.1-3.13">BR:</dt>
          <dd pn="section-1.1-3.14">Border Router (either for an IGP area (an ABR) or a BGP
          autonomous system (an ASBR))</dd>
          <dt pn="section-1.1-3.15">Color-EC:</dt>
          <dd pn="section-1.1-3.16">BGP Color Extended Community <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/></dd>
          <dt pn="section-1.1-3.17">E:</dt>
          <dd pn="section-1.1-3.18">Generic representation of a transport endpoint such
          as a PE, ABR, or ASBR</dd>
          <dt pn="section-1.1-3.19">LCM-EC:</dt>
          <dd pn="section-1.1-3.20">BGP Local Color Mapping Extended Community</dd>
          <dt pn="section-1.1-3.21">NLRI:</dt>
          <dd pn="section-1.1-3.22">Network Layer Reachability Information <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/></dd>
          <dt pn="section-1.1-3.23">P node:</dt>
          <dd pn="section-1.1-3.24">An intra-domain transport router</dd>
          <dt pn="section-1.1-3.25">RD:</dt>
          <dd pn="section-1.1-3.26">Route Distinguisher</dd>
          <dt pn="section-1.1-3.27">RR:</dt>
          <dd pn="section-1.1-3.28">Route Reflector</dd>
          <dt pn="section-1.1-3.29">T-RR:</dt>
          <dd pn="section-1.1-3.30">Transport Route Reflector</dd>
          <dt pn="section-1.1-3.31">S-RR:</dt>
          <dd pn="section-1.1-3.32">Service Route Reflector</dd>
          <dt pn="section-1.1-3.33">SAFI:</dt>
          <dd pn="section-1.1-3.34">Subsequent Address Family Identifier</dd>
          <dt pn="section-1.1-3.35">TEA:</dt>
          <dd pn="section-1.1-3.36">Tunnel Encapsulation Attribute <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/></dd>
          <dt pn="section-1.1-3.37">V/v, W/w:</dt>
          <dd pn="section-1.1-3.38">Generic representations of a service route (indicating
	  prefix/mask length), regardless of AFI/SAFI or actual NLRI
	  encoding</dd>
        </dl>
      </section>
      <section anchor="SECCARIllus" numbered="true" removeInRFC="false" toc="include" pn="section-1.2">
        <name slugifiedName="name-illustration">Illustration</name>
        <t indent="0" pn="section-1.2-1">Here is a brief illustration of the salient properties of the BGP CAR 
        solution.</t>
        <figure anchor="Illustration" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-bgp-car-solution-illustrati">BGP CAR Solution Illustration</name>
          <artwork align="left" pn="section-1.2-2.1">
+-------------+      +-------------+      +-------------+
|             |      |             |      |             | V/v with C1
|----+        |------|             |------|        +----|/
| E1 |        |      |             |      |        | E2 |\
|----+        |      |             |      |        +----| W/w with C2
|             |------|             |------|             |
|  Domain 1   |      |   Domain 2  |      |   Domain 3  |
+-------------+      +-------------+      +-------------+
</artwork>
        </figure>
        <t indent="0" pn="section-1.2-3">All the nodes are part of an inter-domain network under a single authority
        and with a consistent color-to-intent mapping:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-4">
          <li pn="section-1.2-4.1">
            <t indent="0" pn="section-1.2-4.1.1">C1 is mapped to "low delay"
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-4.1.2">
              <li pn="section-1.2-4.1.2.1">
                <t indent="0" pn="section-1.2-4.1.2.1.1">Flex-Algo 1 is mapped to "low delay", and hence to C1</t>
              </li>
            </ul>
          </li>
          <li pn="section-1.2-4.2">
            <t indent="0" pn="section-1.2-4.2.1">C2 is mapped to "low delay and avoid resource R"</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-4.2.2">
              <li pn="section-1.2-4.2.2.1">
                <t indent="0" pn="section-1.2-4.2.2.1.1">Flex-Algo 2 is mapped to "low delay and avoid resource R", and hence to C2</t>
              </li>
            </ul>
          </li>
        </ul>
        <t indent="0" pn="section-1.2-5">E1 receives two service routes from E2:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-6">
          <li pn="section-1.2-6.1">
            <t indent="0" pn="section-1.2-6.1.1">V/v with BGP Color-EC C1</t>
          </li>
          <li pn="section-1.2-6.2">
            <t indent="0" pn="section-1.2-6.2.1">W/w with BGP Color-EC C2</t>
          </li>
        </ul>
        <t indent="0" pn="section-1.2-7">E1 has the following color-aware paths:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-8">
          <li pn="section-1.2-8.1">
            <t indent="0" pn="section-1.2-8.1.1">(E2, C1) provided by BGP CAR with the following per-domain support:</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-8.1.2">
              <li pn="section-1.2-8.1.2.1">
                <t indent="0" pn="section-1.2-8.1.2.1.1">Domain 1: over IGP FA1</t>
              </li>
              <li pn="section-1.2-8.1.2.2">
                <t indent="0" pn="section-1.2-8.1.2.2.1">Domain 2: over SR Policy bound to color C1</t>
              </li>
              <li pn="section-1.2-8.1.2.3">
                <t indent="0" pn="section-1.2-8.1.2.3.1">Domain 3: over IGP FA1</t>
              </li>
            </ul>
          </li>
          <li pn="section-1.2-8.2">
            <t indent="0" pn="section-1.2-8.2.1">(E2, C2) provided by SR Policy</t>
          </li>
        </ul>
        <t indent="0" pn="section-1.2-9">E1 automatically steers traffic for the received service routes as follows:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-10">
          <li pn="section-1.2-10.1">
            <t indent="0" pn="section-1.2-10.1.1">V/v via (E2, C1) provided by BGP CAR</t>
          </li>
          <li pn="section-1.2-10.2">
            <t indent="0" pn="section-1.2-10.2.1">W/w via (E2, C2) provided by SR Policy</t>
          </li>
        </ul>
        <t indent="0" pn="section-1.2-11">Illustrated properties:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-12">
          <li pn="section-1.2-12.1">
            <t indent="0" pn="section-1.2-12.1.1">Leverage of the BGP Color-EC
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-12.1.2">
              <li pn="section-1.2-12.1.2.1">
                <t indent="0" pn="section-1.2-12.1.2.1.1">The service routes are colored with widely used BGP Color
                Extended Community <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/> to request
                intent</t>
              </li>
            </ul>
          </li>
          <li pn="section-1.2-12.2">
            <t indent="0" pn="section-1.2-12.2.1">(E, C) automated steering</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-12.2.2">
              <li pn="section-1.2-12.2.2.1">
                <t indent="0" pn="section-1.2-12.2.2.1.1">V/v and W/w are automatically steered on the appropriate color-aware 
            path</t>
              </li>
            </ul>
          </li>
          <li pn="section-1.2-12.3">
            <t indent="0" pn="section-1.2-12.3.1">Seamless coexistence of BGP CAR and SR Policy
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-12.3.2">
              <li pn="section-1.2-12.3.2.1">
                <t indent="0" pn="section-1.2-12.3.2.1.1">V/v is steered on a color-aware path provided by BGP CAR</t>
              </li>
              <li pn="section-1.2-12.3.2.2">
                <t indent="0" pn="section-1.2-12.3.2.2.1">W/w is steered on a color-aware path provided by SR Policy</t>
              </li>
            </ul>
          </li>
          <li pn="section-1.2-12.4">
            <t indent="0" pn="section-1.2-12.4.1">Seamless interworking of BGP CAR and SR Policy
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-12.4.2">
              <li pn="section-1.2-12.4.2.1">
                <t indent="0" pn="section-1.2-12.4.2.1.1">V/v is steered on a BGP CAR path that is itself resolved 
            within domain 2 onto an SR Policy bound to the color of V/v</t>
              </li>
            </ul>
          </li>
        </ul>
        <t indent="0" pn="section-1.2-13">Other properties:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-14">
          <li pn="section-1.2-14.1">
            <t indent="0" pn="section-1.2-14.1.1">MPLS data plane: with 300k PEs and 5 colors, the BGP CAR solution ensures 
          that no single node needs to support a data plane scaling in the order of 
          Remote PE * C (<xref target="SCLNG" format="default" sectionFormat="of" derivedContent="Section 5"/>). This would otherwise exceed the MPLS 
          data plane.</t>
          </li>
          <li pn="section-1.2-14.2">
            <t indent="0" pn="section-1.2-14.2.1">Control plane: a node should not install a (E, C) path if it's not participating
          in that color-aware path.</t>
          </li>
          <li pn="section-1.2-14.3">
            <t indent="0" pn="section-1.2-14.3.1">Incongruent color-intent mapping: the solution supports the signaling of 
          a BGP CAR route across different color domains 
          (<xref target="SDIFFCOLORS" format="default" sectionFormat="of" derivedContent="Section 2.8"/>).</t>
          </li>
        </ul>
        <t indent="0" pn="section-1.2-15">The key benefits of this model are:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-16">
          <li pn="section-1.2-16.1">
            <t indent="0" pn="section-1.2-16.1.1">Leverage of the BGP Color-EC <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/> to color 
          service routes</t>
          </li>
          <li pn="section-1.2-16.2">
            <t indent="0" pn="section-1.2-16.2.1">The definition of the automated service steering: a C-colored service route V/v 
          from E2 is steered onto a color-aware path (E2, C)</t>
          </li>
          <li pn="section-1.2-16.3">
            <t indent="0" pn="section-1.2-16.3.1">The definition of the data model of a BGP CAR path: (E, C)
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2-16.3.2">
              <li pn="section-1.2-16.3.2.1">
                <t indent="0" pn="section-1.2-16.3.2.1.1">Natural extension of BGP-IP/BGP-LU data model (E)</t>
              </li>
              <li pn="section-1.2-16.3.2.2">
                <t indent="0" pn="section-1.2-16.3.2.2.1">Consistent with SR Policy data model</t>
              </li>
            </ul>
          </li>
          <li pn="section-1.2-16.4">
            <t indent="0" pn="section-1.2-16.4.1">The definition of the recursive resolution of a BGP CAR route: a BGP CAR 
          (E2, C) route via N is resolved onto the color-aware path (N, C), which may itself 
          be provided by BGP CAR or via another color-aware routing solution (e.g.,
          SR Policy, IGP Flexible Algorithm)</t>
          </li>
          <li pn="section-1.2-16.5">
            <t indent="0" pn="section-1.2-16.5.1">Explicit definitions for multiple transport encapsulations (e.g., MPLS, SR, 
          SRv6, IP)</t>
          </li>
        </ul>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-1.3">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-1.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 anchor="CARSAFI" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-bgp-car-safi">BGP CAR SAFI</name>
      <section anchor="SECDATAMODEL" numbered="true" removeInRFC="false" toc="include" pn="section-2.1">
        <name slugifiedName="name-data-model">Data Model</name>
        <t indent="0" pn="section-2.1-1">The BGP CAR data model is:</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-2.1-2">
          <dt pn="section-2.1-2.1">NLRI key:</dt>
          <dd pn="section-2.1-2.2">
            <t indent="0" pn="section-2.1-2.2.1">Falls into two categories to accommodate the use cases described 
          in the introduction:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-2.1-2.2.2">
              <dt pn="section-2.1-2.2.2.1">Type-1:</dt>
              <dd pn="section-2.1-2.2.2.2">Key is IP Prefix and Color (E, C). Color in
              NLRI key distinguishes a color-aware route for a common IP
              prefix, one per intent. Color also indicates the intent
              associated with the route.</dd>
              <dt pn="section-2.1-2.2.2.3">Type-2:</dt>
              <dd pn="section-2.1-2.2.2.4">Key is IP Prefix (E). The unique IP prefix
              assigned for an intent (i.e, IP Prefix == intent)
              distinguishes the color-aware route.  Color is not needed in
              NLRI key as a distinguisher.</dd>
            </dl>
          </dd>
          <dt pn="section-2.1-2.3">NLRI non-key encapsulation data:</dt>
          <dd pn="section-2.1-2.4">Data such as MPLS label
          stack, SR-MPLS label index, and SRv6 SID list associated with NLRI. Contained
          in TLVs as described in <xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>.</dd>
          <dt pn="section-2.1-2.5">BGP next hop:</dt>
          <dd pn="section-2.1-2.6">Next hop address associated with a particular NLRI key <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/>.</dd>
          <dt pn="section-2.1-2.7">AIGP metric <xref target="RFC7311" format="default" sectionFormat="of" derivedContent="RFC7311"/>:</dt>
          <dd pn="section-2.1-2.8">Accumulates a metric value specific to color/intent
          for a CAR route across multiple BGP hops.</dd>
          <dt pn="section-2.1-2.9">Local Color Mapping Extended Community (LCM-EC):</dt>
          <dd pn="section-2.1-2.10">
            <t indent="0" pn="section-2.1-2.10.1">Optional non-zero 32-bit color 
          value used to represent the intent associated with a CAR route:</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.1-2.10.2">
              <li pn="section-2.1-2.10.2.1">
                <t indent="0" pn="section-2.1-2.10.2.1.1">when the CAR route propagates between different color domains.</t>
              </li>
              <li pn="section-2.1-2.10.2.2">
                <t indent="0" pn="section-2.1-2.10.2.2.1">when the CAR route has a unique IP prefix for an intent.</t>
              </li>
            </ul>
          </dd>
          <dt pn="section-2.1-2.11">BGP Color Extended Community (Color-EC) <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>:</dt>
          <dd pn="section-2.1-2.12">Optional non-zero 32-bit color value
          used to represent the intent associated with the BGP CAR next
          hop. It is used as per <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/> for automated route
          resolution, when intent/color used for the next hop is different
          than the CAR route's intent/color. </dd>
        </dl>
        <t indent="0" pn="section-2.1-3">
          The sections below describe the data model in detail. The sections that 
          describe the protocol processing for CAR SAFI generally apply consistently 
          to both route types (for instance, any operation based on color). The 
          examples use (E, C) for simplicity.  
        </t>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-2.2">
        <name slugifiedName="name-extensible-encoding">Extensible Encoding</name>
        <t indent="0" pn="section-2.2-1">Extensible encoding is provided by:</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-2.2-2">
          <dt pn="section-2.2-2.1">NLRI Type field:</dt>
          <dd pn="section-2.2-2.2">
            <t indent="0" pn="section-2.2-2.2.1">This provides extensibility to add new NLRI formats for new route types.</t>
            <t indent="0" pn="section-2.2-2.2.2">NLRI (route) types other than Type-1 (E, C) and Type-2 (E) are
          outside the scope of this document.</t>
          </dd>
          <dt pn="section-2.2-2.3">Key Length field:</dt>
          <dd pn="section-2.2-2.4">This specifies the key length. It allows new NLRI types to be handled 
          opaquely, which permits transitivity of new route types through BGP speakers such as 
          Route Reflectors (RRs).</dd>
          <dt pn="section-2.2-2.5">TLV-based encoding of non-key part of NLRI:</dt>
          <dd pn="section-2.2-2.6">This allows
          the inclusion of additional non-key fields for a prefix to support
          different types of transport simultaneously with efficient BGP
          update packing (<xref target="ColorFamily" format="default" sectionFormat="of" derivedContent="Section 2.9"/>).</dd>
          <dt pn="section-2.2-2.7">AIGP attribute:</dt>
          <dd pn="section-2.2-2.8">This provides extensibility via TLVs, enabling definition of 
          additional metric semantics for a color as needed for an intent.</dd>
        </dl>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-2.3">
        <name slugifiedName="name-bgp-car-route-origination">BGP CAR Route Origination</name>
        <t indent="0" pn="section-2.3-1">A BGP CAR route may be originated locally (e.g., loopback) or through 
        redistribution of an (E, C) color-aware path provided by another routing 
        solution (e.g., SR Policy, IGP Flexible Algorithm, RSVP-TE, BGP-LU <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>).
        </t>
      </section>
      <section anchor="ROUTEVALIDN" numbered="true" removeInRFC="false" toc="include" pn="section-2.4">
        <name slugifiedName="name-bgp-car-route-validation">BGP CAR Route Validation</name>
        <t indent="0" pn="section-2.4-1">A BGP CAR path (E, C) via next hop N with encapsulation T is valid if color-aware 
        path (N, C) exists with encapsulation T available in data plane.</t>
        <t indent="0" pn="section-2.4-2">A local policy may customize the validation process:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.4-3">
          <li pn="section-2.4-3.1">
            <t indent="0" pn="section-2.4-3.1.1">The color constraint in the first check may be relaxed. If N is 
          reachable via alternate color(s) or in the default routing table, the route
          may be considered valid.</t>
          </li>
          <li pn="section-2.4-3.2">
            <t indent="0" pn="section-2.4-3.2.1">The data plane availability constraint of T may be relaxed to use an	
 	      alternate encapsulation.</t>
          </li>
          <li pn="section-2.4-3.3">
            <t indent="0" pn="section-2.4-3.3.1">A performance-measurement verification may be added to ensure that the 
          intent associated with C is met (e.g., delay &lt; bound).</t>
          </li>
        </ul>
        <t indent="0" pn="section-2.4-4">A path that is not valid <bcp14>MUST NOT</bcp14> be considered for BGP best path selection.
        </t>
      </section>
      <section anchor="ROUTERES" numbered="true" removeInRFC="false" toc="include" pn="section-2.5">
        <name slugifiedName="name-bgp-car-route-resolution">BGP CAR Route Resolution</name>
        <t indent="0" pn="section-2.5-1">A BGP color-aware route (E2, C1) with next hop N is automatically
        resolved over a color-aware route (N, C1) by default. The color-aware
        route (N, C1) is provided by color-aware mechanisms such as IGP
        Flexible Algorithm <xref target="RFC9350" format="default" sectionFormat="of" derivedContent="RFC9350"/>, SR Policy (<xref target="RFC9256" sectionFormat="of" section="2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.2" derivedContent="RFC9256"/>), or recursively by BGP CAR.
        When multiple producers of (N, C1) are available, the default
        preference is: IGP Flexible Algorithm, SR Policy, BGP CAR.
        </t>
        <t indent="0" pn="section-2.5-2">Local policy <bcp14>SHOULD</bcp14> provide additional control:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.5-3">
          <li pn="section-2.5-3.1">
            <t indent="0" pn="section-2.5-3.1.1">A BGP color-aware route (E2, C1) with next hop N may be
            resolved over a color-aware route (N, C2) (i.e., the local policy
            maps the resolution of C1 over a different color C2). Examples where such 
            a resolution can occur are:</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.5-3.1.2">
              <li pn="section-2.5-3.1.2.1">
                <t indent="0" pn="section-2.5-3.1.2.1.1">In a domain where resource R is known to not be present, the 
                inter-domain intent C1="low delay and avoid R" may be resolved over 
                an intra-domain path of intent C2="low delay".</t>
              </li>
              <li pn="section-2.5-3.1.2.2">
                <t indent="0" pn="section-2.5-3.1.2.2.1">In a domain where if no (N, C1) path is available, resolution may fallback 
                to a C2 path if the user has permitted it.</t>
              </li>
            </ul>
          </li>
          <li pn="section-2.5-3.2">
            <t indent="0" pn="section-2.5-3.2.1">
          Route resolution may be driven by an egress node. In an SRv6 domain, an egress node 
          selects and advertises an SRv6 SID from its locator for intent C1, with a BGP CAR 
          route. In such a case, the ingress node resolves the received SRv6 SID over an 
          IPv6 route for the intent-aware locator of the egress node for C1 or a 
          summary route that covers the locator. This summary route may be provided by SRv6 
          Flexible Algorithm or BGP CAR IP Prefix route itself (e.g., <xref target="SECSRv6LOCencap" format="default" sectionFormat="of" derivedContent="Appendix C.2"/>).  
            </t>
          </li>
          <li pn="section-2.5-3.3">
            <t indent="0" pn="section-2.5-3.3.1">Local policy may map the CAR route to mechanisms that are unaware of
          color or that provide best-effort, such as RSVP-TE, IGP/LDP, BGP-LU/BGP-IP (e.g., 
          <xref target="COREDOMAINTE" format="default" sectionFormat="of" derivedContent="Appendix A.3.2"/>) for brownfield scenarios.</t>
          </li>
        </ul>
        <t indent="0" pn="section-2.5-4">Route resolution via a different color C2 can be automated by
        attaching BGP Color-EC C2 to CAR route (E2, C1), leveraging automated
        steering as described in Section <xref target="RFC9256" sectionFormat="bare" section="8.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-8.4" derivedContent="RFC9256"/> of "Segment Routing Policy
        Architecture" <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/> for BGP CAR routes. This
        mechanism is illustrated in <xref target="APPENDIXNM" format="default" sectionFormat="of" derivedContent="Appendix B.2"/>. This
        mechanism <bcp14>SHOULD</bcp14> be supported.</t>
        <t indent="0" pn="section-2.5-5">For CAR route resolution, if Color-EC color is present with the route, it takes 
        precedence over the route's intent color. The route's intent color is the LCM-EC color 
        if present (see <xref target="SECLCMEC" format="default" sectionFormat="of" derivedContent="Section 2.9.5"/>), or else it is the NLRI color.</t>
        <t indent="0" pn="section-2.5-6">Local policy takes precedence over the color-based automated resolution specified above.</t>
        <t indent="0" pn="section-2.5-7">The color-aware route (N, C1) may be provided by BGP CAR itself in a
        hierarchical transport routing design. In such cases, based on the 
        procedures described above, recursive resolution may occur over the same 
        or different CAR route type.
        <xref target="SECNRSSID" format="default" sectionFormat="of" derivedContent="Section 7.1.2"/> describes a scenario where CAR (E, C) route 
        resolves over CAR IP Prefix route.
        </t>
        <t indent="0" pn="section-2.5-8">CAR IP Prefix route is allowed to be without color for best-effort. In this 
        case, resolution is based on BGP next hop N, or when present, a best-effort 
        SRv6 SID advertised by node N.</t>
        <t indent="0" pn="section-2.5-9">A BGP CAR route may recursively resolve over a BGP route that
        carries a TEA and follows <xref target="RFC9012" sectionFormat="of" section="6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9012#section-6" derivedContent="RFC9012"/> for validation. In this case, the procedures of <xref target="RFC9012" sectionFormat="of" section="8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9012#section-8" derivedContent="RFC9012"/> apply to BGP CAR
        routes, using color precedence as specified above for resolution.</t>
        <t indent="0" pn="section-2.5-10">The procedures of <xref target="RFC9012" sectionFormat="comma" section="6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9012#section-6" derivedContent="RFC9012"/>, also apply to BGP CAR routes (AFI/SAFI = 1/83 or
        2/83). For instance, a BGP CAR BR may advertise a BGP CAR route to an
        ingress BR or PE with a specific BGP next hop per color, with a TEA or
        Tunnel Encapsulation EC, as per <xref target="RFC9012" sectionFormat="of" section="6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9012#section-6" derivedContent="RFC9012"/>.</t>
        <t indent="0" pn="section-2.5-11"> BGP CAR resolution in one network domain is independent of resolution in 
        another domain.</t>
      </section>
      <section anchor="AIGPMETRIC" numbered="true" removeInRFC="false" toc="include" pn="section-2.6">
        <name slugifiedName="name-aigp-metric-computation">AIGP Metric Computation</name>
        <t indent="0" pn="section-2.6-1">The Accumulated IGP (AIGP) Metric Attribute <xref target="RFC7311" format="default" sectionFormat="of" derivedContent="RFC7311"/> is updated as 
        the BGP CAR route propagates across the network.</t>
        <t indent="0" pn="section-2.6-2">The value that is set (or appropriately incremented) in the AIGP TLV corresponds 
        to the metric associated with the underlying intent of the color. For example, 
        when the color is associated with a low latency path, the metric value is set 
        based on the delay metric.</t>
        <t indent="0" pn="section-2.6-3">Information regarding the metric type used by the underlying intra-domain 
        mechanism can also be used to set the metric value.</t>
        <t indent="0" pn="section-2.6-4">If BGP CAR routes traverse across a discontinuity in the transport path for 
        a given intent, a penalty is added in the AIGP metric (value set by user 
        policy). This could occur, for instance, when color C1 path is not available, and route resolves via 
        color C2 path (see <xref target="SHDFAUSECASE" format="default" sectionFormat="of" derivedContent="Appendix A.3"/> for an example).</t>
        <t indent="0" pn="section-2.6-5">AIGP metric computation is recursive.</t>
        <t indent="0" pn="section-2.6-6">To avoid continuous IGP metric changes causing end-to-end BGP CAR route churn, an 
        implementation should provide thresholds to trigger AIGP updates.</t>
        <t indent="0" pn="section-2.6-7">Additional AIGP extensions may be defined to signal state for specific 
        use cases such as Maximum SID Depth (MSD) along the BGP CAR route advertisement and minimum MTU along the BGP 
        CAR route advertisement. This is out of scope for this document.</t>
      </section>
      <section anchor="SECPA" numbered="true" removeInRFC="false" toc="include" pn="section-2.7">
        <name slugifiedName="name-inherent-multipath-capabili">Inherent Multipath Capability</name>
        <t indent="0" pn="section-2.7-1">The (E, C) route definition inherently provides availability of redundant paths at 
        every BGP hop identical to BGP-LU or BGP-IP. For instance, BGP CAR routes originated 
        by two or more egress ABRs in a domain are advertised as multiple paths to ingress 
        ABRs in the domain, where they become equal-cost or primary-backup paths. 
        A failure of an egress ABR is detected and handled by ingress ABRs locally within 
        the domain for faster convergence, without any necessity to propagate the event 
        to upstream nodes for traffic restoration.</t>
        <t indent="0" pn="section-2.7-2">BGP ADD-PATH <xref target="RFC7911" format="default" sectionFormat="of" derivedContent="RFC7911"/> <bcp14>SHOULD</bcp14> be enabled for BGP CAR to signal multiple 
        next hops through a transport RR (T-RR).</t>
      </section>
      <section anchor="SDIFFCOLORS" numbered="true" removeInRFC="false" toc="include" pn="section-2.8">
        <name slugifiedName="name-bgp-car-signaling-through-d">BGP CAR Signaling Through Different Color Domains</name>
        <artwork align="left" pn="section-2.8-1">
          [Color Domain 1   A]-----[B     Color Domain 2     E2]
          [C1=low delay      ]     [C2=low delay               ]
       </artwork>
        <t indent="0" pn="section-2.8-2">Let us assume a BGP CAR route (E2, C2) is signaled from B to A, two BRs of Domain 2 and Domain 1, respectively. Let us assume that these two 
        domains do not share the same color-to-intent mapping (i.e., they belong to different 
        color domains). Low delay in Domain 2 is color C2, while it is C1 in 
        Domain 1 (C1 &lt;&gt; C2).</t>
        <t indent="0" pn="section-2.8-3">It is not expected to be a typical scenario to have an underlay
        transport path (e.g., an MPLS LSP) extend across different color
        domains. However, the BGP CAR solution seamlessly supports this rare
        scenario while maintaining the separation and independence of the
        administrative authority in different color domains.</t>
        <t indent="0" pn="section-2.8-4">The solution works as described below:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.8-5">
          <li pn="section-2.8-5.1">
            <t indent="0" pn="section-2.8-5.1.1">Within Domain 2, the BGP CAR route is (E2, C2) via E2.</t>
          </li>
          <li pn="section-2.8-5.2">
            <t indent="0" pn="section-2.8-5.2.1">B signals to A the BGP CAR route as (E2, C2) via B with 
            Local Color Mapping Extended Community (LCM-EC) of color C2.</t>
          </li>
          <li pn="section-2.8-5.3">
            <t indent="0" pn="section-2.8-5.3.1">A is aware of the intent-to-color mapping 
            within Domain 2 ("low delay" in Domain 2 is C2), as per typical coordination that exists between operators of peering domains.</t>
          </li>
          <li pn="section-2.8-5.4">
            <t indent="0" pn="section-2.8-5.4.1">A maps C2 in LCM-EC to C1 and signals within Domain 1 the received 
            BGP CAR route as (E2, C2) via A with LCM-EC (C1).</t>
          </li>
          <li pn="section-2.8-5.5">
            <t indent="0" pn="section-2.8-5.5.1">The nodes within the receiving Domain 1 use the local color encoded 
            in the LCM-EC for next-hop resolution and service steering.</t>
          </li>
        </ul>
        <t indent="0" pn="section-2.8-6">
        The following procedures apply at a color domain boundary for BGP CAR routes, 
        performed by route policy at the sending and receiving peer:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.8-7">
          <li pn="section-2.8-7.1">
            <t indent="0" pn="section-2.8-7.1.1">Use local policy to control which routes are advertised to or accepted from a 
        peer in a different color domain.</t>
          </li>
          <li pn="section-2.8-7.2">
            <t indent="0" pn="section-2.8-7.2.1">Attach LCM-EC if not present with the route. If LCM-EC is present, then update 
        the value to re-map the color as needed. 
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.8-7.2.2">
              <li pn="section-2.8-7.2.2.1">
                <t indent="0" pn="section-2.8-7.2.2.1.1">This function may be done by the advertising BGP speaker or the receiving BGP 
        speaker as determined by the operator peering agreement, and indicated by local policy
        on the BGP peers.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t indent="0" pn="section-2.8-8">These procedures apply to both CAR route types, in addition to all procedures specified in earlier sections. LCM-EC is described in <xref target="SECLCMEC" format="default" sectionFormat="of" derivedContent="Section 2.9.5"/>.</t>
        <t indent="0" pn="section-2.8-9">Salient properties:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.8-10">
          <li pn="section-2.8-10.1">
            <t indent="0" pn="section-2.8-10.1.1">The NLRI never changes, even though the color-to-intent mapping changes.</t>
          </li>
          <li pn="section-2.8-10.2">
            <t indent="0" pn="section-2.8-10.2.1">E is globally unique, which makes E-C in that order unique.</t>
          </li>
          <li pn="section-2.8-10.3">
            <t indent="0" pn="section-2.8-10.3.1">In typical expected cases, the color of the NLRI is used for 
          resolution and steering.</t>
          </li>
          <li pn="section-2.8-10.4">
            <t indent="0" pn="section-2.8-10.4.1">In the rare case of color incongruence, the local color encoded in 
          LCM-EC takes precedence.</t>
          </li>
        </ul>
        <t indent="0" pn="section-2.8-11">Operational considerations are in <xref target="MANAGEOPER" format="default" sectionFormat="of" derivedContent="Section 11"/>. Further illustrations are provided in <xref target="ColorMapping" format="default" sectionFormat="of" derivedContent="Appendix B"/>.</t>
      </section>
      <section anchor="ColorFamily" numbered="true" removeInRFC="false" toc="include" pn="section-2.9">
        <name slugifiedName="name-format-and-encoding">Format and Encoding</name>
        <t indent="0" pn="section-2.9-1">BGP CAR leverages BGP multiprotocol extensions <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/> and uses the MP_REACH_NLRI and MP_UNREACH_NLRI
        attributes for route updates within SAFI value 83 along with
        AFI 1 for IPv4 prefixes and AFI 2 for IPv6 prefixes.</t>
        <t indent="0" pn="section-2.9-2">BGP speakers <bcp14>MUST</bcp14> use the BGP Capabilities Advertisement to ensure
        support for processing of BGP CAR updates. This is done as 
        specified in <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/>, by using capability code 1 
        (multiprotocol BGP), with AFI 1 and 2 (as required) and SAFI 83.</t>
        <t indent="0" pn="section-2.9-3">
        The Next Hop network address field in the MP_REACH_NLRI may either be 
        an IPv4 address or an IPv6 address, independent of AFI. If the 
        next hop length is 4, then the next hop is an IPv4 address. The next hop
        length may be 16 or 32 for an IPv6 next hop address, set as per 
        <xref target="RFC2545" sectionFormat="of" section="3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc2545#section-3" derivedContent="RFC2545"/>. Processing of the Next Hop field is governed by 
        standard BGP procedures as described in <xref target="RFC4760" sectionFormat="of" section="3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4760#section-3" derivedContent="RFC4760"/>.
        </t>
        <t indent="0" pn="section-2.9-4">The sub-sections below specify the generic encoding of the BGP CAR NLRI and non-key TLV fields,
        followed by the encoding for specific NLRI types introduced in this 
        document.</t>
        <section anchor="NLRI" numbered="true" removeInRFC="false" toc="include" pn="section-2.9.1">
          <name slugifiedName="name-bgp-car-safi-nlri-format">BGP CAR SAFI NLRI Format</name>
          <t indent="0" pn="section-2.9.1-1">The generic format for the BGP CAR SAFI NLRI is shown
          below:</t>
          <artwork align="left" pn="section-2.9.1-2">
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NLRI Length  |  Key Length   |   NLRI Type   |              //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+              //
|                  Type-Specific Key Fields                    //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Type-Specific Non-Key TLV Fields (if applicable)   //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          <t indent="0" pn="section-2.9.1-3">where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-2.9.1-4">
            <dt pn="section-2.9.1-4.1">NLRI Length:</dt>
            <dd pn="section-2.9.1-4.2">1-octet field that indicates the length in octets
            of the NLRI excluding the NLRI Length field itself.</dd>
            <dt pn="section-2.9.1-4.3">Key Length:</dt>
            <dd pn="section-2.9.1-4.4">1-octet field that indicates the length in octets
            of the NLRI Type-Specific Key Fields. Key Length <bcp14>MUST</bcp14> be at least
            2 less than the NLRI Length.</dd>
            <dt pn="section-2.9.1-4.5">NLRI Type:</dt>
            <dd pn="section-2.9.1-4.6">1-octet field that indicates the type of the BGP
            CAR NLRI.</dd>
            <dt pn="section-2.9.1-4.7">Type-Specific Key Fields:</dt>
            <dd pn="section-2.9.1-4.8">The exact definition of these fields
            depends on the NLRI Type. They have length indicated by the Key Length.</dd>
            <dt pn="section-2.9.1-4.9">Type-Specific Non-Key TLV Fields:</dt>
            <dd pn="section-2.9.1-4.10">The fields are
            optional and can carry one or more non-key TLVs (of different
            types) depending on the NLRI Type.  The NLRI definition allows for
            encoding of specific non-key information associated with the route
            as part of the NLRI for efficient packing of BGP updates.</dd>
          </dl>
          <t indent="0" pn="section-2.9.1-5">The non-key TLVs portion of the NLRI <bcp14>MUST</bcp14> be omitted while carrying it
          within the MP_UNREACH_NLRI when withdrawing the route advertisement.</t>
          <t indent="0" pn="section-2.9.1-6">Error handling for CAR SAFI NLRI and non-key TLVs is described in 
          <xref target="Fault" format="default" sectionFormat="of" derivedContent="Section 2.11"/>.</t>
          <t indent="0" pn="section-2.9.1-7">The benefits of CAR NLRI design are:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.9.1-8">
            <li pn="section-2.9.1-8.1">The indication of the key length enables BGP speakers to
            determine the key portion of the NLRI and use it along with the
            NLRI Type field in an opaque manner for the handling of unknown or
            unsupported NLRI types.  This can help deployed Route Reflectors
            (RR) to propagate NLRI types introduced in the future in a
            transparent manner.</li>
            <li pn="section-2.9.1-8.2">The key length also helps error handling be more resilient and
            minimally disruptive. The use of key length in error handling is
            described in <xref target="Fault" format="default" sectionFormat="of" derivedContent="Section 2.11"/>.</li>
            <li pn="section-2.9.1-8.3">
              <t indent="0" pn="section-2.9.1-8.3.1">The ability of a route (NLRI) to carry more than one non-key
            TLV (of different types) provides significant benefits such as
            signaling multiple encapsulations simultaneously for the same
            route, each with a different value (label/SID, etc.).  This enables
            simpler and efficient migrations with low overhead:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.9.1-8.3.2">
                <li pn="section-2.9.1-8.3.2.1">
                  <t indent="0" pn="section-2.9.1-8.3.2.1.1">avoids the need for duplicate routes to signal different encapsulations</t>
                </li>
                <li pn="section-2.9.1-8.3.2.2">
                  <t indent="0" pn="section-2.9.1-8.3.2.2.1">avoids the need for separate control planes for distribution</t>
                </li>
                <li pn="section-2.9.1-8.3.2.3">
                  <t indent="0" pn="section-2.9.1-8.3.2.3.1">preserves update packing (e.g., <xref target="UPDATEPACKING" format="default" sectionFormat="of" derivedContent="Appendix D"/>)</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="NLRITLVs" numbered="true" removeInRFC="false" toc="include" pn="section-2.9.2">
          <name slugifiedName="name-type-specific-non-key-tlv-f">Type-Specific Non-Key TLV Format</name>
          <t indent="0" pn="section-2.9.2-1">The generic format for Non-Key TLVs is shown below:</t>
          <artwork align="left" pn="section-2.9.2-2">
 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      |    Length     |    Value (variable)          //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          <t indent="0" pn="section-2.9.2-3">where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-2.9.2-4">
            <dt pn="section-2.9.2-4.1">Type:</dt>
            <dd pn="section-2.9.2-4.2">
              <t indent="0" pn="section-2.9.2-4.2.1">1 octet that contains the type code and
            flags. It is encoded as shown below:</t>
              <artwork align="left" pn="section-2.9.2-4.2.2">
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|R|T| Type code |
+-+-+-+-+-+-+-+-+
</artwork>
              <t indent="0" pn="section-2.9.2-4.2.3">where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-2.9.2-4.2.4">
                <dt pn="section-2.9.2-4.2.4.1">R:</dt>
                <dd pn="section-2.9.2-4.2.4.2">Bit is reserved and <bcp14>MUST</bcp14> be set
                to 0 and ignored on receive.</dd>
                <dt pn="section-2.9.2-4.2.4.3">T:</dt>
                <dd pn="section-2.9.2-4.2.4.4">
                  <t indent="0" pn="section-2.9.2-4.2.4.4.1">Transitive bit, applicable to speakers that
                change the BGP CAR next hop.</t>
                  <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.9.2-4.2.4.4.2">
                    <li pn="section-2.9.2-4.2.4.4.2.1">
                      <t indent="0" pn="section-2.9.2-4.2.4.4.2.1.1">The T bit is set to indicate TLV is transitive. An
                    unrecognized transitive TLV <bcp14>MUST</bcp14> be
                    propagated by a speaker that changes the next hop.</t>
                    </li>
                    <li pn="section-2.9.2-4.2.4.4.2.2">
                      <t indent="0" pn="section-2.9.2-4.2.4.4.2.2.1">The T bit is unset to indicate TLV is non-transitive.  An
                    unrecognized non-transitive TLV <bcp14>MUST NOT</bcp14> be
                    propagated by a speaker that changes the next hop.</t>
                    </li>
                  </ul>
                  <t indent="0" pn="section-2.9.2-4.2.4.4.3">A speaker that does not change the next hop
                  <bcp14>SHOULD</bcp14> propagate all received TLVs.</t>
                </dd>
              </dl>
            </dd>
            <dt pn="section-2.9.2-4.3">Type code:</dt>
            <dd pn="section-2.9.2-4.4">Remaining 6 bits contain the type of the TLV.</dd>
            <dt pn="section-2.9.2-4.5">Length:</dt>
            <dd pn="section-2.9.2-4.6">1-octet field that contains the length of the
            value portion of the Non-Key TLV in terms of octets.</dd>
            <dt pn="section-2.9.2-4.7">Value:</dt>
            <dd pn="section-2.9.2-4.8">Variable-length field as indicated by the
            Length field and to be interpreted as per the Type field.</dd>
          </dl>
          <t indent="0" pn="section-2.9.2-5"> The following sub-sections specify non-key TLVs. Each NLRI Type <bcp14>MUST</bcp14>
          list the TLVs that can be associated with it.</t>
          <section anchor="CARMPLS" numbered="true" removeInRFC="false" toc="exclude" pn="section-2.9.2.1">
            <name slugifiedName="name-label-tlv">Label TLV</name>
            <t indent="0" pn="section-2.9.2.1-1">The Label TLV is used for the advertisement of CAR routes
            along with their MPLS labels. It has the following format as per 
            <xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>:</t>
            <artwork align="left" pn="section-2.9.2.1-2">
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|T|  Type     |    Length     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

It is followed by one (or more) labels encoded as below:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Label                 |Rsrv |S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
            <t indent="0" pn="section-2.9.2.1-3">where:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-2.9.2.1-4">
              <dt pn="section-2.9.2.1-4.1">Type:</dt>
              <dd pn="section-2.9.2.1-4.2">Type code is 1. The T bit <bcp14>MUST</bcp14> be unset.</dd>
              <dt pn="section-2.9.2.1-4.3">Length:</dt>
              <dd pn="section-2.9.2.1-4.4">Length is in octets, variable, and
              <bcp14>MUST</bcp14> be a multiple of 3.</dd>
              <dt pn="section-2.9.2.1-4.5">Label Information:</dt>
              <dd pn="section-2.9.2.1-4.6">Multiples of 3-octet fields to
              convey the MPLS label(s) associated with the advertised CAR
              route.  It is used for encoding a single label or a stack of
              labels for usage as described in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>. The number of labels is derived from the Length
              field. The 3-bit Rsrv field and the 1-bit S field <bcp14>SHOULD</bcp14> be set
              to zero on transmission and <bcp14>MUST</bcp14> be ignored on
              reception.</dd>
            </dl>
            <t indent="0" pn="section-2.9.2.1-5">If a BGP transport CAR speaker sets itself as the next hop while
            propagating a CAR route, it allocates a local label for
            the type-specific key, and updates the value in this
            TLV. It also <bcp14>MUST</bcp14> program a label cross-connect that would result in
            the label swap operation for the incoming label that it advertises
            with the label received from its best-path router(s).</t>
          </section>
          <section anchor="CARMPLSSID" numbered="true" removeInRFC="false" toc="exclude" pn="section-2.9.2.2">
            <name slugifiedName="name-label-index-tlv">Label-Index TLV</name>
            <t indent="0" pn="section-2.9.2.2-1">The Label-Index TLV is used for the advertisement of Segment
            Routing over MPLS (SR-MPLS) Segment Identifier (SID) <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/> information associated with the labeled CAR
            routes. It has the following format as per <xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>:</t>
            <artwork align="left" pn="section-2.9.2.2-2">
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|T|   Type    |    Length     |    Reserved   |     Flags     ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~               |                 Label Index                   ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~               |
+-+-+-+-+-+-+-+-+</artwork>
            <t indent="0" pn="section-2.9.2.2-3">where:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-2.9.2.2-4">
              <dt pn="section-2.9.2.2-4.1">Type:</dt>
              <dd pn="section-2.9.2.2-4.2">Type code is 2. The T bit <bcp14>MUST</bcp14> be set.</dd>
              <dt pn="section-2.9.2.2-4.3">Length:</dt>
              <dd pn="section-2.9.2.2-4.4">Length is in octets and is 7.</dd>
              <dt pn="section-2.9.2.2-4.5">Reserved:</dt>
              <dd pn="section-2.9.2.2-4.6">1-octet field that <bcp14>MUST</bcp14> be
              set to 0 and ignored on receipt.</dd>
              <dt pn="section-2.9.2.2-4.7">Flags:</dt>
              <dd pn="section-2.9.2.2-4.8">2-octet field that's defined as per the Flags
              field of the Label-Index TLV of the BGP Prefix-SID attribute
              (<xref target="RFC8669" sectionFormat="of" section="3.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8669#section-3.1" derivedContent="RFC8669"/>).</dd>
              <dt pn="section-2.9.2.2-4.9">Label Index:</dt>
              <dd pn="section-2.9.2.2-4.10">4-octet field that's defined as per the
              Label Index field of the Label-Index TLV of the BGP Prefix-SID
              attribute (<xref target="RFC8669" sectionFormat="of" section="3.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8669#section-3.1" derivedContent="RFC8669"/>).</dd>
            </dl>
            <t indent="0" pn="section-2.9.2.2-5">This TLV provides the equivalent functionality as the Label-Index TLV
            of <xref target="RFC8669" format="default" sectionFormat="of" derivedContent="RFC8669"/> for Transport CAR route in SR-MPLS
            deployments.
            When a speaker allocates a local label for a received CAR route as per 
            <xref target="CARMPLS" format="default" sectionFormat="of" derivedContent="Section 2.9.2.1"/>, it <bcp14>SHOULD</bcp14> use the received Label Index as a hint
            using procedures as specified in <xref target="RFC8669" sectionFormat="comma" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8669#section-4" derivedContent="RFC8669"/>.
            </t>
            <t indent="0" pn="section-2.9.2.2-6">The Label-Index TLV provides much better packing efficiency by carrying the
            Label Index in NLRI instead of in the BGP Prefix-SID attribute
            (<xref target="UPDATEPACKING" format="default" sectionFormat="of" derivedContent="Appendix D"/>). </t>
            <t indent="0" pn="section-2.9.2.2-7">The Label-Index TLV <bcp14>MUST NOT</bcp14> be carried in the Prefix-SID attribute for
            BGP CAR routes. If a speaker receives a CAR route with the Label-Index TLV in
            the Prefix-SID attribute, it <bcp14>SHOULD</bcp14> ignore it. The BGP Prefix-SID attribute
            <bcp14>SHOULD NOT</bcp14> be sent with the labeled CAR routes if the attribute is
            being used only to convey the Label-Index TLV.</t>
          </section>
          <section anchor="CRSRv6" numbered="true" removeInRFC="false" toc="exclude" pn="section-2.9.2.3">
            <name slugifiedName="name-srv6-sid-tlv">SRv6 SID TLV</name>
            <t indent="0" pn="section-2.9.2.3-1">BGP Transport CAR can be also used to set up end-to-end
            color-aware connectivity using Segment Routing over IPv6 (SRv6)
            <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>. <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/> specifies the
            SRv6 Endpoint behaviors (e.g., End Penultimate Segment Pop (PSP)), which can be leveraged for
            BGP CAR with SRv6. The SRv6 SID TLV is used for the advertisement of
            CAR routes along with their SRv6 SIDs. It has the following format
            as per <xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>:</t>
            <artwork align="left" pn="section-2.9.2.3-2">
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|T|  Type     |    Length     |   SRv6 SID Info (variable)   //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
            <t indent="0" pn="section-2.9.2.3-3">where:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-2.9.2.3-4">
              <dt pn="section-2.9.2.3-4.1">Type:</dt>
              <dd pn="section-2.9.2.3-4.2">Type code is 3. The T bit <bcp14>MUST</bcp14> be unset.</dd>
              <dt pn="section-2.9.2.3-4.3">Length:</dt>
              <dd pn="section-2.9.2.3-4.4">Length is in octets, variable, and
              <bcp14>MUST</bcp14> be either less than or equal to 16, or be a
              multiple of 16.</dd>
              <dt pn="section-2.9.2.3-4.5">SRv6 SID Information:</dt>
              <dd pn="section-2.9.2.3-4.6">
                <t indent="0" pn="section-2.9.2.3-4.6.1">Field of size as indicated by the
              length that either carries the SRv6 SID(s) for the advertised
              CAR route as one of the following:</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.9.2.3-4.6.2">
                  <li pn="section-2.9.2.3-4.6.2.1">
                    <t indent="0" pn="section-2.9.2.3-4.6.2.1.1">A single 128-bit SRv6 SID or an ordered list of
                  128-bit SRv6 SIDs.</t>
                  </li>
                  <li pn="section-2.9.2.3-4.6.2.2">
                    <t indent="0" pn="section-2.9.2.3-4.6.2.2.1">A transposed portion (refer to <xref target="RFC9252" format="default" sectionFormat="of" derivedContent="RFC9252"/>) of the SRv6 SID that <bcp14>MUST</bcp14>
                  be of size in multiples of one octet and less than 16.</t>
                  </li>
                </ul>
              </dd>
            </dl>
            <t indent="0" pn="section-2.9.2.3-5">
            BGP CAR SRv6 SID TLV definitions provide the following benefits:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.9.2.3-6">
              <li pn="section-2.9.2.3-6.1">The explicit encoding of SIDs avoids robustness issues caused by the
      overloading of MPLS label fields.</li>
              <li pn="section-2.9.2.3-6.2">The encoding to include the entire 128 bits for unique SIDs (non-transposition)
      maintains BGP update prefix packing.</li>
              <li pn="section-2.9.2.3-6.3">The highly efficient transposition scheme (12-14 bytes saved per
      NLRI) also maintains BGP update prefix packing.</li>
            </ul>
            <t indent="0" pn="section-2.9.2.3-7">The BGP CAR route update for SRv6 encapsulation <bcp14>MUST</bcp14>
            include the BGP Prefix-SID attribute along with the SRv6 L3 Service TLV
            carrying the SRv6 SID information as specified in <xref target="RFC9252" format="default" sectionFormat="of" derivedContent="RFC9252"/>.
            When using the transposition scheme of encoding for packing efficiency
            of BGP updates <xref target="RFC9252" format="default" sectionFormat="of" derivedContent="RFC9252"/>, the transposed part of the SID is carried
            in the SRv6 SID TLV and is not limited by MPLS label field size.
            </t>
            <t indent="0" pn="section-2.9.2.3-8">If a BGP transport CAR speaker sets itself as the next hop while
            propagating a CAR route and allocates an SRv6 SID that maps to the received 
            SRv6 SID, it updates the value in this TLV.</t>
            <t indent="0" pn="section-2.9.2.3-9">Received MPLS information can map to SRv6 and vice versa.</t>
            <aside pn="section-2.9.2.3-10">
              <t indent="0" pn="section-2.9.2.3-10.1">
             <xref target="I-D.ietf-spring-srv6-mpls-interworking" format="default" sectionFormat="of" derivedContent="SRv6-INTERWORK"/> describes MPLS
            and SRv6 interworking procedures and their applicability to BGP CAR routes.</t>
            </aside>
          </section>
        </section>
        <section anchor="NLRITYPE1" numbered="true" removeInRFC="false" toc="include" pn="section-2.9.3">
          <name slugifiedName="name-color-aware-route-e-c-nlri-">Color-Aware Route (E, C) NLRI Type</name>
          <t indent="0" pn="section-2.9.3-1">The Color-Aware Route NLRI Type is used for the advertisement of
          BGP CAR color-aware routes (E, C). It has the following format:</t>
          <artwork align="left" pn="section-2.9.3-2">
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NLRI Length  |  Key Length   |   NLRI Type   |Prefix Length  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               IP Prefix (variable)                           //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Color (4 octets)                                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          <t indent="0" pn="section-2.9.3-3">It is followed by optional Non-Key TLVs encoded as per <xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>.</t>
          <t indent="0" pn="section-2.9.3-4">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-2.9.3-5">
            <dt pn="section-2.9.3-5.1">NLRI Length:</dt>
            <dd pn="section-2.9.3-5.2">Variable.</dd>
            <dt pn="section-2.9.3-5.3">Key Length:</dt>
            <dd pn="section-2.9.3-5.4">Variable. It indicates the total length comprised of 
            the Prefix Length field, IP Prefix field, and the Color field, as
            described below.  For IPv4 (AFI=1), the minimum length is 5 and the
            maximum length is 9.  For IPv6 (AFI=2), the minimum length is 5
            and the maximum length is 21.</dd>
            <dt pn="section-2.9.3-5.5">NLRI Type:</dt>
            <dd pn="section-2.9.3-5.6">1.</dd>
            <dt pn="section-2.9.3-5.7">Type-Specific Key Fields:</dt>
            <dd pn="section-2.9.3-5.8">
              <t indent="0" pn="section-2.9.3-5.8.1">These are as seen below:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-2.9.3-5.8.2">
                <dt pn="section-2.9.3-5.8.2.1">Prefix Length:</dt>
                <dd pn="section-2.9.3-5.8.2.2">1-octet field that carries the
                length of prefix in bits. Length <bcp14>MUST</bcp14> be less
                than or equal to 32 for IPv4 (AFI=1) and less than or equal to
                128 for IPv6 (AFI=2).</dd>
                <dt pn="section-2.9.3-5.8.2.3">IP Prefix:</dt>
                <dd pn="section-2.9.3-5.8.2.4">
                  <t indent="0" pn="section-2.9.3-5.8.2.4.1">IPv4 or IPv6 prefix (based on the
                AFI). A variable-size field that contains the most significant
                octets of the prefix. The format of this field for an IPv4
                prefix is:</t>
                  <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.9.3-5.8.2.4.2">
                    <li pn="section-2.9.3-5.8.2.4.2.1">0 octet for prefix length 0</li>
                    <li pn="section-2.9.3-5.8.2.4.2.2">1 octet for prefix length 1 to 8</li>
                    <li pn="section-2.9.3-5.8.2.4.2.3">2 octets for prefix length 9 to 16</li>
                    <li pn="section-2.9.3-5.8.2.4.2.4">3 octets for prefix length 17 up to 24</li>
                    <li pn="section-2.9.3-5.8.2.4.2.5">4 octets for prefix length 25 up to 32</li>
                  </ul>
                  <t indent="0" pn="section-2.9.3-5.8.2.4.3">The format for this field for an IPv6 address follows the
                same pattern for prefix lengths of 1-128 (octets 1-16).</t>
                  <t indent="0" pn="section-2.9.3-5.8.2.4.4">The last octet has enough trailing bits to make the end of
                the field fall on an octet boundary. Note that the value of
                the trailing bits <bcp14>MUST</bcp14> be set to zero. The size
                of the field <bcp14>MUST</bcp14> be less than or equal to 4
                for IPv4 (AFI=1) and less than or equal to 16 for IPv6
                (AFI=2).</t>
                </dd>
                <dt pn="section-2.9.3-5.8.2.5">Color:</dt>
                <dd pn="section-2.9.3-5.8.2.6">4 octets that contain non-zero color value
              associated with the prefix.</dd>
              </dl>
            </dd>
            <dt pn="section-2.9.3-5.9">Type-Specific Non-Key TLVs:</dt>
            <dd pn="section-2.9.3-5.10">The Label TLV, Label-Index TLV,
            and SRv6 SID TLV (<xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>) may be associated
            with the color-aware route NLRI type.</dd>
          </dl>
          <t indent="0" pn="section-2.9.3-6">The prefix is unique across the administrative domains where BGP
          transport CAR is deployed. It is possible that the same prefix is
          originated by multiple BGP CAR speakers in the case of
          anycast addressing or multihoming.</t>
          <t indent="0" pn="section-2.9.3-7">The Color is introduced to enable multiple route advertisements
          for the same prefix. The color is associated with an intent
          (e.g., low latency) in originator color domain.</t>
        </section>
        <section anchor="NLRITYPE2" numbered="true" removeInRFC="false" toc="include" pn="section-2.9.4">
          <name slugifiedName="name-ip-prefix-e-nlri-type">IP Prefix (E) NLRI Type</name>
          <t indent="0" pn="section-2.9.4-1">The IP Prefix Route NLRI Type is used for the advertisement of
          BGP CAR IP Prefix routes (E). It has the following format:</t>
          <artwork align="left" pn="section-2.9.4-2">
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NLRI Length  |  Key Length   |   NLRI Type   |Prefix Length  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               IP Prefix (variable)                           //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          <t indent="0" pn="section-2.9.4-3">It is followed by optional Non-Key TLVs encoded as per <xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>.</t>
          <t indent="0" pn="section-2.9.4-4">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-2.9.4-5">
            <dt pn="section-2.9.4-5.1">NLRI Length:</dt>
            <dd pn="section-2.9.4-5.2">Variable.</dd>
            <dt pn="section-2.9.4-5.3">Key Length:</dt>
            <dd pn="section-2.9.4-5.4">Variable. It indicates the total length comprised of
            the Prefix Length field and IP Prefix field as described below.
            For IPv4 (AFI=1), the minimum length is 1 and the
            maximum length is 5.  For IPv6 (AFI=2), the minimum length is 1
            and the maximum length is 17.</dd>
            <dt pn="section-2.9.4-5.5">NLRI Type:</dt>
            <dd pn="section-2.9.4-5.6">2.</dd>
            <dt pn="section-2.9.4-5.7">Type-Specific Key Fields:</dt>
            <dd pn="section-2.9.4-5.8">
              <t indent="0" pn="section-2.9.4-5.8.1">These are as seen below:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-2.9.4-5.8.2">
                <dt pn="section-2.9.4-5.8.2.1">Prefix Length:</dt>
                <dd pn="section-2.9.4-5.8.2.2">1-octet field that carries the
                length of prefix in bits. Length <bcp14>MUST</bcp14> be less
                than or equal to 32 for IPv4 (AFI=1) and less than or equal to
                128 for IPv6 (AFI=2).</dd>
                <dt pn="section-2.9.4-5.8.2.3">IP Prefix:</dt>
                <dd pn="section-2.9.4-5.8.2.4">
                  <t indent="0" pn="section-2.9.4-5.8.2.4.1">IPv4 or IPv6 prefix (based on the
                AFI). A variable-size field that contains the most significant
                octets of the prefix. The format of this field for an IPv4
                prefix is:</t>
                  <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.9.4-5.8.2.4.2">
                    <li pn="section-2.9.4-5.8.2.4.2.1">0 octet for prefix length 0</li>
                    <li pn="section-2.9.4-5.8.2.4.2.2">1 octet for prefix length 1 to 8</li>
                    <li pn="section-2.9.4-5.8.2.4.2.3">2 octets for prefix length 9 to 16</li>
                    <li pn="section-2.9.4-5.8.2.4.2.4">3 octets for prefix length 17 up to 24</li>
                    <li pn="section-2.9.4-5.8.2.4.2.5">4 octets for prefix length 25 up to 32</li>
                  </ul>
                  <t indent="0" pn="section-2.9.4-5.8.2.4.3">The format for this field for an IPv6 address follows the
               same pattern for prefix lengths of 1-128 (octets 1-16).</t>
                  <t indent="0" pn="section-2.9.4-5.8.2.4.4">The last octet has enough trailing bits to make the end of
               the field fall on an octet boundary. Note that the value of the
               trailing bits <bcp14>MUST</bcp14> be set to zero. The size of
               the field <bcp14>MUST</bcp14> be less than or equal to 4 for
               IPv4 (AFI=1) and less than or equal to 16 for IPv6 (AFI=2).</t>
                </dd>
              </dl>
            </dd>
            <dt pn="section-2.9.4-5.9">Type-Specific Non-Key TLVs:</dt>
            <dd pn="section-2.9.4-5.10">The Label TLV, Label-Index
             TLV, and SRv6 SID TLV (<xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>) may be
             associated with the IP Prefix NLRI Type.</dd>
          </dl>
        </section>
        <section anchor="SECLCMEC" numbered="true" removeInRFC="false" toc="include" pn="section-2.9.5">
          <name slugifiedName="name-local-color-mapping-lcm-ext">Local Color Mapping (LCM) Extended Community</name>
          <t indent="0" pn="section-2.9.5-1">This document defines a new BGP Extended Community called "LCM".
          The LCM is a Transitive Opaque Extended Community with the following encoding:</t>
          <artwork align="left" pn="section-2.9.5-2">
 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=0x3  | Sub-Type=0x1b |          Reserved             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Color                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          <t indent="0" pn="section-2.9.5-3">where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-2.9.5-4">
            <dt pn="section-2.9.5-4.1">Type:</dt>
            <dd pn="section-2.9.5-4.2">0x3.</dd>
            <dt pn="section-2.9.5-4.3">Sub-Type:</dt>
            <dd pn="section-2.9.5-4.4">0x1b.</dd>
            <dt pn="section-2.9.5-4.5">Reserved:</dt>
            <dd pn="section-2.9.5-4.6">2-octet reserved field that
            <bcp14>MUST</bcp14> be set to zero on transmission and ignored on
            reception.</dd>
            <dt pn="section-2.9.5-4.7">Color:</dt>
            <dd pn="section-2.9.5-4.8">4-octet field that carries the non-zero 32-bit color value.</dd>
          </dl>
          <t indent="0" pn="section-2.9.5-5">
          When a CAR route crosses the originator's color domain boundary, LCM-EC 
          is added or updated, as specified in <xref target="SDIFFCOLORS" format="default" sectionFormat="of" derivedContent="Section 2.8"/>. LCM-EC 
          conveys the local color mapping for the intent
          (e.g., low latency) in other (transit or destination) color domains. 
          </t>
          <t indent="0" pn="section-2.9.5-6">For CAR IP Prefix routes, LCM-EC may also be added in the originator color domain to
          indicate the color associated with the IP prefix.</t>
          <t indent="0" pn="section-2.9.5-7">An implementation <bcp14>SHOULD NOT</bcp14> send more than one instance of the LCM-EC.	
 	      However, if more than one instance is received, an implementation <bcp14>MUST</bcp14>	
 	      disregard all instances other than the one with the numerically highest	
 	      value.</t>
          <t indent="0" pn="section-2.9.5-8">If a node receives multiple BGP CAR routes (paths) for a given destination endpoint and color that have 
               different LCM values, it is a misconfiguration in color re-mapping for one of the routes.</t>
          <t indent="0" pn="section-2.9.5-9">In this case, the LCM from the selected BGP best path <bcp14>SHOULD</bcp14> be chosen to be installed into the routing 
              table.</t>
          <t indent="0" pn="section-2.9.5-10">A warning message <bcp14>SHOULD</bcp14> also be logged for further operator intervention.</t>
          <t indent="0" pn="section-2.9.5-11">If present, LCM-EC contains the intent of a BGP CAR route.
 	      LCM-EC Color is used instead of the Color in CAR route NLRI for procedures 
 	      described in earlier sections such as route validation (<xref target="ROUTEVALIDN" format="default" sectionFormat="of" derivedContent="Section 2.4"/>), 
              route resolution (<xref target="ROUTERES" format="default" sectionFormat="of" derivedContent="Section 2.5"/>), 
 	      AIGP calculation (<xref target="AIGPMETRIC" format="default" sectionFormat="of" derivedContent="Section 2.6"/>) and steering (<xref target="STEERING" format="default" sectionFormat="of" derivedContent="Section 3"/>).</t>
          <t indent="0" pn="section-2.9.5-12">The LCM-EC <bcp14>MAY</bcp14> be used for filtering of BGP CAR routes and/or for 
          applying routing policies on the intent, when present.</t>
        </section>
      </section>
      <section anchor="LCMBGPECUSAGE" numbered="true" removeInRFC="false" toc="include" pn="section-2.10">
        <name slugifiedName="name-lcm-ec-and-bgp-color-ec-usa">LCM-EC and BGP Color-EC Usage</name>
        <t indent="0" pn="section-2.10-1">There are 2 distinct requirements to be supported as stated in 
        <xref target="I-D.hr-spring-intentaware-routing-using-color" format="default" sectionFormat="of" derivedContent="INTENT-AWARE"/>:
        </t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-2.10-2"><li pn="section-2.10-2.1" derivedCounter="1.">
            <t indent="0" pn="section-2.10-2.1.1">Domains with different intent granularity (<xref target="I-D.hr-spring-intentaware-routing-using-color" sectionFormat="of" section="6.3.1.9" format="default" derivedLink="https://datatracker.ietf.org/doc/html/draft-hr-spring-intentaware-routing-using-color-04#section-6.3.1.9" derivedContent="INTENT-AWARE"/>)</t>
          </li>
          <li pn="section-2.10-2.2" derivedCounter="2.">
            <t indent="0" pn="section-2.10-2.2.1">Network domains under different administration (i.e., color
            domains; see <xref target="I-D.hr-spring-intentaware-routing-using-color" sectionFormat="of" section="6.3.1.10" format="default" derivedLink="https://datatracker.ietf.org/doc/html/draft-hr-spring-intentaware-routing-using-color-04#section-6.3.1.10" derivedContent="INTENT-AWARE"/>)</t>
          </li>
        </ol>
        <t indent="0" pn="section-2.10-3">Requirement 1 is the case where within the same administrative or 
        color domain, BGP CAR routes for N end-to-end intents may need to traverse 
        across an intermediate transit domain where only M intents are available, N &gt;= M.
        For example, consider a multi-domain network is designed as Access-Core-Access. 
        The core may have the most granular N intents, whereas the access only has fewer M 
        intents. Therefore, the BGP next-hop resolution for a CAR route in the access domain must be 
        via a color-aware path for one of these M intents. As the procedures in <xref target="ROUTERES" format="default" sectionFormat="of" derivedContent="Section 2.5"/> describe, 
        and the example in <xref target="APPENDIXNM" format="default" sectionFormat="of" derivedContent="Appendix B.2"/> illustrates, 
        BGP Color-EC is used to automate the CAR route resolution in this case.</t>
        <t indent="0" pn="section-2.10-4">For requirement 2, where CAR routes traverse across different color domains, 
        LCM-EC is used to carry the local color mapping for the NLRI color in other color
        domains. The related procedures are described in <xref target="SDIFFCOLORS" format="default" sectionFormat="of" derivedContent="Section 2.8"/>, and 
        an example is given in <xref target="APPENDIXMCD" format="default" sectionFormat="of" derivedContent="Appendix B.3"/>.</t>
        <t indent="0" pn="section-2.10-5">Both LCM-EC and BGP Color-EC may be present at the same time with a BGP CAR route. 
        For example, a BGP CAR route (E, C1) from color domain D1, with LCM-EC C2 in color 
        domain D2, may also carry Color-EC C3 and next hop N in a transit network domain 
        within D2 where C2 is being resolved via an available intra-domain intent C3 (see
        the detailed example in the combination of Appendices <xref target="APPENDIXNM" format="counter" sectionFormat="of" derivedContent="B.2"/> and 
        <xref target="APPENDIXMCD" format="counter" sectionFormat="of" derivedContent="B.3"/>).
        </t>
        <t indent="0" pn="section-2.10-6">In this case, as described in <xref target="ROUTERES" format="default" sectionFormat="of" derivedContent="Section 2.5"/>, the default order of 
        processing for resolution in the presence of LCM-EC is local policy, then BGP Color-EC 
        color, and finally LCM-EC color.</t>
      </section>
      <section anchor="Fault" numbered="true" removeInRFC="false" toc="include" pn="section-2.11">
        <name slugifiedName="name-error-handling">Error Handling</name>
        <t indent="0" pn="section-2.11-1">The error handling actions as described in <xref target="RFC7606" format="default" sectionFormat="of" derivedContent="RFC7606"/> are applicable for the handling of BGP update messages
        for BGP CAR SAFI. In general, as indicated in <xref target="RFC7606" format="default" sectionFormat="of" derivedContent="RFC7606"/>, 
        the goal is to minimize the disruption of a session reset or 
        'AFI/SAFI disable' to the extent possible.</t>
        <t indent="0" pn="section-2.11-2">When the error determined allows for the router to skip the malformed
        NLRI(s) and continue processing of the rest of the update message, then
        it <bcp14>MUST</bcp14> handle such malformed NLRIs as 'treat-as-withdraw'.
        In other cases, where the error in the NLRI encoding results in the inability to
        process the BGP update message, then the router <bcp14>SHOULD</bcp14> handle such malformed 
        NLRIs as 'AFI/SAFI disable' when other AFI/SAFI besides BGP CAR are being 
        advertised over the same session. Alternately, the router <bcp14>MUST</bcp14> perform 
        'session reset' when the session is only being used for BGP CAR SAFI.</t>
        <t indent="0" pn="section-2.11-3">The CAR NLRI definition encodes NLRI length and key length explicitly.
        The NLRI length <bcp14>MUST</bcp14> be relied upon to enable the beginning of the next
        NLRI field to be located. Key length <bcp14>MUST</bcp14> be relied upon to extract the 
        key and perform 'treat-as-withdraw' for malformed information.</t>
        <t indent="0" pn="section-2.11-4">A sender <bcp14>MUST</bcp14> ensure that the NLRI and key lengths are the number of actual 
	bytes encoded in the NLRI and key fields, respectively, regardless of 
	content being encoded.</t>
        <t indent="0" pn="section-2.11-5">Given the NLRI length and Key length <bcp14>MUST</bcp14> be valid, failures in the following 
   checks result in 'AFI/SAFI disable' or 'session reset':</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.11-6">
          <li pn="section-2.11-6.1">
            <t indent="0" pn="section-2.11-6.1.1">The minimum NLRI Length <bcp14>MUST</bcp14> be at least 2, as Key Length and NLRI Type are required fields.</t>
          </li>
          <li pn="section-2.11-6.2">
            <t indent="0" pn="section-2.11-6.2.1">The Key Length <bcp14>MUST</bcp14> be at least 2 less than NLRI Length.</t>
          </li>
        </ul>
        <t indent="0" pn="section-2.11-7">NLRI type-specific error handling:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.11-8">
          <li pn="section-2.11-8.1">
            <t indent="0" pn="section-2.11-8.1.1">By default, a speaker <bcp14>SHOULD</bcp14> discard an
            unrecognized or unsupported NLRI type and move to the next
            NLRI.</t>
          </li>
          <li pn="section-2.11-8.2">
            <t indent="0" pn="section-2.11-8.2.1">Key length and key errors of a known NLRI type
            <bcp14>SHOULD</bcp14> result in the discard of NLRI similar to an
            unrecognized NLRI type. (This <bcp14>MUST</bcp14> be logged for
            trouble shooting.)</t>
          </li>
        </ul>
        <t indent="0" pn="section-2.11-9">Transparent propagation of unrecognized NLRI type:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.11-10">
          <li pn="section-2.11-10.1">
            <t indent="0" pn="section-2.11-10.1.1">Key length allows unrecognized route types to transit through the RR 
	transparently without a software upgrade. The RR receiving unrecognized route
        types does not need to interpret the key portion of an NLRI and handles the NLRI
        as an opaque value of a specific length. An implementation <bcp14>SHOULD</bcp14> provide configuration 
        that controls the RR unrecognized route type propagation behavior, possibly at 
        the granularity of route type values allowed. This configuration option gives the
        operator the ability to allow specific route types to be transparently passed through 
        RRs based on client speaker support.</t>
          </li>
          <li pn="section-2.11-10.2">
            <t indent="0" pn="section-2.11-10.2.1">In such a case, the RRs may reflect NLRIs with NLRI type-specific key length and 
	field errors. Clients of such an RR that consume the route for installation 
	will perform the key error handling of known NLRI type or discard the
	unrecognized type. This prevents propagation of routes with NLRI errors any 
	further in network.</t>
          </li>
        </ul>
        <t indent="0" pn="section-2.11-11">Type-specific Non-Key TLV handling:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.11-12">
          <li pn="section-2.11-12.1">
            <t indent="0" pn="section-2.11-12.1.1">Either the length of a TLV would cause the NLRI length to be exceeded when 
	parsing the TLV, or fewer than 2 bytes remain when beginning to parse the TLV.
	In either of these cases, an error condition exists, and the 'treat-as-withdraw' 
	approach <bcp14>MUST</bcp14> be used.</t>
          </li>
          <li pn="section-2.11-12.2">
            <t indent="0" pn="section-2.11-12.2.1">Type-specific length constraints should be verified. The TLV <bcp14>MUST</bcp14> be
	discarded if there is an error. When discarded, an error may be logged for further 
        analysis.</t>
          </li>
          <li pn="section-2.11-12.3">
            <t indent="0" pn="section-2.11-12.3.1">If multiple instances of same type are encountered, all but the first 
	instance <bcp14>MUST</bcp14> be discarded. When discarded, an error may be logged for further analysis.</t>
          </li>
          <li pn="section-2.11-12.4">
            <t indent="0" pn="section-2.11-12.4.1">If a speaker that performs encapsulation to the BGP next hop
            does not receive at least one recognized forwarding information
            TLV with the T bit unset (such as label or SRv6 SID), such NLRI is
            considered invalid and not eligible for best path
            selection. 'Treat-as-withdraw' may be used, though it is recommended
            to keep the NLRI for debugging purposes.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="STEERING" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-service-route-automated-ste">Service Route Automated Steering on Color-Aware Paths</name>
      <t indent="0" pn="section-3-1">An ingress PE (or ASBR) E1 automatically steers a C-colored service route 
      V/v from E2 onto an (E2, C) color-aware path, as illustrated in 
      <xref target="SECCARIllus" format="default" sectionFormat="of" derivedContent="Section 1.2"/>. If several such paths exist, a preference scheme is used 
      to select the best path. The default preference scheme is IGP Flexible Algorithm first, then 
      SR Policy, followed by BGP CAR. A configuration option may be used to adjust the 
      default preference scheme.</t>
      <t indent="0" pn="section-3-2">An egress PE may express its intent that traffic should be steered a certain way through the transport layer
      by including the BGP Color-EC <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/> with the relevant service routes. An ingress PE
      steers service traffic over a CAR (E, C) route using the service route's next
      hop and BGP Color-EC.
      </t>
      <t indent="0" pn="section-3-3">This is consistent with the automated service route steering on SR
      Policy (a routing solution providing color-aware paths) defined in <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>. All the steering variations described in <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/> are applicable to BGP CAR paths:
      on-demand steering, per-destination steering, per-flow steering, and
      color-only steering. For brevity, please refer to <xref target="RFC9256" sectionFormat="of" section="8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-8" derivedContent="RFC9256"/>.</t>
      <t indent="0" pn="section-3-4"><xref target="SSTEERINGAPNDX" format="default" sectionFormat="of" derivedContent="Appendix A"/> provides illustrations of service route 
      automated steering over BGP CAR (E, C) routes.</t>
      <t indent="0" pn="section-3-5">An egress PE may express its intent that traffic should be steered a certain way through the transport layer
      by allocating the SRv6 Service SID from a routed intent-aware 
      locator prefix (<xref target="RFC8986" sectionFormat="of" section="3.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8986#section-3.3" derivedContent="RFC8986"/>). Steering at an ingress
      PE is via resolution of the Service SID over a CAR Type-2 IP Prefix route.
      Service steering over BGP CAR SRv6 transport is described in 
      <xref target="SECCARSRV6" format="default" sectionFormat="of" derivedContent="Section 7"/>.</t>
      <t indent="0" pn="section-3-6">Service steering via BGP CAR routes is applicable to any BGP SAFI, including SAFIs for 
      IPv4/IPv6 (SAFI 1), L3VPN (SAFI 128), pseudowire (PW), EVPN (SAFI 70), FlowSpec, 
      and BGP-LU (SAFI 4).</t>
    </section>
    <section anchor="FILTERING" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-filtering">Filtering</name>
      <t indent="0" pn="section-4-1">PEs and BRs may support filtering of CAR routes. For instance, the filtering 
      may only accept routes of locally configured colors.</t>
      <t indent="0" pn="section-4-2">Techniques such as RT Constrain <xref target="RFC4684" format="default" sectionFormat="of" derivedContent="RFC4684"/> may also be applied to the CAR SAFI, where
      Route Target (RT) Extended Communities <xref target="RFC4360" format="default" sectionFormat="of" derivedContent="RFC4360"/> can be used to constrain distribution and 
      automate filtering of CAR routes. RT assignment may be via user policy; for example, an RT 
      value can be assigned to all routes of a specific color.</t>
      <t indent="0" pn="section-4-3">A PE may support on-demand installation of a CAR route based on the presence of a service route whose next hop 
      resolves via the CAR route.</t>
      <t indent="0" pn="section-4-4">Similarly, a PE may dynamically subscribe to receive individual CAR
      routes from upstream routers or Route Reflectors (RRs) to limit the routes
      that it needs to learn. On-demand subscription and automated filtering
      procedures for individual CAR routes are outside the scope of this
      document.
      </t>
    </section>
    <section anchor="SCLNG" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-scaling">Scaling</name>
      <t indent="0" pn="section-5-1">This section analyzes the key scale requirement of 
      <xref target="I-D.hr-spring-intentaware-routing-using-color" format="default" sectionFormat="of" derivedContent="INTENT-AWARE"/>, specifically:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-2">
        <li pn="section-5-2.1">
          <t indent="0" pn="section-5-2.1.1">No intermediate node data plane should need to scale to (Colors * PEs).</t>
        </li>
        <li pn="section-5-2.2">
          <t indent="0" pn="section-5-2.2.1">No node should learn and install a BGP CAR route to (E, C) if it does 
        not install a colored service route to E.</t>
        </li>
      </ul>
      <t indent="0" pn="section-5-3">While the requirements and design principles generally apply to any transport, 
      the logical analysis based on the network design in this section focuses on 
      MPLS/SR-MPLS transport since the scaling constraints are specifically relevant to 
      these technologies. BGP CAR SAFI is used here, but the considerations can apply to 
      <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> or <xref target="RFC8669" format="default" sectionFormat="of" derivedContent="RFC8669"/> used with MPLS/SR-MPLS.
      </t>
      <t indent="0" pn="section-5-4">Two key principles used to address the scaling requirements are a 
 	  hierarchical network and routing design, and on-demand route 
 	  subscription and filtering.</t>
      <t indent="0" pn="section-5-5"><xref target="SUSRT" format="default" sectionFormat="of" derivedContent="Figure 2"/> in <xref target="USTOP" format="default" sectionFormat="of" derivedContent="Section 5.1"/> provides an ultra-scale 
      reference topology. <xref target="USTOP" format="default" sectionFormat="of" derivedContent="Section 5.1"/> describes this topology.
      <xref target="SSDM" format="default" sectionFormat="of" derivedContent="Section 5.2"/> presents three design models to deploy BGP CAR in the 
      reference topology, including hierarchical options. <xref target="SSA" format="default" sectionFormat="of" derivedContent="Section 5.3"/> analyzes 
      the logical scaling properties of each model.</t>
      <t indent="0" pn="section-5-6">Filtering techniques described in the previous section allow a PE to
      limit the CAR routes that it needs to learn or install. Scaling benefits
      of on-demand BGP subscription and filtering will be described in a
      separate document.</t>
      <section anchor="USTOP" numbered="true" removeInRFC="false" toc="include" pn="section-5.1">
        <name slugifiedName="name-ultra-scale-reference-topol">Ultra-Scale Reference Topology</name>
        <figure anchor="SUSRT" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-ultra-scale-reference-topolo">Ultra-Scale Reference Topology</name>
          <artwork align="left" pn="section-5.1-1.1">
                                         RD:V/v via E2
          +-----+              +-----+ vpn label:30030 +-----+
  ....... |S-RR1| &lt;........... |S-RR2| &lt;...............|S-RR3| &lt;......
  :       +-----+              +-----+  Color C1       +-----+       :
  :                                                                  :
  :                                                                  :
  :                                                                  :
 +:------------+--------------+--------------+--------------+--------:-+
 |:            |              |              |              |        : |
 |:            |              |              |              |        : |
 |:          +---+          +---+          +---+          +---+      : |
 |:          |121|          |231|          |341|          |451|      : |
 |:          +---+          +---+          +---+          +---+      : |
 |---+         |              |              |              |      +---|
 | E1|         |              |              |              |      | E2|
 |---+         |              |              |              |      +---|
 |           +---+          +---+          +---+          +---+        |
 |           |122|          |232|          |342|          |452|        |
 |           +---+          +---+          +---+          +---+        |
 |   Access    |   Metro      |   Core       |   Metro      | Access   |
 |   domain 1  |   domain 2   |   domain 3   |   domain 4   | domain 5 |
 +-------------+--------------+--------------+--------------+----------+
  iPE         iBRM          iBRC           eBRC           eBRM       ePE
</artwork>
        </figure>
        <t indent="0" pn="section-5.1-2">The following description applies to the reference topology above:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-3">
          <li pn="section-5.1-3.1">
            <t indent="0" pn="section-5.1-3.1.1">Independent IS-IS/OSPF SR instance in each domain.</t>
          </li>
          <li pn="section-5.1-3.2">
            <t indent="0" pn="section-5.1-3.2.1">Each domain has Flex-Algo 128. Prefix-SID for a node is Segment Routing Global Block (SRGB) 168000 plus 
          node number.</t>
          </li>
          <li pn="section-5.1-3.3">
            <t indent="0" pn="section-5.1-3.3.1">A BGP CAR route (E2, C1) is advertised by egress BRM node 451. The route is 
          sourced locally from redistribution from IGP Flex-Algo 128.</t>
          </li>
          <li pn="section-5.1-3.4">
            <t indent="0" pn="section-5.1-3.4.1">Not shown for simplicity, node 452 will also advertise (E2, C1).</t>
          </li>
          <li pn="section-5.1-3.5">
            <t indent="0" pn="section-5.1-3.5.1">When a transport RR (T-RR) is used within the domain or across domains, 
          ADD-PATH is enabled to advertise paths from both egress BRs to its
          clients.</t>
          </li>
          <li pn="section-5.1-3.6">
            <t indent="0" pn="section-5.1-3.6.1">Egress PE E2 advertises a VPN route RD:V/v with BGP Color-EC C1 that propagates via service RRs to ingress PE E1.</t>
          </li>
          <li pn="section-5.1-3.7">
            <t indent="0" pn="section-5.1-3.7.1">E1 steers V/v prefix via color-aware path (E2, C1) and VPN label 30030.</t>
          </li>
        </ul>
      </section>
      <section anchor="SSDM" numbered="true" removeInRFC="false" toc="include" pn="section-5.2">
        <name slugifiedName="name-deployment-model">Deployment Model</name>
        <section numbered="true" removeInRFC="false" toc="include" pn="section-5.2.1">
          <name slugifiedName="name-flat">Flat</name>
          <figure anchor="SFLAT" align="left" suppress-title="false" pn="figure-3">
            <name slugifiedName="name-flat-transport-network-desi">Flat Transport Network Design</name>
            <artwork align="left" pn="section-5.2.1-1.1">
                                        RD:V/v via E2
         +-----+              +-----+ vpn label:30030 +-----+
 ....... |S-RR1| &lt;........... |S-RR2| &lt;...............|S-RR3| &lt;......
 :       +-----+              +-----+  Color C1       +-----+       :
 :                                                                  :
 :                                                                  :
 :                                                                  :
+:------------+--------------+--------------+--------------+--------:-+
|:            |              |              |              |        : |
|:            |   (E2,C1)    |   (E2,C1)    |   (E2,C1)    |        : |
|:          +---+ via 231  +---+ via 341  +---+ via 451  +---+      : |
|:(E2,C1)   |121|&lt;---------|231|&lt;---------|341|&lt;---------|451|      : |
|: via 121 /+---+ L=168002 +---+ L=168002 +---+ L=168002 +---+      : |
|---+     /   |              |              |              |      +---|
| E1| &lt;--/    |              |              |              |      | E2|
|---+ L=168002|              |              |              |      +---|
|           +---+          +---+          +---+          +---+        |
|           |122|          |232|          |342|          |452|        |
|           +---+          +---+          +---+          +---+        |
|   Access    |   Metro      |   Core       |   Metro      | Access   |
|   domain 1  |   domain 2   |   domain 3   |   domain 4   | domain 5 |
+-------------+--------------+--------------+--------------+----------+
 iPE         iBRM          iBRC           eBRC           eBRM      ePE


168121      168231        168341        168451
168002      168002        168002        168002         168002
 30030       30030         30030         30030          30030     30030
</artwork>
          </figure>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.1-2">
            <li pn="section-5.2.1-2.1">
              <t indent="0" pn="section-5.2.1-2.1.1">Node 451 advertises BGP CAR route (E2, C1) to 341, from which
              it goes to 231, then to 121, and finally to E1.</t>
            </li>
            <li pn="section-5.2.1-2.2">
              <t indent="0" pn="section-5.2.1-2.2.1">Each BGP hop allocates local label and programs swap entry in forwarding 
            for (E2, C1).</t>
            </li>
            <li pn="section-5.2.1-2.3">
              <t indent="0" pn="section-5.2.1-2.3.1">E1 receives BGP CAR route (E2, C1) via 121 with label 168002.
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.1-2.3.2">
                <li pn="section-5.2.1-2.3.2.1">
                  <t indent="0" pn="section-5.2.1-2.3.2.1.1">Let's assume E1 selects that path.</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.1-2.4">
              <t indent="0" pn="section-5.2.1-2.4.1">E1 resolves BGP CAR route (E2, C1) via 121 on color-aware path (121, C1).
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.1-2.4.2">
                <li pn="section-5.2.1-2.4.2.1">
                  <t indent="0" pn="section-5.2.1-2.4.2.1.1">Color-aware path (121, C1) is Flex-Algo 128 path to 121 
                  (label 168121).</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.1-2.5">
              <t indent="0" pn="section-5.2.1-2.5.1">E1's imposition color-aware label stack for V/v is thus:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.1-2.5.2">
                <li pn="section-5.2.1-2.5.2.1">
                  <t indent="0" pn="section-5.2.1-2.5.2.1.1">30030 &lt;=&gt; V/v</t>
                </li>
                <li pn="section-5.2.1-2.5.2.2">
                  <t indent="0" pn="section-5.2.1-2.5.2.2.1">168002 &lt;=&gt; (E2, C1)</t>
                </li>
                <li pn="section-5.2.1-2.5.2.3">
                  <t indent="0" pn="section-5.2.1-2.5.2.3.1">168121 &lt;=&gt; (121, C1)</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.1-2.6">
              <t indent="0" pn="section-5.2.1-2.6.1">Each BGP hop performs swap operation on 168002 bound to color-aware path 
            (E2, C1).</t>
            </li>
          </ul>
        </section>
        <section numbered="true" removeInRFC="false" toc="include" pn="section-5.2.2">
          <name slugifiedName="name-hierarchical-design-with-ne">Hierarchical Design with Next-Hop-Self at Ingress Domain BR</name>
          <figure anchor="BGPCARSCALEHEIRNH" align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-hierarchical-bgp-transport-">Hierarchical BGP Transport CAR, Next-Hop-Self (NHS) at iBR</name>
            <artwork align="left" pn="section-5.2.2-1.1">
                               (E2,C1)
                      +-----+  via 451        +-----+
                      |T-RR1| &lt;-------------- |T-RR2|
                    / +-----+  L=168002       +-----+\
                   /                                   \
+-------------+---/----------+--------------+-----------\--+----------+
|             |  /           |              |            \ |          |
|  (E2,C1)    | / (451,C1)   |   (451,C1)   |             \|          |
|  via 121  +---+ via 231  +---+ via 341  +---+          +---+        |
|  L=168002 |121| &lt;======= |231| &lt;========|341| &lt;======= |451|        |
|         / +---+ L=168451 +---+ L=168451 +---+          +---+        |
|---+    /    |              |              |              |      +---|
| E1|&lt;--/     |              |              |              |      | E2|
|---+         |              |              |              |      +---|
|           +---+          +---+          +---+          +---+        |
|           |122|          |232|          |342|          |452|        |
|           +---+          +---+          +---+          +---+        |
|   Access    |   Metro      |   Core       |   Metro      | Access   |
|   domain 1  |   domain 2   |   domain 3   |   domain 4   | domain 5 |
+-------------+--------------+--------------+--------------+----------+
 iPE         iBRM          iBRC           eBRC           eBRM      ePE

            168231        168341
168121      168451        168451        168451
168002      168002        168002        168002         168002
 30030       30030         30030         30030          30030     30030
</artwork>
          </figure>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.2-2">
            <li pn="section-5.2.2-2.1">
              <t indent="0" pn="section-5.2.2-2.1.1">Node 451 advertises BGP CAR route (451, C1) to 341, from which it goes to 
            231, and finally to 121.</t>
            </li>
            <li pn="section-5.2.2-2.2">
              <t indent="0" pn="section-5.2.2-2.2.1">Each BGP hop allocates local label and programs swap entry in forwarding 
            for (451, C1).</t>
            </li>
            <li pn="section-5.2.2-2.3">
              <t indent="0" pn="section-5.2.2-2.3.1">121 resolves received BGP CAR route (451, C1) via 231 (label 168451) on 
            color-aware path (231, C1).
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.2-2.3.2">
                <li pn="section-5.2.2-2.3.2.1">
                  <t indent="0" pn="section-5.2.2-2.3.2.1.1">Color-aware path (231, C1) is Flex-Algo 128 path to 231 (label 168231).</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.2-2.4">
              <t indent="0" pn="section-5.2.2-2.4.1">451 advertises BGP CAR route (E2, C1) via 451 to T-RR2, which
            reflects it to T-RR1, which reflects it to 121.</t>
            </li>
            <li pn="section-5.2.2-2.5">
              <t indent="0" pn="section-5.2.2-2.5.1">121 receives BGP CAR route (E2, C1) via 451 with label 168002.
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.2-2.5.2">
                <li pn="section-5.2.2-2.5.2.1">
                  <t indent="0" pn="section-5.2.2-2.5.2.1.1">Let's assume 121 selects that path.</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.2-2.6">
              <t indent="0" pn="section-5.2.2-2.6.1">121 resolves BGP CAR route (E2, C1) via 451 on color-aware path (451, C1).
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.2-2.6.2">
                <li pn="section-5.2.2-2.6.2.1">
                  <t indent="0" pn="section-5.2.2-2.6.2.1.1">Color-aware path (451, C1) is BGP CAR path to 451 (label 168451).</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.2-2.7">
              <t indent="0" pn="section-5.2.2-2.7.1">121 imposition of color-aware label stack for (E2, C1) is thus:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.2-2.7.2">
                <li pn="section-5.2.2-2.7.2.1">
                  <t indent="0" pn="section-5.2.2-2.7.2.1.1">168002 &lt;=&gt; (E2, C1)</t>
                </li>
                <li pn="section-5.2.2-2.7.2.2">
                  <t indent="0" pn="section-5.2.2-2.7.2.2.1">168451 &lt;=&gt; (451, C1)</t>
                </li>
                <li pn="section-5.2.2-2.7.2.3">
                  <t indent="0" pn="section-5.2.2-2.7.2.3.1">168231 &lt;=&gt; (231, C1)</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.2-2.8">
              <t indent="0" pn="section-5.2.2-2.8.1">121 advertises (E2, C1) to E1 with next-hop-self (121) and label 168002.</t>
            </li>
            <li pn="section-5.2.2-2.9">
              <t indent="0" pn="section-5.2.2-2.9.1">E1 constructs same imposition color-aware label stack for V/v via (E2, C1) 
            as in the flat model:
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.2-2.9.2">
                <li pn="section-5.2.2-2.9.2.1">
                  <t indent="0" pn="section-5.2.2-2.9.2.1.1">30030 &lt;=&gt; V/v</t>
                </li>
                <li pn="section-5.2.2-2.9.2.2">
                  <t indent="0" pn="section-5.2.2-2.9.2.2.1">168002 &lt;=&gt; (E2, C1)</t>
                </li>
                <li pn="section-5.2.2-2.9.2.3">
                  <t indent="0" pn="section-5.2.2-2.9.2.3.1">168121 &lt;=&gt; (121, C1)</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.2-2.10">
              <t indent="0" pn="section-5.2.2-2.10.1">121 performs swap operation on 168002 with hierarchical color-aware label 
            stack for (E2, C1) via 451 from step 7.</t>
            </li>
            <li pn="section-5.2.2-2.11">
              <t indent="0" pn="section-5.2.2-2.11.1">Nodes 231 and 341 perform swap operation on 168451 bound to color-aware 
            path (451, C1).</t>
            </li>
            <li pn="section-5.2.2-2.12">
              <t indent="0" pn="section-5.2.2-2.12.1">451 performs swap operation on 168002 bound to color-aware path (E2, C1).</t>
            </li>
          </ul>
          <t indent="0" pn="section-5.2.2-3">Note: E1 does not need the BGP CAR route (451, C1) in this design.</t>
        </section>
        <section anchor="SBGPCARSCALEHEIRNHU" numbered="true" removeInRFC="false" toc="include" pn="section-5.2.3">
          <name slugifiedName="name-hierarchical-design-with-nex">Hierarchical Design with Next-Hop-Unchanged at Ingress Domain BR</name>
          <figure anchor="BGPCARSCALEHEIRNHU" align="left" suppress-title="false" pn="figure-5">
            <name slugifiedName="name-hierarchical-bgp-transport-c">Hierarchical BGP Transport CAR, Next-Hop-Unchanged (NHU) at iBR</name>
            <artwork align="left" pn="section-5.2.3-1.1">
                               (E2,C1)
                      +-----+  via 451        +-----+
                      |T-RR1| &lt;-------------- |T-RR2|
                    / +-----+  L=168002       +-----+\
                   /                                   \
+-------------+---/----------+--------------+-----------\--+----------+
|             |  /           |              |            \ |          |
|  (E2,C1)    | / (451,C1)   |   (451,C1)   |             \|          |
|  via 451  +---+ via 231  +---+ via 341  +---+          +---+        |
|  L=168002/|121| &lt;======= |231| &lt;========|341| &lt;======= |451|        |
|         / +---+ L=168451 +---+ L=168451 +---+          +---+        |
|---+ &lt;--/  //|              |              |              |      +---|
| E1|      // |              |              |              |      | E2|
|---+ &lt;===//  |              |              |              |      +---|
|  (451,C1) +---+          +---+          +---+          +---+        |
|  via 121  |122|          |232|          |342|          |452|        |
|  L=168451 +---+          +---+          +---+          +---+        |
|             |              |              |              |          |
|   Access    |   Metro      |   Core       |   Metro      | Access   |
|   domain 1  |   domain 2   |   domain 3   |   domain 4   | domain 5 |
+-------------+--------------+--------------+--------------+----------+
 iPE         iBRM           iBRC          eBRC           eBRM      ePE

168121      168231        168341
168451      168451        168451        168451
168002      168002        168002        168002         168002
 30030       30030         30030         30030          30030     30030
</artwork>
          </figure>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.3-2">
            <li pn="section-5.2.3-2.1">
              <t indent="0" pn="section-5.2.3-2.1.1">Nodes 341, 231, and 121 receive and resolve BGP CAR route (451, C1) the 
            same as in the previous model.</t>
            </li>
            <li pn="section-5.2.3-2.2">
              <t indent="0" pn="section-5.2.3-2.2.1">Node 121 allocates local label and programs swap entry in forwarding for 
            (451, C1).</t>
            </li>
            <li pn="section-5.2.3-2.3">
              <t indent="0" pn="section-5.2.3-2.3.1">451 advertises BGP CAR route (E2, C1) to T-RR2, which 
            reflects it to T-RR1, which reflects it to 121.</t>
            </li>
            <li pn="section-5.2.3-2.4">
              <t indent="0" pn="section-5.2.3-2.4.1">Node 121 advertises (E2, C1) to E1 with next hop as 451
              (i.e., next-hop-unchanged).</t>
            </li>
            <li pn="section-5.2.3-2.5">
              <t indent="0" pn="section-5.2.3-2.5.1">121 also advertises (451, C1) to E1 with next-hop-self (121) and label 
            168451.</t>
            </li>
            <li pn="section-5.2.3-2.6">
              <t indent="0" pn="section-5.2.3-2.6.1">E1 resolves BGP CAR route (451, C1) via 121 on color-aware path (121, C1).
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.3-2.6.2">
                <li pn="section-5.2.3-2.6.2.1">
                  <t indent="0" pn="section-5.2.3-2.6.2.1.1">Color-aware path (121, C1) is Flex-Algo 128 path to 121 (label 168121).</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.3-2.7">
              <t indent="0" pn="section-5.2.3-2.7.1">E1 receives BGP CAR route (E2, C1) via 451 with label 168002.
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.3-2.7.2">
                <li pn="section-5.2.3-2.7.2.1">
                  <t indent="0" pn="section-5.2.3-2.7.2.1.1">Let's assume E1 selects that path.</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.3-2.8">
              <t indent="0" pn="section-5.2.3-2.8.1">E1 resolves BGP CAR route (E2, C1) via 451 on color-aware path (451, C1).
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.3-2.8.2">
                <li pn="section-5.2.3-2.8.2.1">
                  <t indent="0" pn="section-5.2.3-2.8.2.1.1">Color-aware path (451, C1) is BGP CAR path to 451 (label 168451).</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.3-2.9">
              <t indent="0" pn="section-5.2.3-2.9.1">E1's imposition color-aware label stack for V/v is thus:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.3-2.9.2">
                <li pn="section-5.2.3-2.9.2.1">
                  <t indent="0" pn="section-5.2.3-2.9.2.1.1">30030 &lt;=&gt; V/v</t>
                </li>
                <li pn="section-5.2.3-2.9.2.2">
                  <t indent="0" pn="section-5.2.3-2.9.2.2.1">168002 &lt;=&gt; (E2, C1)</t>
                </li>
                <li pn="section-5.2.3-2.9.2.3">
                  <t indent="0" pn="section-5.2.3-2.9.2.3.1">168451 &lt;=&gt; (451, C1)</t>
                </li>
                <li pn="section-5.2.3-2.9.2.4">
                  <t indent="0" pn="section-5.2.3-2.9.2.4.1">168121 &lt;=&gt; (121, C1)</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.2.3-2.10">
              <t indent="0" pn="section-5.2.3-2.10.1">Nodes 121, 231, and 341 perform swap operation on 168451 bound to (451, C1).</t>
            </li>
            <li pn="section-5.2.3-2.11">
              <t indent="0" pn="section-5.2.3-2.11.1">451 performs swap operation on 168002 bound to color-aware path (E2, C1).</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="SSA" numbered="true" removeInRFC="false" toc="include" pn="section-5.3">
        <name slugifiedName="name-scale-analysis">Scale Analysis</name>
        <t indent="0" pn="section-5.3-1">The following two tables summarize the logically analyzed scaling of the 
        control plane and data plane for the previous three models:</t>
        <table align="center" pn="table-1">
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1"/>
              <th align="left" colspan="1" rowspan="1">E1</th>
              <th align="left" colspan="1" rowspan="1">121</th>
              <th align="left" colspan="1" rowspan="1">231</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <th align="left" colspan="1" rowspan="1">FLAT</th>
              <td align="left" colspan="1" rowspan="1">(E2,C) via (121,C)</td>
              <td align="left" colspan="1" rowspan="1">(E2,C) via (231,C)</td>
              <td align="left" colspan="1" rowspan="1">(E2,C) via (341,C)</td>
            </tr>
            <tr>
              <th align="left" colspan="1" rowspan="1">H.NHS</th>
              <td align="left" colspan="1" rowspan="1">(E2,C) via (121,C)</td>
              <td align="left" colspan="1" rowspan="1">(E2,C) via (451,C)<br/>(451,C) via (231,C)</td>
              <td align="left" colspan="1" rowspan="1">(451,C) via (341,C)</td>
            </tr>
            <tr>
              <th align="left" colspan="1" rowspan="1">H.NHU</th>
              <td align="left" colspan="1" rowspan="1">(E2,C) via (451,C)<br/>(451,C) via (121,C)</td>
              <td align="left" colspan="1" rowspan="1">(451,C) via (231,C)</td>
              <td align="left" colspan="1" rowspan="1">(451,C) via (341,C)</td>
            </tr>
          </tbody>
        </table>
        <table align="center" pn="table-2">
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1"/>
              <th align="left" colspan="1" rowspan="1">E1</th>
              <th align="left" colspan="1" rowspan="1">121</th>
              <th align="left" colspan="1" rowspan="1">231</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <th align="left" colspan="1" rowspan="1">FLAT</th>
              <td align="right" colspan="1" rowspan="1">V -&gt; 30030<br/>168002<br/>168121</td>
              <td align="right" colspan="1" rowspan="1">168002 -&gt; 168002<br/>168231</td>
              <td align="right" colspan="1" rowspan="1">168002 -&gt; 168002<br/>168341</td>
            </tr>
            <tr>
              <th align="left" colspan="1" rowspan="1">H.NHS</th>
              <td align="right" colspan="1" rowspan="1">V -&gt;   30030<br/>168002<br/>168121</td>
              <td align="right" colspan="1" rowspan="1">168002 -&gt; 168002<br/>168451<br/>168231</td>
              <td align="right" colspan="1" rowspan="1">168451 -&gt; 168451<br/>168341</td>
            </tr>
            <tr>
              <th align="left" colspan="1" rowspan="1">H.NHU</th>
              <td align="right" colspan="1" rowspan="1">V -&gt;   30030<br/>168002<br/>168451<br/>168121</td>
              <td align="right" colspan="1" rowspan="1">168451 -&gt; 168451<br/>168231</td>
              <td align="right" colspan="1" rowspan="1">168451 -&gt; 168451<br/>168341</td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.3-4">
          <li pn="section-5.3-4.1">
            <t indent="0" pn="section-5.3-4.1.1">The flat model is the simplest design, with a single BGP
            transport level.  It results in the minimum label/SID stack at
            each BGP hop. However, it significantly increases the scale impact
            on the core BRs (e.g., 341), whose FIB capacity and even MPLS
            label space may be exceeded.
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.3-4.1.2">
              <li pn="section-5.3-4.1.2.1">
                <t indent="0" pn="section-5.3-4.1.2.1.1">341's data plane scales with (E2, C) where there may be
                300k Es and 5 Cs, hence 1.5M entries &gt; 1M MPLS
                data plane.</t>
              </li>
            </ul>
          </li>
          <li pn="section-5.3-4.2">
            <t indent="0" pn="section-5.3-4.2.1">The hierarchical models avoid the need for core BRs to learn routes and 
          install label forwarding entries for (E, C) routes.
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.3-4.2.2">
              <li pn="section-5.3-4.2.2.1">
                <t indent="0" pn="section-5.3-4.2.2.1.1">Whether next hop is set to self or left unchanged at 121, 341's data plane 
            scales with (451, C) where there may be thousands of 451s and 5 Cs. Therefore,
            this scaling is well under the 1 million MPLS labels data plane limit.</t>
              </li>
              <li pn="section-5.3-4.2.2.2">
                <t indent="0" pn="section-5.3-4.2.2.2.1">They also aid faster convergence by allowing the PE routes
                to be distributed via out-of-band RRs that can be scaled
                independent of the transport BRs.</t>
              </li>
            </ul>
          </li>
          <li pn="section-5.3-4.3">
            <t indent="0" pn="section-5.3-4.3.1">The next-hop-self option at ingress BRM (e.g., 121) hides the hierarchical 
          design from the ingress PE, keeping its outgoing label programming as simple as 
          the flat model. However, the ingress BRM requires an additional BGP transport 
          level recursion, which coupled with load-balancing adds data plane complexity.
          It needs to support a swap and push operation. It also needs to install label 
          forwarding entries for the egress PEs that are of interest to its local ingress 
          PEs.</t>
          </li>
          <li pn="section-5.3-4.4">
            <t indent="0" pn="section-5.3-4.4.1">With the next-hop-unchanged option at ingress BRM (e.g., 121), only an ingress 
          PE needs to learn and install output label entries for egress (E, C) routes. 
          The ingress BRM only installs label forwarding entries for the egress ABR 
          (e.g., 451). However, the ingress PE needs an additional BGP transport level 
          recursion and pushes a BGP VPN label and two BGP transport labels. It may also 
          need to handle load-balancing for the egress ABRs. This is the most complex 
          data plane option for the ingress PE.</t>
          </li>
        </ul>
      </section>
      <section anchor="SECANYCASTSID" numbered="true" removeInRFC="false" toc="include" pn="section-5.4">
        <name slugifiedName="name-anycast-sid">Anycast SID</name>
        <t indent="0" pn="section-5.4-1">This section describes how Anycast SID complements and improves the 
        scaling designs above.</t>
        <section anchor="ASIDTRANS" numbered="true" removeInRFC="false" toc="include" pn="section-5.4.1">
          <name slugifiedName="name-anycast-sid-for-transit-int">Anycast SID for Transit Inter-Domain Nodes</name>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4.1-1">
            <li pn="section-5.4.1-1.1">
              <t indent="0" pn="section-5.4.1-1.1.1">Redundant BRs (e.g., two egress BRMs, 451 and 452) advertise BGP CAR 
            routes for a local PE (e.g., E2) with the same SID (based on label index). 
            Such egress BRMs may be assigned a common Anycast SID, so that the BGP 
            next hops for these routes will also resolve via a color-aware path to 
            the Anycast SID.</t>
            </li>
            <li pn="section-5.4.1-1.2">
              <t indent="0" pn="section-5.4.1-1.2.1">The use of Anycast SID naturally provides fast local convergence upon 
            failure of an egress BRM node. In addition, it decreases the recursive 
            resolution and load-balancing complexity at an ingress BRM or PE in the 
            hierarchical designs above.</t>
            </li>
          </ul>
        </section>
        <section numbered="true" removeInRFC="false" toc="include" pn="section-5.4.2">
          <name slugifiedName="name-anycast-sid-for-transport-c">Anycast SID for Transport Color Endpoints</name>
          <t indent="0" pn="section-5.4.2-1">The common Anycast SID technique may also be used for a redundant pair 
          of PEs that share an identical set of service (VPN) attachments.
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4.2-2">
            <li pn="section-5.4.2-2.1">
              <t indent="0" pn="section-5.4.2-2.1.1">
            For example, assume a node E2' is paired with E2 above 
            (e.g., <xref target="BGPCARSCALEHEIRNHU" format="default" sectionFormat="of" derivedContent="Figure 5"/>). Both 
            PEs should be configured with the same static label/SID for the services 
            (e.g., per-VRF VPN label/SID), and will advertise associated service 
            routes with the Anycast IP as BGP next hop. </t>
            </li>
            <li pn="section-5.4.2-2.2">
              <t indent="0" pn="section-5.4.2-2.2.1">This design provides a convergence and recursive resolution benefit on 
            an ingress PE or ABR similar to the egress ABR case in 
            <xref target="ASIDTRANS" format="default" sectionFormat="of" derivedContent="Section 5.4.1"/>.  However, its applicability is limited 
            to cases where the above constraints can be met.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-routing-convergence">Routing Convergence</name>
      <t indent="0" pn="section-6-1">BGP CAR leverages existing well-known design techniques to provide fast 
      convergence.</t>
      <t indent="0" pn="section-6-2"><xref target="SECPA" format="default" sectionFormat="of" derivedContent="Section 2.7"/> describes how BGP CAR provides localized 
      convergence within a domain for BR failures, including originating BRs, without 
      propagating failure churn into other domains.</t>
      <t indent="0" pn="section-6-3">Anycast SID techniques described in <xref target="SECANYCASTSID" format="default" sectionFormat="of" derivedContent="Section 5.4"/> 
      can provide further convergence optimizations for BR and PE failures deployed in 
      redundant designs.
      </t>
    </section>
    <section anchor="SECCARSRV6" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-car-srv6">CAR SRv6</name>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-7.1">
        <name slugifiedName="name-overview">Overview</name>
        <t indent="0" pn="section-7.1-1">Steering services over SRv6-based intent-aware multi-domain
        transport paths may be categorized into two distinct cases that are
        described in <xref target="RFC9252" sectionFormat="of" section="5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9252#section-5" derivedContent="RFC9252"/>. Both cases are supported by BGP CAR, as described
        below.</t>
        <section anchor="SECRTDSSID" numbered="true" removeInRFC="false" toc="include" pn="section-7.1.1">
          <name slugifiedName="name-routed-service-sid">Routed Service SID</name>
          <t indent="0" pn="section-7.1.1-1">The SRv6 Service SID that is advertised with a service route is
          allocated by an egress PE from a routed intent-aware locator prefix 
          (<xref target="RFC8986" sectionFormat="of" section="3.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8986#section-3.3" derivedContent="RFC8986"/>). Service steering at an ingress PE is 
          via resolution of the Service SID signaled with the service route as described in
          <xref target="RFC9252" format="default" sectionFormat="of" derivedContent="RFC9252"/>.</t>
          <t indent="0" pn="section-7.1.1-2">The intent-aware transport path to the SRv6 locator of the egress PE is provided 
          by underlay IP routing. Underlay IP routing can include IGP Flexible Algorithm <xref target="RFC9350" format="default" sectionFormat="of" derivedContent="RFC9350"/> 
          within a domain, and BGP CAR (as defined in this document) across multiple IGP domains or BGP ASes.</t>
          <t indent="0" pn="section-7.1.1-3"> An SRv6 locator prefix is assigned for a given intent or color. The SRv6 locator 
          may be shared with an IGP Flexible Algorithm, or it may be assigned specific to BGP CAR for 
          a given intent.</t>
          <t indent="0" pn="section-7.1.1-4">Distribution of SRv6 locators in BGP CAR SAFI:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.1.1-5">
            <li pn="section-7.1.1-5.1">
              <t indent="0" pn="section-7.1.1-5.1.1">In a multi-domain network, the SRv6 locator prefix is distributed using BGP CAR SAFI
          to ingress PEs and ASBRs in a remote domain. The SRv6 locator prefix may be advertised 
          in the BGP CAR SAFI from an egress PE, or redistributed into BGP CAR from an IGP Flex-Algo 
          at a BR. The locator prefix may also be summarized on a border node along the path and 
          a summary route distributed to ingress PEs.</t>
            </li>
            <li pn="section-7.1.1-5.2">
              <t indent="0" pn="section-7.1.1-5.2.1"> An IP Prefix CAR route (Type-2) is defined to distribute SRv6 locator prefixes
          and described in Sections <xref target="NLRITYPE2" format="counter" sectionFormat="of" derivedContent="2.9.4"/> and <xref target="CARIPPREFIX" format="counter" sectionFormat="of" derivedContent="8"/>.</t>
            </li>
            <li pn="section-7.1.1-5.3">
              <t indent="0" pn="section-7.1.1-5.3.1">A BGP CAR advertised SRv6 locator prefix may also be used for resolution 
          of the SRv6 Service SID advertised for best-effort connectivity.</t>
            </li>
          </ul>
          <t indent="0" pn="section-7.1.1-6">Appendices <xref target="SECLOCHBYH" format="counter" sectionFormat="of" derivedContent="C.1"/> and <xref target="SECSRv6LOCencap" format="counter" sectionFormat="of" derivedContent="C.2"/>
          illustrate the control, and forwarding behaviors for routed SRv6 
          Service SIDs.</t>
          <t indent="0" pn="section-7.1.1-7"><xref target="SRv6DEPLT" format="default" sectionFormat="of" derivedContent="Section 7.2"/> describes the deployment options.</t>
          <t indent="0" pn="section-7.1.1-8"><xref target="SRv6CAROPER" format="default" sectionFormat="of" derivedContent="Section 7.3"/> describes operational considerations 
          of using BGP CAR SAFI versus BGP IPv6 SAFI for inter-domain route distribution
          of SRv6 locators.</t>
        </section>
        <section anchor="SECNRSSID" numbered="true" removeInRFC="false" toc="include" pn="section-7.1.2">
          <name slugifiedName="name-non-routed-service-sid">Non-Routed Service SID</name>
          <t indent="0" pn="section-7.1.2-1">The SRv6 Service SID allocated by an egress PE is not routed. The service
          route carrying the non-routed SRv6 Service SID is advertised by the egress PE
          with a Color-EC C (<xref target="RFC9252" sectionFormat="comma" section="5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9252#section-5" derivedContent="RFC9252"/>).
          An ingress PE in a remote domain steers traffic for the received service route with
          Color-EC C and this SRv6 Service SID as described below.</t>
          <t indent="0" pn="section-7.1.2-2">BGP CAR distribution of (E, C) underlay route:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.1.2-3">
            <li pn="section-7.1.2-3.1">
              <t indent="0" pn="section-7.1.2-3.1.1">The intent-aware path to the egress PE within the egress domain is 
          provided by an SR-TE or similar policy (E, C) <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>. 
          This (E, C) policy is distributed into the multi-domain network from egress BRs 
          using a BGP CAR (E, C) route towards ingress PEs in other domains. 
          This signaling is the same as for SR-MPLS as described in earlier sections.</t>
            </li>
            <li pn="section-7.1.2-3.2">
              <t indent="0" pn="section-7.1.2-3.2.1">The (E, C) BGP CAR Type-1 route is advertised from a BR with an 
          SRv6 transport SID allocated from an SRv6 locator assigned for the intent C.
          An SR-PCE or local configuration may ensure multiple BRs in the egress
          domain that originate the (E, C) route advertise the same SRv6 transport SID.
              </t>
            </li>
          </ul>
          <t indent="0" pn="section-7.1.2-4">BGP CAR distribution of SRv6 locator underlay route:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.1.2-5">
            <li pn="section-7.1.2-5.1">
              <t indent="0" pn="section-7.1.2-5.1.1">
          BGP CAR <bcp14>MAY</bcp14> also provide the underlay intent-aware inter-domain route to resolve 
          the intent-aware SRv6 transport SID advertised with the (E, C) BGP CAR route as 
          follows:

              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.1.2-5.1.2">
                <li pn="section-7.1.2-5.1.2.1">
                  <t indent="0" pn="section-7.1.2-5.1.2.1.1">An egress domain BR has an SRv6 locator prefix that covers the SRv6 transport SID 
	  allocated by the egress BR for the (E, C) BGP CAR route.</t>
                </li>
                <li pn="section-7.1.2-5.1.2.2">
                  <t indent="0" pn="section-7.1.2-5.1.2.2.1">The egress domain BR advertises an IP Prefix Type-2 CAR route for the SRv6 
          locator prefix, and the route is distributed across BGP hops in the underlay 
          towards ingress PEs. This distribution is the same as the previous case in
          <xref target="SECRTDSSID" format="default" sectionFormat="of" derivedContent="Section 7.1.1"/>. The route may also be summarized in another 
          CAR Type-2 route prefix.</t>
                </li>
              </ul>
            </li>
          </ul>
          <t indent="0" pn="section-7.1.2-6">Service traffic steering and SRv6 transport SID resolution at ingress PE:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.1.2-7">
            <li pn="section-7.1.2-7.1">
              <t indent="0" pn="section-7.1.2-7.1.1">An ingress PE in a remote domain resolves the received
              service route with color C via the (E, C) BGP CAR route above,
              as described in <xref target="STEERING" format="default" sectionFormat="of" derivedContent="Section 3"/>.</t>
            </li>
            <li pn="section-7.1.2-7.2">
              <t indent="0" pn="section-7.1.2-7.2.1">Additionally, the ingress PE resolves the SRv6 transport SID
              received in the BGP CAR (E, C) route via the BGP CAR IP Prefix
              route, similar to the SRv6 Routed Service SID resolution in
              <xref target="SECRTDSSID" format="default" sectionFormat="of" derivedContent="Section 7.1.1"/>.
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.1.2-7.2.2">
                <li pn="section-7.1.2-7.2.2.1">
                  <t indent="0" pn="section-7.1.2-7.2.2.1.1">Multiple (E, C) routes may resolve via a single IP Prefix CAR route.
                  </t>
                  <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.1.2-7.2.2.1.2">
                    <li pn="section-7.1.2-7.2.2.1.2.1">
                      <t indent="0" pn="section-7.1.2-7.2.2.1.2.1.1">Resolution of (E, C) routes over IP Prefix CAR routes is the typical 
          resolution order as the IP Prefix route provides
          intent-aware reachability to the BRs that advertise the (E, C) specific
          routes for each egress PE. However, there can be use cases where an IP Prefix
          CAR route may resolve via a (E, C) route.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li pn="section-7.1.2-7.3">
              <t indent="0" pn="section-7.1.2-7.3.1">The ingress PE via the recursive resolution above builds the packet 
          encapsulation that contains the SRv6 Service SID and the received (E, C) 
          route's SRv6 transport SID in the SID list.
              </t>
            </li>
          </ul>
          <t indent="0" pn="section-7.1.2-8"><xref target="SECSRv6EC" format="default" sectionFormat="of" derivedContent="Appendix C.3"/> contains an example that illustrates the control
          plane distribution, recursive resolution and forwarding behaviors described 
          above.
          </t>
          <t indent="0" pn="section-7.1.2-9">Note: An SR Policy may also be defined for multi-domain end to end 
          <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>, independent of BGP CAR. In that case, both 
          BGP CAR and SR-TE inter-domain paths may be available at an ingress PE for an (E, C) route 
          (<xref target="SECCARIllus" format="default" sectionFormat="of" derivedContent="Section 1.2"/>).</t>
        </section>
      </section>
      <section anchor="SRv6DEPLT" numbered="true" removeInRFC="false" toc="include" pn="section-7.2">
        <name slugifiedName="name-deployment-options-for-car-">Deployment Options for CAR SRv6 Locator Reachability Distribution and Forwarding</name>
        <t indent="0" pn="section-7.2-1">Since an SRv6 locator (or summary) is an IPv6 prefix, it will be installed 
        into the IPv6 forwarding table on a BGP router (e.g., ABR or ASBR) for packet 
        forwarding. With the use of IPv6 locator prefixes, there is no need to allocate and 
        install per-PE SIDs on each BGP hop to forward packets.</t>
        <t indent="0" pn="section-7.2-2"> A few options to forward packets for BGP SRv6 prefixes described in
        <xref target="I-D.ietf-spring-srv6-mpls-interworking" format="default" sectionFormat="of" derivedContent="SRv6-INTERWORK"/>
        also apply to BGP CAR. These options are described in 
        Sections <xref target="SRv6HBH" format="counter" sectionFormat="of" derivedContent="7.2.1"/> and <xref target="SRv6ENC" format="counter" sectionFormat="of" derivedContent="7.2.2"/>. </t>
        <section anchor="SRv6HBH" numbered="true" removeInRFC="false" toc="include" pn="section-7.2.1">
          <name slugifiedName="name-hop-by-hop-ipv6-forwarding-">Hop-by-Hop IPv6 Forwarding for BGP SRv6 Prefixes</name>
          <t indent="0" pn="section-7.2.1-1">This option employs hop-by-hop IPv6 lookup and forwarding on both BRs and P nodes 
            in a domain along the path of propagation of BGP CAR routes. This option's 
            procedures include the following:

          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.2.1-2">
            <li pn="section-7.2.1-2.1">
              <t indent="0" pn="section-7.2.1-2.1.1">In addition to BRs, P nodes within a domain also learn BGP CAR IP Prefix routes (for SRv6)
            and install them into the forwarding table. </t>
            </li>
            <li pn="section-7.2.1-2.2">
              <t indent="0" pn="section-7.2.1-2.2.1">BGP routing is enabled on all internal nodes (iBGP) using full-mesh or an RR.</t>
            </li>
            <li pn="section-7.2.1-2.3">
              <t indent="0" pn="section-7.2.1-2.3.1">BRs distribute external BGP SRv6 routes to internal peers including P routers, 
            with the following conditions:

              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.2.1-2.3.2">
                <li pn="section-7.2.1-2.3.2.1">
                  <t indent="0" pn="section-7.2.1-2.3.2.1.1">the external BGP next hop is advertised unchanged to the internal peers;</t>
                </li>
                <li pn="section-7.2.1-2.3.2.2">
                  <t indent="0" pn="section-7.2.1-2.3.2.2.1">internal nodes use recursive resolution via IGP at each
                  hop to forward IPv6 packets towards the external BGP
                  next hop; and </t>
                </li>
                <li pn="section-7.2.1-2.3.2.3">
                  <t indent="0" pn="section-7.2.1-2.3.2.3.1">resolution is per intent/color (e.g., via IGP IPv6 Flex-Algo).</t>
                </li>
              </ul>
            </li>
          </ul>
          <t indent="0" pn="section-7.2.1-3">This design is illustrated with an example in <xref target="SECLOCHBYH" format="default" sectionFormat="of" derivedContent="Appendix C.1"/>.</t>
          <t indent="0" pn="section-7.2.1-4">The benefits of this scheme are:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.2.1-5">
            <li pn="section-7.2.1-5.1">
              <t indent="0" pn="section-7.2.1-5.1.1">A simpler design, as no tunnel encapsulation is required between BRs in a domain.</t>
            </li>
            <li pn="section-7.2.1-5.2">
              <t indent="0" pn="section-7.2.1-5.2.1">No per-PE SID allocation and installation on any BGP hop.</t>
            </li>
            <li pn="section-7.2.1-5.3">
              <t indent="0" pn="section-7.2.1-5.3.1">This design is similar to the well-known Internet / BGP
              hop-by-hop IP routing model and can support large-scale route
              distribution.</t>
            </li>
            <li pn="section-7.2.1-5.4">
              <t indent="0" pn="section-7.2.1-5.4.1">In addition, since SRv6 locator prefixes can be summarized,
              this minimizes the number of routes, and hence the scale
              requirements on P routers.</t>
            </li>
          </ul>
        </section>
        <section anchor="SRv6ENC" numbered="true" removeInRFC="false" toc="include" pn="section-7.2.2">
          <name slugifiedName="name-encapsulation-between-brs-f">Encapsulation Between BRs for BGP SRv6 Prefixes</name>
          <t indent="0" pn="section-7.2.2-1">In this design, IPv6 lookup and forwarding for BGP SRv6 prefixes are only done on 
            BGP BRs. This option includes the following procedures:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.2.2-2">
            <li pn="section-7.2.2-2.1">
              <t indent="0" pn="section-7.2.2-2.1.1">These nodes use SRv6 (or other) encapsulations to reach the BGP SRv6 next hop.
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.2.2-2.1.2">
                <li pn="section-7.2.2-2.1.2.1">
                  <t indent="0" pn="section-7.2.2-2.1.2.1.1">SRv6 outer encapsulation may be H.Encaps.Red.</t>
                </li>
                <li pn="section-7.2.2-2.1.2.2">
                  <t indent="0" pn="section-7.2.2-2.1.2.2.1">Encapsulation is not needed for directly connected next hops, such as with eBGP single-hop sessions.</t>
                </li>
              </ul>
            </li>
            <li pn="section-7.2.2-2.2">
              <t indent="0" pn="section-7.2.2-2.2.1">BGP route distribution is enabled between BRs via RRs, or directly if single-hop BGP.</t>
            </li>
            <li pn="section-7.2.2-2.3">
              <t indent="0" pn="section-7.2.2-2.3.1">An egress BR sets itself as BGP next hop, and selects and advertises an appropriate 
            encapsulation towards itself.
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.2.2-2.3.2">
                <li pn="section-7.2.2-2.3.2.1">
                  <t indent="0" pn="section-7.2.2-2.3.2.1.1">If SRv6 encapsulation, then the SRv6 SID advertised from egress BR is from an SRv6 
            locator for the specific intent within the domain.
            Multiple BGP SRv6 prefixes may share a common SID, avoiding 
            per-PE SID allocation and installation on any BGP hop.</t>
                </li>
                <li pn="section-7.2.2-2.3.2.2">
                  <t indent="0" pn="section-7.2.2-2.3.2.2.1">If MPLS/SR-MPLS transport, the route will carry the label/Prefix-SID allocated 
            by the next hop. The label/SID may be shared among multiple routes.</t>
                </li>
              </ul>
            </li>
            <li pn="section-7.2.2-2.4">
              <t indent="0" pn="section-7.2.2-2.4.1">An ingress BR encapsulates SRv6 egress PE destined packets with 
            encapsulation to BGP next hop (i.e., the egress BR).</t>
            </li>
          </ul>
          <t indent="0" pn="section-7.2.2-3">The benefits of this scheme are:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.2.2-4">
            <li pn="section-7.2.2-4.1">
              <t indent="0" pn="section-7.2.2-4.1.1">P nodes do not need to learn or install BGP SRv6 prefixes in this (BGP-free core) design.</t>
            </li>
            <li pn="section-7.2.2-4.2">
              <t indent="0" pn="section-7.2.2-4.2.1">No per-PE SID allocation and installation on any BGP hop.</t>
            </li>
          </ul>
          <t indent="0" pn="section-7.2.2-5">This design is illustrated in <xref target="SECSRv6LOCencap" format="default" sectionFormat="of" derivedContent="Appendix C.2"/>.</t>
        </section>
      </section>
      <section anchor="SRv6CAROPER" numbered="true" removeInRFC="false" toc="include" pn="section-7.3">
        <name slugifiedName="name-operational-benefits-of-usi">Operational Benefits of Using CAR SAFI for SRv6 Locator Prefix Distribution</name>
        <t indent="0" pn="section-7.3-1">When reachability to an SRv6 SID is provided by distribution of a locator prefix 
      via underlay routing, BGP IPv6 SAFI (AFI/SAFI=2/1) may also be used for 
      inter-domain distribution of these IPv6 prefixes as described in
      <xref target="I-D.ietf-spring-srv6-mpls-interworking" sectionFormat="of" section="7.1.2" format="default" derivedLink="https://datatracker.ietf.org/doc/html/draft-ietf-spring-srv6-mpls-interworking-01#section-7.1.2" derivedContent="SRv6-INTERWORK"/> or
      <xref target="RFC9723" format="default" sectionFormat="of" derivedContent="RFC9723"/>.</t>
        <t indent="0" pn="section-7.3-2">Using the BGP CAR SAFI provides the following operational benefits:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.3-3">
          <li pn="section-7.3-3.1">
            <t indent="0" pn="section-7.3-3.1.1">CAR SAFI is a separate BGP SAFI used for underlay transport intent-aware routing. 
        It avoids overloading of BGP IPv6 SAFI, which also carries Internet (service) 
        prefixes. Using CAR SAFI provides:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.3-3.1.2">
              <li pn="section-7.3-3.1.2.1">
                <t indent="0" pn="section-7.3-3.1.2.1.1">Automatic separation of SRv6 locator (transport) routes from Internet 
          (service) routes,
                </t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.3-3.1.2.1.2">
                  <li pn="section-7.3-3.1.2.1.2.1">
                    <t indent="0" pn="section-7.3-3.1.2.1.2.1.1">preventing inadvertent leaking of routes, and</t>
                  </li>
                  <li pn="section-7.3-3.1.2.1.2.2">
                    <t indent="0" pn="section-7.3-3.1.2.1.2.2.1">avoiding the need to configure specific route filters for locator routes.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-7.3-3.1.2.2">
                <t indent="0" pn="section-7.3-3.1.2.2.1">Priority handling of infrastructure routes over service (Internet) routes.</t>
              </li>
            </ul>
          </li>
          <li pn="section-7.3-3.2">
            <t indent="0" pn="section-7.3-3.2.1">CAR SAFI also supports inter-domain distribution of (E, C) routes 
        sourced from SR Policy, in addition to SRv6 locator IPv6 prefixes.</t>
          </li>
          <li pn="section-7.3-3.3">
            <t indent="0" pn="section-7.3-3.3.1">CAR SAFI may also be used for best-effort routes in addition to
            intent-aware routes as described in the next section.</t>
          </li>
        </ul>
        <t indent="0" pn="section-7.3-4">Note: If infrastructure routes such as SRv6 locator routes are
        carried in both BGP-IP <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/> / BGP-LU <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> <xref target="RFC4798" format="default" sectionFormat="of" derivedContent="RFC4798"/>, and BGP CAR, <xref target="CARIPPREFIX" format="default" sectionFormat="of" derivedContent="Section 8"/> describes the path selection preference between
        them.</t>
      </section>
    </section>
    <section anchor="CARIPPREFIX" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-car-ip-prefix-route">CAR IP Prefix Route</name>
      <t indent="0" pn="section-8-1">An IP Prefix CAR route is a route type (Type-2) that carries a
      routable IP prefix whose processing follows the semantics of <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/> and
      <xref target="RFC2545" format="default" sectionFormat="of" derivedContent="RFC2545"/>. IP Prefix CAR routes are installed
      in the default routing and forwarding table and provide
      longest-prefix-match forwarding. This is unlike Type-1 (E, C) routes,
      where it is the signaled forwarding data such as labels/SIDs that are
      installed in the forwarding table to create end-to-end paths.</t>
      <t indent="0" pn="section-8-2">IP Prefix CAR routes may be originated into BGP CAR SAFI either from
      an egress PE or from a BR in a domain. Type-2 routes carry
      infrastructure routes for both IPv4 and IPv6.</t>
      <t indent="0" pn="section-8-3">As described in <xref target="SECDATAMODEL" format="default" sectionFormat="of" derivedContent="Section 2.1"/>, it is used for cases
      where a unique routable IP prefix is assigned for a given intent or
      color. It may also be used for routes providing best-effort
      connectivity.</t>
      <t indent="0" pn="section-8-4">A few applicable example use cases:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-8-5">
        <li pn="section-8-5.1">
          <t indent="0" pn="section-8-5.1.1">SRv6 locator prefix with color for specific intents.</t>
        </li>
        <li pn="section-8-5.2">
          <t indent="0" pn="section-8-5.2.1">SRv6 locator prefix without color for best-effort.</t>
        </li>
        <li pn="section-8-5.3">
          <t indent="0" pn="section-8-5.3.1">Best-effort transport reachability to a PE/BR without color.</t>
        </li>
      </ul>
      <t indent="0" pn="section-8-6">
	For specific intents, color may be signaled with the IP Prefix CAR
	route for purposes such as intent-aware SRv6 SID or BGP next hop
	selection at each transit BR, color-based routing policies and
	filtering, and intent-aware next-hop resolution (<xref target="ROUTERES" format="default" sectionFormat="of" derivedContent="Section 2.5"/>). These purposes are the same as with (E, C)
	routes. For such purposes, color associated with the CAR IP Prefix
	route is signaled using LCM-EC.
      </t>
      <t indent="0" pn="section-8-7">
	Reminder: LCM-EC conveys end-to-end intent/color associated with
	route/NLRI. When traversing network domain(s) where a different
	intent/color is used for next-hop resolution, BGP Color-EC may
	additionally be used as in <xref target="LCMBGPECUSAGE" format="default" sectionFormat="of" derivedContent="Section 2.10"/>.</t>
      <t indent="0" pn="section-8-8">
	A special case of intent is best-effort, which may be represented by a
	color and follow the above procedures. However, to be compatible with
	existing operational usage, the CAR IP Prefix route is allowed to be
	without color for best-effort. In this case, the routes will not carry
	an LCM-EC. Resolution is described in <xref target="ROUTERES" format="default" sectionFormat="of" derivedContent="Section 2.5"/>.</t>
      <t indent="0" pn="section-8-9">
	As described in <xref target="SRv6CAROPER" format="default" sectionFormat="of" derivedContent="Section 7.3"/>, infrastructure prefixes
	are intended to be carried in CAR SAFI instead of SAFIs that also
	carry service routes such as BGP-IP (SAFI 1, <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/>)
	and BGP-LU (SAFI 4, <xref target="RFC4798" format="default" sectionFormat="of" derivedContent="RFC4798"/>). However, if such
	infrastructure routes are also distributed in these SAFIs, a router
	may receive both BGP CAR SAFI paths and IP/LU SAFI paths. By default, the
	CAR SAFI transport path is preferred over the BGP-IP or BGP-LU SAFI path.
      </t>
      <t indent="0" pn="section-8-10">A BGP transport CAR speaker that supports packet forwarding lookup based on the
      IPv6 prefix route (such as a BR) will set itself as next hop while advertising the 
      route to peers. It will also install the IPv6 route into forwarding with the 
      received next hop and/or encapsulation. If such a transit router does not support 
      this route type, it will not install this route and will not set itself as next hop;
      hence, it will not propagate the route any further.
      </t>
    </section>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-vpn-car">VPN CAR</name>
      <t indent="0" pn="section-9-1">This section illustrates the extension of BGP CAR to address the VPN
      intent-aware routing requirement stated in <xref target="I-D.hr-spring-intentaware-routing-using-color" sectionFormat="of" section="6.1.2" format="default" derivedLink="https://datatracker.ietf.org/doc/html/draft-hr-spring-intentaware-routing-using-color-04#section-6.1.2" derivedContent="INTENT-AWARE"/>. The examples use MPLS, but other
      transport types can also be used (e.g., SRv6).</t>
      <artwork align="left" pn="section-9-2">
CE1 -------------- PE1 -------------------- PE2 -------------- CE2 - V
</artwork>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9-3">
        <li pn="section-9-3.1">
          <t indent="0" pn="section-9-3.1.1">BGP CAR SAFI is enabled on CE1-PE1 and PE2-CE2 sessions.</t>
        </li>
        <li pn="section-9-3.2">
          <t indent="0" pn="section-9-3.2.1">BGP VPN CAR SAFI is enabled between PE1 and PE2.</t>
        </li>
        <li pn="section-9-3.3">
          <t indent="0" pn="section-9-3.3.1">Provider publishes to customer that intent "low delay" is mapped to color CP ("Provider Color") on its 
        inbound peering links.</t>
        </li>
        <li pn="section-9-3.4">
          <t indent="0" pn="section-9-3.4.1">Within its infrastructure, provider maps intent "low delay" to color CPT ("Provider Transport Color").</t>
        </li>
        <li pn="section-9-3.5">
          <t indent="0" pn="section-9-3.5.1">On CE1 and CE2, intent "low delay" is mapped to CC ("Customer Color").</t>
        </li>
      </ul>
      <t indent="0" pn="section-9-4">(V, CC) is a color-aware route originated by CE2.</t>
      <ol indent="adaptive" spacing="normal" start="1" type="1" pn="section-9-5">
  <li pn="section-9-5.1" derivedCounter="1.">
          <t indent="0" pn="section-9-5.1.1">CE2 sends to PE2:</t>
          <t indent="3" pn="section-9-5.1.2">[(V, CC), label L1] via CE2 with LCM-EC (CP) as per peering agreement.</t>
        </li>
        <li pn="section-9-5.2" derivedCounter="2.">
          <t indent="0" pn="section-9-5.2.1">PE2 installs in VRF A:</t>
          <t indent="3" pn="section-9-5.2.2">[(V, CC), L1] via CE2, which resolves on (CE2, CP) or connected Outgoing Interface (OIF).</t>
        </li>
        <li pn="section-9-5.3" derivedCounter="3.">PE2 allocates VPN label L2 and programs swap entry for (V, CC).</li>
        <li pn="section-9-5.4" derivedCounter="4.">
          <t indent="0" pn="section-9-5.4.1">PE2 sends to PE1:</t>
          <t indent="3" pn="section-9-5.4.2">[(RD, V, CC), L2] via PE2, LCM-EC (CP) with regular Color-EC (CPT).</t>
        </li>
        <li pn="section-9-5.5" derivedCounter="5.">
          <t indent="0" pn="section-9-5.5.1">PE1 installs in VRF A:</t>
          <t indent="3" pn="section-9-5.5.2">[(V, CC), L2] via (PE2, CPT) steered on (PE2, CPT).</t>
        </li>
        <li pn="section-9-5.6" derivedCounter="6.">PE1 allocates label L3 and programs swap entry for (V, CC).</li>
        <li pn="section-9-5.7" derivedCounter="7.">
          <t indent="0" pn="section-9-5.7.1">PE1 sends to CE1:</t>
          <t indent="3" pn="section-9-5.7.2">[(V, CC), L3] via PE1 after removing LCM-EC through route policy.</t>
        </li>
        <li pn="section-9-5.8" derivedCounter="8.">
          <t indent="0" pn="section-9-5.8.1">CE1 installs:</t>
          <t indent="3" pn="section-9-5.8.2">[(V, CC), L3] via PE1, which resolves on (PE1, CC) or connected OIF.</t>
        </li>
        <li pn="section-9-5.9" derivedCounter="9.">Label L3 is installed as the imposition label for (V, CC).</li>
      </ol>
      <t indent="0" pn="section-9-6">VPN CAR distribution for (RD, V, CC) requires a new SAFI that follows the
      same VPN semantics as defined in <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> and also supports the 
      distribution of routes with the CAR NLRI and associated non-key TLVs defined in 
      <xref target="ColorFamily" format="default" sectionFormat="of" derivedContent="Section 2.9"/> of this document. </t>
      <t indent="0" pn="section-9-7">Procedures defined in <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> and <xref target="RFC4659" format="default" sectionFormat="of" derivedContent="RFC4659"/> apply to 
      VPN CAR SAFI.
      Further, all CAR SAFI procedures described in <xref target="CARSAFI" format="default" sectionFormat="of" derivedContent="Section 2"/> above apply to 
      CAR SAFI enabled within a VRF. Since CE and PE are typically in different administrative 
      domains, LCM-EC is attached to CAR routes.</t>
      <t indent="0" pn="section-9-8">VPN CAR SAFI routes follow color-based steering techniques as described in 
      <xref target="STEERING" format="default" sectionFormat="of" derivedContent="Section 3"/> and illustrated in the example above.</t>
      <t indent="0" pn="section-9-9">VPN CAR SAFI routes may also be advertised with a specific BGP next hop per color, 
      with a TEA or Tunnel Encapsulation EC, and follow the procedures of <xref target="RFC9012" sectionFormat="of" section="6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9012#section-6" derivedContent="RFC9012"/>.</t>
      <t indent="0" pn="section-9-10">CAR routes distributed in VPN CAR SAFI are infrastructure routes advertised by 
      CEs in different customer VRFs on a PE. Example use cases are intent-aware 
      L3VPN Carriers' Carriers (<xref target="RFC4364" sectionFormat="of" section="9" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4364#section-9" derivedContent="RFC4364"/>) and SRv6 over a provider 
      network.  The VPN RD distinguishes CAR routes of different customers being 
      advertised by the PE.</t>
      <section anchor="VPNColorFamily" numbered="true" removeInRFC="false" toc="include" pn="section-9.1">
        <name slugifiedName="name-format-and-encoding-2">Format and Encoding</name>
        <t indent="0" pn="section-9.1-1">BGP VPN CAR SAFI leverages BGP multiprotocol extensions <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/> and uses the MP_REACH_NLRI and MP_UNREACH_NLRI
        attributes for route updates within SAFI value 84 along with AFI 1 for
        IPv4 VPN CAR prefixes and AFI 2 for IPv6 VPN CAR prefixes.</t>
        <t indent="0" pn="section-9.1-2">BGP speakers <bcp14>MUST</bcp14> use the BGP Capabilities Advertisement
        to ensure support for processing of BGP VPN CAR updates.  This is done
        as specified in <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/>, by using capability code 1
        (multiprotocol BGP), with AFI 1 and 2 (as required) and SAFI 84.</t>
        <t indent="0" pn="section-9.1-3">The Next Hop network address field in the MP_REACH_NLRI may contain
        either a VPN-IPv4 or a VPN-IPv6 address with 8-octet RD set to zero,
        independent of AFI. If the next hop length is 12, then the next hop is
        a VPN-IPv4 address with an RD of 0 constructed as per <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>. If the next hop length is 24 or 48, then the next
        hop is a VPN-IPv6 address constructed as per <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>
        <section anchor="VPNCARNLRITYPE1" numbered="true" removeInRFC="false" toc="include" pn="section-9.1.1">
          <name slugifiedName="name-vpn-car-e-c-nlri-type">VPN CAR (E, C) NLRI Type</name>
          <t indent="0" pn="section-9.1.1-1">VPN CAR Type-1 (E, C) NLRI with RD has the format shown below:</t>
          <artwork align="left" pn="section-9.1.1-2">
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NLRI Length  |  Key Length   |   NLRI Type   |Prefix Length  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Route Distinguisher                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Route Distinguisher                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               IP Prefix (variable)                           //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Color (4 octets)                                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          <t indent="0" pn="section-9.1.1-3">It is followed by optional Non-Key TLVs encoded as per <xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>.</t>
          <t indent="0" pn="section-9.1.1-4">where:</t>
          <t indent="0" pn="section-9.1.1-5">all fields are encoded as per <xref target="NLRITYPE1" format="default" sectionFormat="of" derivedContent="Section 2.9.3"/> with the following changes:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-9.1.1-6">
            <dt pn="section-9.1.1-6.1">Key Length:</dt>
            <dd pn="section-9.1.1-6.2">This length indicates the total length comprised of the 
            RD, Prefix Length field, IP Prefix field, and the Color field.</dd>
            <dt pn="section-9.1.1-6.3">Route Distinguisher:</dt>
            <dd pn="section-9.1.1-6.4">An 8-octet field encoded
            according to <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>.</dd>
            <dt pn="section-9.1.1-6.5">Type-Specific Non-Key TLVs:</dt>
            <dd pn="section-9.1.1-6.6">The Label TLV, Label-Index TLV,
            and SRv6 SID TLV (<xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>) may be associated
            with the VPN CAR (E, C) NLRI Type.</dd>
          </dl>
        </section>
        <section anchor="VPNCARNLRITYPE2" numbered="true" removeInRFC="false" toc="include" pn="section-9.1.2">
          <name slugifiedName="name-vpn-car-ip-prefix-nlri-type">VPN CAR IP Prefix NLRI Type</name>
          <artwork align="left" pn="section-9.1.2-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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NLRI Length  |  Key Length   |   NLRI Type   |Prefix Length  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Route Distinguisher                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Route Distinguisher                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               IP Prefix (variable)                           //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          <t indent="0" pn="section-9.1.2-2">It is followed by optional Non-Key TLVs encoded as per <xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>.</t>
          <t indent="0" pn="section-9.1.2-3">where:</t>
          <t indent="0" pn="section-9.1.2-4">all fields are encoded as per <xref target="NLRITYPE2" format="default" sectionFormat="of" derivedContent="Section 2.9.4"/> with the following changes:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-9.1.2-5">
            <dt pn="section-9.1.2-5.1">Key Length:</dt>
            <dd pn="section-9.1.2-5.2">This length indicates the total length comprised of the 
            RD, Prefix Length field, and IP Prefix field.</dd>
            <dt pn="section-9.1.2-5.3">Route Distinguisher:</dt>
            <dd pn="section-9.1.2-5.4">An 8-octet field encoded according
            to <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>.</dd>
            <dt pn="section-9.1.2-5.5">Type-Specific Non-Key TLVs:</dt>
            <dd pn="section-9.1.2-5.6">The Label TLV, Label-Index TLV,
            and SRv6 SID TLV (<xref target="NLRITLVs" format="default" sectionFormat="of" derivedContent="Section 2.9.2"/>) may be associated
            with the VPN CAR IP Prefix NLRI Type.</dd>
          </dl>
          <t indent="0" pn="section-9.1.2-6">The error handling specified in <xref target="Fault" format="default" sectionFormat="of" derivedContent="Section 2.11"/> also applies to VPN CAR SAFI.</t>
        </section>
      </section>
    </section>
    <section anchor="IANA" numbered="true" removeInRFC="false" toc="include" pn="section-10">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-10.1">
        <name slugifiedName="name-bgp-car-safis">BGP CAR SAFIs</name>
        <t indent="0" pn="section-10.1-1">IANA has assigned SAFI value 83 (BGP CAR) and SAFI value
      84 (BGP VPN CAR) from the "SAFI Values" registry in the "Subsequent 
      Address Family Identifiers (SAFI) Parameters" registry group with this document as a
      reference.</t>
      </section>
      <section anchor="NLRITYPESREG" numbered="true" removeInRFC="false" toc="include" pn="section-10.2">
        <name slugifiedName="name-bgp-car-nlri-types-registry">"BGP CAR NLRI Types" Registry</name>
        <t indent="0" pn="section-10.2-1">IANA has created a "BGP CAR NLRI Types"
        registry in the "Border Gateway Protocol (BGP) Parameters"
        registry group with this document as a reference. The registry is for
        assignment of the 1-octet code points for BGP CAR NLRI types 
        and is populated with the values shown below:</t>
        <table align="center" pn="table-3">
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Type</th>
              <th align="left" colspan="1" rowspan="1">NLRI Type</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
              <td align="left" colspan="1" rowspan="1">RFC 9871</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">Color-Aware Route</td>
              <td align="left" colspan="1" rowspan="1">RFC 9871</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">IP Prefix</td>
              <td align="left" colspan="1" rowspan="1">RFC 9871</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3-255</td>
              <td colspan="2" align="left" rowspan="1">Unassigned</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-10.2-3">Allocations within the registry are to be made with the
        "Specification Required" policy as specified in <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/> and in <xref target="DE-Guidance" format="default" sectionFormat="of" derivedContent="Section 10.4"/>.</t>
      </section>
      <section anchor="TLVTYPESREG" numbered="true" removeInRFC="false" toc="include" pn="section-10.3">
        <name slugifiedName="name-bgp-car-nlri-tlv-registry">"BGP CAR NLRI TLV" Registry</name>
        <t indent="0" pn="section-10.3-1">IANA has created a "BGP CAR NLRI TLV Types"
        registry in the "Border Gateway Protocol (BGP) Parameters"
        registry group with this document as a reference. The registry is for
        assignment of the 6-bit code points for BGP CAR NLRI non-key
        TLV types and is populated with the values shown below:</t>
        <table align="center" pn="table-4">
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Type</th>
              <th align="left" colspan="1" rowspan="1">NLRI TLV Type</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
              <td align="left" colspan="1" rowspan="1">RFC 9871</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">Label</td>
              <td align="left" colspan="1" rowspan="1">RFC 9871</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">Label-Index</td>
              <td align="left" colspan="1" rowspan="1">RFC 9871</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3</td>
              <td align="left" colspan="1" rowspan="1">SRv6 SID</td>
              <td align="left" colspan="1" rowspan="1">RFC 9871</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4-64</td>
              <td colspan="2" align="left" rowspan="1">Unassigned</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-10.3-3">Allocations within the registry are to be made with the
        "Specification Required" policy as specified in <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/> and in <xref target="DE-Guidance" format="default" sectionFormat="of" derivedContent="Section 10.4"/>.</t>
        <t indent="0" pn="section-10.3-4">For a new TLV to be used with existing NLRI types, documentation of the NLRI types 
        must be updated.</t>
      </section>
      <section anchor="DE-Guidance" numbered="true" removeInRFC="false" toc="include" pn="section-10.4">
        <name slugifiedName="name-guidance-for-designated-exp">Guidance for Designated Experts</name>
        <t indent="0" pn="section-10.4-1">In all cases of review by the Designated Expert (DE) described
        here, the DE is expected to ascertain the existence of suitable
        documentation (a specification) as described in <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/> for the "BGP CAR NLRI Types" registry and the "BGP CAR NLRI
        TLV" registry.
        </t>
        <t indent="0" pn="section-10.4-2">The DE is also expected to check the clarity of purpose and use of
        the requested code points. Additionally, the DE must verify that any
        request for one of these code points has been made available for
        review and comment within the IETF: the DE will post the request to
        the IDR Working Group mailing list (or a successor mailing list
        designated by the IESG). The DE must ensure that any request for a
        code point does not conflict with work that is active or already
        published within the IETF.</t>
        <t indent="0" pn="section-10.4-3">The DE is expected to confirm that the specification satisfies the
        requirements for the "Specification Required" policy (<xref target="RFC8126" sectionFormat="of" section="4.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8126#section-4.6" derivedContent="RFC8126"/>). In particular,
        as a reminder, the specification is required to be "permanent and
        readily available". The DE may assume that any document in the
        Internet-Draft or RFC repository satisfies the requirement for
        permanence and availability. In other cases, and in particular for any
        document not hosted by another standards development organization, the
        burden of proof of permanence falls on the applicant.
        </t>
        <section numbered="true" removeInRFC="false" toc="include" pn="section-10.4.1">
          <name slugifiedName="name-additional-evaluation-crite">Additional Evaluation Criteria for the "BGP CAR NLRI Types" Registry</name>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-10.4.1-1">
            <li pn="section-10.4.1-1.1">
              <t indent="0" pn="section-10.4.1-1.1.1">Check the interoperability between the new NLRI type and
              current NLRI types specified in this document for BGP CAR SAFIs
              (BGP CAR SAFI and VPN CAR SAFI), and any updates to this
              document.</t>
            </li>
            <li pn="section-10.4.1-1.2">
              <t indent="0" pn="section-10.4.1-1.2.1">Check if the specification indicates which non-key TLVs are
              applicable for the new NLRI type.</t>
            </li>
          </ul>
        </section>
        <section numbered="true" removeInRFC="false" toc="include" pn="section-10.4.2">
          <name slugifiedName="name-additional-evaluation-criter">Additional Evaluation Criteria for the "BGP CAR NLRI TLV" Registry</name>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-10.4.2-1">
            <li pn="section-10.4.2-1.1">
              <t indent="0" pn="section-10.4.2-1.1.1">Check the applicability of the new TLV for the BGP CAR NLRI types defined.</t>
            </li>
            <li pn="section-10.4.2-1.2">
              <t indent="0" pn="section-10.4.2-1.2.1">Check the T bit setting for the new TLV.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="PROTOIDREG" numbered="true" removeInRFC="false" toc="include" pn="section-10.5">
        <name slugifiedName="name-border-gateway-protocol-bgp">"Border Gateway Protocol (BGP) Extended Communities" Registry</name>
        <t indent="0" pn="section-10.5-1">IANA has assigned the sub-type 0x1b for "Local Color Mapping (LCM)" 
        in the "Transitive Opaque Extended Community Sub-Types" registry in the 
        "Border Gateway Protocol (BGP) Extended Communities" registry group.</t>
      </section>
    </section>
    <section anchor="MANAGEOPER" numbered="true" removeInRFC="false" toc="include" pn="section-11">
      <name slugifiedName="name-manageability-and-operation">Manageability and Operational Considerations</name>
      <t indent="0" pn="section-11-1">Color assignments in a multi-domain network operating under a common
      or cooperating administrative control (i.e., a color domain) should be
      managed similar to transport layer IP addresses, and ensure a unique and
      non-conflicting color allocation across the different network domains in
      that color domain. This is a logical best practice in a single color or
      administrative domain, which is the most typical deployment
      scenario.</t>
      <t indent="0" pn="section-11-2">When color-aware routes propagate across a color domain boundary,
      there is typically no need for color assignments to be identical in both
      color domains, since the IP prefix is unique in the inter-domain
      transport network. This unique IP prefix provides a unique and
      non-conflicting scope for the color in an (E, C) route. Coordination
      between the operators of the color domains is needed only to enable the
      color to be re-mapped into a local color (carried in the LCM-EC)
      assigned for the same intent in the receiving color domain.</t>
      <t indent="0" pn="section-11-3">However, if networks under different administrative control establish
      a shared transport service between them, where the same transport
      service IP address is coordinated and shared among two (or more) color
      domain networks, then the color assignments associated with that shared
      IP address should also be coordinated to avoid any conflicts in either
      network (<xref target="SHAREDIP" format="default" sectionFormat="of" derivedContent="Appendix A.7"/>).</t>
      <t indent="0" pn="section-11-4">It should be noted that the color assignments coordination is only
      necessary for routes specific to the shared service IP. Colors used for
      intra-domain or for inter-domain intents associated with unique IP
      addresses do not need any coordination.
      </t>
      <t indent="0" pn="section-11-5">Extended communities (LCM-EC/Color-EC) carried in BGP CAR and service
      routes <bcp14>MUST NOT</bcp14> be filtered, otherwise the desired intent
      will not be achieved.
      </t>
    </section>
    <section anchor="SecurityConsiderations" numbered="true" removeInRFC="false" toc="include" pn="section-12">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-12-1">This document does not change the underlying security considerations
      and 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-12-2">This document defines a new BGP SAFI and related extensions to carry
      color-aware routes and their associated attributes. The separate SAFI is
      expected to be explicitly configured by an operator. It is also expected
      that the necessary BGP route policy filtering is configured on this new
      SAFI to filter routing information distributed by the routers
      participating in this network, at appropriate points within and at the
      boundaries of this network.</t>
      <t indent="0" pn="section-12-3">Also, given that this SAFI and these mechanisms can only be enabled
      through configuration of routers within an operator's network, standard
      security measures should be taken to restrict access to the management
      interface(s) of routers that implement these mechanisms.
      </t>
      <t indent="0" pn="section-12-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"/>. BGP origin validation
      <xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/> and BGPsec <xref target="RFC8205" format="default" sectionFormat="of" derivedContent="RFC8205"/> could also
      be used with this SAFI.</t>
      <t indent="0" pn="section-12-5">Since CAR SAFI is a separate BGP SAFI that carries transport or
      infrastructure routes for routers in the operator network, it provides
      automatic separation of infrastructure routes and the service routes
      that are carried in existing BGP SAFIs such as BGP IPv4/IPv6 (SAFI=1),
      and BGP-LU (SAFI=4) (e.g., 6PE <xref target="RFC4798" format="default" sectionFormat="of" derivedContent="RFC4798"/>).  Using CAR
      SAFI thus provides better security (such as protection against route
      leaking) than would be obtained by distributing the infrastructure
      routes in existing SAFIs that also carry service routes.</t>
      <t indent="0" pn="section-12-6">BGP CAR distributes label binding similar to <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>;
      hence, its security considerations apply.</t>
      <t indent="0" pn="section-12-7">In SR deployments, BGP CAR distributes infrastructure prefixes along
      with their SID information for both SR-MPLS and SRv6. These deployments
      are within an SR domain <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/> and the security
      considerations of <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/> apply. Additionally, security
      considerations related to SRv6 deployments that are discussed in <xref section="9.3" sectionFormat="of" target="RFC9252" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9252#section-9.3" derivedContent="RFC9252"/> also apply.</t>
      <t indent="0" pn="section-12-8">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-12-9">The restriction of the applicability of this SAFI to its intended well-defined scope 
    and the use of techniques described above limit the likelihood of traffic diversions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.hr-spring-intentaware-routing-using-color" to="INTENT-AWARE"/>
    <displayreference target="I-D.ietf-spring-srv6-mpls-interworking" to="SRv6-INTERWORK"/>
    <references pn="section-13">
      <name slugifiedName="name-references">References</name>
      <references pn="section-13.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="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="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="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="RFC7311" target="https://www.rfc-editor.org/info/rfc7311" quoteTitle="true" derivedAnchor="RFC7311">
          <front>
            <title>The Accumulated IGP Metric Attribute for BGP</title>
            <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
            <author fullname="R. Fernando" initials="R." surname="Fernando"/>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="J. Uttaro" initials="J." surname="Uttaro"/>
            <date month="August" year="2014"/>
            <abstract>
              <t indent="0">Routing protocols that have been designed to run within a single administrative domain (IGPs) generally do so by assigning a metric to each link and then choosing, as the installed path between two nodes, the path for which the total distance (sum of the metric of each link along the path) is minimized. BGP, designed to provide routing over a large number of independent administrative domains (autonomous systems), does not make its path-selection decisions through the use of a metric. It is generally recognized that any attempt to do so would incur significant scalability problems as well as inter-administration coordination problems. However, there are deployments in which a single administration runs several contiguous BGP networks. In such cases, it can be desirable, within that single administrative domain, for BGP to select paths based on a metric, just as an IGP would do. The purpose of this document is to provide a specification for doing so.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7311"/>
          <seriesInfo name="DOI" value="10.17487/RFC7311"/>
        </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="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <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>
        <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="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="RFC8402" target="https://www.rfc-editor.org/info/rfc8402" quoteTitle="true" derivedAnchor="RFC8402">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <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. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t indent="0">SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t indent="0">SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </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="RFC8986" target="https://www.rfc-editor.org/info/rfc8986" quoteTitle="true" derivedAnchor="RFC8986">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <date month="February" year="2021"/>
            <abstract>
              <t indent="0">The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t indent="0">Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t indent="0">This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </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="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="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>
      </references>
      <references pn="section-13.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <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-AWARE">
          <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="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="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="RFC4798" target="https://www.rfc-editor.org/info/rfc4798" quoteTitle="true" derivedAnchor="RFC4798">
          <front>
            <title>Connecting IPv6 Islands over IPv4 MPLS Using IPv6 Provider Edge Routers (6PE)</title>
            <author fullname="J. De Clercq" initials="J." surname="De Clercq"/>
            <author fullname="D. Ooms" initials="D." surname="Ooms"/>
            <author fullname="S. Prevost" initials="S." surname="Prevost"/>
            <author fullname="F. Le Faucheur" initials="F." surname="Le Faucheur"/>
            <date month="February" year="2007"/>
            <abstract>
              <t indent="0">This document explains how to interconnect IPv6 islands over a Multiprotocol Label Switching (MPLS)-enabled IPv4 cloud. This approach relies on IPv6 Provider Edge routers (6PE), which are Dual Stack in order to connect to IPv6 islands and to the MPLS core, which is only required to run IPv4 MPLS. The 6PE routers exchange the IPv6 reachability information transparently over the core using the Multiprotocol Border Gateway Protocol (MP-BGP) over IPv4. In doing so, the BGP Next Hop field is used to convey the IPv4 address of the 6PE router so that dynamically established IPv4-signaled MPLS Label Switched Paths (LSPs) can be used without explicit tunnel configuration. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4798"/>
          <seriesInfo name="DOI" value="10.17487/RFC4798"/>
        </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="RFC5462" target="https://www.rfc-editor.org/info/rfc5462" quoteTitle="true" derivedAnchor="RFC5462">
          <front>
            <title>Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field</title>
            <author fullname="L. Andersson" initials="L." surname="Andersson"/>
            <author fullname="R. Asati" initials="R." surname="Asati"/>
            <date month="February" year="2009"/>
            <abstract>
              <t indent="0">The early Multiprotocol Label Switching (MPLS) documents defined the form of the MPLS label stack entry. This includes a three-bit field called the "EXP field". The exact use of this field was not defined by these documents, except to state that it was to be "reserved for experimental use".</t>
              <t indent="0">Although the intended use of the EXP field was as a "Class of Service" (CoS) field, it was not named a CoS field by these early documents because the use of such a CoS field was not considered to be sufficiently defined. Today a number of standards documents define its usage as a CoS field.</t>
              <t indent="0">To avoid misunderstanding about how this field may be used, it has become increasingly necessary to rename this field. This document changes the name of the field to the "Traffic Class field" ("TC field"). In doing so, it also updates documents that define the current use of the EXP field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5462"/>
          <seriesInfo name="DOI" value="10.17487/RFC5462"/>
        </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="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="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="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="RFC9723" target="https://www.rfc-editor.org/info/rfc9723" quoteTitle="true" derivedAnchor="RFC9723">
          <front>
            <title>BGP Colored Prefix Routing (CPR) for Services Based on Segment Routing over IPv6 (SRv6)</title>
            <author fullname="H. Wang" initials="H." surname="Wang"/>
            <author fullname="J. Dong" initials="J." surname="Dong"/>
            <author fullname="K. Talaulikar" initials="K." surname="Talaulikar"/>
            <author fullname="T. Han" initials="T." surname="Han"/>
            <author fullname="R. Chen" initials="R." surname="Chen"/>
            <date month="May" year="2025"/>
            <abstract>
              <t indent="0">This document describes a mechanism to advertise IPv6 prefixes in BGP that are associated with Color Extended Communities to establish end-to-end intent-aware paths for Segment Routing over IPv6 (SRv6) services. Such IPv6 prefixes are called "Colored Prefixes", and this mechanism is called "Colored Prefix Routing" (CPR). In SRv6 networks, the Colored Prefixes are the SRv6 locators associated with different intents. SRv6 services (e.g., SRv6 VPN services) with a specific intent could be assigned with SRv6 Segment Identifiers (SIDs) under the corresponding SRv6 locators, which are advertised as Colored Prefixes.</t>
              <t indent="0">This operational methodology allows the SRv6 service traffic to be steered into end-to-end intent-aware paths based on the longest prefix matching of SRv6 Service SIDs to the Colored Prefixes. The existing IPv6 Address Family and Color Extended Community are reused to advertise IPv6 Colored Prefixes without new BGP extensions; thus, this mechanism is easy to interoperate and can be deployed incrementally in multi-Autonomous System (AS) networks that belong to the same trusted domain.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9723"/>
          <seriesInfo name="DOI" value="10.17487/RFC9723"/>
        </reference>
        <reference anchor="I-D.ietf-spring-srv6-mpls-interworking" target="https://datatracker.ietf.org/doc/html/draft-ietf-spring-srv6-mpls-interworking-01" quoteTitle="true" derivedAnchor="SRv6-INTERWORK">
          <front>
            <title>SRv6 and MPLS interworking</title>
            <author fullname="Swadesh Agrawal" initials="S." surname="Agrawal">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization showOnFrontPage="true">Bell Canada</organization>
            </author>
            <author fullname="Gaurav Dawra" initials="G." surname="Dawra">
              <organization showOnFrontPage="true">LinkedIn</organization>
            </author>
            <author fullname="Zhenbin Li" initials="Z." surname="Li">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Shraddha Hegde" initials="S." surname="Hegde">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t indent="0">This document describes SRv6 and MPLS/SR-MPLS interworking procedures. Interworking problem is generalized into various interworking scenarios. These scenarios are stitched either by transport interworking or service interworking. New SRv6 behaviors are defined for the purpose. These new behaviors and MPLS labels stitch end to end path across different data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-srv6-mpls-interworking-01"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="SSTEERINGAPNDX" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-illustrations-of-service-st">Illustrations of Service Steering</name>
      <t indent="0" pn="section-appendix.a-1">The following sub-sections illustrate example scenarios of colored 
      service route steering over end-to-end (E2E) BGP CAR paths, resolving over different 
      intra-domain mechanisms.</t>
      <t indent="0" pn="section-appendix.a-2">The examples in this section use MPLS/SR for the transport data plane. Scenarios
      related to SRv6 encapsulation are in a section below.
      </t>
      <section anchor="SFAUSECASE" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.1">
        <name slugifiedName="name-e2e-bgp-transport-car-inten">E2E BGP Transport CAR Intent Realized Using IGP Flexible Algorithm</name>
        <figure anchor="FAUSECASE" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-bgp-flexible-algorithm-awar">BGP Flexible Algorithm Aware Transport CAR Path</name>
          <artwork align="left" pn="section-appendix.a.1-1.1">
                              RD:V/v via E2
          +-----+             vpn label: 30030       +-----+
   ...... |S-RR1| &lt;..................................|S-RR2| &lt;.......
   :      +-----+             Color C1               +-----+        :
   :                                                                :
   :                                                                :
   :                                                                :
+-:-----------------------+----------------------+------------------:--+
| :                       |                      |                  :  |
| :                       |                      |                  :  |
| :   (E2,C1) via 121     |   (E2,C1) via 231    | (E2,C1)via E2    :  |
| :   L=168002,AIGP=110 +---+ L=168002,AIGP=10 +---+ L=0x3,LI=8002  :  |
| : |-------------------|121|&lt;-----------------|231|&lt;-------------| :  |
| : V LI=8002           +---+ LI=8002          +---+              | :  |
|----+                    |                      |               +-----|
| E1 |                    |                      |               | E2  |
|----+(E2,C1) via 122     |   (E2,C1) via 232    |  (E2,C1)via E2+-----|
|   ^ L=168002,AIGP=210 +---+ L=168002,AIGP=20 +---+ L=0x3        |    |
|   |----------------   |122|&lt;-----------------|232|&lt;-------------|    |
|     LI=8002           +---+ LI=8002          +---+ LI=8002           |
|                         |                      |                     |
|         IS-IS SR        |      IS-IS SR        |     IS-IS SR        |
|         FA128           |      FA128           |     FA128           |
+-------------------------+----------------------+---------------------+
 iPE                     iABR                   eABR               ePE

         ---------direction of traffic--------&gt;
+------+                  +------+
|168121|                  |168231|
+------+                  +------+
+------+                  +------+                 +------+
|168002|                  |168002|                 |168002|
+------+                  +------+                 +------+
+------+                  +------+                 +------+
|30030 |                  |30030 |                 |30030 |
+------+                  +------+                 +------+
</artwork>
        </figure>
        <t indent="0" pn="section-appendix.a.1-2">Use case: Provide end-to-end intent for service flows.</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.1-3">
          <li pn="section-appendix.a.1-3.1">
            <t indent="0" pn="section-appendix.a.1-3.1.1">The following description applies to the reference topology above:</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.1-3.1.2">
              <li pn="section-appendix.a.1-3.1.2.1">
                <t indent="0" pn="section-appendix.a.1-3.1.2.1.1">IGP Flex-Algo 128 is running in each domain, and mapped to color C1.</t>
              </li>
              <li pn="section-appendix.a.1-3.1.2.2">
                <t indent="0" pn="section-appendix.a.1-3.1.2.2.1">Egress PE E2 advertises a VPN route RD:V/v colored with Color-EC C1 
            to steer traffic to BGP transport CAR (E2, C1).
            VPN route propagates via service RRs to ingress PE E1.</t>
              </li>
              <li pn="section-appendix.a.1-3.1.2.3">
                <t indent="0" pn="section-appendix.a.1-3.1.2.3.1">BGP CAR route (E2, C1) with next hop, label index, and
                label as shown above are advertised through BRs in
                each domain.  When an RR is used in the domain, ADD-PATH is
                enabled to advertise multiple available paths.</t>
              </li>
              <li pn="section-appendix.a.1-3.1.2.4">
                <t indent="0" pn="section-appendix.a.1-3.1.2.4.1">On each BGP hop, the (E2, C1) route's next hop is resolved over IGP Flex-Algo 128 
            of the domain. The AIGP attribute influences the BGP CAR route best path decision as 
            per <xref target="RFC7311" format="default" sectionFormat="of" derivedContent="RFC7311"/>. The BGP CAR label swap entry is installed that goes
            over Flex-Algo 128 LSP to next hop providing intent in each IGP domain. The AIGP 
            metric should be updated to reflect Flex-Algo 128 metric to next hop.</t>
              </li>
              <li pn="section-appendix.a.1-3.1.2.5">
                <t indent="0" pn="section-appendix.a.1-3.1.2.5.1">Ingress PE E1 learns CAR route (E2, C1). It steers colored 
            VPN route RD:V/v into (E2, C1).</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.a.1-3.2">
            <t indent="0" pn="section-appendix.a.1-3.2.1">Important:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.1-3.2.2">
              <li pn="section-appendix.a.1-3.2.2.1">
                <t indent="0" pn="section-appendix.a.1-3.2.2.1.1">IGP Flex-Algo 128 top label provides intent within each domain.</t>
              </li>
              <li pn="section-appendix.a.1-3.2.2.2">
                <t indent="0" pn="section-appendix.a.1-3.2.2.2.1">BGP CAR label (e.g., 168002) carries end-to-end
                intent. Thus, it stitches intent over intra-domain Flex-Algo 128.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.2">
        <name slugifiedName="name-e2e-bgp-transport-car-intent">E2E BGP Transport CAR Intent Realized Using SR Policy</name>
        <figure anchor="SRPUSECASE" align="left" suppress-title="false" pn="figure-7">
          <name slugifiedName="name-bgp-sr-policy-aware-transpo">BGP SR Policy Aware Transport CAR Path</name>
          <artwork align="left" pn="section-appendix.a.2-1.1">
                              RD:1/8 via E2
          +-----+             vpn label: 30030       +-----+
   ...... |S-RR1| &lt;..................................|S-RR2| &lt;......
   :      +-----+             Color C1               +-----+        :
   :                                                                :
   :                                                                :
   :                                                                :
+-:-----------------------+----------------------+------------------:-+
| :                       |                      |                  : |
| :                       |                      |                  : |
| :  &lt;-(E2,C1) via 121    |   &lt;-(E2,C1) via 231  | &lt;-(E2,C1)via E2  : |
| :                     +---+                  +---+                : |
| :  ------------------&gt;|121|-----------------&gt;|231|--------------| : |
| : | SR Policy(C1,121) +---+ SR Policy(C1,231)+---+ SR Policy    v : |
|----+                    |                      |   (C1,E2)      +---|
| E1 |                    |                      |                |E2 |
|----+ &lt;-(E2,C1) via 122  |  (E2,C1) via 232     | &lt;-(E2,C1)via E2+---|
|   |                   +---+                  +---+               ^  |
|    ------------------&gt;|122|-----------------&gt;|232|---------------|  |
|    SR Policy(C1,122)  +---+ SR Policy(C1,232)+---+ SR Policy(C1,E2) |
|                         |                      |                    |
|                         |                      |                    |
|         IS-IS SR        |      IS-IS SR        |     IS-IS SR       |
+-------------------------+----------------------+--------------------+
 iPE                     iABR                   eABR              ePE
 
        ---------direction of traffic--------&gt;
+------+                  +------+
|  S1  |                  |  S2  |
+------+                  +------+
+------+                  +------+                 +------+
|160121|                  |160231|                 |  S3  |
+------+                  +------+                 +------+
+------+                  +------+                 +------+
|168002|                  |168002|                 |168002|
+------+                  +------+                 +------+
+------+                  +------+                 +------+
|30030 |                  |30030 |                 |30030 |
+------+                  +------+                 +------+
</artwork>
        </figure>
        <t indent="0" pn="section-appendix.a.2-2">Use case: Provide end-to-end intent for service flows.</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.2-3">
          <li pn="section-appendix.a.2-3.1">
            <t indent="0" pn="section-appendix.a.2-3.1.1">The following description applies to the reference topology above:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.2-3.1.2">
              <li pn="section-appendix.a.2-3.1.2.1">
                <t indent="0" pn="section-appendix.a.2-3.1.2.1.1">An SR Policy provides intra-domain intent. The following are the example SID lists 
            that are realized from SR policies in each domain and correspond to the label stack 
            shown in <xref target="SRPUSECASE" format="default" sectionFormat="of" derivedContent="Figure 7"/>:
                </t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.2-3.1.2.1.2">
                  <li pn="section-appendix.a.2-3.1.2.1.2.1">
                    <t indent="0" pn="section-appendix.a.2-3.1.2.1.2.1.1">SR Policy (C1, 121) segments &lt;S1, 121&gt;,</t>
                  </li>
                  <li pn="section-appendix.a.2-3.1.2.1.2.2">
                    <t indent="0" pn="section-appendix.a.2-3.1.2.1.2.2.1">SR Policy (C1, 231) segments &lt;S2, 231&gt;, and</t>
                  </li>
                  <li pn="section-appendix.a.2-3.1.2.1.2.3">
                    <t indent="0" pn="section-appendix.a.2-3.1.2.1.2.3.1">SR Policy (C1, E2) segments &lt;S3, E2&gt;.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-appendix.a.2-3.1.2.2">
                <t indent="0" pn="section-appendix.a.2-3.1.2.2.1">Egress PE E2 advertises a VPN route RD:V/v colored with Color-EC C1 
            to steer traffic to BGP transport CAR (E2, C1).
            VPN route propagates via service RRs to ingress PE E1.</t>
              </li>
              <li pn="section-appendix.a.2-3.1.2.3">
                <t indent="0" pn="section-appendix.a.2-3.1.2.3.1">BGP CAR route (E2, C1) with next hop, label index, and label
                as shown above are advertised through BRs in each
                domain.  When an RR is used in the domain, ADD-PATH is enabled
                to advertise multiple available paths.</t>
              </li>
              <li pn="section-appendix.a.2-3.1.2.4">
                <t indent="0" pn="section-appendix.a.2-3.1.2.4.1">On each BGP hop, the CAR route (E2, C1) next hop is resolved over an 
            SR Policy (C1, next hop). The BGP CAR label swap entry is installed that goes 
            over SR Policy segment list.</t>
              </li>
              <li pn="section-appendix.a.2-3.1.2.5">
                <t indent="0" pn="section-appendix.a.2-3.1.2.5.1">Ingress PE E1 learns CAR route (E2, C1). It steers colored 
            VPN route RD:V/v into (E2, C1).
                </t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.a.2-3.2">
            <t indent="0" pn="section-appendix.a.2-3.2.1">Important:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.2-3.2.2">
              <li pn="section-appendix.a.2-3.2.2.1">
                <t indent="0" pn="section-appendix.a.2-3.2.2.1.1">SR Policy provides intent within each domain.</t>
              </li>
              <li pn="section-appendix.a.2-3.2.2.2">
                <t indent="0" pn="section-appendix.a.2-3.2.2.2.1">BGP CAR label (e.g., 168002) carries end-to-end
                intent. Thus, it stitches intent over intra-domain SR
                policies.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="SHDFAUSECASE" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.3">
        <name slugifiedName="name-bgp-transport-car-intent-re">BGP Transport CAR Intent Realized in a Section of the Network</name>
        <section numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.3.1">
          <name slugifiedName="name-provide-intent-for-service-">Provide Intent for Service Flows Only in Core Domain Running IS-IS Flexible Algorithm</name>
          <figure anchor="HDFAUSECASE" align="left" suppress-title="false" pn="figure-8">
            <name slugifiedName="name-bgp-hybrid-flexible-algorit">BGP Hybrid Flexible Algorithm Aware Transport CAR Path</name>
            <artwork align="left" pn="section-appendix.a.3.1-1.1">
                              RD:1/8 via E2
          +-----+             vpn label: 30030       +-----+
   ...... |S-RR1| &lt;..................................|S-RR2| &lt;.......
   :      +-----+             Color C1               +-----+        :
   :                                                                :
   :                                                                :
   :                                                                :
+-:-----------------------+----------------------+------------------:--+
| :                       |                      |                  :  |
| :                       |                      |                  :  |
| :   (E2,C1) via 121     |  (E2,C1) via 231     | (E2,C1) via E2   :  |
| :   L=168002,AIGP=1110+---+L=168002,AIGP=1010+---+ L=0x3          :  |
| : |-------------------|121|&lt;-----------------|231|&lt;-------------| :  |
| : V LI=8002           +---+ LI=8002          +---+              | :  |
|----+                    |                      |               +-----|
| E1 |                    |                      |               | E2  |
|----+(E2,C1) via 122     |  (E2,C1) via 232     | (E2,C1) via E2+-----|
|   ^ L=168002,AIGP=1210+---+L=168002,AIGP=1020+---+ L=0x3        |    |
|   |----------------   |122|&lt;-----------------|232|&lt;-------------|    |
|     LI=8002           +---+ LI=8002          +---+                   |
|                         |                      |                     |
|         IS-IS SR        |      IS-IS SR        |     IS-IS SR        |
|         Algo 0          |      Flex-Algo 128   |     Algo 0          |
|         Access          |      Core            |     Access          |
+-------------------------+----------------------+---------------------+
iPE                     iABR                    eABR                ePE

         ---------direction of traffic--------&gt;
+------+                  +------+
|160121|                  |168231|
+------+                  +------+
+------+                  +------+                 +------+
|168002|                  |168002|                 |160002|
+------+                  +------+                 +------+
+------+                  +------+                 +------+
|30030 |                  |30030 |                 |30030 |
+------+                  +------+                 +------+
</artwork>
          </figure>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.3.1-2">
            <li pn="section-appendix.a.3.1-2.1">
              <t indent="0" pn="section-appendix.a.3.1-2.1.1">The following description applies to the reference topology above:
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.3.1-2.1.2">
                <li pn="section-appendix.a.3.1-2.1.2.1">
                  <t indent="0" pn="section-appendix.a.3.1-2.1.2.1.1">IGP Flex-Algo 128 is only enabled in core (e.g., WAN network),
                  mapped to C1.  Access network domain only has Base Algo
                  0.</t>
                </li>
                <li pn="section-appendix.a.3.1-2.1.2.2">
                  <t indent="0" pn="section-appendix.a.3.1-2.1.2.2.1">Egress PE E2 advertises a VPN route RD:V/v colored with Color-EC C1 
              to steer traffic via BGP transport CAR (E2, C1).
              VPN route propagates via service RRs to ingress PE E1.</t>
                </li>
                <li pn="section-appendix.a.3.1-2.1.2.3">
                  <t indent="0" pn="section-appendix.a.3.1-2.1.2.3.1">BGP CAR route (E2, C1) with next hop, label index, and label as 
              shown above are advertised through BRs in each domain.
              When an RR is used in the domain, ADD-PATH is enabled to advertise multiple 
              available paths.</t>
                </li>
                <li pn="section-appendix.a.3.1-2.1.2.4">
                  <t indent="0" pn="section-appendix.a.3.1-2.1.2.4.1">Local policy on 231 and 232 maps intent C1 to resolve CAR
                  route next hop over IGP Base Algo 0 in right access
                  domain. The BGP CAR label swap entry is installed that goes
                  over Base Algo 0 LSP to next hop. AIGP metric is updated to
                  reflect Base Algo 0 metric to next hop with an additional
                  penalty (+1000).</t>
                </li>
                <li pn="section-appendix.a.3.1-2.1.2.5">
                  <t indent="0" pn="section-appendix.a.3.1-2.1.2.5.1">On 121 and 122, CAR route (E2, C1) next hop learnt from
                  Core domain is resolved over IGP Flex-Algo 128. The BGP CAR label
                  swap entry is installed that goes over Flex-Algo 128 LSP to next
                  hop providing intent in Core IGP domain.</t>
                </li>
                <li pn="section-appendix.a.3.1-2.1.2.6">
                  <t indent="0" pn="section-appendix.a.3.1-2.1.2.6.1">Ingress PE E1 learns CAR route (E2, C1). It maps intent
                  C1 to resolve CAR route next hop over IGP Base Algo 0. It
                  steers colored VPN route RD:V/v via (E2, C1).</t>
                </li>
              </ul>
            </li>
            <li pn="section-appendix.a.3.1-2.2">
              <t indent="0" pn="section-appendix.a.3.1-2.2.1">Important:
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.3.1-2.2.2">
                <li pn="section-appendix.a.3.1-2.2.2.1">
                  <t indent="0" pn="section-appendix.a.3.1-2.2.2.1.1">IGP Flex-Algo 128 top label provides intent in Core domain.</t>
                </li>
                <li pn="section-appendix.a.3.1-2.2.2.2">
                  <t indent="0" pn="section-appendix.a.3.1-2.2.2.2.1">BGP CAR label (e.g., 168002) carries intent from PEs, which is
              realized in Core domain.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="COREDOMAINTE" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.3.2">
          <name slugifiedName="name-provide-intent-for-service-f">Provide Intent for Service Flows Only in Core Domain over TE Tunnel Mesh</name>
          <figure anchor="HRSVPDFAUSECASE" align="left" suppress-title="false" pn="figure-9">
            <name slugifiedName="name-bgp-car-over-te-tunnel-mesh">BGP CAR over TE Tunnel Mesh in Core Network</name>
            <artwork align="left" pn="section-appendix.a.3.2-1.1">
                     RD:1/8 via E2
          +-----+         vpn label: 30030           +-----+
   ...... |S-RR1| &lt;..................................|S-RR2| &lt;.......
   :      +-----+             Color C1               +-----+        :
   :                                                                :
   :                                                                :
   :                                                                :
 +-:-----------------------+----------------------+-----------------:-+
 | :                       |                      |                 : |
 | :                       |                      |                 : |
 | :   (E2,C1) via 121     |  (E2,C1) via 231     | (E2,C1) via E2  : |
 | :   L=242003,AIGP=1110+---+L=242002,AIGP=1010+---+ L=0x3         : |
 | : |-------------------|121|&lt;-----------------|231|&lt;-------------|: |
 | : V                   +---+ TE tunnel(231)   +---+              |: |
 |----+                    |                      |               +---|
 | E1 |                    |                      |               |E2 |
 |----+(E2,C1) via 122     |  (E2,C1) via 232     | (E2,C1) via E2+---|
 |   ^ L=242004,AIGP=1210+---+L=242001,AIGP=1020+---+ L=0x3        |  |
 |   |----------------   |122|&lt;-----------------|232|&lt;-------------|  |
 |                       +---+ TE tunnel(232)   +---+                 |
 |                         |                      |                   |
 |                         |                      |                   |
 |         IS-IS/LDP       |      IS-IS/RSVP-TE   |     IS-IS/LDP     |
 |         Access 0        |      Core            |     Access 1      |
 +-------------------------+----------------------+-------------------+
  iPE                    iABR                   eABR               ePE

             ---------direction of traffic--------&gt;
     +------+                  +------+
     |240121|                  |241231|
     +------+                  +------+
     +------+                  +------+                 +------+
     |242003|                  |242002|                 |240002|
     +------+                  +------+                 +------+
     +------+                  +------+                 +------+
     |30030 |                  |30030 |                 |30030 |
     +------+                  +------+                 +------+
</artwork>
          </figure>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.3.2-2">
            <li pn="section-appendix.a.3.2-2.1">
              <t indent="0" pn="section-appendix.a.3.2-2.1.1">The following description applies to the reference topology above:
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.3.2-2.1.2">
                <li pn="section-appendix.a.3.2-2.1.2.1">
                  <t indent="0" pn="section-appendix.a.3.2-2.1.2.1.1">RSVP-TE MPLS tunnel mesh is configured only in core
                  (e.g., WAN network).  Access only has IS-IS/LDP. (The figure
                  does not show all TE tunnels.)</t>
                </li>
                <li pn="section-appendix.a.3.2-2.1.2.2">
                  <t indent="0" pn="section-appendix.a.3.2-2.1.2.2.1">Egress PE E2 advertises a VPN route RD:V/v colored with
                  Color-EC C1 to steer traffic via BGP transport CAR (E2,
                  C1). VPN route propagates via service RRs to ingress PE
                  E1.</t>
                </li>
                <li pn="section-appendix.a.3.2-2.1.2.3">
                  <t indent="0" pn="section-appendix.a.3.2-2.1.2.3.1">BGP CAR route (E2, C1) with next hops and labels as	
 	          shown above is advertised through BRs in each	
 	          domain.  When an RR is used in the domain, ADD-PATH is enabled	
 	          to advertise multiple available paths.</t>
                </li>
                <li pn="section-appendix.a.3.2-2.1.2.4">
                  <t indent="0" pn="section-appendix.a.3.2-2.1.2.4.1">Local policy on 231 and 232 maps intent C1 to resolve CAR route	
 	          next hop over best-effort LDP LSP in access domain 1.  The BGP CAR	
 	          label swap entry is installed that goes over LDP LSP to	
 	          next hop. AIGP metric is updated to reflect best-effort metric to next hop 
 	          with an additional penalty (+1000).</t>
                </li>
                <li pn="section-appendix.a.3.2-2.1.2.5">
                  <t indent="0" pn="section-appendix.a.3.2-2.1.2.5.1">Local policy on 121 and 122 maps intent C1 to resolve CAR route	
 	          next hop in Core domain over RSVP-TE tunnels. The BGP CAR label swap entry is 
 	          installed that goes over a TE tunnel to next hop providing intent in Core 
 	          domain. AIGP metric is updated to reflect TE tunnel metric.</t>
                </li>
                <li pn="section-appendix.a.3.2-2.1.2.6">
                  <t indent="0" pn="section-appendix.a.3.2-2.1.2.6.1">Ingress PE E1 learns CAR route (E2, C1). It maps intent C1 to	
 	          resolve CAR route's next hop over best-effort LDP LSP in access domain 0. It	
 	          steers colored VPN route RD:V/v via (E2, C1).</t>
                </li>
              </ul>
            </li>
            <li pn="section-appendix.a.3.2-2.2">
              <t indent="0" pn="section-appendix.a.3.2-2.2.1">Important:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.3.2-2.2.2">
                <li pn="section-appendix.a.3.2-2.2.2.1">
                  <t indent="0" pn="section-appendix.a.3.2-2.2.2.1.1">RSVP-TE tunnel LSP provides intent in Core domain.</t>
                </li>
                <li pn="section-appendix.a.3.2-2.2.2.2">
                  <t indent="0" pn="section-appendix.a.3.2-2.2.2.2.1">Dynamic BGP CAR label carries intent from PEs, which is	
 	          realized in Core domain by resolution via RSVP-TE tunnel.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.4">
        <name slugifiedName="name-transit-network-domains-tha">Transit Network Domains That Do Not Support CAR</name>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.4-1">
          <li pn="section-appendix.a.4-1.1">
            <t indent="0" pn="section-appendix.a.4-1.1.1">In a brownfield deployment, color-aware paths between two PEs
            may need to go through a transit domain that does not support CAR.
            Examples of such a brownfield network include an MPLS LDP network
            with IGP best-effort, or a multi-domain network based on BGP-LU. An MPLS
            LDP network with best-effort IGP can adopt the above scheme in
            <xref target="SHDFAUSECASE" format="default" sectionFormat="of" derivedContent="Appendix A.3"/>. Below is the example scenario for
            BGP-LU.</t>
          </li>
          <li pn="section-appendix.a.4-1.2">
            <t indent="0" pn="section-appendix.a.4-1.2.1">Reference topology:</t>
            <figure anchor="TRANSITNOCAR" align="left" suppress-title="false" pn="figure-10">
              <name slugifiedName="name-bgp-car-not-supported-in-tr">BGP CAR Not Supported in Transit Domain</name>
              <artwork align="left" pn="section-appendix.a.4-1.2.2.1">
E1 --- BR1 --- BR2 ......... BR3 ---- BR4 --- E2
    Ci           &lt;----LU----&gt;              Ci
</artwork>
            </figure>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.4-1.2.3">
              <li pn="section-appendix.a.4-1.2.3.1">
                <t indent="0" pn="section-appendix.a.4-1.2.3.1.1">Network between BR2 and BR3 comprises of multiple BGP-LU hops 
            (over IGP-LDP domains).</t>
              </li>
              <li pn="section-appendix.a.4-1.2.3.2">
                <t indent="0" pn="section-appendix.a.4-1.2.3.2.1">E1, BR1, BR4, and E2 are enabled for BGP CAR, with Ci colors.</t>
              </li>
              <li pn="section-appendix.a.4-1.2.3.3">
                <t indent="0" pn="section-appendix.a.4-1.2.3.3.1">BR1 and BR2 are directly connected; BR3 and BR4 are directly connected.</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.a.4-1.3">
            <t indent="0" pn="section-appendix.a.4-1.3.1">BR1 and BR4 form an over-the-top peering (via RRs as needed) to exchange 
	      BGP CAR routes.</t>
          </li>
          <li pn="section-appendix.a.4-1.4">
            <t indent="0" pn="section-appendix.a.4-1.4.1">BR1 and BR4 also form direct BGP-LU sessions to BR2 and BR3, respectively, 
          to establish labeled paths between each other through the BGP-LU network. 
          The sessions may be eBGP or iBGP.</t>
          </li>
          <li pn="section-appendix.a.4-1.5">
            <t indent="0" pn="section-appendix.a.4-1.5.1">BR1 recursively resolves the BGP CAR next hop for CAR routes learnt from 
          BR4 via the BGP-LU path to BR4.</t>
          </li>
          <li pn="section-appendix.a.4-1.6">
            <t indent="0" pn="section-appendix.a.4-1.6.1">BR1 signals the transport discontinuity to E1 via the AIGP TLV, so that 
          E1 can prefer other paths if available.</t>
          </li>
          <li pn="section-appendix.a.4-1.7">
            <t indent="0" pn="section-appendix.a.4-1.7.1">BR4 does the same in the reverse direction.</t>
          </li>
          <li pn="section-appendix.a.4-1.8">
            <t indent="0" pn="section-appendix.a.4-1.8.1">Thus, the color awareness of the routes, and hence the paths
            in the data plane, are maintained between E1 and E2, even if the
            intent is not available within the BGP-LU island.</t>
          </li>
          <li pn="section-appendix.a.4-1.9">
            <t indent="0" pn="section-appendix.a.4-1.9.1">A similar design can be used for going over network islands of other
          types.</t>
          </li>
        </ul>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.5">
        <name slugifiedName="name-resource-avoidance-using-bg">Resource Avoidance Using BGP CAR and IGP Flexible Algorithm</name>
        <t indent="0" pn="section-appendix.a.5-1">This example illustrates a case of resource avoidance within a domain for a	
 	    multi-domain color-aware path.</t>
        <figure anchor="HRAVOIDUSECASE" align="left" suppress-title="false" pn="figure-11">
          <name slugifiedName="name-bgp-car-resolution-over-igp">BGP CAR Resolution over IGP Flexible Algorithm for Resource Avoidance in a Domain</name>
          <artwork align="left" pn="section-appendix.a.5-2.1">
 	   +-------------+      +-------------+
 	   |             |      |             | V/v with C1
 	   |----+        |------|        +----|/
 	   | E1 |        |      |        | E2 |\
 	   |----+        |      |        +----| W/w with C2
 	   |             |------|   IGP FA128 |
 	   |  IGP FA128  |      |   IGP FA129 |
 	   |  Domain 1   |      |   Domain 2  |
 	   +-------------+      +-------------+
</artwork>
        </figure>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.5-3">
          <li pn="section-appendix.a.5-3.1">
            <t indent="0" pn="section-appendix.a.5-3.1.1">C1 and C2 represent the following two unique intents in the multi-domain network:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.5-3.1.2">
              <li pn="section-appendix.a.5-3.1.2.1">
                <t indent="0" pn="section-appendix.a.5-3.1.2.1.1">C1 is mapped to "minimize IGP metric", and</t>
              </li>
              <li pn="section-appendix.a.5-3.1.2.2">
                <t indent="0" pn="section-appendix.a.5-3.1.2.2.1">C2 is mapped to "minimize IGP metric and avoid resource R".</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.a.5-3.2">
            <t indent="0" pn="section-appendix.a.5-3.2.1">Resource R represents link(s) or node(s) to be avoided.</t>
          </li>
          <li pn="section-appendix.a.5-3.3">
            <t indent="0" pn="section-appendix.a.5-3.3.1">Flex-Algo 128 in Domain 2 is mapped to "minimize IGP metric", and hence 
            to C1.</t>
          </li>
          <li pn="section-appendix.a.5-3.4">
            <t indent="0" pn="section-appendix.a.5-3.4.1">Flex-Algo 129 in Domain 2 is mapped to "minimize IGP metric
            and avoid resource R", and hence to C2.</t>
          </li>
          <li pn="section-appendix.a.5-3.5">
            <t indent="0" pn="section-appendix.a.5-3.5.1">Flex-Algo 128 in Domain 1 is mapped to "minimize IGP metric"
            (i.e., there is no resource R to be avoided in Domain 1, hence
            both C1 and C2 are mapped to Flex-Algo 128).</t>
          </li>
          <li pn="section-appendix.a.5-3.6">
            <t indent="0" pn="section-appendix.a.5-3.6.1">E1 receives the following two service routes from E2:</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.5-3.6.2">
              <li pn="section-appendix.a.5-3.6.2.1">
                <t indent="0" pn="section-appendix.a.5-3.6.2.1.1">V/v with BGP Color-EC C1, and</t>
              </li>
              <li pn="section-appendix.a.5-3.6.2.2">
                <t indent="0" pn="section-appendix.a.5-3.6.2.2.1">W/w with BGP Color-EC C2.</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.a.5-3.7">
            <t indent="0" pn="section-appendix.a.5-3.7.1">E1 has the following color-aware paths:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.5-3.7.2">
              <li pn="section-appendix.a.5-3.7.2.1">
                <t indent="0" pn="section-appendix.a.5-3.7.2.1.1">(E2, C1) provided by BGP CAR with the following per-domain	
 	          resolution:
                </t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.5-3.7.2.1.2">
                  <li pn="section-appendix.a.5-3.7.2.1.2.1">
                    <t indent="0" pn="section-appendix.a.5-3.7.2.1.2.1.1">Domain 1: over IGP Flex-Algo 128, and</t>
                  </li>
                  <li pn="section-appendix.a.5-3.7.2.1.2.2">
                    <t indent="0" pn="section-appendix.a.5-3.7.2.1.2.2.1">Domain 2: over IGP Flex-Algo 128.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-appendix.a.5-3.7.2.2">
                <t indent="0" pn="section-appendix.a.5-3.7.2.2.1">(E2, C2) provided by BGP CAR with the following per-domain	
 	          resolution:
                </t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.5-3.7.2.2.2">
                  <li pn="section-appendix.a.5-3.7.2.2.2.1">
                    <t indent="0" pn="section-appendix.a.5-3.7.2.2.2.1.1">Domain 1: over IGP Flex-Algo 128, and</t>
                  </li>
                  <li pn="section-appendix.a.5-3.7.2.2.2.2">
                    <t indent="0" pn="section-appendix.a.5-3.7.2.2.2.2.1">Domain 2: over IGP Flex-Algo 129 (avoiding resource R).</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.a.5-3.8">
            <t indent="0" pn="section-appendix.a.5-3.8.1">E1 automatically steers the received service routes as follows:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.5-3.8.2">
              <li pn="section-appendix.a.5-3.8.2.1">
                <t indent="0" pn="section-appendix.a.5-3.8.2.1.1">V/v via (E2, C1) provided by BGP CAR.</t>
              </li>
              <li pn="section-appendix.a.5-3.8.2.2">
                <t indent="0" pn="section-appendix.a.5-3.8.2.2.1">W/w via (E2, C2) provided by BGP CAR.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.a.5-4">Observations:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.5-5">
          <li pn="section-appendix.a.5-5.1">
            <t indent="0" pn="section-appendix.a.5-5.1.1">C1 and C2 are realized over a common intra-domain intent (Flex-Algo 128) in one 
            domain and distinct intents in another domain as required.</t>
          </li>
          <li pn="section-appendix.a.5-5.2">
            <t indent="0" pn="section-appendix.a.5-5.2.1">32-bit Color space provides flexibility in defining a large
            number of intents in a multi-domain network. They may be
            efficiently realized by mapping to a smaller number of
            intra-domain intents in different domains.</t>
          </li>
        </ul>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.6">
        <name slugifiedName="name-per-flow-steering-over-car-">Per-Flow Steering over CAR Routes</name>
        <t indent="0" pn="section-appendix.a.6-1">This section provides an example of ingress PE per-flow steering as defined 
        in <xref target="RFC9256" sectionFormat="of" section="8.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-8.6" derivedContent="RFC9256"/> 
        onto BGP CAR routes.
        </t>
        <t indent="0" pn="section-appendix.a.6-2">The following description applies to the reference topology in <xref target="FAUSECASE" format="default" sectionFormat="of" derivedContent="Figure 6"/>:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.6-3">
          <li pn="section-appendix.a.6-3.1">
            <t indent="0" pn="section-appendix.a.6-3.1.1">Ingress PE E1 learns best-effort BGP-LU route E2.</t>
          </li>
          <li pn="section-appendix.a.6-3.2">
            <t indent="0" pn="section-appendix.a.6-3.2.1">Ingress PE E1 learns CAR route (E2, C1), C1 is mapped to "low delay".</t>
          </li>
          <li pn="section-appendix.a.6-3.3">
            <t indent="0" pn="section-appendix.a.6-3.3.1">Ingress PE E1 learns CAR route (E2, C2), C2 is mapped to 
          "low delay and avoid resource R".</t>
          </li>
          <li pn="section-appendix.a.6-3.4">
            <t indent="0" pn="section-appendix.a.6-3.4.1">Ingress PE E1 is configured to instantiate an array of paths to E2 where 
          entry 0 is the BGP-LU path to next hop, color C1 is the first entry, and 
          color C2 is the second entry. The index into the array is called a 
          Forwarding Class (FC).  The index can have values 0 to 7, especially when 
          derived from the MPLS TC bits <xref target="RFC5462" format="default" sectionFormat="of" derivedContent="RFC5462"/>.</t>
          </li>
          <li pn="section-appendix.a.6-3.5">
            <t indent="0" pn="section-appendix.a.6-3.5.1">E1 is configured to match flows in its ingress interfaces (upon any field 
          such as Ethernet destination/source/VLAN/TOS or IP destination/source/DSCP 
          or transport ports, etc.) and color them with an internal per-packet FC variable
          (0, 1, or 2 in this example).</t>
          </li>
          <li pn="section-appendix.a.6-3.6">
            <t indent="0" pn="section-appendix.a.6-3.6.1">This array is presented as a composite candidate path of SR Policy (E2, C100) 
          and acts as a container for grouping constituent paths of different 
          colors/best-effort. This representation provides automated steering for 
          services colored with Color-EC C100 via paths of different 
          colors. Note that Color-EC C100 is used as indirection to the 
          composite policy configured on ingress PE.</t>
          </li>
          <li pn="section-appendix.a.6-3.7">
            <t indent="0" pn="section-appendix.a.6-3.7.1">Egress PE E2 advertises a VPN route RD:V/v with Color-EC C100
          to steer traffic via composite SR Policy (E2, C100) (i.e., FC array of paths).</t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.a.6-4">E1 receives three packets K, K1, and K2 on its incoming interface. These three 
        packets match on the VPN route that recurses on E2. E1 colors these 3 packets with forwarding class 0, 1, and 2, respectively.</t>
        <t indent="0" pn="section-appendix.a.6-5">As a result:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.6-6">
          <li pn="section-appendix.a.6-6.1">
            <t indent="0" pn="section-appendix.a.6-6.1.1">E1 forwards K along the best-effort path to E2 (i.e., for the MPLS data plane, 
          it pushes the best-effort label of E2).</t>
          </li>
          <li pn="section-appendix.a.6-6.2">
            <t indent="0" pn="section-appendix.a.6-6.2.1">E1 forwards K1 along the (E2, C1) BGP CAR route.</t>
          </li>
          <li pn="section-appendix.a.6-6.3">
            <t indent="0" pn="section-appendix.a.6-6.3.1">E1 forwards K2 along the (E2, C2) BGP CAR route.</t>
          </li>
        </ul>
      </section>
      <section anchor="SHAREDIP" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.7">
        <name slugifiedName="name-advertising-bgp-car-routes-">Advertising BGP CAR Routes for Shared IP Addresses</name>
        <figure anchor="HSHIPUSECASE" align="left" suppress-title="false" pn="figure-12">
          <name slugifiedName="name-bgp-car-advertisements-for-">BGP CAR Advertisements for Shared IP Addresses</name>
          <artwork align="left" pn="section-appendix.a.7-1.1">
 	  +-------------+      +--------------+
 	  |             |      |         +----|
 	  |             |------|         | E2 |(IP1)
 	  |----+        |      |         +----|
 	  | E1 |        |      |  Domain 2    |
 	  |----+        |      +--------------+
 	  |             |      +--------------+
 	  |             |      |         +----|
 	  |  Domain 1   |------|         | E3 |(IP1)
 	  +-------------+      |         +----|
 	                       |  Domain 3    |
 	                       +--------------+
</artwork>
        </figure>
        <t indent="0" pn="section-appendix.a.7-2">This example describes a case where a route for the same transport
        IP address is originated from multiple nodes in different network
        domains.</t>
        <t indent="0" pn="section-appendix.a.7-3">One use of this scenario is an anycast transport service, where packet 
        encapsulation (e.g., LSP) may terminate on any one among a set of nodes. All the 
        nodes are capable of forwarding the inner payload, typically via an IP lookup in 
        the global table for Internet routes.</t>
        <t indent="0" pn="section-appendix.a.7-4">A couple of variations of the use case are described in the example below.</t>
        <t indent="0" pn="section-appendix.a.7-5">One node is shown in each domain, but there will be multiple nodes in practice
        for redundancy.</t>
        <t indent="0" pn="section-appendix.a.7-6">Example 1: Anycast with forwarding to nearest egress:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.7-7">
          <li pn="section-appendix.a.7-7.1">
            <t indent="0" pn="section-appendix.a.7-7.1.1">Both E2 (in egress domain 2) and E3 (in egress domain 3) advertise 
          Anycast (shared) IP (IP1, C1) with same label L1.</t>
          </li>
          <li pn="section-appendix.a.7-7.2">
            <t indent="0" pn="section-appendix.a.7-7.2.1">An ingress PE E1 receives by default the best path(s) for (IP1, C1) 
          propagated through BGP hops across the network.</t>
          </li>
          <li pn="section-appendix.a.7-7.3">
            <t indent="0" pn="section-appendix.a.7-7.3.1">The paths to (IP1, C1) from E2 and E3 may merge at a common node 
          along the path to E1, forming equal cost multipaths or active-backup paths 
          at that node.</t>
          </li>
          <li pn="section-appendix.a.7-7.4">
            <t indent="0" pn="section-appendix.a.7-7.4.1">Service route V/v is advertised from egress domains D2 and D3 with color
          C1 and next hop IP1.</t>
          </li>
          <li pn="section-appendix.a.7-7.5">
            <t indent="0" pn="section-appendix.a.7-7.5.1">Traffic for V/v steered at E1 via (IP1, C1) is forwarded to
            either E2 or E3 (or both) as determined by routing along the
            network (nodes in the path).
            </t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.a.7-8">Example 2: Anycast with egress domain visibility at ingress PE:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.7-9">
          <li pn="section-appendix.a.7-9.1">
            <t indent="0" pn="section-appendix.a.7-9.1.1">E2 advertises (IP1, C1) and E3 advertises (IP1, C2) CAR routes for the 
          Anycast IP IP1. C1 and C2 are colors assigned to distinguish the egress 
          domains originating the routes to IP1.</t>
          </li>
          <li pn="section-appendix.a.7-9.2">
            <t indent="0" pn="section-appendix.a.7-9.2.1">An ingress PE E1 receives the best path(s) propagated through BGP hops 
          across the network for both (IP1, C1) and (IP1, C2).</t>
          </li>
          <li pn="section-appendix.a.7-9.3">
            <t indent="0" pn="section-appendix.a.7-9.3.1">The CAR routes (IP1, C1) and (IP1, C2) do not get merged at any 
          intermediate node, providing E1 control over path selection and load-balancing
          of traffic across these two routes. Each route may itself provide multipathing 
          or anycast to a set of egress nodes.</t>
          </li>
          <li pn="section-appendix.a.7-9.4">
            <t indent="0" pn="section-appendix.a.7-9.4.1">Service route V/v advertised from egress domains D2 and D3 with colors
          C1 and C2, respectively, but with same next hop IP1.</t>
          </li>
          <li pn="section-appendix.a.7-9.5">
            <t indent="0" pn="section-appendix.a.7-9.5.1">E1 will resolve and steer V/v path from D2 via (IP1, C1) and path from 
          D3 via (IP2, C2). E1 will load-balance traffic to V/v across the two paths 
          as determined by a local load-balancing policy.</t>
          </li>
          <li pn="section-appendix.a.7-9.6">
            <t indent="0" pn="section-appendix.a.7-9.6.1">Traffic for colored service routes steered at E1 is forwarded to either E2 
          or E3	(or load-balanced across both) as determined by E1.</t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.a.7-10">In above example, D2 and D3 belonged to the same color or
        administrative domain. If D2 and D3 belong to different color domains,
        the domains will coordinate the assignment of colors with shared IP
        IP1 so that they do not cause conflicts.  For instance, in Example
        1:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.7-11">
          <li pn="section-appendix.a.7-11.1">
            <t indent="0" pn="section-appendix.a.7-11.1.1">D2 and D3 may both use C1 for the same intent when they originate CAR route for IP1.
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.7-11.1.2">
              <li pn="section-appendix.a.7-11.1.2.1">
                <t indent="0" pn="section-appendix.a.7-11.1.2.1.1">In this case, neither D2 nor D3 will reuse C1 for some
                other intent.</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.a.7-11.2">
            <t indent="0" pn="section-appendix.a.7-11.2.1">Alternatively, D2 may use C2 and D3 may use C3 for originating
            a CAR route for IP1 for the same intent.</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.7-11.2.2">
              <li pn="section-appendix.a.7-11.2.2.1">
                <t indent="0" pn="section-appendix.a.7-11.2.2.1.1">In this case, D2 will not use C3 for originating CAR route
                for IP1 for some other intent. Similarly, D3 will not use C2
                for originating CAR route for IP1 for some other intent.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="ColorMapping" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-color-mapping-illustrations">Color Mapping Illustrations</name>
      <t indent="0" pn="section-appendix.b-1">
      There are a variety of deployment scenarios that arise when different
      color mappings are used in an inter-domain environment. This section
      attempts to enumerate them and provide clarity into the usage of the
      color-related protocol constructs.
      </t>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-appendix.b.1">
        <name slugifiedName="name-single-color-domain-contain">Single Color Domain Containing Network Domains with N:N Color
        Distribution</name>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.1-1">
          <li pn="section-appendix.b.1-1.1">
            <t indent="0" pn="section-appendix.b.1-1.1.1">All network domains (ingress, egress, and all transit domains)
            are enabled for the same N colors.</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.1-1.1.2">
              <li pn="section-appendix.b.1-1.1.2.1">
                <t indent="0" pn="section-appendix.b.1-1.1.2.1.1">A color may of course be realized by different
                technologies in different domains as described above.</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.b.1-1.2">
            <t indent="0" pn="section-appendix.b.1-1.2.1">The N intents are both signaled end-to-end via BGP CAR routes,
            as well as realized in the data plane.</t>
          </li>
          <li pn="section-appendix.b.1-1.3">
            <t indent="0" pn="section-appendix.b.1-1.3.1">
          <xref target="SFAUSECASE" format="default" sectionFormat="of" derivedContent="Appendix A.1"/> is an example of this case.
            </t>
          </li>
        </ul>
      </section>
      <section anchor="APPENDIXNM" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.b.2">
        <name slugifiedName="name-single-color-domain-containi">Single Color Domain Containing Network Domains with N:M Color Distribution</name>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.2-1">
          <li pn="section-appendix.b.2-1.1">
            <t indent="0" pn="section-appendix.b.2-1.1.1">
          Certain network domains may not be enabled for some of the
          colors used for end-to-end intents, but may still be required to provide 
          transit for routes of those colors.
            </t>
          </li>
          <li pn="section-appendix.b.2-1.2">
            <t indent="0" pn="section-appendix.b.2-1.2.1">
          When a (E, C1) route traverses a domain where color C1 is not
          available, the operator may decide to use a different intent of color
          C2 that is available in that domain to resolve the next hop and establish
          a path through the domain.
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.2-1.2.2">
              <li pn="section-appendix.b.2-1.2.2.1">
                <t indent="0" pn="section-appendix.b.2-1.2.2.1.1">
            The next-hop resolution may occur via paths of any intra-domain
            protocol or even via paths provided by BGP CAR.
                </t>
              </li>
              <li pn="section-appendix.b.2-1.2.2.2">
                <t indent="0" pn="section-appendix.b.2-1.2.2.2.1">
            The next-hop resolution color C2 may be defined as a local policy at
            ingress or transit nodes of the domain.
                </t>
              </li>
              <li pn="section-appendix.b.2-1.2.2.3">
                <t indent="0" pn="section-appendix.b.2-1.2.2.3.1">
            It may also be automatically signaled from egress border nodes by
            attaching a Color-EC with value C2 to the BGP CAR routes.
                </t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.b.2-1.3">
            <t indent="0" pn="section-appendix.b.2-1.3.1">
          Hence, routes of N end-to-end colors may be resolved over paths from a smaller 
          set of M colors in a transit domain, while preserving the original
          color awareness end-to-end.
            </t>
          </li>
          <li pn="section-appendix.b.2-1.4">
            <t indent="0" pn="section-appendix.b.2-1.4.1">
          Any ingress PE that installs a service (VPN) route with a color C1
          must have C1 enabled locally to install IP routes to (E, C1) and
          resolve the service route's next hop.
            </t>
          </li>
          <li pn="section-appendix.b.2-1.5">
            <t indent="0" pn="section-appendix.b.2-1.5.1">
          A degenerate variation of this scenario is where a transit domain does
          not support any color. <xref target="SHDFAUSECASE" format="default" sectionFormat="of" derivedContent="Appendix A.3"/> describes an example 
          of this case.
            </t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.b.2-2">Illustration for N end-to-end intents over fewer M intra-domain intents:</t>
        <figure anchor="NMUSECASE" align="left" suppress-title="false" pn="figure-13">
          <name slugifiedName="name-nm-illustration">N:M Illustration</name>
          <artwork align="left" pn="section-appendix.b.2-3.1">
                     RD:V/v via E2 Color-EC: 100
                     RD:W/w via E2 Color-EC: 200
          +-----+    RD:X/x via E2 Color-EC: 300     +-----+
   ...... |S-RR1| &lt;..................................|S-RR2| &lt;........
  :       +-----+    RD:Y/y via E2 Color-EC: 400     +-----+          :
  :                                                                   :
  :                                                                   :
  :                                                                   :
+-:---------------------+---------------------+----------------------:-+
| :                     |                     |                      : |
|                       |                     |                        |
|     (E2,100) via 121  |   (E2,100) via 231  |     (E2,100) via E2    |
|      Color-EC: 1,10   |    Color-EC: 1,10   |      Color-EC: 1,10    |
|                       |                     |                        |
|     (E2,200) via 121  |   (E2,200) via 231  |     (E2,200) via E2    |
|      Color-EC: 1,20   |    Color-EC: 1,20   |      Color-EC: 1,20    |
|                     &lt;---                  &lt;----                      |
|     (E2,300) via 121  |   (E2,300) via 231  |     (E2,300) via E2    |
|      Color-EC: 2,30   |    Color-EC: 2,30   |      Color-EC: 2,30    |
|                       |                     |                        |
|     (E2,400) via 121  |   (E2,400) via 231  |     (E2,400) via E2    |
|      Color-EC: 2,40   |    Color-EC: 2,40   |      Color-EC: 2,40    |
|                       |                     |                        |
|                     +===+                 +===+                      |
|====+                |   |-------C10-------|   |                +=====|
|    |-------C1-------|   |-------C20-------|   |-------C1-------|     |
| E1 |                |121|                 |231|                | E2  |
|    |-------C2-------|   |-------C30-------|   |-------C2-------|     |
|====+                |   |-------C40-------|   |                +=====|
|                     +===+                 +===+                      |
|       C1=FA132        |      C10=FA128      |       C1=FA132         |
|       C2=FA133        |      C20=FA129      |       C2=FA133         |
|                       |      C30=FA130      |                        |
|                       |      C40=FA131      |                        |
|                       |                     |                        |
|        IS-IS SR       |      IS-IS SR       |     IS-IS SR           |
|        ACCESS         |       CORE          |     ACCESS             |
+-----------------------+---------------------+------------------------+
 iPE                  iABR                  eABR                    ePE
</artwork>
        </figure>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.2-4">
          <li pn="section-appendix.b.2-4.1">
            <t indent="0" pn="section-appendix.b.2-4.1.1">The following description applies to the reference topology above:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.2-4.1.2">
              <li pn="section-appendix.b.2-4.1.2.1">
                <t indent="0" pn="section-appendix.b.2-4.1.2.1.1">Core domain provides 4 intra-domain intents as described below:
                </t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.2-4.1.2.1.2">
                  <li pn="section-appendix.b.2-4.1.2.1.2.1">
                    <t indent="0" pn="section-appendix.b.2-4.1.2.1.2.1.1">FA128 mapped to C10,</t>
                  </li>
                  <li pn="section-appendix.b.2-4.1.2.1.2.2">
                    <t indent="0" pn="section-appendix.b.2-4.1.2.1.2.2.1">FA129 mapped to C20,</t>
                  </li>
                  <li pn="section-appendix.b.2-4.1.2.1.2.3">
                    <t indent="0" pn="section-appendix.b.2-4.1.2.1.2.3.1">FA130 mapped to C30, and</t>
                  </li>
                  <li pn="section-appendix.b.2-4.1.2.1.2.4">
                    <t indent="0" pn="section-appendix.b.2-4.1.2.1.2.4.1">FA131 mapped to C40.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-appendix.b.2-4.1.2.2">
                <t indent="0" pn="section-appendix.b.2-4.1.2.2.1">Access domain provides the following 2 intra-domain intents:
                </t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.2-4.1.2.2.2">
                  <li pn="section-appendix.b.2-4.1.2.2.2.1">
                    <t indent="0" pn="section-appendix.b.2-4.1.2.2.2.1.1">FA132 mapped to C1, and</t>
                  </li>
                  <li pn="section-appendix.b.2-4.1.2.2.2.2">
                    <t indent="0" pn="section-appendix.b.2-4.1.2.2.2.2.1">FA133 mapped to C2.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-appendix.b.2-4.1.2.3">
                <t indent="0" pn="section-appendix.b.2-4.1.2.3.1">Operator defines the following 4 BGP CAR end-to-end intents as below:
                </t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.2-4.1.2.3.2">
                  <li pn="section-appendix.b.2-4.1.2.3.2.1">
                    <t indent="0" pn="section-appendix.b.2-4.1.2.3.2.1.1">CAR color C100 that resolves on C1 in access and C10 in Core domain,</t>
                  </li>
                  <li pn="section-appendix.b.2-4.1.2.3.2.2">
                    <t indent="0" pn="section-appendix.b.2-4.1.2.3.2.2.1">CAR color C200 that resolves on C1 in access and C20 in Core domain,</t>
                  </li>
                  <li pn="section-appendix.b.2-4.1.2.3.2.3">
                    <t indent="0" pn="section-appendix.b.2-4.1.2.3.2.3.1">CAR color C300 that resolves on C2 in access and C30 in Core domain, and
                    </t>
                  </li>
                  <li pn="section-appendix.b.2-4.1.2.3.2.4">
                    <t indent="0" pn="section-appendix.b.2-4.1.2.3.2.4.1">CAR color C400 that resolves on C2 in access and C40 in Core domain.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-appendix.b.2-4.1.2.4">
                <t indent="0" pn="section-appendix.b.2-4.1.2.4.1">E2 may originate BGP CAR routes with multiple BGP Color-ECs
                as shown above.  At each hop, CAR route's next hop is resolved
                over the available intra-domain color. For example (E2, C100)
                with BGP Color-ECs C1, C10 resolves over C1 at ABR 231, C10 at
                ABR 121, and C1 at E1. </t>
              </li>
              <li pn="section-appendix.b.2-4.1.2.5">
                <t indent="0" pn="section-appendix.b.2-4.1.2.5.1">Egress PE E2 advertises a VPN route RD:V/v colored with BGP Color-EC C100 to 
            steer traffic through Flex-Algo 132 in access and Flex-Algo 128 in core. It also advertises
            another VPN route RD:W/w colored with BGP Color-EC C200 to steer traffic through 
            Flex-Algo 132 in access and Flex-Algo 129 in core.</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.b.2-4.2">
            <t indent="0" pn="section-appendix.b.2-4.2.1">Important:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.2-4.2.2">
              <li pn="section-appendix.b.2-4.2.2.1">
                <t indent="0" pn="section-appendix.b.2-4.2.2.1.1"> End-to-end (BGP CAR) colors can be decoupled from intra-domain transport colors. </t>
              </li>
              <li pn="section-appendix.b.2-4.2.2.2">
                <t indent="0" pn="section-appendix.b.2-4.2.2.2.1">Each end-to-end BGP CAR color is a combination of various intra-domain colors or intents.</t>
              </li>
              <li pn="section-appendix.b.2-4.2.2.3">
                <t indent="0" pn="section-appendix.b.2-4.2.2.3.1">Combination can be expressed by local policy at ABRs or by attaching 
            multiple BGP Color-ECs at origination point of BGP CAR route.</t>
              </li>
              <li pn="section-appendix.b.2-4.2.2.4">
                <t indent="0" pn="section-appendix.b.2-4.2.2.4.1">Service traffic is steered into suitable CAR color to use the most granular intent
            in a domain multiple hops away from ingress PE.</t>
              </li>
              <li pn="section-appendix.b.2-4.2.2.5">
                <t indent="0" pn="section-appendix.b.2-4.2.2.5.1">Consistent reuse of standard color-based resolution mechanism at both service and 
	    transport layers.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="APPENDIXMCD" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.b.3">
        <name slugifiedName="name-multiple-color-domains">Multiple Color Domains</name>
        <t indent="0" pn="section-appendix.b.3-1">When the routes are distributed between domains with different
        color-to-intent mapping schemes, both N:N and N:M cases are possible.
        Although an N:M mapping is more likely to occur. </t>
        <t indent="0" pn="section-appendix.b.3-2">Reference topology:</t>
        <figure anchor="MCD" align="left" suppress-title="false" pn="figure-14">
          <name slugifiedName="name-multiple-color-domains-2">Multiple Color Domains</name>
          <artwork align="left" pn="section-appendix.b.3-3.1">
   D1 ----- D2 ----- D3
   C1       C2       C3
</artwork>
        </figure>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.3-4">
          <li pn="section-appendix.b.3-4.1">
            <t indent="0" pn="section-appendix.b.3-4.1.1">C1 in D1 maps to C2 in D2 and to C3 in D3.</t>
          </li>
          <li pn="section-appendix.b.3-4.2">
            <t indent="0" pn="section-appendix.b.3-4.2.1">BGP CAR is enabled in all three color domains.</t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.b.3-5">
          The reference topology above is used to elaborate on the design
          described in <xref target="SDIFFCOLORS" format="default" sectionFormat="of" derivedContent="Section 2.8"/>
        </t>
        <t indent="0" pn="section-appendix.b.3-6">
          When the route originates in color domain D1 and gets advertised
          to a different color domain D2, the following procedures apply:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.3-7">
          <li pn="section-appendix.b.3-7.1">
            <t indent="0" pn="section-appendix.b.3-7.1.1">The NLRI of the BGP CAR route is preserved end to end (i.e.,
            route is (E, C1)).</t>
          </li>
          <li pn="section-appendix.b.3-7.2">
            <t indent="0" pn="section-appendix.b.3-7.2.1">A BR of D1 attaches LCM-EC with value C1 when advertising to a
            BR in D2.</t>
          </li>
          <li pn="section-appendix.b.3-7.3">
            <t indent="0" pn="section-appendix.b.3-7.3.1">A BR in D2 receiving (E, C1) maps C1 in received LCM-EC to
            local color, say C2.</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b.3-7.3.2">
              <li pn="section-appendix.b.3-7.3.2.1">
                <t indent="0" pn="section-appendix.b.3-7.3.2.1.1">A BR in D2 may receive (E, C1) from multiple D1 BRs, which provide	
 	        equal cost or primary/backup paths.</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.b.3-7.4">
            <t indent="0" pn="section-appendix.b.3-7.4.1">
       Within D2, this LCM-EC value of C2 is used instead of the Color in
    CAR route NLRI (E, C1). This applies to all procedures described in the
    earlier section for a single color domain, such as next-hop resolution and
    service steering.
            </t>
          </li>
          <li pn="section-appendix.b.3-7.5">
            <t indent="0" pn="section-appendix.b.3-7.5.1">
       A colored service route V/v originated in color domain D1 with next hop E
    and Color-EC C1 will also have its Color-EC value re-mapped
    to C2, typically at a service RR.
            </t>
          </li>
          <li pn="section-appendix.b.3-7.6">
            <t indent="0" pn="section-appendix.b.3-7.6.1">
       On an ingress PE in D2, V/v will resolve via C2.
            </t>
          </li>
          <li pn="section-appendix.b.3-7.7">
            <t indent="0" pn="section-appendix.b.3-7.7.1">
          When a BR in D2 advertises the route to a BR in D3, the same process
          repeats.
            </t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="SRv6ILLUS" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-car-srv6-illustrations">CAR SRv6 Illustrations</name>
      <section anchor="SECLOCHBYH" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.c.1">
        <name slugifiedName="name-bgp-car-srv6-locator-reacha">BGP CAR SRv6 Locator Reachability Hop-by-Hop Distribution</name>
        <figure anchor="SRv6LOCHopByHOP" align="left" suppress-title="false" pn="figure-15">
          <artwork align="left" pn="section-appendix.c.1-1.1">
                            RD:V/v via E2
           +-----+          SRv6SID=B:C11:2:DT4::     +-----+
    ...... |S-RR1| &lt;..................................|S-RR2| &lt;.....
   :       +-----+                                    +-----+       :
   :                                                                :
   :                                                                :
   :             AS2                                         AS1    :
 +-:------------------------------------+            +--------------:--+
 | :                                    |            |              :  |
 | :                 B:C11::/32 via IP1 |            |              :  |
 | :          +-----+ LCM=C1, AIGP=10   |            |              :  |
 | :          |T-RR |&lt;..............    |            |              :  |
 | :          +-----+&lt;..........     :  |            |              :  |
 | :             :    B:C11::/32 :   :  |            |              :  |
 | :             :       via IP2 :   :  |            |              :  |
 | :             : LCM=C1,AIGP=10:   :  |            |              :  |
 | :   ......... :               :   :  | B:C11::/32 |              :  |
 | : :           :               :   :  | via 231    |           +-----|
 | : :           :               :   :  |  LCM=C1    |           | E2  |
   : :    +---+  :   +---+       :   :  |  AIGP=10   |           +-----|
 | : :    |P11|&lt;.:..&gt;|P13|       :  +----+        +---+             :  |
 | : :    +---+  :   +---+       :  | 121|-----IP1|231|             :  |
 | V V           :               :  +----+  eBGP  +---+             :  |
 |----+          :               :      |            |           +-----|
 | E1 |   +---+  :   +---+       :      |            |           | En  |
 |----+   |P12|&lt;.:..&gt;|P14|       :      |            |           +-----|
 |        +---+      +---+       :  +----+  eBGP  +---+                |
 |        IPv6 FIB:              ...| 122|-----IP2|232|                |
 |        B:C11::/32 via IP1        +----+        +---+                |
 |                   via IP2            | B:C11::/32 |                 |
 |                                      | via 232    |                 |
 |                                      | LCM=C1     |                 |
 |                                      | AIGP=10    |                 |
 |         IS-ISv6                      |            |     IS-ISv6     |
 |  FA128 (B:C12::/32)                  |            |FA128(B:C11::/32)|
 |  FA0    (B:02::/32)                  |            |FA0  (B:01::/32) |
 +--------------------------------------+            +-----------------+
 iPE                                  ASBR          ASBR             ePE
</artwork>
        </figure>
        <t indent="0" pn="section-appendix.c.1-2">The topology above is an example to illustrate the BGP CAR SRv6
        locator prefix route-based design (<xref target="SECRTDSSID" format="default" sectionFormat="of" derivedContent="Section 7.1.1"/>) with
        hop-by-hop IPv6 routing within and between domains.
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.c.1-3">
          <li pn="section-appendix.c.1-3.1">
            <t indent="0" pn="section-appendix.c.1-3.1.1">Multi-AS network with eBGP CAR session between ASBRs.</t>
          </li>
          <li pn="section-appendix.c.1-3.2">
            <t indent="0" pn="section-appendix.c.1-3.2.1">Transport RR (T-RR) peers with P, BR, and PE clients within an AS to propagate 
              CAR prefixes. ADD-PATH is enabled to propagate multiple paths.</t>
          </li>
          <li pn="section-appendix.c.1-3.3">
            <t indent="0" pn="section-appendix.c.1-3.3.1">IS-IS (IGP) Flex-Algo 128 for SRv6 is running in each AS (AS may consist 
              of multiple IGP domains), where the following steps apply:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.c.1-3.3.2">
              <li pn="section-appendix.c.1-3.3.2.1">
                <t indent="0" pn="section-appendix.c.1-3.3.2.1.1">Prefix B:C11::/32 summarizes Flex-Algo 128 block in AS1 for the given 
                intent. Node locators in the egress domain are sub-allocated from the 
                block for the given intent.</t>
              </li>
              <li pn="section-appendix.c.1-3.3.2.2">
                <t indent="0" pn="section-appendix.c.1-3.3.2.2.1">Similarly, Prefix B:C12::/32 summarizes Flex-Algo 128 block in AS2.</t>
              </li>
              <li pn="section-appendix.c.1-3.3.2.3">
                <t indent="0" pn="section-appendix.c.1-3.3.2.3.1">Per Flex-Algo external subnets for eBGP next hops IP1 and IP2 are 
                distributed in IS-IS within AS2.</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.c.1-3.4">
            <t indent="0" pn="section-appendix.c.1-3.4.1">BGP CAR prefix route B:C11::/32 with LCM C1 is originated by AS1 
              BRs 231 and 232 on eBGP sessions to AS2 BRs 121 and 122.</t>
          </li>
          <li pn="section-appendix.c.1-3.5">
            <t indent="0" pn="section-appendix.c.1-3.5.1">ASBR 121 and 122 propagate the route in AS2 to all the P, ABRs, and PEs 
              through T-RR.</t>
          </li>
          <li pn="section-appendix.c.1-3.6">
            <t indent="0" pn="section-appendix.c.1-3.6.1">Every router in AS2 resolves BGP CAR prefix B:C11::/32 next hops 
              IP1 and IP2 in IS-ISv6 Flex-Algo 128 and programs B:C11::/32 prefix in global 
              IPv6 forwarding table.</t>
          </li>
          <li pn="section-appendix.c.1-3.7">
            <t indent="0" pn="section-appendix.c.1-3.7.1">AIGP attribute influences BGP CAR route best path decision.</t>
          </li>
          <li pn="section-appendix.c.1-3.8">
            <t indent="0" pn="section-appendix.c.1-3.8.1">Egress PE E2 advertises a VPN route RD:V/v with SRv6 Service 
              SID B:C11:2:DT4::. Service SID is allocated by E2 from its locator of 
              color C1 intent.</t>
          </li>
          <li pn="section-appendix.c.1-3.9">
            <t indent="0" pn="section-appendix.c.1-3.9.1">Ingress PE E1 learns (via service RRs S-RR1 and S-RR2) VPN route RD:V/v 
              with SRv6 SID B:C11:2:DT4::.</t>
          </li>
          <li pn="section-appendix.c.1-3.10">
            <t indent="0" pn="section-appendix.c.1-3.10.1">Service traffic encapsulated with SRv6 Service SID B:C11:2:DT4:: is 
              inherently steered hop by hop along IPv6 routed path to B:C11::/32 provided 
              by BGP CAR in AS2.</t>
          </li>
          <li pn="section-appendix.c.1-3.11">
            <t indent="0" pn="section-appendix.c.1-3.11.1">Encapsulated service traffic is inherently steered along IPv6 routed path 
              to B:C11::/32 provided by IS-ISv6 Flex-Algo 128 in AS1.</t>
          </li>
          <li pn="section-appendix.c.1-3.12">
            <t indent="0" pn="section-appendix.c.1-3.12.1">Design applies to multiple ASNs. BGP next hop is rewritten across an eBGP hop.</t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.c.1-4">Important:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.c.1-5">
          <li pn="section-appendix.c.1-5.1">
            <t indent="0" pn="section-appendix.c.1-5.1.1">No tunneling/encapsulation on ingress PE and BRs for BGP CAR provided 
              transport.</t>
          </li>
          <li pn="section-appendix.c.1-5.2">
            <t indent="0" pn="section-appendix.c.1-5.2.1">Uses longest prefix match of SRv6 Service SID to BGP CAR IP prefix. 
              No mapping to labels/SIDs, instead use of simple IP-based forwarding.</t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.c.1-6">Packet forwarding:</t>
        <artwork align="left" pn="section-appendix.c.1-7">
@E1:  IPv4 VRF V/v =&gt; H.Encaps.red &lt;B:C11:2:DT4::&gt; =&gt; Forward based
                                                      on B:C11::/32
@P*:  IPv6 table: B:C11::/32 =&gt; Forward to interface, NH
@121: IPv6 Table: B:C11::/32 =&gt; Forward to interface, NH
@231: IPv6 table: B:C11:2::/48 :: =&gt; Forward via IS-ISv6 Flex-Algo 
                                     path to E2
@231: IPv6 Table B:C11:2::/48 =&gt; Forward via IS-ISv6 Flex-Algo
                                 path to E2
@E2:  My SID table B:C11:2:DT4:: =&gt; Pop the outer header and look up 
                                    the inner DA in the VRF
</artwork>
      </section>
      <section anchor="SECSRv6LOCencap" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.c.2">
        <name slugifiedName="name-bgp-car-srv6-locator-reachab">BGP CAR SRv6 Locator Reachability Distribution with Encapsulation</name>
        <figure anchor="SRv6LOCencap" align="left" suppress-title="false" pn="figure-16">
          <artwork align="left" pn="section-appendix.c.2-1.1">
                           RD:V/v via E2
          +-----+          SRv6SID=B:C11:2:DT4::     +-----+
   ...... |S-RR1| &lt;..................................|S-RR2| &lt;.......
   :      +-----+                                    +-----+        :
   :                                                                :
   :                                                                :
   :                                                                :
+-:-----------------------+----------------------+------------------:--+
| :                       |                      |                  :  |
| :                       |                      |                  :  |
| :  B:C11::/32 via 121   |  B:C11::/32 via 231  |                  :  |
| :  SID=B:C13:121:END::  |  SID=B:C12:231:END:: |                  :  |
| :  LCM=C1,AIGP=110    +---+LCM=C1 AIGP=10    +---+                :  |
| : |-------------------|121|&lt;-----------------|231|&lt;-------------| :  |
| : V                   +---+                  +---+              | :  |
|----+                    |                      |               +-----|
| E1 |                    |                      |               | E2  |
|----+                    |                      |               +-----|
|   ^                     |                      |                  :  |
|   |                     |                      |                  :  |
|   |                     |                      |               +-----|
|   |                     |                      |               | En  |
|   |                     |                      |               +-----|
|   |                   +---+                  +---+              |    |
|   |----------------   |122|&lt;-----------------|232|&lt;-------------|    |
|                       +---+                  +---+                   |
|    B:C11::/32 via 122   |  B:C11::/32 via 232  |                     |
|    SID=B:C13:122:END::  |  SID=B:C12:232:END:: |                     |
|    LCM=C1 AIGP=120      |  LCM=C1 AIGP=20      |                     |
|                         |                      |                     |
|         IS-ISv6         |      IS-ISv6         |     IS-ISv6         |
|  FA128 (B:C13::/32)     | FA128 (B:C12::/32)   |  FA128 (B:C11::/32) |
|  FA0    (B:03::/32)     | FA0    (B:02::/32)   |  FA0   (B:01::/32)  |
+-------------------------+----------------------+---------------------+
 iPE                    iABR                    eABR                ePE
</artwork>
        </figure>
        <t indent="0" pn="section-appendix.c.2-2">The topology above is an example to illustrate the BGP CAR SRv6 locator 
          prefix route-based design (<xref target="SECRTDSSID" format="default" sectionFormat="of" derivedContent="Section 7.1.1"/>) with intra-domain encapsulation. 
          The example shown is iBGP, but also applies to eBGP (multi-AS).
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.c.2-3">
          <li pn="section-appendix.c.2-3.1">
            <t indent="0" pn="section-appendix.c.2-3.1.1">IGP Flex-Algo 128 is running in each domain, where:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.c.2-3.1.2">
              <li pn="section-appendix.c.2-3.1.2.1">
                <t indent="0" pn="section-appendix.c.2-3.1.2.1.1">Prefix B:C11::/32 summarizes Flex-Algo 128 block in egress domain for the 
              given intent. Node locators in the egress domain are sub-allocated from 
              the block.</t>
              </li>
              <li pn="section-appendix.c.2-3.1.2.2">
                <t indent="0" pn="section-appendix.c.2-3.1.2.2.1">Prefix B:C12::/32 summarizes Flex-Algo 128 block in transit domain.</t>
              </li>
              <li pn="section-appendix.c.2-3.1.2.3">
                <t indent="0" pn="section-appendix.c.2-3.1.2.3.1">Prefix B:C13::/32 summarizes Flex-Algo 128 block in ingress domain.</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.c.2-3.2">
            <t indent="0" pn="section-appendix.c.2-3.2.1">BGP CAR route B:C11::/32 is originated by ABRs 231 and 232 with LCM C1. 
            Along the propagation path, BRs set next-hop-self and appropriately 
            update the intra-domain encapsulation information for the C1 intent.
            For example, 231 and 121 signal SRv6 SID of End behavior 
            <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/> allocated from their respective 
            locators for the C1 intent. (Note: IGP Flexible Algorithm is shown for intra-domain path, 
            but SR Policy may also provide the path as shown in
            <xref target="SECSRv6EC" format="default" sectionFormat="of" derivedContent="Appendix C.3"/>.)</t>
          </li>
          <li pn="section-appendix.c.2-3.3">
            <t indent="0" pn="section-appendix.c.2-3.3.1">AIGP attribute influences BGP CAR route best path decision.</t>
          </li>
          <li pn="section-appendix.c.2-3.4">
            <t indent="0" pn="section-appendix.c.2-3.4.1">Egress PE E2 advertises a VPN route RD:V/v with SRv6 
            Service SID B:C11:2:DT4::. Service SID is allocated by E2 from its 
            locator of color C1 intent.</t>
          </li>
          <li pn="section-appendix.c.2-3.5">
            <t indent="0" pn="section-appendix.c.2-3.5.1">Ingress PE E1 learns CAR route B:C11::/32 and VPN route RD:V/v with 
            SRv6 SID B:C11:2:DT4::.</t>
          </li>
          <li pn="section-appendix.c.2-3.6">
            <t indent="0" pn="section-appendix.c.2-3.6.1">Traffic encapsulated with SRv6 Service SID B:C11:2:DT4:: is steered 
            along IPv6 routed path provided by BGP CAR IP Prefix route to locator 
            B:C11::/32.</t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.c.2-4">Important:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.c.2-5">
          <li pn="section-appendix.c.2-5.1">
            <t indent="0" pn="section-appendix.c.2-5.1.1">Uses longest prefix match of SRv6 Service SID to BGP CAR prefix. 
            There is no mapping labels/SIDs; there is simple IP-based forwarding instead.</t>
          </li>
          <li pn="section-appendix.c.2-5.2">
            <t indent="0" pn="section-appendix.c.2-5.2.1">Originating domain PE locators of the given intent can be summarized on 
            transit BGP hops eliminating per PE state on BRs.</t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.c.2-6">Packet forwarding:</t>
        <artwork align="left" pn="section-appendix.c.2-7">
@E1:   IPv4 VRF V/v =&gt; H.Encaps.red &lt;B:C13:121:END::, B:C11:2:DT4::&gt;
@121: My SID table: B:C13:121:END:: =&gt; Update DA with B:C11:2:DT4::
@121: IPv6 Table: B:C11::/32 =&gt; H.Encaps.red &lt;B:C12:231:END::&gt;
@231: My SID table: B:C12:231:END:: =&gt; Remove IPv6 header; 
                                       Inner DA B:C11:2:DT4::
@231: IPv6 Table B:C11:2::/48 =&gt; Forward via IS-ISv6 Flex-Algo
                                 path to E2
@E2: My SID table B:C11:2:DT4:: =&gt; Pop the outer header and look up 
				   the inner DA in the VRF
</artwork>
      </section>
      <section anchor="SECSRv6EC" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.c.3">
        <name slugifiedName="name-bgp-car-e-c-route-distribut">BGP CAR (E, C) Route Distribution for Steering Non-Routed Service SID</name>
        <figure anchor="SRv6EC" align="left" suppress-title="false" pn="figure-17">
          <artwork align="left" pn="section-appendix.c.3-1.1">
                          RD:V/v via E2
         +-----+          SRv6SID: B:01:2:DT4::     +-----+
  ...... |S-RR1| &lt;..................................|S-RR2| &lt;.......
  :      +-----+             Color C2               +-----+        :
  :                                                                :
  :                  +-----+ (E2,C2) via 231                       :
  : -----------------|T-RR |-------------------|                   :
  :|                 +-----+  SID=B:C21:2:B6:: |                   :
+-:|---------------------+---------------------|+------------------:--+
| :|                     |                     ||                  :  |
| :|                     |                     ||                  :  |
| :|  B:C21::/32 via 121 |  B:C21::/32 via 231 ||SR Policy(E2,C2)  :  |
| :|  LCM=C2,AIGP=110    |  LCM=C2 AIGP=10     ||BSID=B:C21:2:B6:: :  |
| :|                   +---+                  +---+                :  |
| :|-------------------|121|&lt;-----------------|231|&lt;-------------| :  |
| :V SR Policy(121,C2) +---+SR Policy(231,C2) +---+              | :  |
|----+                   |                      |               +-----|
| E1 |                   |                      |               | E2  |
|----+                   |                      |               +-----|
|  ^ SR Policy(122,C2) +---+SR Policy(232,C2) +---+              |    |
|  |----------------   |122|&lt;-----------------|232|&lt;-------------|    |
|    B:C21::/32 via 121+---+B:C21::/32 via 232+---+ SR Policy(E2,C2)  |
|    LCM=C2,AIGP=120     |   LCM=C2 AIGP=20     |   BSID=B:C21:2:B6:: |
|                        |                      |                     |
|        IS-ISv6         |      IS-ISv6         |     IS-ISv6         |
|     FA0 (B:03::/32)    |   FA0 (B:02::/32)    |   FA0(B:01::/32)    |
+------------------------+----------------------+---------------------+
 iPE                    iABR                   eABR                ePE
</artwork>
        </figure>
        <t indent="0" pn="section-appendix.c.3-2">The topology above is an example to illustrate the BGP CAR (E, C)
        route-based design (<xref target="SECNRSSID" format="default" sectionFormat="of" derivedContent="Section 7.1.2"/>). The example is iBGP,
        but the design also applies to eBGP (multi-AS).
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.c.3-3">
          <li pn="section-appendix.c.3-3.1">
            <t indent="0" pn="section-appendix.c.3-3.1.1">SR Policy (E2, C2) provides given intent in egress domain.
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.c.3-3.1.2">
              <li pn="section-appendix.c.3-3.1.2.1">
                <t indent="0" pn="section-appendix.c.3-3.1.2.1.1">SR Policy (E2, C2) with segments  &lt;B:01:z:END::, B:01:2:END::&gt;,
              where z is the node id in egress domain.</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.c.3-3.2">
            <t indent="0" pn="section-appendix.c.3-3.2.1">Egress ABRs 231 and 232 redistribute SR Policy into BGP CAR Type-1 NLRI
            (E2, C2) to other domains, with SRv6 SID of End.B6 behavior. This route is 
            propagated to ingress PEs through T-RR or inline through BRs (121 and 122) 
            with next-hop-unchanged.</t>
          </li>
          <li pn="section-appendix.c.3-3.3">
            <t indent="0" pn="section-appendix.c.3-3.3.1">The ABRs also advertise BGP CAR prefix route (B:C21::/32) summarizing locator 
            part of SRv6 SIDs for SR policies of given intent to different PEs in 
            egress domain. BGP CAR prefix route propagates through BRs. 
            At each BGP hop, BGP CAR prefix next-hop resolution triggers intra-domain 
            transit SR Policy (C2, CAR next hop). For example:
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.c.3-3.3.2">
              <li pn="section-appendix.c.3-3.3.2.1">
                <t indent="0" pn="section-appendix.c.3-3.3.2.1.1">SR Policy (231, C2) with segments &lt;B:02:y:END::, B:02:231:END::&gt;, and
                </t>
              </li>
              <li pn="section-appendix.c.3-3.3.2.2">
                <t indent="0" pn="section-appendix.c.3-3.3.2.2.1">SR Policy (121, C2) with segments &lt;B:03:x:END::, B:03:121:END::&gt;,</t>
              </li>
              <li pn="section-appendix.c.3-3.3.2.3">
                <t indent="0" pn="section-appendix.c.3-3.3.2.3.1">where x and y are node ids within the respective domains.</t>
              </li>
            </ul>
          </li>
          <li pn="section-appendix.c.3-3.4">
            <t indent="0" pn="section-appendix.c.3-3.4.1">Egress PE E2 advertises a VPN route RD:V/v with Color-EC C2.</t>
          </li>
          <li pn="section-appendix.c.3-3.5">
            <t indent="0" pn="section-appendix.c.3-3.5.1">Ingress PE E1 steers VPN route from E2 onto BGP CAR route (E2, C2) that 
            results in H.Encaps.red of SRv6 transport SID B:C21:2:B6:: and SRv6 Service SID 
            as last segment in IPv6 header.</t>
          </li>
          <li pn="section-appendix.c.3-3.6">
            <t indent="0" pn="section-appendix.c.3-3.6.1">IPv6 destination B:C21:2:B6:: match on CAR prefix B:C21::/32 that
            steers the packet into intra-domain (intent-aware) SR Policy on ingress PE E1 
            and ABR 121.</t>
          </li>
          <li pn="section-appendix.c.3-3.7">
            <t indent="0" pn="section-appendix.c.3-3.7.1">IPv6 packet destination B:C21:2:B6:: lookup in mySID table on ABR 
            231 or 232 results in END.B6 behavior (i.e., push of policy segments to E2).</t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.c.3-4">Important:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.c.3-5">
          <li pn="section-appendix.c.3-5.1">
            <t indent="0" pn="section-appendix.c.3-5.1.1">Ingress PE steers services via (E, C) CAR route as per 
            <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>.</t>
          </li>
          <li pn="section-appendix.c.3-5.2">
            <t indent="0" pn="section-appendix.c.3-5.2.1">In data plane (E, C), resolution results in IPv6 header destination being 
            SRv6 SID of END.B6 behavior whose locator is of given intent on 
            originating ABRs.</t>
          </li>
          <li pn="section-appendix.c.3-5.3">
            <t indent="0" pn="section-appendix.c.3-5.3.1">CAR IP Prefix route along the transit path provides simple Longest Prefix Match (LPM) IPv6 forwarding 
            along the transit BGP hops.</t>
          </li>
          <li pn="section-appendix.c.3-5.4">
            <t indent="0" pn="section-appendix.c.3-5.4.1">CAR NLRI Type-2 prefix summarizes binding SIDs of all SR policies on 
            originating ABR of a given intent to different PEs in egress domain. 
            This eliminates per PE state on transit routers.</t>
          </li>
        </ul>
        <t indent="0" pn="section-appendix.c.3-6">Packet forwarding:</t>
        <artwork align="left" pn="section-appendix.c.3-7">
@E1:   IPv4 VRF V/v =&gt; H.Encaps.red &lt;B:C21:2:B6::, B:0:E2:DT4::&gt;
                       H.Encaps.red &lt;SR Policy (C2,121) sid list&gt;
@121: My SID table: B:03:121:END:: =&gt; Remove outer IPv6 header; 
                                      Inner DA B:C21:2:B6::
@121: IPv6 Table: B:C21::/32 =&gt; H.Encaps.red &lt;SR Policy (C2,231) sid
                                                                list&gt;
@231: My SID table: B:02:231:END:: =&gt; Remove outer IPv6 header; 
                                      Inner DA B:C21:2:B6::

@231: MySIDtable B:C21:2:B6:: =&gt; H.Encaps.red &lt;SR Policy (C2,E2) sid
                                                                list&gt;
@E2: IPv6 Table B:0:2:DT4:: =&gt; Pop the outer header and look up the
                               inner DA in the VRF
</artwork>
      </section>
    </section>
    <section anchor="UPDATEPACKING" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.d">
      <name slugifiedName="name-car-safi-nlri-update-packin">CAR SAFI NLRI Update Packing Efficiency Calculation</name>
      <t indent="0" pn="section-appendix.d-1">
      CAR SAFI NLRI encoding is optimized for update packing. It allows 
      per-route information (for example, label, label index, and SRv6 SID encapsulation data) to be 
      carried in the non-key TLV part of NLRI. This allows multiple NLRIs to be packed in a
      single update message when other attributes (including LCM-EC, when present) are shared. 
      The table below shows a theoretical analysis calculated from observed BGP update message 
      size in operational networks. It compares total BGP data on the wire for CAR SAFI against encoding as specified in [RFC8277] in the following cases: an MPLS label (CASE A), an SR extension with MPLS
   (per-prefix label index in Prefix-SID attribute; see [RFC8669]) (CASE B), and
   an SRv6 SID (CASE C).
      The packing scenarios considered are as follows:</t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-appendix.d-2">
        <li pn="section-appendix.d-2.1">the ideal case (where the maximum number of routes are packed to the update message
	limit of 4k bytes),</li>
        <li pn="section-appendix.d-2.2">the practical case of average packing (where 5 routes share a set
	of BGP path attributes, and hence are packed in a single update
	message), and</li>
        <li pn="section-appendix.d-2.3">the worst case of no packing (where each route is in a separate update message).</li>
      </ul>
      <table anchor="UPFIGURE" align="center" pn="table-5">
        <name slugifiedName="name-summary-of-the-ideal-practi">Summary of the Ideal, Practical, and Worst Cases of Packing BGP Data</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Encoding</th>
            <th align="left" colspan="1" rowspan="1">BGP CAR NLRI</th>
            <th align="left" colspan="1" rowspan="1">NLRI as per <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/></th>
            <th align="left" colspan="1" rowspan="1">Result</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th colspan="4" align="left" rowspan="1">CASE A: Label</th>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">(Ideal)</td>
            <td align="left" colspan="1" rowspan="1">27.5 MB</td>
            <td align="left" colspan="1" rowspan="1">26 MB</td>
            <td rowspan="3" align="left" colspan="1">No degradation compared to encoding as specified in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>.</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">(Practical)</td>
            <td align="left" colspan="1" rowspan="1">86 MB</td>
            <td align="left" colspan="1" rowspan="1">84 MB</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">(Worst; no packing)</td>
            <td align="left" colspan="1" rowspan="1">325 MB</td>
            <td align="left" colspan="1" rowspan="1">324 MB</td>
          </tr>
          <tr>
            <th colspan="4" align="left" rowspan="1">CASE B: Label &amp; Label-Index</th>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">(Ideal)</td>
            <td align="left" colspan="1" rowspan="1">42 MB</td>
            <td align="left" colspan="1" rowspan="1">339 MB Packing not possible</td>
            <td rowspan="3" align="left" colspan="1">CAR SAFI encoding is more efficient by 88% in the best case and
      71% in the average case over the encoding as specified in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> (which precludes
      packing).</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">(Practical)</td>
            <td align="left" colspan="1" rowspan="1">99 MB</td>
            <td align="left" colspan="1" rowspan="1">339 MB Packing not possible</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">(Worst; no packing)</td>
            <td align="left" colspan="1" rowspan="1">339 MB</td>
            <td align="left" colspan="1" rowspan="1">339 MB</td>
          </tr>
          <tr>
            <th colspan="4" align="left" rowspan="1">CASE C: SRv6 SID</th>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">(Ideal)</td>
            <td align="left" colspan="1" rowspan="1">49 MB</td>
            <td align="left" colspan="1" rowspan="1">378 MB Packing not possible</td>
            <td rowspan="3" align="left" colspan="1">Results are similar to the SR-MPLS case. Transposition provides a further 20% reduction in BGP data.</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">(Practical)</td>
            <td align="left" colspan="1" rowspan="1">115 MB</td>
            <td align="left" colspan="1" rowspan="1">378 MB Packing not possible</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">(Worst; no packing)</td>
            <td align="left" colspan="1" rowspan="1">378 MB</td>
            <td align="left" colspan="1" rowspan="1">378 MB</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-appendix.d-4">This analysis considers 1.5 million routes (5 colors across 300k endpoints).</t>
      <t indent="0" pn="section-appendix.d-5">CASE A: BGP data exchanged for MPLS (non-SR):</t>
      <artwork align="left" pn="section-appendix.d-6">
    Consider 200 bytes of shared attributes
    CAR SAFI signals label in non-key TLV part of NLRI
       Each NLRI size for AFI 1 = 12(key) + 5(label) = 17 bytes
         Ideal packing:
          Number of NLRIs in 4k update size = 223 (4k-200/17)
          Number of update messages of 4k size = 1.5 million/223 = 6726
          Total BGP data on wire = 6726 * 4k = ~27.5 MB
         Practical packing (5 routes in update message):
          Size of update message = (17 * 5) + 200 = 285 
          Total BGP data on wire = 285 * 300k = ~86 MB
         No-packing case (1 route per update message):
          Size of update message = 17 + 200 = 217 
          Total BGP data on wire = 217 * 1.5 million = ~325 MB 
    SAFI 128 using encoding specified in RFC 8277 with label in NLRI
       Each NLRI size for AFI 1 = 13(key) + 3(label) = 16 bytes
         Ideal packing:
          Number of NLRIs in 4k update size = 237 (4k-200/16)
          Number of update messages of 4k size = 1.5 million/237 = ~6330
          Total BGP data on wire = 6330 * 4k = ~25.9 MB
         Practical packing (5 routes in update message):
          Size of update message = (16 * 5) + 200 = 280 
          Total BGP data on wire = 280 * 300k = ~84 MB
         No-packing case (1 route per update message):
          Size of update message = 16 + 200 = 216
          Total BGP data on wire = 216 * 1.5 million = ~324 MB
</artwork>
      <t indent="0" pn="section-appendix.d-7">CASE B: BGP data exchanged for SR-MPLS label index:</t>
      <artwork align="left" pn="section-appendix.d-8">
    Consider 200 bytes of shared attributes
    CAR SAFI signals label index in non-key TLV part of NLRI
       Each NLRI size for AFI 1 
			= 12(key) + 5(label) + 9(Index) = 26 bytes
         Ideal packing:
          Number of NLRIs in 4k update size = 146 (4k-200/26)
          Number of update messages of 4k size = 1.5 million/146 = 6726
          Total BGP data on wire = 10274 * 4k = ~42 MB
         Practical packing (5 routes in update message)
          Size of update message = (26 * 5) + 200 = 330 
          Total BGP data on wire = 330 * 300k = ~99 MB
         No-packing case (1 route per update message)
          Size of update message = 26 + 200 = 226 
          Total BGP data on wire = 226 * 1.5 million = ~339 MB 
    SAFI 128 using encoding specified in RFC 8277 with label in NLRI
       Each NLRI size for AFI 1 = 13(key) + 3(label) = 16 bytes
         Ideal packing:
          Not supported as label index is encoded in Prefix-SID 
							attribute
         Practical packing (5 routes in update message):
          Not supported as label index is encoded in Prefix-SID 
							attribute
         No-packing case (1 route per update message):
          Size of update message = 16 + 210 = 226
          Total BGP data on wire = 216 * 1.5 million = ~339 MB
</artwork>
      <t indent="0" pn="section-appendix.d-9">CASE C: BGP data exchanged with 128 bit single SRv6 SID:</t>
      <artwork align="left" pn="section-appendix.d-10">
    Consider 200 bytes of shared attributes
    CAR SAFI signals SRv6 SID in non-key TLV part of NLRI
       Each NLRI size for AFI 1 = 12(key) + 18(SRv6 SID) = 30 bytes
         Ideal packing:
          Number of NLRIs in 4k update size = 126 (4k-200/30)
          Number of update messages of 4k size = 1.5 million/126 = ~12k
          Total BGP data on wire = 12k * 4k = ~49 MB
         Practical packing (5 routes in update message):
          Size of update message 
			= (30 * 5) + 236 (including Prefix-SID) = 386 
          Total BGP data on wire = 386 * 300k = ~115 MB
         No-packing case (1 route per update message):
          Size of update message = 12 + 236 (SID in Prefix-SID) = 252 
          Total BGP data on wire = 252 * 1.5 million = ~378 MB 
    SAFI 128 using encoding specified in RFC 8277 with label in NLRI
    (No transposition)
       Each NLRI size for AFI 1 = 13(key) + 3(label) = 16 bytes
         Ideal packing: 
          Not supported as SRv6 SID is encoded in Prefix-SID 
							attribute
         Practical packing (5 routes in update message):
          Not supported as SRv6 SID is encoded in Prefix-SID 
							attribute
         No-packing case (1 route per update message):
          Size of update message = 16 + 236 = 252
          Total BGP data on wire = 252 * 1.5 million = ~378 MB
</artwork>
      <t indent="0" pn="section-appendix.d-11">BGP data exchanged with transposition of 4 bytes from SRv6 SID into SRv6 SID TLV:</t>
      <artwork align="left" pn="section-appendix.d-12">
    Consider 200 bytes of shared attributes
    CAR SAFI signals SRv6 SID in non-key TLV part of NLRI
       Each NLRI size for AFI 1 = 12(key) + 6(SRv6 SID) = 18 bytes
         Ideal packing:
          Number of NLRIs in 4k update size = 211 (4k-200/18)
          Number of update messages of 4k size = 1.5 million/211 = ~7110
          Total BGP data on wire = 7110 * 4k = ~29 MB
         Practical packing (5 routes in update message):
          Size of update message 
			= (18 * 5) + 236 (including Prefix-SID) = 326 
          Total BGP data on wire = 326 * 300k = ~98 MB
         No-packing case (1 route per update message):
          Size of update message 
			= 12 + 236 (SID in Prefix-SID attribute) = 252 
          Total BGP data on wire = 252 * 1.5 million = ~378 MB 
</artwork>
    </section>
    <section anchor="Acknowledgements" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.e">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.e-1">
      The authors would like to acknowledge the invaluable contributions of
      many collaborators towards the BGP CAR solution and this document in
      providing input about use cases, participating in brainstorming and
      mailing list discussions and in reviews of the solution and draft
      revisions. In addition to the contributors listed in the Contributors
      section, the authors would like to thank <contact fullname="Robert       Raszuk"/>, <contact fullname="Bin Wen"/>, <contact fullname="Chaitanya       Yadlapalli"/>, <contact fullname="Satoru Matsushima"/>, <contact fullname="Moses Nagarajah"/>, <contact fullname="Gyan Mishra"/>,
      <contact fullname="Jorge Rabadan"/>, <contact fullname="Daniel Voyer"/>,
      <contact fullname="Stephane Litkowski"/>, <contact fullname="Hannes       Gredler"/>, <contact fullname="Jose Liste"/>, <contact fullname="Jakub       Horn"/>, <contact fullname="Brent Foster"/>, <contact fullname="Dave       Smith"/>, <contact fullname="Jiri Chaloupka"/>, <contact fullname="Miya       Kohno"/>, <contact fullname="Kamran Raza"/>, <contact fullname="Zafar       Ali"/>, <contact fullname="Xing Jiang"/>, <contact fullname="Oleksander       Nestorov"/>, <contact fullname="Peter Psenak"/>, <contact fullname="Kaliraj Vairavakkalai"/>, <contact fullname="Natrajan       Venkataraman"/>, <contact fullname="Srihari Sangli"/>, <contact fullname="Ran Chen"/>, and <contact fullname="Jingrong Xie"/>. </t>
      <t indent="0" pn="section-appendix.e-2">The authors also appreciate the detailed reviews and astute
      suggestions provided by <contact fullname="Sue Hares"/> (as document
      shepherd), <contact fullname="Jeff Haas"/>, <contact fullname="Yingzhen       Qu"/>, and <contact fullname="John Scudder"/> that have greatly improved
      the document.</t>
    </section>
    <section anchor="Contributors" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.f">
      <name slugifiedName="name-contributors">Contributors</name>
      <t indent="0" pn="section-appendix.f-1">The following people gave substantial contributions to the content
        of this document and should be considered as coauthors:</t>
      <contact fullname="Clarence Filsfils">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <country>Belgium</country>
          </postal>
          <email>cfilsfil@cisco.com</email>
        </address>
      </contact>
      <contact fullname="Bruno Decraene">
        <organization showOnFrontPage="true">Orange</organization>
        <address>
          <postal>
            <country>France</country>
          </postal>
          <email>bruno.decraene@orange.com</email>
        </address>
      </contact>
      <contact fullname="Luay Jalil">
        <organization showOnFrontPage="true">Verizon</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>luay.jalil@verizon.com</email>
        </address>
      </contact>
      <contact fullname="Yuanchao Su">
        <organization showOnFrontPage="true">Alibaba, Inc</organization>
        <address>
          <email>yitai.syc@alibaba-inc.com</email>
        </address>
      </contact>
      <contact fullname="Jim Uttaro">
        <organization showOnFrontPage="true">Individual</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>juttaro@ieee.org</email>
        </address>
      </contact>
      <contact fullname="Jim Guichard">
        <organization showOnFrontPage="true">Futurewei</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>james.n.guichard@futurewei.com</email>
        </address>
      </contact>
      <contact fullname="Ketan Talaulikar">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <country>India</country>
          </postal>
          <email>ketant.ietf@gmail.com</email>
        </address>
      </contact>
      <contact fullname="Keyur Patel">
        <organization showOnFrontPage="true">Arrcus, Inc</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>keyur@arrcus.com</email>
        </address>
      </contact>
      <contact fullname="Haibo Wang">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <country>China</country>
          </postal>
          <email>rainsword.wang@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Jie Dong">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <country>China</country>
          </postal>
          <email>jie.dong@huawei.com</email>
        </address>
      </contact>
      <t indent="0" pn="section-appendix.f-2">Additional contributors:</t>
      <contact fullname="Dirk Steinberg">
        <organization showOnFrontPage="true">Lapishills Consulting Limited</organization>
        <address>
          <postal>
            <country>Germany</country>
          </postal>
          <email>dirk@lapishills.com</email>
        </address>
      </contact>
      <contact fullname="Israel Means">
        <organization showOnFrontPage="true">AT&amp;T</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>im8327@att.com</email>
        </address>
      </contact>
      <contact fullname="Reza Rokui">
        <organization showOnFrontPage="true">Ciena</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>rrokui@ciena.com</email>
        </address>
      </contact>
    </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="Dhananjaya Rao" initials="D" role="editor" surname="Rao">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>dhrao@cisco.com</email>
        </address>
      </author>
      <author fullname="Swadesh Agrawal" initials="S" role="editor" surname="Agrawal">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>swaagraw@cisco.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
