<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8277 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8277.xml">
<!ENTITY RFC8402 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8570 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8570.xml">
<!ENTITY RFC7311 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7311.xml">
<!ENTITY RFC8679 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8679.xml">
<!ENTITY RFC8029 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8029.xml">
<!ENTITY RFC8287 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8287.xml">
<!ENTITY RFC7471 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7471.xml">
<!ENTITY RFC8669 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8669.xml">
<!ENTITY RFC4364 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4364.xml">
<!ENTITY RFC1997 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1997.xml">
<!ENTITY RFC6388 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6388.xml">
<!ENTITY RFC5357 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5357.xml">
<!ENTITY RFC7510 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7510.xml">
<!ENTITY RFC8604 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8604.xml">
<!ENTITY RFC7665 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7665.xml">
<!ENTITY RFC4684 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4684.xml">
<!ENTITY RFC5065 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5065.xml">
<!ENTITY RFC8986 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8986.xml">
<!ENTITY RFC9012 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.9012.xml">
<!ENTITY RFC9256 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.9256.xml">
<!ENTITY RFC9350 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.9350.xml">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="info" docName="draft-hr-spring-intentaware-routing-using-color-02" ipr="trust200902">
<front>
  <title abbrev="Intent-aware Routing using Color">Problem statement for Inter-domain Intent-aware Routing using Color</title>

 <author initials="S." surname="Hegde" fullname="Shraddha Hegde (Editor)">
    <organization>Juniper Networks Inc.</organization>
    <address>
      <postal>
        <street>Exora Business Park</street>
        <city>Bangalore</city>
        <region>KA</region>
        <code>560103</code>
        <country>India</country>
      </postal>
      <email>shraddha@juniper.net</email>
    </address>
  </author>
  <author initials="D." surname="Rao" fullname="Dhananjaya Rao (Editor)">
    <organization>Cisco Systems </organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>USA</country>
      </postal>
      <email>dhrao@cisco.com</email>
    </address>
  </author>
  <author initials="S." surname="Sangli" fullname="Srihari Sangli (Editor)">
    <organization>Juniper Networks Inc.</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>India</country>
      </postal>
      <email>ssangli@juniper.net</email>
    </address>
  </author>
  <author initials="S." surname="Agrawal" fullname="Swadesh Agrawal">
    <organization>Cisco Systems</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>USA</country>
      </postal>
      <email>swaagraw@cisco.com</email>
    </address>
  </author>
  <author initials="C." surname="Filsfils" fullname="Clarence Filsfils">
    <organization>Cisco Systems</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>Belgium</country>
      </postal>
      <email>cfilsfils@cisco.com</email>
    </address>
  </author>
  <author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar">
    <organization>Cisco Systems</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>India</country>
      </postal>
      <email>ketan.ietf@gmail.com</email>
    </address>
  </author>
  <author initials="K." surname="Patel" fullname="Keyur Patel">
    <organization>Arrcus, Inc</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>USA</country>
      </postal>
      <email>keyur@arrcus.com</email>
    </address>
  </author>
  <author initials="J." surname="Uttaro" fullname="James Uttaro">
    <organization>Independent Contributor</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country></country>
      </postal>
      <email>juttaro@ieee.org</email>
    </address>
  </author>
  <author initials="B." surname="Decraene" fullname="Bruno Decraene">
    <organization>Orange </organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>France </country>
      </postal>
      <email>bruno.decraene@orange.com</email>
    </address>
  </author>
  <author initials="A." surname="Bogdanov" fullname="Alex Bogdanov">
    <organization>BT </organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country></country>
      </postal>
      <email>alex.bogdanov@bt.com</email>
    </address>
  </author>
  <author initials="L." surname="Jalil" fullname="Luay Jalil">
    <organization>Verizon</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country></country>
      </postal>
      <email>luay.jalil@verizon.com</email>
    </address>
  </author>
  <author initials="X." surname="Xu" fullname="Xiaohu Xu">
    <organization>China Mobile</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country></country>
      </postal>
      <email>13910161692@qq.com</email>
    </address>
  </author>
  <author initials="A." surname="Gulko" fullname="Arkadiy Gulko">
    <organization>EdwardJones</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country></country>
      </postal>
      <email>arkadiy.gulko@edwardjones.com</email>
    </address>
  </author>
  <author initials="M." surname="Khaddam" fullname="Mazen Khaddam">
    <organization>Cox communications</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country></country>
      </postal>
      <email>mazen.khaddam@cox.com</email>
    </address>
  </author>
  <author fullname="Luis M. Contreras"
    initials="LM."
    surname="Contreras">
    <organization abbrev="Telefonica">
      Telefonica
    </organization>
    <address>
      <postal>
        <street>Ronda de la Comunicacion, s/n</street>
        <street>Sur-3 building, 3rd floor</street>
        <city>Madrid</city>
        <code>28050</code>
        <country>Spain</country>
    </postal>
    <email>luismiguel.contrerasmurillo@telefonica.com</email>
    <uri>http://lmcontreras.com/</uri>
    </address>
  </author>
  <author initials="D." surname="Steinberg" fullname="Dirk Steinberg">
    <organization>Lapishills Consulting Limited </organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country> Germany</country>
      </postal>
      <email>dirk@lapishills.com</email>
    </address>
  </author>
  <author initials="J." surname="Guichard" fullname="Jim Guichard">
    <organization>Futurewei </organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>USA </country>
      </postal>
      <email>james.n.guichard@futurewei.com</email>
    </address>
  </author>
  <author initials="W." surname="Henderickx" fullname="Wim Henderickx">
    <organization>Nokia </organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>Belgium </country>
      </postal>
      <email>wim.henderickx@nokia.com</email>
    </address>
  </author>
  <author initials="C." surname="Bowers" fullname="Chris Bowers">
    <organization></organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>USA</country>
      </postal>
      <email>xyz@xyz.com</email>
    </address>
  </author>

  <date year="2023"/>

  <area>Routing</area>
  <workgroup>SPRING</workgroup>
  <keyword>MPLS</keyword>
  <keyword>BGP-LU</keyword>
  <keyword>AS</keyword>
  <keyword>IGP</keyword>
  <keyword>SPRING</keyword>
  <keyword>LDP</keyword>
  <keyword>RSVP</keyword>
  <keyword>SLO</keyword>
  <abstract>
  <t>
    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>

  <note title="Requirements Language">
    <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
    document are to be interpreted as described in <xref
    target="RFC2119">RFC 2119</xref>.</t>
  </note>

</front>

<middle>

<section title="Introduction" anchor='sec_introduction'>
  <t> Evolving trends in wireless access technology, cloud applications, virtualization, and network consolidation all contribute to the increasing demands being placed on a common packet network. In order to meet these demands, a given network will need to scale horizontally in terms of its bandwidth, absolute number of nodes, and geographical extent.  The same network will need to extend vertically in terms of the different services and variety of intent that it needs to simultaneously support.
  </t> 
  <t> In order to operate networks with large numbers of devices, network operators organize networks into multiple smaller network domains. Each network domain typically runs an IGP which has complete visibility within its own domain, but limited visibility outside of its domain.  Network operators will continue to use multiple domains to scale horizontally. In MPLS based networks BGP-LU (RFC8277) has been widely deployed for providing reachability across multiple domains. 
  </t> 
  <t> The evolving network requirements (e.g. 5G, native cloud) in such a multi-domain network requires the establishment of paths that span multiple domains or AS's while maintaining specific transport characteristics or intent (e.g. bandwidth, latency). There is also a need to provide flexible, scalable, and reliable end-to-end connectivity for multiple services across the network domains.
  </t>

  <section title="Objectives" anchor='sec_objectives'>
    <t> This document describes requirements for scalable, intent-aware reachability across multiple domains.
    </t>
    <t> The base problem that it focuses on is the BGP-based delivery of an intent across several transport domains, however the requirements may also apply to other distributed solutions.
    </t>
    <t> The problem space is then widened to include any intent (including Network Function Virtualization (NFV) chains and their location), any data plane and the application of intent-based routing to the Service/VPN routes.
    </t>
    <t> It is intended that the requirements enable the design of technology and protocol extensions that address the widest application, while ensuring consistency and compatibility with existing deployed solutions.
    </t>
  </section>
</section>

