<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!--  $Id: draft-boutros-bess-elan-services-over-sr-00.xml 2015-07-05 sboutros $  -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-boutros-bess-elan-services-over-sr-04" ipr="trust200902" updates="" tocInclude="true" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="ELAN Services with Segment Routing">A Simplified Scalable ELAN Service Model with Segment Routing Underlay</title>
    <seriesInfo name="Internet-Draft" value="draft-boutros-bess-elan-services-over-sr-04"/>
    <author fullname="Sami Boutros" initials="S." surname="Boutros" role="editor">
      <organization>Ciena Corporation</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <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/>
          <city/>
          <code/>
          <region/>
          <country>Canada</country>
        </postal>
        <email>ssivabal@ciena.com</email>
      </address>
    </author>
    <author fullname="Himanshu Shah" initials="H." surname="Shah">
      <organization>Ciena Corporation</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <region/>
          <country>USA</country>
        </postal>
        <email>hshah@ciena.com</email>
      </address>
    </author>
    <author fullname="James Uttaro" initials="J." surname="Uttaro">
      <organization>ATT</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <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/>
          <city/>
          <code/>
          <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/>
          <city/>
          <code/>
          <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/>
          <city/>
          <code/>
          <region/>
          <country>USA</country>
        </postal>
        <email>luay.jalil@verizon.com</email>
      </address>
    </author>
    <date year="2023"/>
    <area>Routing</area>
    <workgroup>BESS Workgroup</workgroup>
    <abstract>
      <t>This document proposes a new approach for realizing Ethernet LAN (ELAN) services with an objective of leveraging Segment Routing Control plane to achieve high scalability, faster network convergence, and reduced operational complexity. Furthermore, it naturally brings the benefits of All-Active multihoming as well as MAC learning in data-plane. </t>
    </abstract>
  </front>
  <middle>
    <section>
      <name>Introduction</name>
      <t>Virtual Private LAN Service(VPLS) is based on Pseudo-Wire (PW) construct which identifies both the service type and the service termination node in both control and data planes. RFCs 4761 and 4762 specify mechanisms to signal PW for VPLS services using BGP and LDP respectively. An ingress Provider Edge (PE) node needs to maintain a PW per VPLS instance for each egress PE node. So, if we assume 10K ELAN instances over a network of 100 PE nodes, each PE node needs to setup and maintain approximately 1M PWs which can easily become a scalability bottleneck in large scale deployment.</t>
      <t>As described in RFC7432, Ethernet Virtual Private Network (EVPN) technology builds ELAN services similar to BGP-based IP-VPN services with additional features such as MAC address learning in control lane, All-Active multihoming, etc. It eliminates the need for PWs, and hence the scale problem associated with PWs. However, an egress PE node cannot unambiguously identify ingress PE node in data-plane. As such, EVPN requires control plane mechanisms for MAC advertisement and learning which increases control plane complexity and overhead. </t>
      <t>The goal of the proposed approach is to greatly simplify control plane functions and minimize the amount of control plane messages PE nodes have to process. In this version of the document, we assume Segment Routing (SR) underlay network. A future version of this document will generalize the underlay network to both classical MPLS and SR technologies. </t>
      <t>The proposed approach does not require PW, and hence the control plane complexity and message overhead associated with signaling and maintaining PWs are eliminated. </t>
      <t>
