<?xml version="1.0" encoding="US-ASCII"?>
<!-- $Id: draft-boutros-spring-ng-vpws-00.xml 2015-07-05 sboutros $ -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<rfc category="std" docName="draft-boutros-bess-eline-services-over-sr-01"
     ipr="trust200902" updates="">
  <?rfc toc="yes" ?>

  <?rfc compact="yes"?>

  <?rfc subcompact="no"?>

  <?rfc symrefs="yes"?>

  <?rfc sortrefs="yes" ?>

  <front>
    <title abbrev="E-Line Services with Segment Routing">A Simplified Scalable E-Line Service Model with Segment Routing Underlay</title>

    <author fullname="Sami Boutros" initials="S." surname="Boutros" role="editor">
      <organization>Ciena Corporation</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <code></code>

          <region></region>

          <country>USA</country>
        </postal>

        <email>sboutros@ciena.com</email>
      </address>
    </author>

    <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan" role="editor">
      <organization>Ciena Corporation</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <code></code>

          <region></region>

          <country>Canada</country>
        </postal>

        <email>ssivabal@ciena.com</email>
      </address>
    </author>

    <author fullname="James Uttaro" initials="J." surname="Uttaro">
      <organization>AT&amp;T</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <code></code>

          <region></region>

          <country>USA</country>
        </postal>

        <email>ju1738@att.com</email>
      </address>
    </author>

    <author fullname="Daniel Voyer" initials="D." surname="Voyer">
      <organization>Bell Canada</organization>
    
      <address>
        <postal>
          <street></street>

          <city></city>

          <code></code>

          <region></region>

          <country>Canada</country>
        </postal>

        <email>daniel.voyer@bell.ca</email>
      </address>
    </author>

<author fullname="Bin Wen" initials="B." surname="Wen">
      <organization>Comcast</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <code></code>

          <region></region>

          <country>USA</country>
        </postal>

        <email>bin_wen@cable.comcast.com</email>
      </address>
    </author>

   <author fullname="Luay Jalil" initials="L." surname="Jalil">
      <organization>Verizon</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <code></code>

          <region></region>

          <country>USA</country>
        </postal>

        <email>luay.jalil@verizon.com</email>
      </address>
    </author>


    <date year="2021"/>

    <area>Routing</area>

    <workgroup>BESS Workgroup</workgroup>

    <abstract>
<t>This document proposes a new approach for realizing Ethernet line (E-Line) services over Segment Routing (SR) networks. This approach significantly improves scalability and convergence of control plane, and simplifies network operation. Furthermore, it naturally yields All-Active multi-homing support for E-Line services without relying on any overlay techniques.</t> 

    </abstract>
  </front>

  <middle>

<section title="Introduction">

<t>Historically, E-Line services are realized as Virtual Private Wire Services (VPWS) using point-to-point (P2P) Pseudo-Wires (PWs). A PW identifies both the service type and the service termination nodes in both control and data planes. A PW can be dynamically established via LDP or BGP. Ethernet VPN (EVPN) signaling mechanisms via BGP can be used to provide VPWS with Single-Active and All-Active multihoming redundancy as well as Inter-Autonomous System (AS) support.</t>

<t>This document proposes a new approach for supporting E-Line services over Segment Routing (SR) networks. It reduces BGP signaling overhead by at least by two orders of magnitudes compared to the current EVPN-VPWS signaling mechanisms and hence yields better control plane scalabilty. Furthermore, it eliminates the need to associate Route Distinguisher (RD) and Route Target (RT) with EVPN routes, and hence leads to simpler network operations. The proposed approach enables the benefit of All-Active redundancy and aliasing for the Multi-Home (MH) sites. This proposal makes use of the properties of SR anycast SID to achieve redundancy and fast convergence at the transport level. Anycast SIDs provide the ability to discover nodes supporting multihoming and perform Designated Forwarder (DF) election. As such, the need for any overlay mechanism to achieve redundancy and fast convergence is eliminated. Also, the proposed approach supports auto-discovery and single-sided service provisioning.</t>

<t>In the proposed approach, an E-Line service instance is represented by a Segment ID (SID) which is referred to "Service SID" in the rest of the document. Such a SID can be:

	<list style="symbols">
		<t>an MPLS label for SR-MPLS.</t>
		<t>a uSID (micro SID) for SRv6 representing network 			function associated with an E-Line service instance. A new SRv6 network programming function will be specified in the next version of this document.</t>
	</list>

In the present form, classical VPWS service is incapable of supporting All-Active multihoming. However, thanks to SR anycast SID capability, the proposed approach natively provides such redundancy at transport layer.</t>