<section title="Typical large scale network deployment scenarios" anchor='sec_typical_large_scale_network_deployment_scenarios'>
  <t> This section describes a few typical deployment scenarios that involve large-scale multi-domain network designs and use of various topology, IGP and BGP routing models. While the examples use specific types of deployments for illustration, neither the use-cases nor the network designs are limited to any particular provider deployment.
  </t>

  <section title="5G access networks" anchor ='sec_5G_access_networks'>
    <t> Service Provider networks can contain many nodes distributed over a large geographic area. 5G networks can include as many as one million nodes, with the majority of those being radio access nodes. Radio and access nodes may be constrained by their memory and processing capabilities.
    </t>
    <t> Such transport networks use multiple domains to support scalability.  For this analysis, we consider a representative network design with four level of hierarchy: access domains, pre-aggregation domains, aggregation domains and a core.  (See <xref target = 'reference_diagram1' />). The separation of domains internal to the service provider can be performed by using either IGP or BGP.
    </t>
    <t>
    <figure anchor="reference_diagram1" title="5G network">
      <artwork>
        
              +-------+   +-------+   +------+   +------+
              |       |   |       |   |      |   |      |
           +--+ P-AGG1+---+ AGG1  +---+ ABR1 +---+ LSR1 +--> to ABR
          /   |       |  /|       |   |      |   |      |
   +----+/    +-------+\/ +-------+   +------+  /+------+
   | AN |              /\                     \/
   +----+\    +-------+  \+-------+   +------+/\ +------+
          \   |       |   |       |   |      |  \|      |
           +--+ P-AGG2+---+ AGG2  +---+ ABR2 +---+ LSR2 +--> to ABR
              |       |   |       |   |      |   |      |
              +-------+   +-------+   +------+   +------+

   ISIS L1       ISIS L2                   ISIS L2 

   |-Access-|--Aggregation Domain--|---------Core-----------------|
   
    </artwork>
    </figure>
    </t>
    
    <t> 5G networks support a variety of service use cases that may require end to-end network slicing. In certain cases, the end-to-end connectivity requires the ability to forward over intent-aware paths, such as paths delivering low-delay.  The inter-domain routing solution should support the establishment of end to end paths that address specific intent requirements, as well as support multiple such paths to address slicing requirements.
    </t>
  </section>

  <section title="WAN networks for Content distribution" anchor='sec_wan_networks_for_content_distribution'>

    <t> Networks built for providing delivery of content are geographically distributed by design to provide connectivity in multiple regions and sharing of data across regions.
    </t>

    <t> As these WAN networks grow beyond several thousand nodes, they are divided into multiple IGP domains for scale and reliability. An illustration is provided in in <xref target = 'reference_diagram2' />.
    </t>

    <t>
    <figure anchor="reference_diagram2" title="Content distribution WAN Example">
    <artwork>
        
              +-------+     +-------+     +-------+
              |       |     |       |     |       |           
              |     ABR1  ABR2    ABR3   ABR4     |  
              |       |     |       |     |       |           
           PE1+   D1  +-----+  D2   +-----+   D3  +PE2
              |       |     |       |     |       |
              |     ABR11  ABR22  ABR33  ABR44    |
              |       |     |       |     |       |
              +-------+     +-------+     +-------+
     

             |-ISIS1-|      |-ISIS2-|     |-ISIS3-|
   
    </artwork>
    </figure>
    </t>
    
    <t> These large WAN networks often cross national boundaries. In order to meet data sovereignty requirements, operators need to maintain strict control over end-to-end traffic-engineered (TE) paths.  A distributed inter-domain solution should be able to create highly constrained inter domain TE paths in a scalable manner.
    </t>
    <t> Some deployments may use a controller to acquire the topologies of multiple domains and build end-to-end constrained paths.  This approach can be scaled with hierarchical controllers. However, there is still a risk of a loss of network connectivity to one or more controllers, which could lead to a failure to satisfy the strict requirements of data sovereignty. The network should be able to have pre-established TE paths end-to-end that don't rely on controllers, to address these failure scenarios.
    </t>
  </section>

  <section title="Data Center Inter-connect Networks " anchor='sec_data_center_inter_connect_networks'>
    <t> Distributed data centers are playing an increasingly important role in providing access to information and applications.  Geographically diverse data centers are usually connected via a high speed, reliable and secure DC WAN core network.
    </t>

    <t> One variation of a DCI topology is shown in .<xref target = 'reference_diagram3' />.
    </t>

    <figure anchor="reference_diagram3" title="DCI Network">
    <artwork>
        
              +-------+     +-------+     +-------+   
              |     ASBR1 ASBR2 ASBR3   ASBR4     |  
              |       |     | DC WAN|     |       |           
           PE1+  DC1  +-----+  CORE +-----+  DC2  +PE2
              |    ASBR11  ASBR22 ASBR33 ASBR44   |
              |       |     |       |     |       |
              +-------+     +-------+     +-------+
     

              |-ISIS1-|      |-ISIS2-|    |-ISIS3-|
   
    </artwork>
    </figure>
    
    <t> In many DC WAN deployments, applications require end-to-end path diversity and end-to-end low latency paths.
    </t>

    <t> Another consideration in DC WAN deployments is the choice of encapsulation technologies. Some deployments use the same tunneling mechanism within the DC and DCI networks, while other deployments use different mechanisms in each. It is important for a solution to provide flexibility in choice of tunneling mechanisms across domains.
    </t>
  </section> 
</section>

<section title="Use Cases for Inter-domain Intent-based Transport" anchor='sec_use_cases_for_inter_domain_intent_based_transport'>

  <t> The use cases for inter-domain intent-based packet transport described in this section are intended to provide motivation for the requirements that follow. They apply to all the different deployment scenarios described above.
  </t>

  <section title="Inter-domain Data Sovereignty" anchor='sec_inter-domain_data_servereignty'>
    <figure anchor="reference_diagram4" title="Multi domain Network">
    <artwork>
       
              +-----------+     +-----------+     +-----------+   
              |           |     |  +-+  AS2 |     |           |
              |           A1+--+A2 | |      A3+--+A4          | 
           PE1+    AS1    |     |  |Z|      |     |     AS3   +PE3
              |           A5+--+A6 | |      A7+--+A8          |
              |           |     |  +-+      |     |           |
              +--A13--A15-+     +-A17--A19--+     +-----------+
                 |     |           |    |                  
                 |     |           |    |
                 |     |           |    | 
              +--A14--A16-+     +-A18--A20--+       
              |           |     |           |     
              |          A9+--+A10          |
           PE4+   AS4     |     |   AS5     |  
              |          A11+-+A12          |
              |           |     |           | 
              +-----------+     +-----------+ 
                           
    </artwork>
    </figure>
  
    <t> Figure 4 depicts an example of a WAN with multiple ASes, where each AS serves a continent. Certain traffic from PE1 (in AS1) to PE3 (in AS3) must not traverse country Z in AS2.  However, all paths from AS1 to AS3 traverse AS 2.  The inter-domain solution should provide end-to-end path creation that traverses AS 2 but avoids country Z. 
    </t>

    <t> In other networks, the domain to avoid may encompass an entire AS.
    </t>
  </section>

  <section title="Inter-domain Low-Latency Services" anchor='sec_Inter-domain_low-Latency_Services'>
    <t> Service provider networks running L2 and L3VPNs carry traffic for particular VPNs on low-latency paths that traverse multiple domains.
    </t>
  </section>

  <section title="Inter-domain Service Function Chaining" anchor='sec_Inter-domain_Service_Function_Chaining'>
    <t> RFC7665 defines service function chaining as an ordered set of service functions and automated steering of traffic through this set of service functions. There could be a variety of service functions such as firewalls, parental control, CGNAT etc. In 5G networks these functions may be completely virtualized or could be a mix of virtualized functions and physical appliances.  It is required that the inter-domain solution caters to the service function chaining requirements. The service functions may be virtualized and spread across different data centers attached to different domains.
    </t>
  </section>

  <section title="Inter-domain Multicast Use cases" anchor='sec_Inter-domain_multicast_use_cases'>
    <t> Multicast services such as IPTV and multicast VPN also need 
    to be supported across a multi-domain service provider network.
    </t>
    
    <figure anchor="reference_diagram5" title="Multicast use cases">
    <artwork>
        
              +---------+---------+---------+   
              |         |         |         |
              S1       ABR1      ABR2       R1            
              | Metro1  |  Core   |  Metro2 |
              |         |         |         |     
              S2       ABR11     ABR22      R2
              |         |         |         |
              +---------+---------+---------+
     

              |-ISIS1-|  |-ISIS2-|  |-ISIS3-|
   
    </artwork>
    </figure>
    
    <t>
    <xref target="reference_diagram5"/> shows a simplified multi-domain
    network supporting multicast. Multicast sources S1 and S2 are in a different domain from the receivers R1 and R2. The solution should support  establishment of intent-aware multicast distribution trees (P tunnels) across the domains and steer customer multicast streams on it. It should maintain the scaling properties of a multi-domain architecture by avoiding leaking of RPF routing state into the IGP domains.
    </t>
  </section>
</section>

<section title="Deployment use cases" anchor='sec_deployment_use_cases'>
  <section title="Network Domains under different administration" anchor='ec_network_domains_under_different_administration'>

    <figure anchor="reference_diagram6" title="Networks with inconsistent intent mappings">
    <artwork>

             +-----------+                +-----------+
             |           ASBR1           ASBR2        |
             |           |                |           |
          PE1+  AS1      +----------------+    AS2    +PE2
             |           ASBR11          ASBR22       |
             |           |                |           |
             +-----------+                +-----------+

    </artwork>
    </figure>

    <t> In diagram Figure 5 above, AS1 and AS2 may be operating as closely coordinated but independent administrative domains, and still require end-to-end paths across the two ASes to deliver services. This scenario could be a result of a merger. It is possible that AS1 and AS2 may have assigned different values for the same intent.
    </t>
    <t> In some cases, organizations may continue to use option A or option B [RFC4364] style interconnectivity in which case the inter-domain solution should satisfy intent of the path on inter-domain links for the service prefixes.  In other cases, organizations may prefer to use option C style connectivity from PE1 to PE2.
    </t>
    <t> An inter-domain solution should provide effective mechanisms to translate intent across domains without requiring renumbering of the intent mapping.
    </t>
  </section>
</section>