An ELAN instance is uniquely identified by Segment ID (SID) regardless of the number of service termination points. Such a SID will be referred to as "Service SID" in the rest of the document. The number of states maintained at a PE node is equal to the number of ELAN instances in the corresponding broadcast domain. Referring to the above example, each PE node now needs to maintain states for 10K ELAN service instances as opposed to 1 M PWs in the case of classical VPLS model in data and control planes. A node can advertise service SID(s) of the ELAN instance(s) that it hosts via BGP for auto-discovery purpose. A Service SID can be:
</t>
      <ul spacing="normal">
        <li>MPLS label for SR-MPLS.</li>
        <li>uSID (micro SID) for SRv6 representing network function associated with an ELAN service instance.</li>
      </ul>
      <t>MAC address is learned in data-plane. Source node of a MAC address is identified by its node SID (assigned for regular SR operation) during MAC learning phase. In the data packets, the node SID of the source is inserted directly below the service SID so that a destination node can uniquely identify the source of the packets in an SR domain. </t>
      <t>ELAN service instances are advertised such that a service message packs as many ELAN instances hosted by the advertising PE node as possible at the time of advertisement. A possible approach is to use a bit-map in which each bit position represents an ELAN instance, as well as the starting value of Service SID. Using these parameters, an ingress PE receiving advertisements node can learn ELAN instance(s) hosted by an egress PE node. </t>
      <t>All-Active multihoming redundancy is supported at the underlay level by making use of SR anycast SID. No overlay mechanism is required for this purpose. </t>
      <t>Each node is also associated with another SID unique within the broadcast domain that is used to identify incoming Broadcast Unknown-unicast, and Multicast (BUM) traffic. We call such SID BUM SID. If node A wants to send BUM traffic to node B, it needs to use BUM SID assigned to node B as a destination SID. BUM SIDs can also be advertised via BGP for auto-discovery purpose. In order to send BUM traffic within a broadcast domain, P2MP SR policies can be used. Such policies may or may not be shared by ELAN instances. </t>
      <t>The proposed solution can also be applicable to the EVPN control plane without compromising its benefits such as All-Active multihoming on access, multipathing in the core, auto-provisioning and auto-discovery, etc. With this approach, the need for advertising EVPN route types 1 through 4 as well Split-Horizon (SH) label is eliminated. </t>
      <t>In the following sections, we will describe the functionalities of the proposed approach in detail. </t>
    </section>
    <section>
      <name>Terminology</name>
      <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>
      <name>Abbreviations</name>
      <t>BUM: Broadcast, unicast and multicast. </t>
      <t>CE: Customer Edge node e.g., host or router or switch.</t>
      <t>ELAN: Ethernet LAN.</t>
      <t>EVPN: Ethernet VPN.</t>
      <t>MAC: Media Access Control.</t>
      <t>MAC-VRF: A Virtual Routing and Forwarding table for Media Access Control (MAC) addresses on a PE.</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>VPLS: Virtual Private LAN Service. </t>
    </section>
    <section>
      <name>Control Plane Behavior</name>
      <section>
        <name>Service discovery</name>
        <t>A node can discover ELAN service instances as well as the associated service SIDs hosted on other nodes via configuration or auto-discovery. With the latter, the service SIDs can be advertised using BGP. As mentioned earlier such update message will pack information about as many ELAN instances hosted by the advertising PE node to reduce the amount of update messages exchanged by PE nodes.</t>
        <t>Similar to the service SID, an ingress PE node can discover BUM SID associated with an egress PE node via configuration or auto-discovery.</t>
        <t>The necessary BGP extensions will be specified in a separate document.</t>
      </section>
      <section>
        <name>All-Active Service Redundancy</name>
        <t>An anycast SID per Ethernet Segment (ES) can be associated with the PE nodes attached to a Multi-Home (MH) CE. The anycast SIDs will be advertised in BGP by the PE nodes. Based on ES anycast SIDs, ingress PEs receiving updates can discover the redundancy membership and perform DF election. Aliasing/Multipathing can be achieved using the same mechanisms excercised by SR underlay for forwarding traffic to destinations belonging to anycast group. </t>
      </section>
      <section>
        <name>Mass service withdrawal</name>
        <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 MAC withdrawal mechanism.</t>
        <t>On PE-CE link failure, the corresponding PE node withdraws the route to the corresponding ES in BGP in order to stop receiving traffic to that ES. 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 other PE node(s) that is/are 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 ES(s).</t>
      </section>
      <section>
        <name>E-Tree Support</name>
        <t>To be covered in the next revision of this document.</t>
      </section>
    </section>
    <section>
      <name>Data Plane Behavior</name>
      <t keepWithNext="true"/>
      <artwork align="left"><![CDATA[

                                        ____ CE3
                                       /               ____CE1
                            --------  PE3 ---------  /
                           /                       PE1
                          /                         | \
                         PE5                        |  \
                        /|                          |   \
                       / | Service Provider Network |    \
                   CE5   |                          |     CE2
                      \  |                          |   /
                       \ |                         PE2_/
                         PE6                       /
                         /  --------  PE4  --------
                 CE6___ /     CE4_____/

         Figure 1: Reference network diagram used for examples below

]]></artwork>
      <section>
        <name>Unicast Traffic</name>
        <t>The proposed method requires unicast data packet be formed as shown in Figure 2.</t>
        <t keepWithNext="true"/>
        <artwork align="left"><![CDATA[
                         +-------------------------------+
                         | SID(s) to reach destination   |
                         +-------------------------------+
                         |          Service SID          |
                         +-------------------------------+
                         |        Source node SID        |
                         +-------------------------------+
                         |        Layer-2 Payload        |
                         +-------------------------------+

           Figure 2: Data packet format for unicast traffic

]]></artwork>
        <ul spacing="normal">
          <li>
            <t>