<t>A Service SID is unique within a service domain. A node can advertise service SID(s) of the E-Line instance(s) that it hosts via BGP for auto-discovery purpose. In the case of SR-MPLS, a service SID can be carried as a range of absolute MPLS label values or an index into an Segment Routing Global Block (SRGB), and in the case of SRv6, a service SID can be carried as uSID in BGP update.</t> 

<t>A node advertising E-Line service routes packs information about as many service instances as possible at the time of advertisement in a single route. The objective is to reduce the volume of signaling messages advertised as well as processed in control plane. E-Line service SIDs are represented as an array. A service route contains SID value at the start of the array and a bitmask where each bit represents an index in the array. The SID value for an E-Line service instance can be derived from the start and the index of the array. When advertising routes to E-Line services, a node sends the initial value of the SID array and sets the bitmask to indicate all E-Line services instances that it hosts along with its node SID which may be anycast SID for MH case. For FXC, a route containing the start normalized VID and the bitmask of VIDs in association with the E-Line service SID is advertised. The necessary BGP extension will be described in a future version of this document.</t>

<t> Each node attached to the MH site advertises the same anycast SID to allow other nodes to discover the redundancy group membership (auto-discovery).</t>


<t>The proposed solution can also be applicable to the existing EVPN control plane without compromising its benefits such as All-Active multihoming on access, aliasing in the core, auto-provisioning and auto-discovery, etc. With this approach, the need for advertising of EVPN route types 1 and 4 as well Split-Horizon (SH) label is eliminated which simplifies EVPN-VPWS operations.</t> 

   
<t>In the following sections, we will describe the functionalities of the proposed approach in detail.</t>

</section>

    <section title="Terminology">
<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"/>.</t>
    </section>

<section title="Abbreviations">

<t>CE: Customer Edge node e.g., host or router or switch.</t> 

<t>E-Line: Ethernet virtual private line.</t>

<t>EVPN: Ethernet VPN.</t>

<t>MH: Multi-Home. </t>

<t>OAM: Operations, Administration and Maintenance.</t>  

<t>PE: Provide Edge Node.</t>

<t>SID: Segment Identifier.</t>

<t>SR: Segment Routing.</t>

<t>VPWS: Virtual Private Wire Service. </t>

     </section>

<section title="Control Plane Behavior">
<figure align="left">
          <preamble/>

          <artwork align="left"><![CDATA[ 
                                     ____ CE3
                                    /               ____CE1
                         --------  PE3 ---------  /
                        /                       PE1
                       /                         | \
                      PE5                        |  \
                     /|                          |   \ CE2
                    / | Service Provider Network |   / 
                CE5   |                          |  /   
                    \ |                          | / 
                     \|                         PE2
                      PE6                       /
                      /  --------  PE4  --------
              CE6___ /     CE4_____/
                                         
                                         
  Figure 1: A reference network used for the examples below 
]]></artwork>
        </figure>

<section title="Service discovery">

<t>A node (e.g., PE5 in Figure 1) can discover E-Line instances as well as the associated service SIDs on other nodes (e.g., PE1, PE2, etc in Figure 1) via configuration or auto-discovery. With the latter, the service SIDs may be advertised using BGP.</t>

</section>

<section title="All-Active Service Redundancy">

<t>An anycast SID per Ethernet Segment (ES) will be configured on all nodes attached to a Multi-Home (MH) site. For example, in Figure 1, PE1 and PE2 are configured with an anycast SID representing the multi-homed site CE2. The ES anycast SIDs will be advertised in BGP by nodes (e.g., PE1 and PE2) connected to the MH site.</t>

<t>Upon receiving advertisement containing ES anycast SID, a node (e.g., PE5 in Figure 1) learns the nodes (e.g., PE1 and PE2) hosting MH sites, and performs DF election. Aliasing is natively achieved at transport layer.</t>

</section>

<section title="E-Line Attributes">

 <t> Layer 2 extended community can be advertised with E-Line service routes. Such a route includes the start of service SID and the bitmap of all other Services enabled on the advertising node. This will be elaborated more in the next revision of this document. As mentioned earlier, the goal is to pack information about as many E-Line services hosted on the advertising node as possible to reduce the overall amount of signaling messages.</t>

</section>

<section title="Service withdrawal">

<t>Node failure can be detected due via IGP convergence. For faster detection of node failure, mechanism like BFD can be deployed. The proposed approach does not require additional service withdrawal mechanism.</t>

<t>On PE-CE link failure, the PE node withdraws the route to the corresponding ES in BGP in order to stop receiving traffic to that ES.</t>

<t>With MH case with anycast SID, upon detecting a failure on PE-CE link, a PE node may forward incoming traffic to the impacted ES(s) to another PE node which is part of the anycast group until it withdraws routes to the impacted ES(s) for faster convergence. For example, in Figure 1, assuming PE5 and PE6 are part of an anycast group, upon link failure between PE5 and CE5, PE5 can forward the received packets from the core to PE6 until it withdraws the anycast SID associated with the MH site.</t>