<section title="Intent-Aware Routing Framework" anchor='sec_intent-aware_routing_framework'>
  <t> This section describes the basic concepts, terminologies and architectural principles that define intent-aware routing and the protocols and technologies that currently support it. The goal of this section is to establish the requirement for consistency with existing deployed solutions and describe the framework for it.
  </t>
  <t> The figure below is used as reference.
  </t>
  <figure anchor="reference_diagram7" title="Intent-aware routing using color reference topology">
  <artwork>

                 +-----------------------------------+
                 |----+                         +----|
                 | E1 |                         | E2 |- V/v with C
                 |----+                         +----|
                 +-----------------------------------+

  </artwork>
  </figure>

  <section title="Intent" anchor='sec_intent'>
    <t> Intent in routing may be any combination of the following behaviors:
    <list style="symbols">
      <t> Topology path selection (e.g. minimize metric, avoid resource)
      </t>
      <t> NFV service insertion (e.g. service chain steering)
      </t>
      <t> Per-hop behavior (e.g.  QoS for 5G slice)
      </t>
    </list>
    </t>
    <t> An intent-aware routed path may be within a single network domain or across multiple domains.
    </t>
  </section>

  <section title="Color" anchor='sec_color'>
    <t> Color is a 32-bit numerical value that is associated with an intent, as defined in [RFC9256]
    </t>
  </section>

  <section title="Colored Service Route" anchor='sec_colored_service_route'>
    <t> An Egress PE E2 colors a BGP service (e.g. VPN) route V/v to indicate the particular intent that E2 requests for the traffic bound to V/v.  The color (C) is encoded as a BGP Color Extended community <xref target="RFC9012" />.
    </t>
  </section>

  <section title="Intent-Aware Route using Color" anchor='sec_intent-aware_route'>
    <t> (C, E2) represents a intent-aware route to E2 which satisfies the intent associated with color C.
    </t>
    <t> Multiple technologies already provide intent-aware paths in solutions that are widely deployed.
    <list style="symbols">
      <t> SR Policy <xref target="RFC9256" />
      </t>
      <t> IGP Flex-Algo <xref target="RFC9350" />
      </t>
    </list>
    </t>
    <t> In the context of large-scale SR-MPLS networks, SR Policy is applicable to both intra-domain and inter-domain deployments; whereas IGP Flex-Algo is better suited to intra-domain scenarios.
    </t>
  </section>

  <section title="Service Route Automated Steering on intent-aware route using color" anchor='sec_Service_Route_Automated_Steering_on_intent-aware_Color-aware_route'>
    <t> An ingress PE E1 automatically steers V-destined packets onto a intent-aware path bound to (C, E2).  If several such paths exist, a preference scheme is used to select the best path: E.g.  IGP Flex-Algo first, then SR Policy.
    </t>
  </section>

  <section title="Inter-Domain intent-aware routing using colors with SR Policy" anchor='sec_Inter-Domain_intent-aware_color-aware_routing_with_SR_Policy'>
    <t> If E1 and E2 are in different domains, E1 may request an SR-PCE in its domain for a path to (C, E2).  The SR-PCE (or a set of them) computes the end-to-end path and installs it at E1 as an SR Policy. The end-to-end intent-aware path may seamlessly cross multiple domains.
    </t>
  </section>

  <section title="Motivation for a BGP-based intent-aware routing solution using colors" anchor='sec_Motivation_for_a_BGP-based_intent-awre_color-aware_routing_solution'>
    <t> While the following requirements may be covered with an SR Policy solution, an operator may prefer a BGP-based solution due to:
    <list style="symbols">
      <t> Operational familiarity and expectation of incremental evolution from an existing Seamless-MPLS/BGP-LU inter-domain deployment <xref target="I-D.ietf-mpls-seamless-mpls" />
      </t>
      <t> Expectation of higher scale with BGP
      </t>
      <t> Expectation of a familiar operational trust model between BGP domains (peering policy)
      </t>
    </list>
    </t>
  </section>

  <section title="BGP Intent-Aware Routing using Color" anchor='sec_BGP_intent-aware_color-aware_Routing'>
    <t> A BGP Intent-Aware Routing solution signals intent-aware routes to reach a given destination (e.g. E2).  (C, E2) represents a BGP hop-by-hop distributed route that builds an inter-domain intent-aware path to E2 for color C.
    </t>
  </section>

  <section title="Architectural consistency among intent-aware routing solutions using colors" anchor='sec_Architectural_consistency_among_intent-aware_color-aware_routing_solutions'>
    <t> As seen above, multiple technologies exist that provide intent aware routing in a network.  A BGP based solution must be compliant with the existing principles that apply to them. 
    </t>
    <t> A deployment model that provides consistency is as follows:
    <list style="symbols">
      <t> Service routes are colored using BGP Color Extended-Community to request intent [RFC9256]
      <list style="symbols">
        <t> V/v via E, colored with C </t>
      </list>
      </t>
      <t> Colored service routes are automatically steered on an appropriate intent-aware path using color
      <list style="symbols">
        <t> V/v via E with C is steered via (E, C) </t>
        <t> (E, C) provided by any intent-aware technology or protocol </t>
      </list>
      </t>
      <t> Intent-aware routes may resolve recursively via other intent-aware routes
      <list style="symbols">
        <t> (E, C) via N recursively resolves via (N, C) </t>
      </list>
      </t>
    </list>
    </t>
    <t> Here is a brief example that illustrates these principles.  </t>

    <figure anchor="reference_diagram8" title="Inter-domain intent-aware routing using color reference topology">
    <artwork>
   

     
  +----------------+  +----------------+  +----------------+
  |                |  |                |  |                | V/v with C1
  |----+          +----+              +----+          +----|/
  | E1 |          | N1 |              | N2 |          | E2 |\
  |----+          +----+              +----+          +----| W/w with C2
  |                |  |                |  |                |
  |    Domain 1    |  |    Domain 2    |  |    Domain 3    |
  +----------------+  +----------------+  +----------------+

    </artwork>
    </figure>

    <t> In the figure above, all the nodes are part of an inter-domain network under a single authority and with a consistent color-to-intent mapping:
    <list style="symbols">
      <t> Color C1 is mapped to "low delay"
      <list style="symbols">
        <t> Flex-Algo FA1 is mapped to "low delay" and hence to C1 in each domain
        </t>
      </list>
      </t>
      <t> Color C2 is mapped to "low delay and avoid resource R"
      <list style="symbols">
        <t> Flex-Algo FA2 is mapped to "low delay and avoid resource R" and hence to C2 in each domain
        </t>
      </list>
      </t>
    </list>
    E1 receives two BGP colored service routes from E2:
    <list>
      <t>
      <list style="symbols">
        <t> V/v with BGP Color Extended community C1 </t>
        <t> W/w with BGP Color Extended community C2 </t>
      </list>
      </t>
    </list>
    </t>
    <t> E1 has the following inter-domain intent-aware paths using color:
    <list style="symbols">
      <t> (E2, C1) provided by BGP which recursively resolves via intra-domain intent-aware paths:
      <list style="symbols">
          <t> (N1, C1) provided by IGP FA1 in Domain1
          </t>
          <t> (N2, C1) provided by SR Policy bound to color C1 in Domain2
          </t>
      </list>
      </t>
      <t> (E2, C2) provided by SR Policy
      </t>
    </list>
    E1 automatically steers the received colored service routes as follows:
    <list>
      <t>
      <list style="symbols">
        <t> V/v via (E2, C1) provided by BGP intent-aware route using color
        </t>
        <t> W/w via (E2, C2) provided by SR Policy
        </t>
      </list>
      </t>
    </list>
    </t>
    <t> The example illustrates the benefits provided by leveraging the architectural principles:
    <list style="symbols">
      <t> Seamless co-existence of multiple intent-aware technologies, e.g. BGP and SR Policy
      <list style="symbols">
        <t> V/v is steered on BGP intent-aware path </t>
        <t> W/w is steered on SR Policy intent-aware path </t>
      </list>
      </t>
      <t> Seamless and complementary interworking between different intent-aware technologies
      <list style="symbols">
        <t> V/v is steered on a BGP intent-aware path that is itself resolved within domain 2 onto an SR Policy bound to the color of V/v
        </t>
      </list>
      </t>
      <t> Another benefit that can be extrapolated from the example is that intent-aware routes from different technologies may serve as alternative paths for the same intent.
      </t>
    </list>
    </t>
  </section>
</section>