SID(s) to reach destination: depends on the intent of the underlay transport:
</t>
            <ul spacing="normal">
              <li>IGP shortest path: node SID of the destination. The destination can belong to an anycast group.</li>
              <li>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). The destination can belong to an anycast group.</li>
              <li>SR policy (to support fine intent): a SID-list for the SR policy that can be used to reach the destination.</li>
            </ul>
          </li>
          <li>Service SID: The SID that uniquely identifies an ELAN instance in a broadcast domain.</li>
          <li>Source node SID: The SID that uniquely identifies the source node. This can be a node SID which may be part of an anycast group. Note that such a SID is allocated as part of SR underlay operation, and the proposed approach does not impose any additional requirement.</li>
        </ul>
      </section>
      <section>
        <name>BUM Traffic</name>
        <t>In order to identify incoming BUM traffic a unique SID (which will be referred to as "BUM SID" in the rest of the document) per PE node is allocated. A BUM packet is formatted as shown in Figure 3:</t>
        <t keepWithNext="true"/>
        <artwork align="left"><![CDATA[
                         +-------------------------------+
                         |            BUM SID            |
                         +-------------------------------+
                         |          Service SID          |
                         +-------------------------------+
                         |         Source node SID       |
                         +-------------------------------+
                         |        Layer-2 Payload        |
                         +-------------------------------+

           Figure 3: Data packet format for BUM traffic

]]></artwork>
        <t>In order to send BUM traffic, a P2MP SR policy may be established from a given node to rest of the nodes associated with an ELAN instance. If a dedicated P2MP SR policy is used per ELAN instance, a single SID may be used as both replication SID for the P2MP SR policy as well as to identify ELAN instance. With this approach, the number of SIDs imposed on data packet will be only two. It is possible to use a given P2MP SR policy for multiple ELAN instances in which case service SID needs to be inserted in the packet for egress PE to identify the ELAN instance for the BUM traffic.</t>
      </section>
      <section>
        <name>Data Plane MAC learning</name>
        <t>With the proposed approach, MAC address can be learned in data- plane using the packets formatted as shown in Figure 4.</t>
        <t>Source MAC address on the received Layer 2 packet is learned against the source node SID placed directly under the service SID in the data-plane.</t>
        <section>
          <name>Single Home CE</name>
          <t> In Figure 1, node 3 learns a MAC address from CE3 and floods it to all nodes configured with the same service SID. Nodes 1, 2, 4, 5 and 6 learn the MAC address as reachable via the source node SID of Node 3.</t>
          <t keepWithNext="true"/>
          <artwork align="left"><![CDATA[
                         +-----------------------------+
                         | Tree SID/Broadcast Node SID |
                         +-----------------------------+
                         |  Service SID                |
                         +-----------------------------+
                         |  Node SID of node 3         |
                         +-----------------------------+
                         |  Layer-2 Packet             |
                         +-----------------------------+

           Figure 4: Packet format used for flooding

]]></artwork>
        </section>
        <section>
          <name>Multi-Home CE</name>
          <t>Referring to Figure 1, let's assume that node 5 learns a MAC address from MH CE5, and floods it to all nodes in data-plane as per SID stack shown in Figure 5, including node 6. The receiving nodes learn the MAC address as reachable via the anycast SID belonging to node 5 and node 6. Node 6 applies SH and hence does not send the packet back to CE5, but treats the MAC address as reachable via CE5, as well floods the address to CE6.</t>
          <t>The following diagram shows SID label stack for a Broadcast and Multicast MAC frame sent by Multi-Home PE. Note the presence of source SID after the service SID. This combination/order is necessary for the receiver to learn source MAC address (from L2 packet) associated with ingress PE (i.e. source node SID).</t>
          <t keepWithNext="true"/>
          <artwork align="left"><![CDATA[

                         +-----------------------------+
                         | Tree SID/Broadcast Node SID |
                         +-----------------------------+
                         |  Service SID                |
                         +-----------------------------+
                         |  Anycast node SID for CE5   |
                         +-----------------------------+
                         |  Layer-2 Packet             |
                         +-----------------------------+

           Figure 5: Data packet format for traffic sent by a MH PE

]]></artwork>
        </section>
      </section>
      <section>
        <name>ARP suppression</name>
        <t>Gleaning ARP packet requests and replies will be used to learn IP/MAC binding for ARP suppression. ARP replies are unicast, however flooding ARP replies can allow all nodes to learn the MAC/IP bindings for the destinations too.</t>
      </section>
      <section>
        <name>Distributed Anycast Gateway</name>
        <t>