</section>

</section>

<section title="Data Plane Behavior">

<section title="Data Packet Format">

<t>The proposed method requires unicast data packet be formed as shown in Figure 2.</t>

<figure align="left">
          <preamble/>

          <artwork align="left"><![CDATA[

                      +-------------------------------+
                      | SID(s) to reach destination   |
                      +-------------------------------+
                      |          Service SID          |
                      +-------------------------------+
                      |        Layer-2 Payload        |
                      +-------------------------------+

        Figure 2: Data packet format for sending traffic to a destination 
]]></artwork>
        </figure>

        <t>
        <list style="symbols">
        <t>SID(s) to reach destination: depends on the intent of the underlay transport:

        <list style="symbols">
<t>IGP shortest path: node SID of the destination. The destination can belong to an anycast group.</t>
<t>IGP path with intent: Flex-Algo SID if the destination can be reached using the Flex-Algo SID for a specific intent (e.g., low latency path). The destination can belong to an anycast group.</t>
<t>SR policy: a SID-list for the SR policy that can be used to reach the destination.</t>
        </list>
</t>
        <t>Service SID: The SID that uniquely identifies a E-Line service instance in an SR domain.</t>

        </list>
        </t>

</section>

<section title="Aliasing">

<t>Packets destined to a MH CE is distributed to the PE nodes attached to the CE for load-balancing (UCMP/ECMP) purpose. This is achieved implicitly due to the use of anycast SIDs for both ES as well as PE attached to the ES. In our example, traffic destined to CE5 is distributed via PE5 and PE6.</t>
   
</section>

<section title="Single-Homed CE">


<t> Referring to Figure 1, PE3 and PE4 provide an E-Line service to connect CE3 to CE4. If PE3 wants to forward a packet received from CE3 to CE4, it formulates the packet as shown in Figure 3.</t>
  
	<figure align="left">
          <preamble/>

          <artwork align="left"><![CDATA[
                      
                      +-----------------------------+
                      |Transport SID(s) to reach PE4|
                      +-----------------------------+
                      |       Service SID           |
                      +-----------------------------+
                      |      Layer-2 Packet         |
                      +-----------------------------+
                 
      Figure 3: Data packet format for forwarding traffic from PE3 to CE4
]]></artwork>
        </figure>

</section>

<section title="Multi-Homed CE">

<t>Referring to Figure 1, PE5 and PE6 and PE1 and PE2 provide to provide E-Line services to connect CE2 and CE5. PE5 and PE6 share an anycast SID, and PE1 and PE2 share another anycast SID.</t>

<t> Packets sent from CE2 to CE5 are load-balanced (ECMP/UCMP) between PE5 and PE6 assuming that PE1 and PE2 learned the corresponding E-Line Service SID from PE5 and PE6.</t>

    	<t>The following diagram shows SID stack for a L2 packet sent from CE2 to CE5.</t>

  	<figure align="left">
          <preamble/>

          <artwork align="left"><![CDATA[

                      +--------------------------------+
                      |Anycast Node SID for PE5 and PE6|
                      +--------------------------------+
                      |         Service SID            |
                      +--------------------------------+
                      |         Layer-2 Packet         |
                      +--------------------------------+

 Figure 4: Data packet format for forwarding traffic from PE1 or PE2 to CE5 
	]]></artwork>
        </figure>

        <t>In case of FXC the signaled normalized VID will be encoded in the Layer 2 packet.</t>

</section>


</section>


<section title="Benefits of E-Line services over SR">
	
<t>The proposed approach eliminates the need for establishing and maintaining PWs as with legacy VPWS technology. This yields significant reduction in control plane overhead. The proposed approach provides the benefits as such fast convergence. Finally, using anycast SID, the proposed approach provides All-Active multihoming as well as aliasing. </t>


</section>

<section title="Security Considerations">

   	<t>The mechanisms in this document use Segment Routing control plane as defined in Security considerations described in Segment Routing control plane are equally applicable.</t>

</section>
   <section title="IANA Considerations">
   <t>TBD. </t>
  </section>

  <section title="Acknowledgements">

  </section>
  </middle>
  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>
      <?rfc include="reference.RFC.8402"?>
      <?rfc include="reference.RFC.8660"?>
      <?rfc include="reference.RFC.8754"?>
    </references> 

    <references title="Informative References">
     <?rfc include="reference.RFC.4664"?>
	<?rfc include="reference.RFC.8214"?>
	
      <?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-spring-segment-routing-policy"?>
    </references> 

  </back>
</rfc>