<section title="Technical Requirements" anchor='sec_technical_requirements'>
  <section title="Intent Requirements" anchor='sec_intent_requirements'>
    <t> The BGP Intent-Aware routing solution must support the following intents bound to a color:
    <list style="symbols">
      <t> Minimization of a cost metric vs a latency metric
      <list style="symbols">
        <t> Minimization of different metric types, static and dynamic </t>
      </list>
      </t>
      <t> Exclusion/Inclusion of SRLG and/or Link Affinity and/or minimum MTU/number of hops
      </t>
      <t> Bandwidth management
      </t>
      <t> In the inter-domain context, exclusion/inclusion of entire domains, and border routers
      </t>
      <t> Inclusion of one or several virtual network function chains
      <list style="symbols">
        <t> Located in a regional domain and/or core domain, in a DC </t>
      </list>
      </t>
      <t> Localization of the virtual network function chains
      <list style="symbols">
        <t> Some functions may be desired in the regional DC or vice versa </t>
      </list>
      </t>
    </list>
    </t>
    <t> Subsequent sections elaborate on these requirements.
    </t>

    <section title="Transport Network Intent Requirements" anchor='sec_Transport_Network_Intent_Requirements'>
      <t> The requirements described in this document are mostly applicable to network under a single administrative domain that are organized into multiple network domains.  The requirements are also applicable to multi-AS networks with closely cooperating administration.
      </t>
      <t> The network diagram below illustrates the reference network topology used in this section
      </t>

      <figure anchor="reference_diagram9" title="Transport Network Intent Requirements Reference Diagram">
      <artwork>

         +-----+                +-----+                  +-----+
    .....|S-RR1|  ............. |S-RR2|  ............... |S-RR3|  ...
    :    +-----+                +-----+                  +-----+    :
    :                                                               :
    :                                                               :
    :                                                               :
 +--:--------------+       +-----------------+       +--------------:--+
 |  :              |       |                 |       |              :  |
 |  :              |-------|                 |-------|              :  |
 |  :          +---|  D=20 |---+         +---|  D=25 |---+          :  |
 |  :          |121|-------|211|         |231|-------|321|          :  |
 |  :          +---| \   / |---+         +---| \   / |---+          :  |
 |----+            |  \ /  |                 |  \ /  |            +----|
 |PE11|            |   V   |                 |   V   |            |PE31|
 |----+            |  / \  |                 |  / \  |            +----|
 |             +---| /   \ |---+         +---| /   \ |---+             |
 |----+        |122|-------|212|         |232|-------|322|        +----|
 |PE12|        +---|  D=15 |---+         +---|  D=10 |---+        |PE32|
 |----+            |       |                 |       |            +----|
 |    Domain 1     |       |    Domain 2     |       |    Domain 3     |
 +-----------------+       +-----------------+       +-----------------+

      </artwork>
      </figure>

      <t> The following network design assumptions apply to the reference topology above, as an example:
      <list style="symbols">
        <t> Independent ISIS/OSPF SR instance in each domain.
        </t>
        <t> eBGP peering link between ASBRs (121-211, 121-212, 122-211, 122-212, 231-321, 231-322, 232-321 and 232-322).
        </t>
        <t> Peering links have equal cost metric.
        </t>
        <t> Peering links have delay configured or measured as shown by "D". D=50 for cross peering links.
        </t>
        <t> The cross links between ASBRs share the same risk.
        </t>
        <t> The top parallel link between 121-211 shares same risk with the link 122-212.
        </t>
        <t> The top parallel link between 231-321 shares same risk with the link 232-322.
        </t>
        <t> VPN service is running from PE31, PE32 to PE11, PE12 via service RRs (S-RRn in figure).
        </t>
      </list>
      </t>
      <t> Intent-aware inter-domain routing information to end point E with intent C is represented using (C,E). The notation used is a representation of the intent-aware route using color, and does not indicate a specific protocol encoding.
      </t>
      <t> The following sections illustrate requirements and provide detailed examples for several intent types.
      </t>

      <section title="Minimization of end-to-end metric" anchor="sec_minimization_of_end-to-end_metric">
        <t> Various metric types can be advertised within an IGP domain and minimum metric paths can be computed within IGP domain, with Flex-Algo [RFC9350] for instance.
        </t>
        <t> The BGP solution should allow the establishment of inter-domain intent-aware paths with low values of a metric type, accumulated over the end-to-end path.
        </t>
        <t> In the reference topology of <xref target="reference_diagram9" />
        <list>
          <t>
          <list style="symbols">
            <t> Each domain has Algo 0 and Flex Algo 128 </t>
            <t> Algo 0 is for minimum cost metric(cost optimized).  </t>
            <t> Flex Algo 128 definition is for minimum delay (low latency).  </t>
          </list>
          </t>
        </list>
        <list style="symbols">
          <t> Cost Optimized end-to-end path
          <list style="symbols">
            <t> Color C1 - Minimum cost intent.
            </t>
            <t> Intent-aware route for C1 sets up path(s) between PEs for end-to-end minimum cost.
            </t>
            <t> These paths traverse over intra-domain Algo 0 in each domain and account for the peering link cost between ASBRs.
            </t>
            <t> Example: PE11 learns (C1, PE31) intent-aware route via several equal paths:
            <list style="symbols">
              <t> One such path is through FA0 to node 121, links 121-211, FA0 to 231, link 231-321, FA0 to PE31
              </t>
              <t> Another such path is through FA0 to node 122, link 122-212, FA0 to 232, link 232-322, FA0 to PE31.
              <list style="symbols">
                <t> PE11 may load-balance among these paths
                </t>
              </list>
              </t>
            </list>
            </t>
            <t> On PE11, VPN routes from PE31 colored with C1 are steered via (C1, PE31) intent-aware route.
            </t>
          </list>
          </t>
          <t> Latency Optimized End-to-end path
          <list style="symbols">
            <t> Color C2 - Minimum latency intent.
            </t>
            <t> BGP Intent-aware route for C2 advertises path(s) between PEs for end-to-end minimum delay.
            </t>
            <t> These paths traverse over intra-domain Flex-Algo 128 in each domain and account for the peering link delay between ASBRs.
            </t>
            <t> Example: PE11 learns (C2, PE31) intent-aware route and best path is through FA128 to node 122, link 122-212, FA128 to 232, link 232-322, FA128 to PE31.
            </t>
            <t> On PE11, VPN routes from PE31 colored with C2 are steered via (C2, PE31) intent-aware route.
            </t>
          </list>
          </t>
        </list>
        </t>
      </section>
      
      <section title="Exclusion/inclusion of link affinity" anchor='sec_exclusion_inclusion_of_link_affinity'>
        <t> The Intent-aware BGP routing solution should allow the establishment of inter-domain paths that satisfy link affinity inclusion/exclusion constraints. The link affinity constraints should also be satisfied for inter-domain links, such as those between ASBRs. 
        </t>
        <t> Using the reference topology of Figure 7 for the example below:
        </t>
        <t>
        <list style="symbols">
          <t> Color C3 - Intent to Minimize cost metric and avoid purple links
          </t>
          <t> Each domain has Flex Algo 129 and some links have purple affinity.
          </t>
          <t> Flex Algo 129 definition is set to minimum cost metric and avoid purple links (within domain).
          </t>
          <t> Peering cross links are colored purple by policy.
          </t>
          <t> BGP intent-aware route for C3 sets up paths between PEs for minimum end-to-end cost and avoiding purple link affinity.
          </t>
          <t> These paths traverse over intra domain Flex Algo 129 in each domain and accounts for peering link cost between ASBR and avoiding purple links.
          </t>
          <t> Example: PE11 learns (C3, PE31) intent-aware route via 2 paths.
          <list style="symbols">
            <t> First path is through FA 129 to node 121, link 121-211, FA129 to 231, link 231-321, FA129 to PE31.
            </t>
            <t> Second path is through FA129 to node 122, link 122-212, FA129 to 232, link 232-322, FA129 to PE31.
            </t>
          </list>
          </t>
          <t> On PE11, VPN routes from PE31 colored with C3 are steered via (C3, PE31) intent-aware route.
          </t>
        </list>
        </t>
      </section>

      <section title="Exclusion/inclusion of nodes" anchor='sec_exclusion_inclusion_of_nodes'>
        <t> Support creating an inter-domain path that includes or excludes a certain set of nodes in each domain.
        </t>
        <t> Mechanisms used to achieve the node inclusion/exclusion constraints within different domains should be independent.
        </t>
        <t> For example, an RSVP-based domain may use link affinities to achieve node exclusion constraints, while an SR-based domain may use Flex-Algo, which natively supports excluding nodes.
        </t>
        <t> The example below describes the details for <xref target="reference_diagram9" />
        <list style="symbols">
          <t> Color C4 - Intent to Minimize cost metric and avoid nodes
          <list style="symbols">
            <t> Each domain has Flex Algo 129 and Flex-Algo 129 is not enabled on nodes 121,211,231,321
            </t>
            <t> Flex Algo 129 definition is set to minimum cost metric
            </t>
          </list>
          </t>
          <t> Intent-aware route for C4 sets up paths between PEs for minimum end-to-end cost and avoiding specific nodes.
          </t>
          <t> These paths traverse over intra domain Flex Algo 129 in each domain and accounts for peering link cost between ASBR and avoiding specific nodes.
          </t>
          <t> Example: PE11 learns (C4, PE31) intent-aware route via 1 path.
          <list style="symbols">
            <t> The path is through FA129 to node 122, link 122-212, FA129 to 232,link 232-322, FA129 to PE31.
            </t>
          </list>
          </t>
          <t> On PE11, VPN routes colored with C4 are steered via (C4, PE31) intent-aware route.
          </t>
        </list>
        </t>
      </section>      

      <section title="Diverse Paths" anchor='sec_diverse_paths'>
        <t> Support the creation of node- and link-diverse inter-domain paths.
        </t>
        <t> The intra-domain portion of the end-to-end paths should make use of existing mechanisms for computing and instantiating diverse paths within a domain.
        </t>
        <t> Inter-domain links (such as those connecting ASBRs) should also be taken into account for diverse inter-domain paths.
        </t>
        <t> Support creation of inter-domain diverse paths that avoid shared risk links.
        </t>
        <t> The example below describes the details for <xref target="reference_diagram8" />
        <list style="symbols">
          <t> Color C5 and C6 - Intent to create diverse paths avoiding common node, link and shared risk
          <list style="symbols">
            <t> Each domain has SRLG aware diverse path built as below
            </t>
            <t> Domain 1: Color C5 -> PE11,121 </t>
            <t> Color C6 -> PE12,122 </t>
            <t> Domain 2: Color C5 -> 211,231 </t>
            <t> Color C6 -> 212,232 </t>
            <t> Domain 3: Color C5 -> 321,PE31 </t>
            <t> Color C6 -> 322,PE32 </t>
            <t> Shared risk among inter-domain links is as described in the topology description
            <list style="symbols">
              <t> Intent-aware diverse paths represented by C5 and C6 setup in each domain
              </t>
              <t> Local policies on inter-domain links to avoid common shared risk for intent C5 and C6
              </t>
              <t> Example: PE11 learns (C5, PE31) intent-aware route   via 1 path.
              </t>
            </list>
            </t>
            <t> The path is through PE11,121-211 (bottom link), 231-321 (bottom link), PE31
            <list style="symbols">
              <t> Example: PE12 learns (C6, PE32) intent-aware route via1 path.  </t>
            </list>
            </t>
            <t> The path is through PE12,122,212, 232,322, PE32
            </t>
          </list>
          </t>
          <t> On PE11, VPN routes colored with C5 are steered via (C5, PE31) Intent-aware route.
          </t>
          <t> On PE12, VPN routes colored with C6 are steered via (C6, PE32) intent-aware route.
          </t>
        </list>
        </t>
      </section>

      <section title="Applicability of intent to a subset of domains" anchor='sec_applicability_of_intent_to_a_subset_of_domains'>
        <t> Support creation of paths with certain intents applicable to only a subset of domains.
        </t>
        <t> No constraint specific state on internal nodes where intent is not applicable.
        </t>
        <t> The example below describes the details for <xref target="reference_diagram9" />
        <list style="symbols">
          <t> Color C7 to exclude purple links
          <list style="symbols">
            <t> Purple links exist only in domain 2
            </t>
            <t> Intra-domain Intent-aware paths in domain 2 via 211,231
            </t>
            <t> Intra-domain paths for C7 not created in Domain 1 and Domain 3
            </t>
          </list>
          </t>
          <t> On PE11, VPN routes colored with C7 are steered via (C7, PE31) intent-aware route.
          <list style="symbols">
            <t> Intent-aware route (C7,PE31) uses best effort paths in Domain1 and Domain3
            </t>
            <t> Intent-aware route (C7,PE31) uses intra-domain intent-aware path C7 in Domain2
            </t>
          </list>
          </t>
        </list>
        </t>
      </section>

      <section title="Exclusion/inclusion of domain" anchor='sec_exclusion_incusion_of_domain'>
        <figure anchor="reference_diagram10" title="Domain Exclusion Diagram">
        <artwork>

    
         +-----+                +-----+                 +-----+
     ....|S-RR1|..............  |S-RR2| ..............  |S-RR3| ....
     :   +-----+                +-----+                 +-----+     :
     :                                                              :
     :                      +----------------+                      :
     :                      |                |                      :
  +--:--------------+       |---+        +---|       +--------------:--+
  |  :              |   |---|211|        |241|---|   |              :  |
  |  :              |   |   |---+        +---|   |   |              :  |
  |  :          +---|   |   |    Domain 2    |   |   |---+          :  |
  |  :          |121|---|   +----------------+   |---|421|          :  |
  |  :          +---|                                |---+          :  |
  |----+            |                                |            +----|
  |PE11|            |                                |            |PE41|
  |----+            |                                |            +----|
  |             +---|                                |---+             |
  |             |131|---|   +----------------+   |---|431|             |
  |             +---|   |   |                |   |   |---+             |
  |                 |   |   |---+        +---|   |   |                 |
  |    Domain 1     |   |---|311|        |341|---|   |      Domain 4   |
  +-----------------+       |---+        +---|       +-----------------+
                            |   Domain 3     |
                            +----------------+


        </artwork>
        </figure>
        <t> Color C4 - Avoid sending selected traffic via Domain 3
        </t>
        <t>
        <list style="symbols">
          <t> VPN routes advertised from PEs with Color C4
          </t>
          <t> Intent-aware route for Color C4 should only set up paths between PE11 and PE41 that exclude Domain 3
          </t>
        </list>
        </t>
      </section>

      <section title="Virtual network function chains in local and core domains" anchor='sec_Virtual_network_function_chains_in_local_and_core_domains'>
        <figure anchor="reference_diagram11" title="Transport NFV Diagram">
        <artwork>

          ____                      ____
         /    \                    /    \
        | NFV1 |                  | NFV2 |
         \    /                    \    /
  +---------------------+  +--------------------+  +-------------------+
  |      |E11|          |  |       |E21|        |  |                   |
  |      +---+          |  |       +---+        |  |                   |
  |                     |  |                    |  |                   |
  |                     |  |                    |  |                   |
  |----+              +------+                +------+            +----|
  |PE11|              | 121  |                | 231  |            |PE31|
  |----+              +------+                +------+            +----|
  |                     |  |                    |  |                   |
  |                     |  |                    |  |                   |
  |                     |  |                    |  |                   |
  |                     |  |                    |  |                   |
  |      Domain 1       |  |      Domain 2      |  |     Domain 3      |
  +---------------------+  +--------------------+  +-------------------+

        </artwork>
        </figure>
        <t>
        <list style="symbols">
          <t> Color intent
          <list style="symbols">
            <t> C5 - Routing via min-cost paths </t>
            <t> C6 - Routing via a local NFV service chain situated at E11 </t>
            <t> C7 - Routing via a centrally located NFV service chain situated at E21
            </t>
          </list>
          </t>
          <t> Forwarding of packets from PE11 towards PE31:
          <list style="symbols">
            <t> (C5, PE31) mapped packets are sent via nodes 121, 231 to PE31
            </t>
            <t> (C6, PE31) mapped packets are sent to E11 and then post- service chain, via 121, 231 to PE31
            </t>
            <t> (C7, PE31) mapped packets are sent via 121 to E21 and then post-service chain, via 231 to PE31
            </t>
          </list>
          </t>
        </list>
        </t>
        <t> E11 and E21 MAY be involved in inter-domain signaling in order to send service traffic towards PEs in remote domains.  Different functions may be collocated at the same network node.  (For example, PE functionality and NFV attachment functionality may be collocated.)   
        </t>
      </section>
    </section>

    <section title="VPN (Service Layer) Network Intent Requirements" anchor='sec_VPN_Service_Layer_Network_Intent_Requirements'>
      <t> This section describes requirements and reference use-cases for extending intent-aware routing to the VPN (Service) layer.
      </t>
      <t> The solution should:
      <list style="symbols">
        <t> Extend the signaling of intent awareness end-to-end to the customer domain: CE site to CE site across provider networks. Specific goals are to:
        <list style="symbols">
          <t> Provide ability for a CE to select paths through specific PEs for a given intent 
          <list style="symbols">
            <t> Example-1: Certain intent in transport not available via specific PEs
            </t>
            <t> Example-2:  Certain CE-PE connection does not support specific intent
            </t>
            <t> Example-3: Customer Site access via certain CE node does not support specific intent.  For instance, link connecting a specific CE to a DC hosting loss-sensitive service may have better quality than a link from another CE
            </t>
          </list>
          </t>
          <t> Provide ability for a CE node to send traffic indicating a specific intent (via suitable encapsulation) to the PE for optimal steering.
          <list style="symbols">
            <t> Provide ability for a PE node to apply filtering and other security mechanisms and authentication for the incoming encapsulated packets
            </t>
            <t> Provide ability for a PE node to apply traffic policing and shaping mechanisms to the received encapsulated packets.
            </t>
            <t> The PE-CE link and the transport domains can be in different color domains.
            </t>
          </list>
          </t>
          <t> Intent-aware routing may extend further into customer networks towards the network edge, closer to applications that originate traffic
          <list style="symbols">
            <t> Applications or hosts that do not participate in routing can indicate the intent desired for an emitted traffic flow by setting appropriate DSCP values in the packet header. This enables the ingress intent-aware routing device to perform the necessary classification and traffic steering (Section 6.2)
            </t>
          </list>
          </t>
        </list>
        </t>
        <t> Support intent aware routing for multiple service (VPN) interworking models
        <list style="symbols">
          <t> IBGP and Inter-AS Option C models are inherently supported since they natively extend from PE to PE. Additional models to be supported are:
          <list style="symbols">
            <t> Inter-AS Option A
            </t>
            <t> Inter-AS Option B
            </t>
            <t> GW based interworking (L3VPN, EVPN)
            </t>
          </list>
          </t>
          <t> Co-existence with legacy PEs and CEs in a L3VPN network
          <list style="symbols">
            <t> Intent-aware routing capable PEs co-exist with other PEs that are not capable
            </t>
            <t> Intent-aware routing capable PEs simultaneously interact with both capable CEs and legacy CEs
            </t>
          </list>
          </t>
        </list>
        </t>
      </list>
      </t>
      <t>
      <figure anchor="VPN_service_intent_ref_topo" title="VPN (Service) intent routing reference topology">
        <artwork>

         The network diagram below illustrates the reference network
         topology used in this section for VPN Intent-aware routing 
         using Color

        +-------------------+           +-------------------+
        |   ....|S-RR|....  |           |  ....|S-RR|.....  |
        |   :   +----+   :  |           |  :   +----+    :  |
        |   :    :  :    :  |           |  :    :  :     :  |
        |----+   :  :   +---|   D=20    |---+   :  :   +----|
       /|PE11|   :  :   |121|-----------|211|   :  :   |PE21|\
 D=25/  |----+   :  :   +---| X       X |---+   :  :   +----|  \ D=25
   /    |        :  :       |   X   X   |       :  :        |    \ V/24