Distributed Anycast Gateway (GW) (aka inter-subnet IRB function) can be realized as follows:
</t>
        <ul spacing="normal">
          <li>All PEs connected to the tenant subnets share the same GW IP/MAC per subnet.</li>
          <li>A PE MUST never learn its own GW IP/MAC via the tunnels connecting itself to other PE(s).</li>
          <li>ARP requests/replies from the tenant subnet are flooded via the ingress PE(s) attached to the subnet to all egress PE(s) attached to the subnet so that egress PE(s) can learn the source MAC/IP address via the ingress PE(s).</li>
          <li>ARP replies from tenants will be delivered to the local PE hosts the GW virtual MAC address. The local PE MUST flood the ARP replies over the tunnel to other PEs. Other PEs, including the PE which originated the ARP request, will learn the IP/MAC association of the tenant from the received ARP reply.</li>
        </ul>
      </section>
      <section>
        <name>Multi-pathing</name>
        <t>Packets destined to a MH CE is distributed to the PE nodes attached to the CE for load-balancing 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>
        <name>E-Tree Support</name>
        <t>To be covered in the next revision of this document.</t>
      </section>
    </section>
    <section>
      <name>Benefits of ELAN over SR</name>
      <t>The proposed approach eliminates the need for establishing and maintaining PWs as with legacy VPLS technology. This yields significant reduction in control plane overhead. Also, due to MAC learning in data-plane (conversational MAC learning), the proposed approach provides the benefits as such fast convergence, fast MAC movement, etc. Finally, using anycast SID, the proposed approach provides All-Active multihoming as well as multipathing and ARP suppression. </t>
    </section>
    <section>
      <name>Security Considerations</name>
      <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>
      <name>IANA Considerations</name>
      <t>TBD. </t>
    </section>
    <section>
      <name>Acknowledgements</name>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t>SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>
        <reference anchor="RFC8660" target="https://www.rfc-editor.org/info/rfc8660" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8660.xml">
          <front>
            <title>Segment Routing with the MPLS Data Plane</title>
            <author fullname="A. Bashandy" initials="A." role="editor" surname="Bashandy"/>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source-routing paradigm.  A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with an SR header.  In the MPLS data plane, the SR header is instantiated through a label stack.  This document specifies the forwarding behavior to allow instantiating SR over the MPLS data plane (SR-MPLS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8660"/>
          <seriesInfo name="DOI" value="10.17487/RFC8660"/>
        </reference>
        <reference anchor="RFC8754" target="https://www.rfc-editor.org/info/rfc8754" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml">
          <front>
            <title>IPv6 Segment Routing Header (SRH)</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <date month="March" year="2020"/>
            <abstract>
              <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH).  This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8754"/>
          <seriesInfo name="DOI" value="10.17487/RFC8754"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC4761" target="https://www.rfc-editor.org/info/rfc4761" xml:base="https://www.rfc-editor.org/refs/bibxml/reference.RFC.4761.xml">
          <front>
            <title>Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling</title>
            <author initials="K." surname="Kompella" fullname="K. Kompella" role="editor">
              <organization/>
            </author>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter" role="editor">
              <organization/>
            </author>
            <date year="2007" month="January"/>
            <abstract>
              <t>Virtual Private LAN Service (VPLS), also known as Transparent LAN Service and Virtual Private Switched Network service, is a useful Service Provider offering.  The service offers a Layer 2 Virtual Private Network (VPN); however, in the case of VPLS, the customers in the VPN are connected by a multipoint Ethernet LAN, in contrast to the usual Layer 2 VPNs, which are point-to-point in nature.</t>
              <t>This document describes the functions required to offer VPLS, a mechanism for signaling a VPLS, and rules for forwarding VPLS frames across a packet switched network.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4761"/>
          <seriesInfo name="DOI" value="10.17487/RFC4761"/>
        </reference>
        <reference anchor="RFC4762" target="https://www.rfc-editor.org/info/rfc4762" xml:base="https://www.rfc-editor.org/refs/bibxml/reference.RFC.4762.xml">
          <front>
            <title>Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling</title>
            <author initials="M." surname="Lasserre" fullname="M. Lasserre" role="editor">
              <organization/>
            </author>
            <author initials="V." surname="Kompella" fullname="V. Kompella" role="editor">
              <organization/>
            </author>
            <date year="2007" month="January"/>
            <abstract>
              <t>This document describes a Virtual Private LAN Service (VPLS) solution using pseudowires, a service previously implemented over other tunneling technologies and known as Transparent LAN Services (TLS).  A VPLS creates an emulated LAN segment for a given set of users; i.e., it creates a Layer 2 broadcast domain that is fully capable of learning and forwarding on Ethernet MAC addresses and that is closed to a given set of users.  Multiple VPLS services can be supported from a single Provider Edge (PE) node.</t>
              <t>This document describes the control plane functions of signaling pseudowire labels using Label Distribution Protocol (LDP), extending RFC 4447.  It is agnostic to discovery protocols.  The data plane functions of forwarding are also described, focusing in particular on the learning of MAC addresses.  The encapsulation of VPLS packets is described by RFC 4448.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4762"/>
          <seriesInfo name="DOI" value="10.17487/RFC4762"/>
        </reference>
        <reference anchor="I-D.ietf-spring-segment-routing-policy" target="https://datatracker.ietf.org/doc/html/draft-ietf-spring-segment-routing-policy-22" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-segment-routing-policy.xml">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Alex Bogdanov" initials="A." surname="Bogdanov">
              <organization>British Telecom</organization>
            </author>
            <author fullname="Paul Mattes" initials="P." surname="Mattes">
              <organization>Microsoft</organization>
            </author>
            <date day="22" month="March" year="2022"/>
            <abstract>
              <t>Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy. This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-segment-routing-policy-22"/>
        </reference>
        <reference anchor="I-D.voyer-pim-sr-p2mp-policy" target="https://datatracker.ietf.org/doc/html/draft-voyer-pim-sr-p2mp-policy-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.voyer-pim-sr-p2mp-policy.xml">
          <front>
            <title>Segment Routing Point-to-Multipoint Policy</title>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Rishabh Parekh" initials="R." surname="Parekh">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
              <organization>Nokia</organization>
            </author>
            <author fullname="Zhaohui (Jeffrey) Zhang" initials="Z. J." surname="Zhang">
              <organization>Juniper Networks</organization>
            </author>
            <date day="10" month="July" year="2020"/>
            <abstract>
              <t>This document describes an architecture to construct a Point-to- Multipoint (P2MP) tree to deliver Multi-point services in a Segment Routing domain. A SR P2MP tree is constructed by stitching a set of Replication segments together. A SR Point-to-Multipoint (SR P2MP) Policy is used to define and instantiate a P2MP tree which is computed by a PCE.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-voyer-pim-sr-p2mp-policy-02"/>
        </reference>
      </references>
    </references>
  </back>
</rfc>