CE1     |        :  :       |     X D=50|       :  :        |     CE2
   X    |        :  :       |   X   X   |       :  :        |    X
D=15 X  |----+   :  :   +---| X       X |---+   :  :   +----|   X D=10
       X|PE12|...:  :...|2122|-----------|2132|...:  :...|PE22|X
        |----+          +---|   D=10    |---+          +----|
        |                   |           |                   |
        |     AS 1          |           |     AS 2          |
        +-------------------+           +-------------------+

        </artwork>
      </figure>
      </t>
      <t> The following network design assumptions apply to the reference
   topology above, as an example:
      <list style="symbols">
        <t> eBGP peering link between VPN ASBRs 121-211, 121-212, 122-211,
      122-212
        </t>
        <t> VPN service runs between PEs in each AS via service RRs to local VPN ASBRs. Between ASBRs, its VPN IAS-Option-B i.e. next hop self.
        </t>
        <t> CE1 is dual homed to PE11,PE12.  CE2 is dual homed to PE21, PE22.
        </t>
        <t> Peering links have equal cost metric
        </t>
        <t> Peering links have delay configured or measured as shown by "D"
        </t>
      </list>
      </t>
      <t> The following sections illustrate a few examples of intent use-cases applicable to VPN routes.
      </t>
      <section title="Minimization of end-to-end metric" anchor='sec_min_end_metric'>
        <t> This use-case extends the transport use-case from Minimization of end-to-end metric section to further to establish e2e paths with low values of a metric type between CEs attached to different PEs, additionally taking the metrics on the PE-CE links and inter-ASBR links into account.
        <list style="symbols">
          <t> In the reference topology of VPN service intent topology, each AS has Flex Algo 0 and 128. Flex Algo 0 is for minimumcost metric (cost optimized) while Flex Algo 128 definition is for minimum delay (low latency)
          </t>
          <t> Cost Optimized end-to-end (CE-CE) path
          <list style="symbols">
            <t> Color C1 - Minimum cost intent.
            </t>
            <t> On CE1, flows requiring cost optimized paths to V/24 are steered over (C1, V/24) intent-aware route using color.
            <list style="symbols">
              <t> This needs BGP intent-aware route between PE-CE for V/24 prefix and color C1 awareness.
              </t>
              <t> It also needs BGP VPN Intent-aware route between PEs and ASBRs for V/24 prefix with VPN RD and color C1 awareness (C1, RD:V/24)
              </t>
              <t> CE1 may learn (C1, V/24) route through several equal cost paths. For example:
              <list style="symbols">
                <t> One path is through link CE1-PE11, FA0 to 121, link 121-211, FA0 to PE21 and link PE21-CE2.
                </t>
                <t> Another such path is through CE1-PE12, FA0 to node 122, link 122-212, FA0 to PE22, link PE22-CE2.
                </t>
              </list>
              </t>
              <t> CE1 may load-balance among these paths
              </t>
            </list>
            </t>
          </list>
          </t>
          <t> Latency optimized end-to-end (CE-CE) path
          <list style="symbols">
            <t> Color C2 - Minimum latency intent
            </t>
            <t> On CE1, flows requiring low latency paths to prefix V/24 are steered over (C2, V/24) intent-aware route using color.
            <list style="symbols">
              <t> This needs BGP intent-aware route between PE-CE for V/24 prefix and color C2 awareness.
              </t>
              <t> It also needs BGP VPN intent-aware route between PEs and ASBR for V/24 prefix with VPN RD and color C2 awareness
              </t>
              <t> Paths traverse over intra-domain Flex Algo 128 in each AS and accounts for inter ASBR link delays and PE-CE link delays.
              </t>
              <t> CE1 learns (C2, V/24) BGP intent-aware best route using color through link CE1-PE12, FA128 to 122, link 122-212, FA128 to PE22 and link PE22-CE2 between PE-CE for V/24 prefix and color C2 awareness.
              </t>
            </list>
            </t>
          </list>
          </t>
        </list>  
        </t>
        <section title="Exclusion/inclusion of link affinity" anchor='sec_ex_link_affinity'>
          <t> 
          <list style="symbols">
            <t> Color C3 - Intent to minimize cost metric and avoid purple links
            </t>
            <t> In the reference topology of Figure 6 Each AS has Flex Algo 129 and some links have purple affinity.  Flex Algo 129 definition is set to minimum cost metric and avoid purple links (within AS).  ASBR cross links are colored purple by policy.  Bottom PE-CE links are colored purple as well by policy
            </t>
            <t> On CE1, flows requiring minimum cost path avoiding purple links to V/24 are steered over (C3, V/24) BGP intent-aware route using color
            </t>
          </list>
          </t>
          <t> CE1 learns (C3, V/24) route through link CE1-PE11, FA129 to 121, link 121-211, FA129 to PE21 and link PE21-CE2.
          </t>
        </section>
      </section>

      <section title="Virtual network function chains in local and core domains" anchor='sec_service_vnf'>
        <t> The below diagram represents a typical service function chaining deployment with NFV services deployed in the service layer. The transport layer is not aware of the services in this model.
        <figure anchor="VPN_vnf_topo" title="Virtual Network Functions Reference Topology">
          <artwork>

                               +-----+
       ........................|S-RR | .................
       :                       +-----+ ...........      :
       :                                           :    :
       :                                           :    :
       :  ___     ___           ___                :    :
       : /   \   /   \         /   \               :    :
       :| S1  | | S2  |       | S3  |              :    :
       : \   /   \   /         \   /               :    :
     +-:---------------+  +--------------+  +------:----:--+
     | :  |E11|  |E12| |  |    |E21|     |  |      :    :  |
     | :  +---+  +---+ |  |    +---+     |  |      :  +----| (V1/24,C1)
     | :               |  |              |  |      :  |PE31|--CE2
     | V               |  |              |  |      :  +----|
     |----+          +------+            +------+  :       |
CE1--|PE11|          | 121  |            | 231  |  :       |
     |----+          +------+            +------+  :  +----| (V2/24/C2)
     |                 |  |              |  |      :..|PE32|--CE3
     |                 |  |              |  |         +----|
     |                 |  |              |  |              |
     |                 |  |              |  |              |
     |    Domain 1     |  |   Domain 2   |  |   Domain 3   |
     +-----------------+  +--------------+  +--------------+
    
          </artwork>
        </figure>
        </t>
        <t>
        <list style="symbols">
          <t> Color intent
          <list style="symbols">
            <t> C1 - Routing via NFV service chain comprising of [S1, S2] attached to E11 and E12
            </t>
            <t> C2 - Routing via NFV service [S3] attached to E21
            </t>
          </list>
          </t>
          <t> CE1, CE2, CE3 are sites of VPN1. S1, S2 and S3 are service VNFs in VPN1
          </t>
          <t> Prefix V1/24 colored with C1 from CE2, and advertised as RD:V1/24 with C1 by PE31 to PE11 via S-RR
          </t>
          <t> Prefix V2/24 colored with C2 from CE3, and advertised as RD:V2/24 with C2 by PE32 to PE11 via SS-RR
          </t>
          <t> From PE11:
          <list style="symbols">
            <t> [V1/24, C1] mapped packets are sent via S1, S2 and then routed to PE31, CE2
            </t>
            <t> [V2/24, C2] mapped packets are sent via S3 and then routed to PE32, CE3
            </t>
          </list>
          </t>
        </list>
        </t>
      </section>
    </section>
   <section title="Multicast Intent Requirements" anchor='sec_multicast_intent_requirements'>
      <t> This section describes the intent requirements for the multicast traffic. In principle all the intent
          requirements described in section   <xref target="sec_Transport_Network_Intent_Requirements" />  
          can apply to multicast traffic as well. The intent requirements as currently seen from actual usecases
          have been listed here.	
		<list style="symbols">
          <t> Ability to create multicast distribution trees that minimize latency metric
          </t>
          <t> Ability to create multicast distribution trees that avoid nodes located in certain geographical region
          </t>
		  <t> Ability to create multicast distribution trees that that provide bandwidth guarantees within as well as
		      across domains
          </t>
		  <t> Ability to create multicast distribution trees that use subset of the topology
          </t>
        </list>
       		  
      </t>
    </section>
  </section>

  <section title="Traffic Steering Requirements" anchor='sec_traffic_steering_requirements'>
    <t> Traffic arriving at an ingress PE for a colored service route gets steered into an intent-aware path to the egress PE. <xref target="sec_intent-aware_routing_framework" />   illustrates the automated steering mechanism, driven through Color Extended Community in the service route.
    </t>
    <t>
    <list style="symbols">
      <t> Flexible traffic steering is required, with support for different types:
      <list style="symbols">
        <t> Per-Destination Steering: Incoming packets are steered based on 
  the destination address of the packets
        </t>
        <t> Per-Flow Steering: Incoming packets are steered based on the 
        destination address of the packets and additional fields in the 
        packet header
        <list style="symbols">
          <t> DSCP for IPv4/IPv6 packets and EXP for MPLS packets
          </t>
          <t> 5-tuple IP flow (Source address, destination address, source port, destination port and protocol fields).
          </t>
        </list>
        </t>
        <t> The Per-Flow Steering enables different flows for the same destination to be steered into different paths – for example, one flow into an intent-aware path and another into a best-effort path; or two different flows steered into paths of two different intents. Section 8.6 of RFC 9256 describes the operation of per-flow steering in detail.
        </t>
      </list>
      </t>
      <t> When no path that fulfills the desired intent is available:
      <list style="symbols">
        <t> An option of ordered fallback should be supported 
        <list style="symbols">
          <t> via one or more alternative intents; or via a best-effort path.
          </t>
        </list>
        </t>
        <t> An option of not using a fallback path for the service route should also be supported.
        </t>
        <t> Fallback scheme per service route should be supported
        <list style="symbols">
          <t> Fallback schemes should be decoupled from primary. For example, different service routes using same primary but different fallback schemes
          </t>
        </list>
        </t>
        <t>An indication that the route followed a less preferred path due to fallback may be given to a CE
	by modifying/adding suitable BGP attribute through policy. </t>
      </list>
      </t>
      <t> Above steering mechanisms should be supported for any service, including L2/L3 VPNs and Internet/global routing.
      </t>
    </list>
    </t>
  </section>

  <section title="Deployment Requirements" anchor="sec_depoyment_requirements">
    <t> The solution must support the representative deployment designs and associated deployment requirements described in the following sub sections.
    </t>

    <section title="Multi-domain deployment designs" anchor='sec_Multi-domain_deployment_designs'>
      <t> This section describes four different ways that multi-domain networks could be organized.  This is a representation of most common deployments and not an exhaustive coverage.
      </t>

      <section title="Multiple IGP domains within a single AS, inter-connected at border nodes" anchor='sec_Multiple_IGP_domains_within_a_single_AS_inter-connected_at_border_nodes'>

        <figure anchor="reference_diagram12" title="Transport Multiple Domains Network Diagram">
        <artwork>



                                    +-----+
     .............................. |S-RR | .........................
     :                              +-----+                         :
     :                                                              :
     :                                                              :
  +--:----iBGP---------+  +----------iBGP------+  +---------iBGP----:--+
  |  :                 |  |                    |  |                 :  |
  |  :                 |  |                    |  |                 :  |
  |  :               +------+                +------+               :  |
  |  :               | 121  |                | 231  |               :  |
  |  .               +------+                +------+               :  |
  |----+               |  |                    |  |               +----|
  |PE11|               |  |                    |  |               |PE31|
  |----+               |  |                    |  |               +----|
  |                  +------+                +------+                  |
  |                  | 122  |                | 232  |                  |
  |                  +------+                +------+                  |
  |                    |  |                    |  |                    |
  |  AS1 (Domain 1)    |  |    AS1(Domain 2)   |  |     AS1(Domain 3)  |
  +--------------------+  +--------------------+  +--------------------+


        </artwork>
        </figure>

        <t> The above diagram shows three different IGP domains, Domain1, Domain2 and Domain3 inter-connected at the ABRs 121,122,231,232.  
        </t>
        <t> This single-AS network uses I-BGP sessions, with ABRs acting as inline route reflectors to PEs.
        </t>
        <t> Note that the IGP design included here and in other models below is illustrative. In practice, there may be multiple areas/levels or multiple IGP instances.   
        </t>
      </section>

      <section title="Multiple IGP domains within a single AS, with iBGP between border nodes" anchor='sec_Multiple_IGP_domains_within_a_single_AS_with_iBGP_between_border_nodes'>

        <figure anchor="reference_diagram13" title="Transport Multiple Domains with iBGP Network Diagram">
        <artwork>
        
        +-----+                +-----+                  +-----+
    ....|S-RR1| .............. |S-RR2| ................ |S-RR3| ....
    :   +-----+                +-----+                  +-----+     :
    :                                                               :
    :                                                               :
 +--:--iBGP---------+ iBGP +--------iBGP------+ iBGP +--------iBGP--:--+
 |  :               |      |                  |      |              :  |
 |  :               |      |                  |      |              :  |
 |  :           +---|      |---+          +---|      |---+          :  |
 |  :           |121|------|211|          |231|------|321|          :  |
 |  :           +---|      |---+          +---|      |---+          :  |
 |----+             | \ /  |                  | \ /  |            +----|
 |PE11|             |  X   |                  |  X   |            |PE31|
 |----+             | / \  |                  | / \  |            +----|
 |              +---|      |---+          +---|      |---+             |
 |              |122|------|212|          |232|------|322|             |
 |              +---|      |---+          +---|      |---+             |
 |                  |      |                  |      |                 |
 |   AS1(Domain 1)  |      |   AS1(Domain 2)  |      |   AS1(Domain 3) |
 +------------------+      +------------------+      +-----------------+

        </artwork>
        </figure>

        <t> The above diagram shows a single AS1 with three different IGP domains, Domain1, Domain2, and Domain3.  121,122,211,212,231,232,321,322 are border nodes for the IGP domains and they participate in only one IGP domain.
        </t>
        <t> In this design, domain inter-connect is via iBGP peering links between   Area border nodes. ABRs act as inline route reflectors to PEs.
        </t>
      </section>

      <section title="Multiple ASes inter-connected with E-BGP between border nodes" anchor='sec_Multiple_ASes_inter-connected_with_E-BGP_between_border_nodes'>

        <figure anchor="reference_diagram14" title="Transport Multiple Domains with eBGP Network Diagram">
        <artwork>

        +-----+                +-----+                  +-----+
    ....|S-RR1| .............. |S-RR2| ................ |S-RR3| ....
    :   +-----+                +-----+                  +-----+     :
    :                                                               :
    :                                                               :
 +--:--iBGP---------+ eBGP +--------iBGP------+ eBGP +--------iBGP--:--+
 |  :               |      |                  |      |              :  |
 |  :               |      |                  |      |              :  |
 |  :           +---|      |---+          +---|      |---+          :  |
 |  :           |121|------|211|          |231|------|321|          :  |
 |  :           +---|      |---+          +---|      |---+          :  |
 |----+             |  \ / |                  |  \ / |            +----|
 |PE11|             |   X  |                  |   X  |            |PE31|
 |----+             |  / \ |                  |  / \ |            +----|
 |              +---|      |---+          +---|      |---+             |
 |              |122|------|212|          |232|------|322|             |
 |              +---|      |---+          +---|      |---+             |
 |                  |      |                  |      |                 |
 |   AS1(Domain 1)  |      |   AS2(Domain 2)  |      |   AS3(Domain 3) |
 +------------------+      +------------------+      +-----------------+

        </artwork>
        </figure>

        <t> The above diagram shows three different ASes (AS1, AS2 and AS3.)  121,122, 211, 212, 231,232, 321,322 are border nodes between the ASes.  
        </t>
        <t> In this design, domain inter-connect is via eBGP peering links between AS border nodes. The ASBR also runs I-BGP sessions with other ASBRs or RRs in the same AS.
        </t>
      </section>

      <section title="Multiple sites with same AS connected via different core AS" anchor='sec_Multiple_sites_with_same_AS_connected_via_different_core_AS'>

        <figure anchor="reference_diagram15" title="Transport Multiple Domains with same AS Network Diagram">
        <artwork>

                                    +-----+
     .............................. |S-RR | .........................
     :                              +-----+                         :
     :                                                              :
     :                                                              :
  +--:----eBGP---------+  +-----iBGP-----------+  +---eBGP----------:--+
  |  :                 |  |                    |  |                 :  |
  |  :                 |  |                    |  |                 :  |
  |  :               +------+                +------+               :  |
  |  :               | 121  |                | 231  |               :  |
  |  .               +------+                +------+               :  |
  |----+               |  |                    |  |               +----|
  |PE11|               |  |                    |  |               |PE31|
  |----+               |  |                    |  |               +----|
  |                  +------+                +------+                  |
  |                  | 122  |                | 232  |                  |
  |                  +------+                +------+                  |
  |                    |  |                    |  |                    |
  |    AS1(Domain 1)   |  |    AS2(Domain 2)   |  |     AS1(Domain 3)  |
  +--------------------+  +--------------------+  +--------------------+

        </artwork>
        </figure>

        <t> 121,122,231,232 belong to AS2 only.  AS1 and AS2 domains may run multi-instance IGP or different levels/areas.  
        </t>
        <t> This topology uses I-BGP sessions to some clients and E-BGP sessions to other nodes. When an RR is used between PEs in AS1 and ABRs in AS2, it will have iBGP sessions to clients in same AS and e-BGP sessions to nodes in other AS. 
        </t>
      </section>

      <section title="AS Confederations" anchor='sec_AS_confederations'>
        <t> BGP confederations [RFC 5065] allows the division of a public AS into multiple sub-ASes, usually with private identifiers. The solution should support BGP based  intent-aware paths within the sub-AS or across the sub-ASes of the confederation, in any of the network designs described in sections 5.4.1.1 to section 5.4.1.4.
        </t>
      </section>

      <section title="Transport Technologies" anchor='sec_transport_technologies'>
        <section title="Unicast transport" anchor='sec_unicast_transport'>
          <t> The solution must support the following:
          <list style="symbols">
            <t> End-to-end paths crossing transport domains that use different technologies and encapsulations, such as:
            <list style="symbols">
              <t> LDP-MPLS </t>
              <t> RSVP-TE-MPLS </t>
              <t> SR-MPLS </t>
              <t> SRv6 </t>
              <t> SR-TE (MPLS and SRv6) </t>
              <t> IGP Flex-Algo (MPLS and SRv6) </t>
              <t> Native IPv4/IPv6 forwarding (networks without MPLS enabled </t>
            </list>
            </t>
            <t> Note:
            <list style="symbols">
              <t> All MPLS/SR-MPLS deployments may be IPv4/IPv6 or dual-stack
              </t>
              <t> SR-TE includes color-only and other policies as defined in [RFC9256]
              </t>
            </list>
            </t>
            <t> Interworking between domains with different encapsulations (e.g. SR-MPLS and SRv6)
            </t>
            <t> Different transport encapsulations simultaneously within a domain, for co-existence and migration
            </t>
          </list>
          </t>
        </section>

        <section title="Multicast transport" anchor='sec_multicast_transport'>
          <t> A routing solution for end-to-end intent-aware paths should support multicast as well as unicast.
		  An End-to-end multicast path crossing multiple transport domains may use different encapsulation
		  mechanisms, such as:
		  <list style="symbols">
              <t> mLDP </t>
              <t> RSVP-TE P2MP </t>
              <t> SR-MPLS Tree SIDs </t>
              <t> SRv6 Tree SIDs</t>              
              <t> Native IPv4/IPv6 forwarding (networks without MPLS enabled </t>
            </list>
			
          </t>
        </section>
      </section>

      <section title="Co-existence, compatibility and interworking with existing intent-aware routing solutions" anchor='sec_Co-existence_compatibility_and_interworking_with_existing_intent-aware_routing_solutions'>
        <t> The BGP intent-aware routing solution MUST be compliant with the intent-aware routing framework described in <xref target="sec_intent-aware_routing_framework" />. Specifically,
        <list style="symbols">
          <t> It MUST support service routes using Color Extended-Community to request intent as defined in <xref target="RFC9256" />
          </t>
          <t> It MUST support automated steering of colored service routes on a BGP intent-aware path using color
          </t>
          <t> Intent-aware routes MAY resolve recursively via other intent-aware routes provided by any solution
          </t>
        </list>
        </t>
      </section>

      <section title="Co-existence and Interworking with BGP-LU" anchor='sec_Co-existence_and_Interworking_with_BGP-LU'>
        <t> BGP-LU [RFC8277] is widely deployed to provide inter-domain best-effort connectivity across different domains. The BGP intent-aware routing solution should support:
        <list style="symbols">
          <t> Establishment of best-effort paths by using a color to represent best-effort intent, to avoid the need to deploy both technologies
          </t>
          <t> Co-existence of inter-domain BGP-LU and BGP intent aware routing in a network
          </t>
          <t> Support interworking of BGP-LU and BGP intent-aware network domains.
          </t>
        </list>
        </t>
      </section>

      <section title="Domains with different intent granularity" anchor='sec_Domains_with_different_intent_granularity'>
        <t> All domains in a network may not support the same number and granular definition of colors.  However, the maximum granularity of colors should be provided for end to end paths that are set up for steering of a colored service route, with mapping from a more granular color to a less granular color where needed.
        </t>
      </section>

      <section title="Domains with non-congruent Color-to-intent Mappings" anchor='sec_non_cong_color'>
        <t> As illustrated in <xref target="ec_network_domains_under_different_administration" />, network domains under different administrative control may assign different colors to represent the same intent.
        </t>
        <t> A color domain represents a collection of one or more network (IGP/BGP) domains with a single, consistent set of color-to-intent mappings.
        </t>
        <t> Color for a given intent may need to be re-mapped across a color domain boundary. The solution should support efficient color re-mapping for intent-aware routes that are propagated to a different color domain.
        </t>
      </section>
      
      <section title="Color-to-intent coordination" anchor='sec_color_coord'>
        <t>
        It may be useful to have a few well-defined common intents with well-known color values assigned that can be used across multiple operator networks. Such a scheme can provide a consistent service definition to customers that use paths for such intents from multiple operators.
        </t>
        <t>
        This scheme does not preclude operators from defining intents with similar characteristics and assigning other color values.
        </t>
        <t>
        It may additionally be useful to have a reserved range of color values for requirements that may arise in future.
        </t>
        <t>
However, it should also be noted that color assignments have been used in customer deployments for a while now. Coordination and care will be necessary for defining a range that does not conflict with current deployments.
        </t>
      </section>

      <section title="Co-existence with alternative solutions" anchor='sec_Co-existence_with_alternative_solutions'>
        <t> Section 5 describes co-existence and interworking of the BGP intent aware routing solution with other existing intent-aware solutions.
        </t>
        <t> Controller based approaches or other distributed TE solutions can also address the use-cases in this document.
        </t>
        <t> The intent-aware routing solution should coexist with such alternative solutions.
        <list style="symbols">
          <t> It should allow traffic to use paths created by an alternative solution.
          </t>
          <t> It should allow part of the inter-domain path to be created by an alternative solution.
          </t>
          <t> The routing solution may be used to provide backup paths for a primary path created by an alternative solution, or vice versa.
          </t>
        </list>
        </t>
      </section>
    </section>

    <section title="Scalability Requirements" anchor='sec_scalability_requirements'>
      <section title="Scale Requirements" anchor='sec_scale_requirements'>
        <t>
        <list style="symbols">
          <t> Support a massive scaled transport network
          <list style="symbols">
            <t> Number of Remote PE's: >= 300k
            </t>
            <t> Number of Colors C: >= 5
            </t>
          </list>
          </t>
          <t> Support a scalable MPLS dataplane solution
          </t>
          <t> Constraints that need to be addressed:
          <list style="symbols">
            <t> Typical inter-domain MPLS network designs (e.g. Seamless-MPLS)  build hop-by-hop stitched MPLS LSPs towards every PE in the network. For the scale above, the number of forwarding entries required to represent each remote PE for each color will exceed the 1M MPLS label space limit.
            </t>
            <t> PE and transit nodes may be devices with low FIB capacity.
            </t>
            <t> Additionally, they may also have constraints on packet processing (e.g, label ops, number of labels pushed)
            </t>
          </list>
          </t>
          <t> To address these constraints:
          <list style="symbols">
            <t> The solution must support hierarchy in the forwarding plane E.g. via a label stack or a list of segments, such that no single node needs to support a data-plane scaling in the order of (Remote PE * C)
            </t>
            <t> The solution should minimize state on border nodes in order to reduce label and FIB resource consumption, while taking into account packet processing constraints.
            </t>
          </list>
          </t>
          <t> Support ability to abstract the topology and network events from remote domains - for scale, stability and faster convergence.
          <list style="symbols">
            <t> E.g. contain the control plane propagation of a failure event for an ABR within its attached upstream domain.
            </t>
          </list>
          </t>
          <t> Support an Emulated-PULL model for the BGP signaling
          </t>
        </list>
        </t>
        <t> PE nodes may be devices with limited CPU and memory. The state on a PE should be restricted to transport endpoints that it needs for service steering.
        </t>
        <t> BGP Signaling is natively a PUSH model.
        </t>
        <t> For comparison, the SR-PCE solution natively supports a PULL model: when PE1 installs a VPN route V/v via (C, PE2), PE1 requests its serving SR-PCE to compute the SR Policy to (C, PE2).  I.e.  PE1 does not learn unneeded SR policies.
        </t>
        <t> Emulated-PULL refers to the ability for a BGP node PE1 to "subscribe" to (C, PE2) route such that only paths for (C, PE2) are signaled to PE1.
        </t>
        <t> The requirements for an Emulated-PULL solution are as follows:
        <list style="symbols">
          <t> The subscription and related filtering solution must apply to any BGP node.
          </t>
          <t> For transport routes, this means
          <list style="symbols">
            <t> Ability for a node (e.g. PE/ABR/ASBR) to signal interest for routes of specific colors.
            </t>
            <t> Ability for a node (e.g ABR/ASBR) to propagate the subscription message.
            </t>
            <t> PEs may choose to only learn routes that they need – e.g. remote VPN endpoints (PEs/VPN ASBRs) or transit nodes (ABRs/transport ASBRs).
            </t>
            <t> ABR/ASBRs also only learn and propagate routes for which nodes within the local domain have expressed interest.
            </t>
            <t> The requirements for VPN routes will be updated in the future version of the document.
            </t>
          </list>
          </t>
          <t> Automation of the subscription/filter route
          <list style="symbols">
            <t> Similar to the SR-PCE solution, when an ingress PE1 installs VPN V/v via (C, PE2), PE1 originates its subscription/filter route for (C, PE2).
            </t>
          </list>
          </t>
          <t> Efficient propagation and processing of subscription/filter routes.
          <list style="symbols">
            <t> Ability to summarize the endpoints and thus request a number of endpoints for a particular intent in a single subscription route.
            </t>
          </list>
          </t>
          <t> The solution may be optional for networks that do not have the large scaling requirements.
          </t>
        </list>
        </t>
      </section>

      <section title="Scale Analysis" anchor='sec_scale_analysis'>
        <t> This section will be updated in the future revision of the document.
        </t>
      </section>
    </section>

    <section title="Network Availability Requirements" anchor='sec_network_availability_requirements'>
      <t>
      <list style="symbols">
        <t> A BGP intent-aware routing solution should provide high network availability for typical deployment topologies, with minimum loss of connectivity in different network failure scenarios.
        </t>
        <t> The network failure scenarios, applicable technologies and design options described in <xref target="I-D.ietf-mpls-seamless-mpls" />  should be used as a reference.
        </t>
        <t> In the Seamless-MPLS reference topology in section 5.4.1.1 :
        <list style="symbols">
          <t> Failure of intra-domain links should limit loss of connectivity (LoC) to under 50ms.  E.g., PE11 to a P node (not shown), 121 to a P node in Domain1 or Domain2)
          </t>
          <t> Failure of an intra-domain node (P node in any domain) should limit LoC to under 50ms
          </t>
          <t> Failure of an ABR node (e.g. 121, 231) should limit LoC to under 1sec, or under 50ms depending on the network deployment scenario.
          </t>
          <t> Failure of a remote PE node (e.g. PE31) should limit LoC to under 1sec, or under 50ms depending on the network deployment scenario and specific service failover requirements
          </t>
        </list>
        </t>
        <t> In the Inter-AS Option C VPN reference topology in Section 5.4.1.3: 
        <list style="symbols">
          <t> Failure of intra-domain links should limit LoC to under 50ms. E.g., PE11 to a P node (not shown), 121 to a P node in Domain1 or Domain2)
          </t>
          <t> Failure of an intra-domain node (P node in any domain) should limit LoC to under 50ms
          </t>
          <t> Failure of an ASBR node (e.g. 121, 211) should limit LoC to under 1sec, or under 50ms depending on the network deployment scenario.
          </t>
          <t> Failure of a remote PE node (e.g. PE31) should limit LoC to under 1sec, or under 50ms depending on the network deployment scenario and specific service failover requirements
          </t>
          <t> Failure of an external link (e.g. 121-211) should limit LoC to under 1sec, or under 50ms depending on the network deployment scenario.
          </t>
        </list>
        </t>
        <t> The solution should explore and describe additional techniques and design options that are applicable to further improve handling of the failure cases listed above.
        </t>
      </list>
      </t>
    </section>

    <section title="BGP Protocol Requirements" anchor='sec_bgp_protocol_requirements'>
      <t> This section summarizes the key protocol requirements that should be addressed by the intent-aware BGP routing solution. While the context for several requirements has been discussed earlier in the document, this section emphasizes aspects pertinent to the protocol design.
      </t>
      <t> The solution should support the following:
      <list style="symbols">
        <t> Signaling and distribution of different Intent-aware routes to reach a participating node, e.g. a PE. Intent must be indicated by the notion of a Color as defined in <xref target="RFC9256" />
        <list style="symbols">
          <t> Signal different instances of a prefix, one route per color
          </t>
          <t> Signal intent (color) associated with each route
          </t>
          <t> At any BGP hop, allow propagating the best path selected for each route, or additional paths
          </t>
          <t> Generate routes sourced from IGP-FA, SR-TE Policies, RSVP-TE and BGP-LU from a domain
          </t>
        </list>
        </t>
        <t> Path selection for Intent-aware routes
        <list style="symbols">
          <t> Accumulation of intent specific metric at each BGP hop and compare the accumulated metric across all received paths at intermediate hops and at an ingress PE.
          </t>
          <t> Ability to load balance among multiple received paths at intermediate BGP hops and at an ingress PE
          </t>
          <t> Backup path installation for fast convergence at intermediate BGP hops and at an ingress PE
          </t>
        </list>
        </t>
        <t> Validation of received paths
        <list style="symbols">
          <t> Resolvability of next-hop in control plane
          </t>
          <t> Availability of encapsulation in data plane
          </t>
        </list>
        </t>
        <t> Next-hop resolution for BGP Intent-aware route
        <list style="symbols">
          <t> Flexibility to use different intra-domain and inter-domain mechanisms, both intent-aware and traditional
          <list style="symbols">
            <t> IGP-FA, SR-TE, RSVP-TE, IGP, BGP-LU etc.  </t>
          </list>
          </t>
          <t> Recursive resolution over other BGP Intent-Aware routes
          </t>
          <t> Recursive resolution via alternative color or best-effort paths when a particular intent is not available in a domain
          </t>
        </list>
        </t>
        <t> Flexible, efficient, extensible protocol definition
        <list>
          <t> As an example for context, currently deployed mechanisms such as BGP-LU (RFC 8277) were designed for MPLS, hence only signal per prefix label(s) in NLRI. However, RFC9012 and RFC8669 have described extensions to BGP to signal multiple encapsulations, though in BGP attributes. The target deployments for intent-aware routing need to support additional transport as described in section 6.3.1.6.1. In addition, they also need to support a significantly higher targeted scale as described in scaling requirements.
          </t>
          <t> Hence, the protocol definition should
          <list style="symbols">
            <t> Support efficient signaling of different transport encapsulations</t>
            <t> Support efficient signaling multiple encapsulations for co-existence and migration between encapsulations</t>
            <t> Accommodate efficiency of processing and future extensibility</t>
          </list>
          </t>
        </list>
        </t>
        <t> Separation of transport and VPN service semantics
        <list style="symbols">
          <t> Allow for different route distribution planes or processing for service vs transport routes
          </t>
        </list>
        </t>
        <t> Signaling across domains with different color mappings for a given intent
        </t>
      </list>
      </t>
    </section>

   

    <section title="OAM Requirements" anchor='sec_oam_requirements'>
      <t> OAM in each domain should be function independently. This allows for more flexible evolution of the network.
      </t>
      <t> Basic MPLS OAM mechanisms described in [RFC8029] should be supported for MPLS based solutions deployments. Extensions defined in [RFC8287] should be supported. 
      </t>
      <t> Mechanisms described in [RFC 9259] should be supported for SRv6 based deployments.
      </t>
      <t> End-to-end ping and traceroute procedures should be supported.
      </t>
      <t>The ability to validate the path inside each domain should be supported.
      </t>
      <t> Statistics for inter-domain intent-based transport paths should be supported on a per intent-aware  path basis on the ingress PE nodes and as needed on egress and border nodes.
      </t>
    </section>
  </section>
</section>

<section title="Backward Compatibility" anchor='sec_backward_compatibility'>
  <t> This section will be updated in the future version of the document.
  </t>
</section>

<section title='Security Considerations' anchor='sec-con'>
  <t> This section will be updated in the future version of the document.
  </t>
</section>

<section anchor="IANA" title="IANA Considerations">
  <t> This section will be updated in the future version of the document. 
  </t>
</section>

<section title='Acknowledgements' anchor='ack'>
  <t> The authors would especially like to thank Joel Halpern for his guidance on the collaboration work that has produced this document and feedback on many aspects of the problem statement.
  </t>
  <t> We would like to thank Daniel Voyer, Robert Raszuk, Kireeti Kompella, Ron Bonica, Krzysztof Szarkowicz, Julian Lucek, Ram Santhanakrishnan, Stephane Litkowski, Andrew Alston for discussions and inputs.
  </t>
  <t> We also express our appreciation to Hannes Gredler, Simon Spraggs, Jose Liste and Jiri Chaloupka for discussions that have helped provide input to the problem statement.
  </t>
  <t> Many thanks to Colby Barth, John Scudder, Kamran Raza, Kris Michelson, Huaimo Chen for their review and valuable suggestions.
  </t>
   <t> Many thanks to Qassim Badat for valuable inputs on multicast requirements.
  </t>
</section>

<section title='Contributors'>
  <t>1.Kaliraj Vairavakkalai</t>
  <t>Juniper Networks</t>
  <t>kaliraj@juniper.net</t>
    
  <t>   </t>
  <t>2. Jeffrey Zhang</t>
  <t>Juniper Networks</t>
  <t>zzhang@juniper.net</t>
</section>

</middle>
<back>
<references title="Normative References">
<?rfc include='reference.RFC.2119'?>
</references>
<references title="Informative References">
<?rfc include='reference.RFC.4271'?>
<?rfc include='reference.RFC.3906'?>
<?rfc include='reference.RFC.7311'?>
<?rfc include='reference.RFC.5305'?>
<?rfc include='reference.RFC.3630'?>
<?rfc include='reference.RFC.8570'?>
<?rfc include='reference.RFC.7471'?>
<?rfc include='reference.RFC.4364'?>
<?rfc include='reference.RFC.4272'?>
<?rfc include='reference.RFC.7911'?>
<?rfc include='reference.RFC.6952'?>
<?rfc include='reference.RFC.9350'?>
<?rfc include='reference.RFC.9256'?>
<?rfc include='reference.RFC.9012'?>
<?rfc include='reference.I-D.ietf-mpls-seamless-mpls'?>
<?rfc include='reference.I-D.ietf-idr-performance-routing'?>
<?rfc include='reference.I-D.ietf-lsr-flex-algo-bw-con'?>
<?rfc include='reference.I-D.kaliraj-idr-bgp-classful-transport-planes'?>
<?rfc include='reference.I-D.hegde-spring-seamless-sr-architecture'?>
<?rfc include='reference.I-D.dskc-bess-bgp-car-problem-statement'?>
<?rfc include='reference.I-D.dskc-bess-bgp-car'?>
<?rfc include='reference.I-D.filsfils-spring-sr-policy-considerations'?>
<?rfc include='reference.I-D.hegde-spring-node-protection-for-sr-te-paths'?>
<?rfc include='reference.I-D.ietf-idr-segment-routing-te-policy'?>
<?rfc include='reference.I-D.ietf-pce-segment-routing-policy-cp'?>
<?rfc include='reference.I-D.ietf-rtgwg-segment-routing-ti-lfa'?>
<?rfc include='reference.I-D.voyer-pim-sr-p2mp-policy'?>
<?rfc include='reference.I-D.hegde-rtgwg-egress-protection-sr-networks'?>
<?rfc include='reference.I-D.zzhang-bess-bgp-multicast'?>
</references>
</back>
</rfc>
