<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-bess-mvpn-evpn-sr-p2mp-18" number="10018" ipr="trust200902" updates="6514, 7988" obsoletes="" consensus="true" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">

  <front>
    <title abbrev="MVPN and EVPN with SR P2MP and IR">Multicast and
    Ethernet VPN with Segment Routing Point-to-Multipoint (P2MP) and Ingress Replication</title>
    <seriesInfo name="RFC" value="10018"/>
    <author fullname="Rishabh Parekh" initials="R." surname="Parekh" role="editor">
      <organization>Arrcus</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>rishabh@arrcus.com</email>
      </address>
    </author>
    <author fullname="Daniel Voyer" initials="D." surname="Voyer" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <city>Montreal</city>
          <country>Canada</country>
        </postal>
        <email>davoyer@cisco.com</email>
      </address>
    </author>
    <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <city>Brussels</city>
          <country>Belgium</country>
        </postal>
        <email>cfilsfil@cisco.com</email>
      </address>
    </author>
    <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Ottawa</city>
          <country>Canada</country>
        </postal>
        <email>hooman.bidgoli@nokia.com</email>
      </address>
    </author>
    <author fullname="Zhaohui Zhang" initials="Z." surname="Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <date month="August" year="2026"/>

    <area>RTG</area>
    <workgroup>bess</workgroup>

    <abstract>
      <t>A Point-to-Multipoint (P2MP) tree in a Segment Routing (SR) domain carries
      traffic from a Root to a set of Leaves. This document specifies
      extensions to BGP encodings and procedures for P2MP trees and Ingress
      Replication used in BGP/MPLS IP VPNs and Ethernet VPNs (EVPNs) in an SR domain. This document updates RFCs 6514 and 7988.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>"Multicast in MPLS/BGP IP VPNs" <xref target="RFC6513" format="default"/> and "BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs" <xref target="RFC6514" format="default"/> specify procedures that allow a network operator to
      provide Multicast VPN (MVPN) service to its customers. Multicast traffic
      from a customer is tunneled across the service provider network over
      Provider Tunnels (P-tunnels). P-tunnels can be instantiated using
      different transport mechanisms. For example, a service provider network
      that uses Segment Routing (SR) can use an SR Point-to-Multipoint (P2MP) tree defined by an SR P2MP Policy <xref target="RFC9960" format="default"/> or SR P2MP Ingress Replication
      (IR) to instantiate P-tunnels for MVPN. This document refers to a
      P-tunnel realized by an SR P2MP Policy as an SR P2MP P-tunnel. SR P2MP
      P-tunnels can be instantiated for both Segment Routing over MPLS (SR-MPLS) <xref target="RFC8660" format="default"/>
      and Segment Routing over IPv6 (SRv6) <xref target="RFC8986" format="default"/> <xref target="RFC8754" format="default"/>.</t>
      <t>An SR P2MP tree is defined by an SR P2MP Policy <xref target="RFC9960" format="default"/> and instantiated via a controller
      such as a Path Computation Element (PCE). An SR P2MP Policy consists of
      a Root, a set of Leaf nodes, and a set of candidate paths (CPs) with
      optional set of constraints and/or optimization objectives to be
      satisfied by the SR P2MP tree. A CP has zero or more P2MP tree instances (PTIs).</t>
      <t>This document specifies extensions to BGP auto-discovery procedures
      specified in <xref target="RFC6514" format="default"/> for P-tunnels constructed with a
      PTI. Use of Protocol Independent Multicast (PIM) for auto-discovery is
      outside the scope of this document. Support for customer Bidirectional PIM
      (BIDIR-PIM) is also outside the scope of this document.</t>

      <t>This document extends procedures in <xref target="RFC7988" format="default"/> for MVPN service with IR over an
      SR-MPLS data plane with a Service Level Agreement (SLA). New procedures
      are defined for MVPN service with IR over an SRv6 data plane with or
      without an SLA.</t>
      <t>This document defines new SRv6 Endpoint behaviors <xref target="RFC8986" format="default"/> used for MVPN with SR P2MP and IR P-tunnels.</t>
      <t>For BGP MPLS-Based EVPN specified in <xref target="RFC7432" format="default"/> and updated in <xref target="RFC9572" format="default"/>, P-tunnels are advertised for
      handling multi-destination traffic. These P-tunnels can be instantiated
      by SR-MPLS or SRv6 P2MP trees.</t>
      <t>The reader is expected to be familiar with <xref target="RFC6513" format="default"/> and <xref target="RFC6514" format="default"/> for MVPN procedures. For EVPN procedures, refer to <xref target="RFC7432" format="default"/>.</t>

      <t>Scalability, operational, and troubleshooting considerations for SR
      P2MP trees and Replication segments are described in <xref target="RFC9960" format="default"/> and <xref target="RFC9524" format="default"/>,
      respectively. Operations, Administration, and Maintenance (OAM) ping and
      traceroute procedures for SR P2MP Policy using the SR-MPLS data plane are
      specified in <xref target="RFC9961" format="default"/>.</t>
      <section numbered="true" toc="default">
        <name>Terminology</name>
        <t>The following terms are used as defined in <xref target="RFC8402" format="default"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Segment Routing (SR)</t>
          </li>
          <li>
            <t>Segment Identifier (SID)</t>
          </li>
          <li>
            <t>SR domain</t>
          </li>
          <li>
            <t>SR-MPLS</t>
          </li>
          <li>
            <t>SRv6</t>
          </li>
          <li>
            <t>SRv6 SID</t>
          </li>
        </ul>
        <t>The following term is used as defined in <xref target="RFC8754" format="default"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Segment Routing Header (SRH)</t>
          </li>
        </ul>
        <t>The following terms are used as defined in <xref target="RFC9524" format="default"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Replication segment</t>
          </li>
          <li>
            <t>Replication-SID</t>
          </li>
          <li>
            <t>Root node</t>
          </li>
          <li>
            <t>Leaf node</t>
          </li>
          <li>
            <t>Bud node</t>
          </li>
          <li>
            <t>Intermediate Replication node</t>
          </li>
        </ul>
        <t>The following terms are used as defined in <xref target="RFC9960" format="default"/>:</t>
        <ul spacing="normal">
          <li>
            <t>SR P2MP Policy</t>
          </li>
          <li>
            <t>Tree-ID</t>
          </li>
          <li>
            <t>Candidate path (CP)</t>
          </li>
          <li>
            <t>P2MP tree instance (PTI)</t>
          </li>
          <li>
            <t>Tree-SID</t>
          </li>
        </ul>
        <t>For MVPN, the following terms are used as defined in <xref target="RFC6513" format="default"/> and <xref target="RFC6514" format="default"/>:</t>
        <ul spacing="normal">
          <li>
            <t>P-Multicast Service Interface (PMSI)</t>
          </li>
          <li>
            <t>P-tunnel</t>
          </li>
          <li>
            <t>PMSI Tunnel Attribute (PTA)</t>
          </li>
          <li>
            <t>Auto-Discovery (A-D) routes</t>
          </li>
          <li>
            <t>Intra-AS I-PMSI A-D</t>
          </li>
          <li>
            <t>Inter-AS I-PMSI A-D</t>
          </li>
          <li><t>S-PMSI A-D</t>
          </li>
          <li>
            <t>Leaf A-D route</t>
          </li>
        </ul>
        <t>For EVPN, the following terms are used as defined in <xref target="RFC7432" format="default"/>, <xref target="RFC9251" format="default"/>, and <xref target="RFC9572" format="default"/>:</t>
        <ul spacing="normal">
          <li>
            <t>EVPN Instance (EVI)</t>
          </li>
          <li>
            <t>Ethernet Segment (ES)</t>
          </li>
          <li>
            <t>Ethernet Segment Identifier (ESI)</t>
          </li>
          <li>
            <t>Inclusive Multicast Ethernet Tag (IMET) route</t>
          </li>
          <li>
            <t>Selective Multicast Ethernet Tag (SMET) route</t>
          </li>
          <li>
            <t>Broadcast, Unknown Unicast or Multicast (BUM)</t>
          </li>
          <li>
            <t>S-PMSI</t>
          </li>
          <li><t>Leaf A-D route</t></li>
        </ul>
      </section>
    <section>
      <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
        "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
        NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
        "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
        "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document
        are to be interpreted as described in BCP&nbsp;14 <xref
        target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
        appear in all capitals, as shown here.
        </t>
    </section>

    </section>
    <section anchor="SRP2MPTunnel" numbered="true" toc="default">
      <name>SR P2MP P-Tunnel</name>

      <t>For MVPN or EVPN, Provider Edge (PE) routers can steer customer traffic into a P-tunnel realized by an SR-MPLS or SRv6 PTI. An SR PTI is instantiated by a CP of an SR P2MP Policy <xref target="RFC9960" format="default"/>. A P-tunnel is
      signaled in MVPN or EVPN A-D routes using the BGP PMSI Tunnel Attribute
      (PTA) <xref target="RFC6514" format="default"/>. The PTA identifies the P-tunnel that is
      used to instantiate a PMSI.</t>

      <figure>
        <name>MVPN/EVPN Interaction with SR P2MP Policy</name>
        <artwork align="left"><![CDATA[
+---------------------------------+
|            INGRESS PE           |                   +------------+
|  +----------+     +----------+  |                   |            |
|  |          |     |  SR P2MP |  |    PCEP/BGP/etc.  |            |
|  | MVPN/EVPN+---->|  Policy  |  +------------------>| CONTROLLER |
|  |  Module  |     |  Module  |  |                   |            |
|  +----------+     +----------+  |                   |            |
|                                 |                   +------------+
+---------------------------------+]]></artwork>
      </figure>

      <t>The figure above shows the interaction between the conceptual MVPN or
      EVPN module and SR P2MP Policy module on an ingress PE. The ingress PE
      participates in MVPN or EVPN AD procedures and interacts with the SR
      P2MP Policy module as shown above to create and update the SR P2MP
      Policy, CP, and the Leaf set of SR P2MP policies. The SR P2MP
      Policy module interacts with a controller using protocols such as the Path Computation Element Communication Protocol (PCEP)
      <xref target="I-D.ietf-pce-sr-p2mp-policy" format="default"/>, BGP, the Network Configuration Protocol (NETCONF), etc., which
      are outside the scope of this document.</t>
      <t>An ingress PE creates a CP of an SR P2MP Policy in the SR P2MP Policy
      module upon provisioning of the MVPN or EVPN module for the SR P2MP
      P-tunnel or based on events or policy, such as mapping MVPN or EVPN
      flow to a new SR P2MP P-tunnel. This CP can have optional traffic
      engineering constraints and/or an optimization objective by provisioning or
      by a local policy. The SR P2MP Policy module signals the CP along with
      the constraints and optimization objective to the controller using one of the
      protocols mentioned above. The ingress PE deletes the CP of the SR P2MP
      Policy from the SR P2MP Policy module when the SR P2MP P-tunnel is not
      longer required. The SR P2MP Policy module signals deletion of the CP of
      the SR P2MP Policy to the controller.</t>
      <t>An ingress PE participates in the MVPN or EVPN A-D procedures
      defined in this document to discover Leaf nodes of an SR P2MP P-tunnel
      via various A-D routes. The MVPN or EVPN module on the ingress PE
      updates the Leaf set of the SR P2MP Policy corresponding to the P-tunnel
      in the SR P2MP Policy module. The SR P2MP Policy module signals the
      updated Leaf set to the controller using one of the protocols mentioned
      above.</t>
      <t>An egress PE associates an MVPN or EVPN A-D route with an MVPN or EVPN
      context and informs the SR P2MP Policy module to join the SR P2MP
      P-tunnel as a Leaf or a Bud node.</t>

      <t>Given a Leaf set of an SR P2MP Policy and a CP with constraints and
      an optimization objective, the controller computes and instantiates the PTI
      on the nodes that are part of the tree by stitching Replication segments
      <xref target="RFC9524" format="default"/> at the Root (ingress PE) node, intermediate
      replication nodes, and Leaf nodes (egress PEs). A Replication segment of
      a PTI can be instantiated by various methods such as BGP, PCEP, NETCONF,
      etc., which are outside the scope of this document. This PTI of the SR
      P2MP Policy instantiates the P-tunnel advertised by the MVPN or EVPN A-D
      routes.</t>
      <t>The Tree-SID is the unique data plane identifier of the PTI. The Root
      node encapsulates the payload in the Tree-SID to steer it into the PTI.
      The Provider (P) routers replicate the encapsulated payload using
      Replication segments towards the Leaf nodes of the PTI. The Leaf nodes
      of the PTI dispose the Tree-SID and deliver the payload. A Leaf node
      derives the MVPN or EVPN instance for delivering the payload from either
      the Tree-SID or another context encoded in the packet.</t>
      <t>Note that an ingress PE can deliver an MVPN or EVPN payload to the egress
      PEs using IR over SR-MPLS or SRv6. The SR P2MP Policy module and
      controller do not participate in IR.</t>
    </section>
    <section anchor="MVPN-SR" numbered="true" toc="default">
      <name>MVPN with SR</name>
      <t>MVPN service can be provided using SR P2MP trees or IR over either an SR-MPLS
      or SRv6 data plane.</t>
      <section anchor="SRv6Endpoint" numbered="true" toc="default">
        <name>SRv6 Multicast Endpoint Behaviors</name>
        <t>The following SRv6 Endpoint behaviors can be associated with the
        SRv6 Multicast Service SID used for MVPN with SR P2MP and IR
        P-tunnels.</t>

        <section numbered="true" toc="default">
          <name>End.DTMC4: Decapsulation and Specific IPv4 Multicast Table Lookup</name>
          <t>The "Endpoint with Decapsulation and IPv4 Multicast Table Lookup" behavior (End.DTMC4 for short)
          is functionally identical to the
          End.DT4 behavior specified in <xref target="RFC8986" format="default"/>, except that
          the forwarding lookup <bcp14>MUST</bcp14> be performed in the IPv4 multicast
          routing table rather than the IPv4 unicast routing table.</t>
          <t>This behavior <bcp14>MUST</bcp14> only be associated with the SRv6 Multicast Service
          SID carried in AFI/SAFI 1/129 (MVPN-IPv4) A-D routes.</t>
        </section>
        <section numbered="true" toc="default">
          <name>End.DTMC6: Decapsulation and Specific IPv6 Multicast Table Lookup</name>
          <t>The "Endpoint with Decapsulation and IPv6 Multicast Table Lookup"
          behavior (End.DTMC6 for short) is functionally identical to
          the End.DT6 behavior specified in <xref target="RFC8986"
          format="default"/>, except that the forwarding lookup
          <bcp14>MUST</bcp14> be performed in the IPv6 multicast routing table
          rather than the IPv6 unicast routing table.</t>
          <t>This behavior <bcp14>MUST</bcp14> only be associated with the SRv6 Multicast Service
          SID carried in AFI/SAFI 2/129 (MVPN-IPv6) A-D routes.</t>
        </section>
        <section numbered="true" toc="default">
          <name>End.DTMC46: Decapsulation and Specific IP Multicast Table Lookup</name>
          <t>The "Endpoint with Decapsulation and IP Multicast Table Lookup"
          behavior (End.DTMC46 for short) is functionally identical to the
          End.DT4 and End.DT6 behaviors specified in <xref target="RFC8986"
          format="default"/>, except that the forwarding lookup
          <bcp14>MUST</bcp14> be performed in the IP multicast routing table
          rather than in an IP unicast routing table.</t>
          <t>This behavior <bcp14>MUST</bcp14> only be associated with the SRv6 Multicast Service
          SID carried in AFI/SAFI 1/129 (MVPN-IPv4) or 2/129 (MVPN-IPv6) A-D
          routes.</t>
        </section>
      </section>
      <section numbered="true" toc="default">
        <name>MVPN with SR P2MP P-Tunnel</name>
        <t><xref target="RFC6514" format="default"/> defines procedures for discovering PEs
        participating in a given MVPN and binding customer multicast flows to
        specific P-tunnels. This section specifies modifications to these
        procedures for SR P2MP P-tunnels. The Intra-AS I-PMSI, Inter-AS
        I-PMSI, and S-PMSI A-D routes have the PTA that specifies the SR P2MP
        tree P-tunnel. In this section, the term "SR P2MP" refers to both
        SR-MPLS and SRv6 data planes.</t>
        <section anchor="MVPNPTA" numbered="true" toc="default">
          <name>PMSI Tunnel Attribute for SR P2MP P-Tunnel</name>
          <t>A PTA for an SR P2MP P-tunnel is constructed as specified
          below.</t>
	      <ul spacing="normal">
            <li><t>Tunnel Type: One of the following SR P2MP P-tunnel types (from the
            "P-Multicast Service Interface Tunnel (PMSI Tunnel) Tunnel Types"
            registry).</t>
              <ul spacing="normal">
                <li><t>0x0C for SR-MPLS P2MP Tree</t></li>
                <li><t>0x0D for SRv6 P2MP Tree</t></li>
              </ul>
            </li>
            <li><t>Flags: See <xref target="MVPNAD" format="default"/> for use
            of the "Leaf Information Required" flag.</t></li>
            <li><t>MPLS Label: See <xref target="EVPNMPLSLabel"
            format="default"/>.</t></li>

<li><t>Tunnel Identifier: The SR P2MP P-tunnel identifies an SR
            P2MP Policy with the identifier &lt;Root, Tree-ID&gt; <xref
            target="RFC9960" format="default"/> encoded in the exact
            order below:</t>
              <ul spacing="normal">
                <li><t>Tree-ID: A 32-bit unsigned value that uniquely
                identifies an SR P2MP Policy at the Root.</t></li>
                <li><t>Root: An IP address identifying the Root of the SR P2MP
                Policy. This can be either an IPv4 or IPv6 address. The
                address type can be inferred from the PTA length.</t></li>
              </ul>
            </li>
          </ul>
          <t>A PTA with a SR P2MP P-tunnel is provisioned with the Tunnel Type for
          SR-MPLS or SRv6 P2MP trees. An implementation <bcp14>SHOULD</bcp14> advertise a PTA
          with SR P2MP P-tunnel only when the underlying SR-MPLS or SRv6 data
          plane is supported. The procedures for provisioning and
          determination of data plane support for SR-MPLS or SRv6 are outside
          scope of this document.</t>
          <t>A P-tunnel can be segmented or non-segmented (see 
          <xref target="RFC6513" section="8"/>). When a P-tunnel is non-segmented, the PTA
          is created by PE router at the Root of an SR P2MP tree. For
          segmented P-tunnels, each segment can be instantiated by a different
          P-tunnel type. If a segment is instantiated using a P2MP tree, the
          router at the Root of an SR P2MP tree creates the PTA.</t>
          <section anchor="MVPNMPLSLabel" numbered="true" toc="default">
            <name>MPLS Label</name>
            <t>When an SR P2MP P-tunnel is not shared across MVPNs, i.e., there
            is one-to-one association between an MVPN instance and an SR P2MP
            P-tunnel, the MPLS Label field is set to zero as per <xref target="RFC6514" format="default"/> for both SR-MPLS and SRv6. In this case, the
            SR-MPLS or SRv6 Tree-SID of the PTI of the SR P2MP Policy
            advertised in the P-tunnel is sufficient to identify the MVPN
            instance for delivering the payload.</t>
            <t><xref target="RFC6514" format="default"/> allows a PE to aggregate two or more
            MVPNs onto one SR P2MP P-tunnel by advertising the same P-tunnel
            in PTA of A-D routes of different MVPNs. In this case, the MPLS
            Label field of the PTA is filled to provide a context bound to a
            specific MVPN instance as described in sections below. The value
            in this field is used by egress PEs to identify the MVPN instance
            for delivering the payload encapsulated in SR-MPLS or SRv6.</t>
            <section numbered="true" toc="default">
              <name>SR-MPLS</name>

              <t>When an SR P2MP P-tunnel is shared across two or more MVPNs
              in an SR-MPLS domain, the MPLS Label field of a PTA advertised
              in an A-D route <bcp14>MUST</bcp14> contain an upstream-assigned MPLS label
              <xref target="RFC5331" format="default"/> <xref target="RFC6513" format="default"/> or a label
              assigned from a global context, such as the Domain-wide Common
              Block (DCB) as specified in <xref target="RFC9573" format="default"/>, that the
              advertising PE has bound to the MVPN.</t>
              <t>When an ingress PE steers the payload into a shared SR P2MP
              P-tunnel PTI, this MPLS label <bcp14>MUST</bcp14> be imposed before the MPLS
              label representing the Tree-SID. The trade-off of sharing an SR
              P2MP P-tunnel across MVPNs is that two MPLS labels have to be imposed
              on ingress and disposed on egress.</t>
              <t>The egress PEs of a shared SR P2MP P-tunnel use the MPLS
              label to determine the MVPN instance for delivering the
              payload.</t>
            </section>
            <section numbered="true" toc="default">
              <name>SRv6</name>
              <t>When an SR P2MP P-tunnel is shared across two or more MVPNs
              in an SRv6 domain <xref target="RFC8986" format="default"/>, the MPLS Label
              field of a PTA advertised in an A-D route <bcp14>MUST</bcp14> contain an
              upstream-assigned SRv6 Multicast Service SID (<xref target="SRv6Endpoint" format="default"/>) that the advertising PE has bound to
              the MVPN or an SRv6 Multicast Service SID assigned from a global
              context; this follows same concept of the DCB label as specified in <xref target="RFC9573" format="default"/>. The high-order 20 bits of the MPLS Label field carry the whole or a portion
              of the Function part of the SRv6 Multicast Service SID when the Transposition Scheme of encoding as defined in <xref target="RFC9252" format="default"/> is used. When using the Transposition Scheme,
              the Transposition Length of the SRv6 SID Structure Sub-Sub-TLV of the
              SRv6 Prefix-SID attribute (see below) <bcp14>MUST</bcp14> be less than or equal
              to 20 and less than or equal to the Function Length. When the
              Transposition Scheme is not used, the MPLS Label field <bcp14>MUST</bcp14> be set to
              zero as per <xref target="RFC6514" format="default"/>, and Transposition Length
              <bcp14>MUST</bcp14> be zero.</t>
              <t>The advertising ingress PE <bcp14>MUST</bcp14> attach a BGP Prefix-SID
              attribute <xref target="RFC8669" format="default"/> to Intra-AS I-PMSI, Inter-AS
              I-PMSI, or S-PMSI A-D routes with the SRv6 L3 Service TLV <xref target="RFC9252" format="default"/> to signal the SRv6 Multicast Service SID. The
              SRv6 SID Information Sub-TLV carries the SRv6 Multicast Service
              SID in the SRv6 SID Value field. The SRv6 Endpoint behavior of the
              SRv6 SID Information Sub-TLV encodes one of End.DTMC4, End.DTMC6,
              or End.DTMC46 code point values. The SRv6 SID Structure
              Sub-Sub-TLV encodes the structure of the SRv6 Multicast Service SID.
              If the Transposition Scheme is used, the offset and length of SRv6
              Multicast Endpoint function of the SRv6 Multicast Service SID is set
              in the Transposition Length and Transposition Offset fields of this
              sub-sub-TLV. Otherwise, the Transposition Length and Offset
              fields <bcp14>MUST</bcp14> be set to zero. The locator (LOC) of an SRv6 Multicast Service
              SID, which is assigned from a global context, such as DCB, is
              outside the scope of this document.</t>
              <t>The advertising ingress PE, which is the Root node of the
              shared SR P2MP P-tunnel, <bcp14>MUST</bcp14> encapsulate a payload in an outer
              IPv6 header with an SRH in which the SRv6 Multicast Service SID
              <bcp14>MUST</bcp14> be the last segment in the segment list (note the SRv6
              Multicast Service SID may be the only segment in the SRH). 

              If
              the Transposition Scheme is used, the ingress PE <bcp14>MUST</bcp14> merge the Function part of the
              MPLS Label field of the PTA with the SRv6 SID in the SRv6 SID Information Sub-TLV
              using the Transposition Offset and Length fields from the SRv6 SID Structure Sub-Sub-TLV to create the SRv6 Multicast Service SID.</t>

              <t>An egress PE of the shared SR P2MP P-tunnel uses the SRv6
              Multicast Service SID in the SRH to determine the MVPN instance in
              which the customer payload is to be delivered. The egress PE, in the
              role of Leaf or Bud node of the Replication segment associated with the
              shared SR P2MP P-tunnel tree, uses the "look at next SID in SRH"
              behavior <xref target="RFC9524" format="default"/> to process the SRv6 Multicast
              Service SID. An egress PE <bcp14>MUST NOT</bcp14> install the SRv6 Multicast
              Service SID in its Forwarding Information Base (FIB), i.e., it
              <bcp14>MUST NOT</bcp14> forward packets based on the Locator portion of the
              SRv6 Multicast Service SID because the SID is not significant on
              the ingress PE.</t>
            </section>
          </section>
        </section>
        <section anchor="MVPNAD" numbered="true" toc="default">
          <name>Auto-Discovery Procedures</name>
          <t>MVPN A-D procedures specified in <xref target="RFC6514" format="default"/> are used to advertise an SR P2MP P-tunnel and
          discover the Leaf nodes of the SR P2MP Policy associated with the
          P-tunnel. This section describes the processing of MVPN A-D routes
          to create, update, and tear down an SR P2MP Policy of an SR P2MP
          P-tunnel as described in <xref target="SRP2MPTunnel" format="default"/>.</t>
          <section numbered="true" toc="default">
            <name>Creation of CP of SR P2MP Policy</name>
            <t>A PE interacts with an SR P2MP Policy module to create a CP, with
            optional traffic engineering constraints and an optional optimization
            objective, of an SR P2MP Policy when it originates an Intra-AS
            I-PMSI A-D route <xref target="RFC6514" format="default"/>, an Inter-AS I-PMSI
            A-D route for an intra-AS segment <xref target="RFC6514" format="default"/>, an
            S-PMSI A-D route <xref target="RFC6514" format="default"/>, or a "wildcard" S-PMSI
            A-D route <xref target="RFC6625" format="default"/> with a PTA that has an SR P2MP
            P-tunnel type.</t>
            <t>The CP of the SR P2MP Policy associated with an SR P2MP P-tunnel
            is deleted from the SR P2MP Policy module when a PE withdraws the
            Intra-AS I-PMSI, Inter-AS I-PMSI, or S-PMSI A-D route advertising
            that P-tunnel.</t>
            <t>When a PE originates an Inter-AS I-PMSI or an S-PMSI A-D route
            with a PTA that has an SR P2MP P-tunnel type, it <bcp14>MUST</bcp14> set the "Leaf
            Information Required" flag in the PTA.</t>
          </section>
          <section numbered="true" toc="default">
            <name>Discovery of Leaf Nodes</name>
            <t>An ingress PE that advertises an MVPN A-D route with a PTA that has an 
            SR P2MP P-tunnel type discovers a Leaf node of the SR P2MP Policy
            associated with the SR P2MP P-tunnel when it imports an Intra-AS
            I-PMSI A-D route <xref target="RFC6514" format="default"/> or Leaf A-D route <xref target="RFC6514" format="default"/> from an egress PE. The ingress PE adds the
            egress PE as a Leaf node in the SR P2MP Policy module.</t>
            <t>An ingress PE removes an egress PE from the Leaf set of the SR
            P2MP Policy when the egress PE withdraws the Intra-AS I-PMSI or
            the Leaf A-D route.</t>
            <t>An egress PE informs the SR P2MP Policy module to join the SR
            P2MP Policy as a Leaf or Bud node when it imports an Intra-AS
            I-PMSI A-D route, an Inter-AS I-PMSI A-D route, or an S-PMSI A-D
            route from an ingress PE that has a PTA with an SR P2MP P-tunnel type.
            The egress PE <bcp14>MUST</bcp14> originate a Leaf A-D route if the "Leaf
            Information Required" flag is set in the PTA.</t>
            <t>An egress PE withdraws itself as a Leaf or Bud node of the SR
            P2MP Policy when the ingress PE withdraws an Intra-AS I-PMSI,
            Inter-AS I-PMSI, or S-PMSI A-D route. The egress PE <bcp14>MUST</bcp14>
            withdraw the Leaf A-D it had originated earlier in response to the
            "Leaf Information Required" flag in the PTA.</t>
          </section>
        </section>
      </section>
      <section numbered="true" toc="default">
        <name>MVPN with Ingress Replication over SR</name>
        <t>A PE can provide MVPN service using IR over SR. The payload is
        encapsulated in SR-MPLS or SRv6 at an ingress PE and replicated with
        each copy sent to an egress PE via unicast.</t>	
        <t>"Ingress Replication Tunnels in Multicast VPN" <xref target="RFC7988" format="default"/> specifies procedures that can be reused to provide
        MVPN service with IR in an SR domain. A PE advertises Intra-AS I-PMSI
        A-D, Inter-AS I-PMSI A-D, or Selective PMSI A-D and Leaf A-D routes
        with the PTA for IR. Egress PEs join as Leaf nodes using Intra-AS I-PMSI
        A-D or Leaf A-D routes. The procedures of <xref target="RFC7988" format="default"/>
        provide an MVPN IR service with best-effort unicast connectivity.</t>
        <t>This document adds procedures for providing an MVPN IR service with
        an SLA from an ingress PE to an egress PE both for SR-MPLS and SRv6.
        This document extends the BGP Update message of AFI/SAFI 1/129 (MVPN-IPv4)
        and 2/129 (MVPN-IPv6) to carry the Color Extended Community as
        specified in <xref target="RFC9012" format="default"/> and the Color-Only Type extension
        specified in <xref target="RFC9830" section="3"/>. An egress PE
        colors the Leaf or Intra-AS I-PMSI A-D route with a Color Extended
        Community. The ingress PE replicates MVPN customer payload to the
        egress PE by steering it into an SR-TE policy according to 
        <xref target="RFC9256" section="8"/>. The ingress PE encapsulates the payload
        packet into a segment list of the matching SR-TE policy to the egress PE
        along with the IR MPLS label or SRv6 Multicast Service SID received from
        the egress PE.</t>
        <t>Note that the Color Extended Community is not used with an MVPN SR P2MP
        P-tunnel. For MVPN with an SR P2MP P-tunnel, the ingress PE dictates the
        traffic engineering treatment by specifying the constraints and the
        metric optimization in the CP of the SR P2MP Policy corresponding to
        the P-tunnel on the ingress PE. This is necessary because packets are
        replicated in the PTI; therefore, it is not possible to have
        differing traffic engineering treatment towards each egress PE (Leaf
        node) of the PTI.</t>
        <section numbered="true" toc="default">
          <name>SR-MPLS</name>
          <t>The PTA carried in Intra-AS I-PMSI A-D, Inter-AS I-PMSI A-D,
          S-PMSI A-D, and Leaf A-D routes is constructed as specified in <xref target="RFC7988" format="default"/>.</t>
          <t>MVPN IR service with SLA over SR-MPLS data plane can be provided
          by using the Color Extended Community as described above. Suppose an
          egress PE, say PE2, sends Leaf A-D route with Extended Color
          Community C1 with Color-Only Type 0 and IR label L10 to the ingress
          PE1. Assume the segment list of SR-TE policy (C1, PE2) at ingress
          PE1 is &lt;L1, L2, L3&gt;. PE1 will encapsulate the MVPN payload into
          the MPLS label stack &lt;L1, L2, L3, L10&gt; with L10 as the Bottom-of-Stack (BoS) label.</t>
        </section>
        <section numbered="true" toc="default">
          <name>SRv6</name>
          <t>The procedures specified in <xref target="RFC7988" format="default"/>, with the
          modifications defined in this section, are used to provide MVPN IR
          service over SRv6.</t>
          <t>The PTA carried in Intra-AS I-PMSI A-D, Inter-AS I-PMSI A-D,
          Selective PMSI A-D, and Leaf A-D routes is constructed as specified
          in <xref target="RFC7988" format="default"/> with the following modifications:</t>
          <ul spacing="normal">
            <li>
              <t>Tunnel Type: "Ingress Replication" as per <xref target="RFC6514" format="default"/>.</t>
            </li>
            <li>
              <t>MPLS Label: The high-order 20 bits of this field carry the
              whole or a portion of the Function part of the SRv6 Multicast
              Service SID when the Transposition Scheme is used for encoding
              as defined in <xref target="RFC9252" format="default"/>. 
              When using the
              Transposition Scheme, the Transposition Length of the SRv6 SID
              Structure Sub-Sub-TLV of the SRv6 Prefix-SID attribute (see below)
              <bcp14>MUST</bcp14> be less than or equal to 20 and less than or equal to the
              Function Length. When the Transposition Scheme is not used, the
              MPLS Label field <bcp14>MUST</bcp14> be set to zero, and Transposition Length <bcp14>MUST</bcp14> be
              zero.</t>
            </li>
          </ul>
          <t>Sections <xref target="RFC7988" section="6" sectionFormat="bare"/> and <xref target="RFC7988" section="7" sectionFormat="bare"/> of <xref target="RFC7988" format="default"/> describe
          considerations and procedures for allocating MPLS labels for IR
          P-tunnels. These considerations also apply to allocation of a SRv6
          Multicast Service SID for SRv6 IR.</t>
          <t>To join an SRv6 IR P-tunnel advertised in the PTA of Intra-AS I-PMSI
          A-D, Inter-AS I-PMSI A-D, or Selective S-PMSI A-D routes, an egress
          PE constructs a Leaf A-D or Intra-AS I-PMSI A-D route as described
          in <xref target="RFC7988" format="default"/> with the modified PTA above. The egress PE
          <bcp14>MUST</bcp14> attach a BGP Prefix-SID attribute <xref target="RFC8669" format="default"/> with
          a Leaf A-D or Intra-AS I-PMSI A-D route with the SRv6 L3 Service TLV
          <xref target="RFC9252" format="default"/> to signal the SRv6 Multicast Service SID (<xref target="SRv6Endpoint" format="default"/>). The SRv6 SID Information Sub-TLV carries
          the SRv6 Multicast Service SID in the SRv6 SID Value field. The SRv6
          Endpoint behavior of the SRv6 SID Information Sub-TLV <bcp14>MUST</bcp14> encode
          one of the End.DTMC4, End.DTMC6, or End.DTMC46 code point values. The SRv6
          SID Structure Sub-Sub-TLV encodes the structure of the SRv6 Multicast
          Service SID. If the Transposition Scheme is used, the offset and length
          of SRv6 Multicast Endpoint function of the SRv6 Multicast Service SID is
          set in the Transposition Length and Transposition Offset fields of this
          sub-sub-TLV. Otherwise, the Transposition Length and Offset fields
          <bcp14>MUST</bcp14> be set to zero. The BGP Prefix SID attribute with the SRv6 L3
          Service TLV in an Intra-AS I-PMSI or Leaf A-D route indicates to the
          ingress PE that the egress PE supports SRv6.</t>
          <t>The SRv6 Multicast Service SID <bcp14>MUST</bcp14> be routable within the AS of
          the egress PE. As per <xref target="RFC7988" format="default"/>, the ingress PE uses
          the Tunnel Identifier of PTA to determine the unicast tunnel to use
          in order to send data to the egress PE. For SRv6 IR, the ingress PE
          <bcp14>MUST</bcp14> use the SRv6 Multicast Service SID to determine the unicast
          tunnel to be used. For best-effort MVPN IR service or SLA-based MVPN
          IR service using the IGP Flexible Algorithm, the ingress PE <bcp14>MUST</bcp14>
          encapsulate the payload in an outer IPv6 header, with the SRv6
          Multicast Service SID provided by the egress PE used as the
          destination address. 
          
          If the Transposition Scheme is used, the ingress PE
          <bcp14>MUST</bcp14> merge the Function part of the MPLS Label field of the PTA with SRv6 SID in the SRv6 SID Information Sub-TLV using the Transposition Offset and Length fields
          from the SRv6 SID Structure Sub-Sub-TLV to create the SRv6 Multicast Service
          SID.</t>
          <t>MVPN IR service with SLA over SRv6 can be provided by using the
          Color Extended Community as described above. Suppose an egress PE,
          say PE2, sends Leaf A-D route with Extended Color community C1 with
          Color-Only Type 0 and SRv6 Multicast Service SID S10 to ingress
          PE1. Assume the segment list of the SR-TE policy (C1, PE2) at
          ingress PE1 is &lt;S1, S2, S3&gt;. PE1 will encapsulate a payload
          into an IPv6 header with SRH (PE1, S1) (S10, S3, S2; SL=3)
          (payload).</t>
        </section>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>EVPN with SR</name>
      <t>BGP MPLS-Based EVPN, specified in <xref target="RFC7432" format="default"/>, specifies
      the IMET route to support BUM traffic. This IMET route is the equivalent of the
      MVPN Intra-AS I-PMSI route and is advertised with a PTA as specified in <xref target="RFC6514" format="default"/> to advertise
      the inclusive P-tunnels. <xref target="RFC9252" format="default"/> specifies procedures
      for IMET routes with IR over SRv6.</t>
      <t><xref target="RFC9572" format="default"/> updates the EVPN BUM procedures to support
      selective P-tunnels. It defines new BGP route types that are advertised
      with a PTA, including the S-PMSI A-D and Leaf A-D routes. The S-PMSI and
      Leaf A-D routes of <xref target="RFC9572" format="default"/> are analogous to MVPN S-PMSI
      and Leaf A-D routes <xref target="RFC6514" format="default"/>. Note that support of Inter-AS
      and Inter-Region segmentation procedures in <xref target="RFC9572" format="default"/>
      with SR P2MP P-tunnels are out of scope of this document.</t>
      <t>Inclusive and selective P-tunnels can be instantiated using SR P2MP
      trees or IR over SR.</t>
      <section numbered="true" toc="default">
        <name>EVPN with SR P2MP P-Tunnel</name>
        <t>This section specifies modifications to procedures of <xref target="RFC7432" format="default"/> and <xref target="RFC9572" format="default"/> for SR P2MP P-tunnels.
        The IMET, S-PMSI, and Leaf A-D routes have the PTA that specifies the
        SR P2MP tree P-tunnel. In this section, the term "SR P2MP" refers to
        both SR-MPLS and SRv6 data planes.</t>
        <section numbered="true" toc="default">
          <name>PMSI Tunnel Attribute for SR P2MP P-Tunnel</name>
          <t>A PTA for an SR P2MP P-tunnel is constructed as specified in
          <xref target="MVPNPTA" format="default"/>, except the MPLS Label and Flags fields are
          filled as specified in Sections <xref target="EVPNMPLSLabel" format="counter"/> and <xref target="EVPNAD" format="counter"/>, respectively.</t>
          <section anchor="EVPNMPLSLabel" numbered="true" toc="default">
            <name>MPLS Label</name>
            <section numbered="true" toc="default">
              <name>SR-MPLS</name>
              <t>When an SR P2MP P-tunnel is not shared across MVPNs, i.e., there
              is one-to-one association between an EVI and an SR P2MP P-tunnel,
              the MPLS Label field is set to zero as per <xref target="RFC6514" format="default"/>. In this case, the SR-MPLS Tree-SID of the
              PTI of the SR P2MP Policy advertised in the P-tunnel is
              sufficient to identify the MVPN instance for delivering the
              payload.</t>
              <t><xref target="RFC7432" format="default"/> and <xref target="RFC9572" format="default"/> allow
              a PE to aggregate two or more EVIs onto one SR P2MP P-tunnel by
              advertising the same P-tunnel in the PTA of A-D routes of different
              EVIs. When an SR P2MP P-tunnel is shared across two or more EVIs
              in an SR-MPLS domain, the MPLS Label field of a PTA advertised
              in an EVPN A-D route <bcp14>MUST</bcp14> contain an upstream-assigned MPLS
              label <xref target="RFC5331" format="default"/> <xref target="RFC6513" format="default"/> or a
              label assigned from a global context, such as DCB as specified in <xref target="RFC9573" format="default"/>, that the
              advertising PE has bound to the EVI. The egress PE uses this
              label as context to identify the specific EVI for delivering the
              EVPN payload encapsulated in SR-MPLS. When an ingress PE steers
              the payload into a shared SR P2MP P-tunnel PTI, this MPLS label
              <bcp14>MUST</bcp14> be imposed before the MPLS label representing the
              Tree-SID.</t>
            </section>
            <section anchor="EVPNSRv6PTA" numbered="true" toc="default">
              <name>SRv6</name>
              <t>For SRv6 P2MP, an EVI is identified by an SRv6 SID encoded in
              the SRH of an IPv6-encapsulated packet from the ingress PE as
              described later in this section. This is required even if the SR
              P2MP P-tunnel is not shared across EVIs.</t>
              <t>The advertising ingress PE <bcp14>MUST</bcp14> attach a BGP Prefix-SID
              attribute <xref target="RFC8669" format="default"/> to IMET <xref target="RFC9252" format="default"/> or S-PMSI <xref target="RFC9572" format="default"/> A-D routes
              with the SRv6 L2 Service TLV <xref target="RFC9252" format="default"/>. The SRv6 SID
              Information Sub-TLV carries the SID in the SRv6 SID Value field. The
              SRv6 Endpoint behavior of the SRv6 SID Information Sub-TLV
              <bcp14>SHOULD</bcp14> be END.DT2M <xref target="RFC8986" format="default"/> as per 
              <xref target="RFC9252" section="6.3"/>. The SRv6 SID Structure Sub-Sub-TLV
              encodes the structure of SID. If the Transposition Scheme is used,
              the offset and length of the SID is set in the Transposition Length
              and Transposition Offset fields of this sub-sub-TLV. Otherwise,
              the Transposition Length and Offset fields <bcp14>MUST</bcp14> be set to zero.
              The LOC of a SID, which is assigned from a global context, such
              as DCB, is outside the scope of this document.</t>
              <t>The MPLS Label field of a PTA advertised in an A-D route
              <bcp14>MUST</bcp14> contain an upstream-assigned SRv6 SID that the advertising
              PE has bound to the EVI or an SRv6 SID assigned from a global
              context; this follows same concept of the DCB label as specified in <xref target="RFC9573" format="default"/>. The high-order 20 bits of the MPLS Label field carry the whole or a portion
              of the Function part of the SRv6 SID when the Transposition Scheme
              of encoding as defined in <xref target="RFC9252" format="default"/> is used.
              When
              using the Transposition Scheme, the Transposition Length of the SRv6
              SID Structure Sub-Sub-TLV of the SRv6 Prefix-SID attribute <bcp14>MUST</bcp14> be
              less than or equal to 20 and less than or equal to the Function
              Length. When the Transposition Scheme is not used, the MPLS Label field
              <bcp14>MUST</bcp14> be set to zero as per <xref target="RFC6514" format="default"/>, and
              Transposition Length <bcp14>MUST</bcp14> be zero.</t>
              <t>The advertising ingress PE, which is the Root node of the SR
              P2MP P-tunnel, <bcp14>MUST</bcp14> encapsulate a payload in an outer IPv6 header
              with an SRH in which the SRv6 SID (advertised in the BGP
              Prefix-SID attribute) <bcp14>MUST</bcp14> be the last segment in the segment
              list (note the SRv6 SID may be the only segment in the SRH). If the
              Transposition Scheme is used, the ingress PE <bcp14>MUST</bcp14> merge the Function part of the
              MPLS Label field of the PTA with the SRv6 SID in the SRv6 SID Information Sub-TLV
              using the Transposition Offset and Length fields from the SRv6 SID Structure Sub-Sub-TLV to create the SRv6 SID. 
              When ESI-based
              split-horizon filtering is used, the Arg.FE2 (see <xref target="SRv6ESI" format="default"/>) <bcp14>SHOULD</bcp14> be merged with the SRv6 SID by doing
              a bitwise logical OR operation to create the complete SRv6 SID
              encoded in the SRH on the ingress PE.</t>
              <t>An egress PE of the SR P2MP P-tunnel uses the SRv6 SID in the SRH
              to determine the EVI in which the customer payload is to be
              delivered. The egress PE, in role of Leaf or Bud node of the
              Replication segment associated with the SR P2MP P-tunnel tree, uses
              "look at next SID in SRH" <xref target="RFC9524" format="default"/> behavior to
              process the SRv6 SID. An egress PE <bcp14>MUST NOT</bcp14> install the SRv6 SID
              in its FIB, i.e., it <bcp14>MUST NOT</bcp14>
              forward packets based on the Locator portion of the SRv6 SID.
              The Arg.FE2 of the SID, if present, is used for ESI-based split-horizon filtering as specified in <xref target="SRv6ESI" format="default"/>.</t>
            </section>
          </section>
        </section>
        <section numbered="true" toc="default">
          <name>Split-Horizon Filtering for ES Multihoming</name>
          <t>EVPN requires split-horizon filtering with ES multihoming in
          order to prevent duplicate BUM traffic as described in
          <xref target="RFC7432" section="8.3"/>. This section describes split-horizon
          filtering procedures with SR P2MP P-tunnels.</t>
          <section numbered="true" toc="default">
            <name>SR-MPLS Filtering</name>
            <t>The split-horizon procedures specified for P2MP MPLS Label Switched Paths (LSPs) in
            <xref target="RFC7432" section="8.3.1.2"/> are sufficient for SR
            P2MP P-tunnels. Note for shared SR P2MP P-tunnels, the ESI label
            is at the bottom of the label stack, followed by an EVI context label
            and finally the Tree-SID label of the PTI associated with P-tunnel
            at the top in SR-MPLS encapsulation.</t>
          </section>
          <section anchor="SRv6ESI" numbered="true" toc="default">
            <name>SRv6 Filtering</name>
            <t>For SRv6, the Arg.FE2 argument of End.DT2M SRv6 Endpoint behavior
            <xref target="RFC8986" format="default"/> is used for ESI-based split-horizon
            filtering. 
            For an SR P2MP P-tunnel, the Arg.FE2 SID argument is an
            upstream-assigned value assigned by an ingress PE and identifies
            an ES of origin. This SID Argument is analogous to the
            upstream-assigned ESI MPLS label specified in <xref target="RFC7432" section="8.3"/>. The Arg.FE2 is signaled in the ESI Label field of
            the ESI Label extended community <xref target="RFC7432" format="default"/> and a
            BGP Prefix-SID attribute with an Ethernet A-D per ES route as
            specified in <xref target="RFC9252" section="6.1.1"/> and
            expanded further in <xref target="RFC9819" format="default"/>.</t>
            <t>The advertised Arg.FE2 is encoded with the SRv6 SID in the SRH by the
            ingress PE as described in <xref target="EVPNSRv6PTA" format="default"/>. The
            egress PE uses the Arg.FE2 of the SRv6 SID, if present, to perform
            ESI-based split-horizon filtering as specified for the End.DT2M
            forwarding behavior in <xref target="RFC8986" section="4.12"/>.</t>
          </section>
        </section>
        <section anchor="EVPNAD" numbered="true" toc="default">
          <name>Auto-Discovery Procedures</name>
          <t>EVPN A-D procedures specified in <xref target="RFC7432" format="default"/> and <xref target="RFC9572" format="default"/> are used to
          advertise an SR P2MP P-tunnel and discover the Leaf nodes of the SR
          P2MP Policy associated with the P-tunnel. This section describes the
          processing of EVPN A-D routes to create, update, and tear down an SR
          P2MP Policy of an SR P2MP P-tunnel as described in <xref target="SRP2MPTunnel" format="default"/>.</t>
          <section numbered="true" toc="default">
            <name>Creation of CP of SR P2MP Policy</name>
            <t>A PE interacts with an SR P2MP Policy module to create a CP, with
            optional traffic engineering constraints and an optional optimization
            objective, of an SR P2MP Policy when it originates an IMET A-D
            route <xref target="RFC7432" format="default"/> or an S-PMSI A-D route <xref target="RFC9572" format="default"/>, with a PTA that has an SR P2MP P-tunnel type.</t>
            <t>The CP of the SR P2MP Policy associated with an SR P2MP P-tunnel
            is deleted from the SR P2MP Policy module when a PE withdraws the
            IMET or S-PMSI A-D route advertising that P-tunnel.</t>
            <t>When a PE originates an S-PMSI A-D route with a PTA that has an SR
            P2MP P-tunnel type, it <bcp14>MUST</bcp14> set the "Leaf Information Required"
            flag in the PTA.</t>
          </section>
          <section numbered="true" toc="default">
            <name>Discovery of Leaf Nodes</name>
            <t>An ingress PE that advertises an EVPN A-D route with a PTA that has an
            SR P2MP P-tunnel type discovers a Leaf node of the SR P2MP Policy
            associated with the SR P2MP P-tunnel when it imports an IMET A-D
            route <xref target="RFC7432" format="default"/> or Leaf A-D route <xref target="RFC9572" format="default"/> from an egress PE. The ingress PE adds the
            egress PE as a Leaf node in the SR P2MP Policy module.</t>
            <t>An ingress PE removes an egress PE from the Leaf set of the SR
            P2MP Policy when the egress PE withdraws the IMET A-D or the Leaf
            A-D route.</t>
            <t>An egress PE informs the SR P2MP Policy module to join the SR
            P2MP Policy as a Leaf or Bud node when it imports an IMET A-D
            route or an S-PMSI A-D route from an ingress PE that has a PTA with an
            SR P2MP P-tunnel type. The egress PE <bcp14>MUST</bcp14> originate a Leaf A-D
            route if the "Leaf Information Required" flag is set in the
            PTA.</t>
            <t>An egress PE withdraws itself as a Leaf or Bud node of the SR
            P2MP Policy when the ingress PE withdraws an IMET or an S-PMSI A-D
            route. The egress PE <bcp14>MUST</bcp14> withdraw the Leaf A-D it had originated
            earlier in response to the "Leaf Information Required" flag in the
            PTA.</t>
          </section>
        </section>
      </section>
      <section numbered="true" toc="default">
        <name>EVPN with Ingress Replication over SR</name>
        <t>A PE can provide EVPN service using IR over SR. The EVPN payload is
        encapsulated in SR-MPLS or SRv6 at an ingress PE and replicated with
        each copy sent to an egress PE via unicast. IR procedures for MPLS are
        specified for the IMET A-D route in <xref target="RFC7432" format="default"/> and the SMET A-D
        route in <xref target="RFC9251" format="default"/>. Procedures for EVPN IR over SRv6
        for the IMET A-D route are specified in <xref target="RFC9252" format="default"/>. These
        procedures provide an EVPN IR service with best-effort unicast
        connectivity.</t>
        <t>This document adds procedures for providing an EVPN IR service with
        an SLA from an ingress PE to an egress PE both for SR-MPLS and SRv6.
        This document extends the BGP Update message of AFI/SAFI 25/70
        (L2VPN-EVPN) to carry the Color Extended Community as specified in
        <xref target="RFC9012" format="default"/> and the Color-Only Type extension specified in
        <xref target="RFC9830" section="3"/>. An egress PE colors the IMET
        with a Color Extended Community. The ingress PE replicates EVPN
        customer payload to the egress PE by steering it into an SR-TE policy
        according to <xref target="RFC9256" section="8"/>. The ingress PE
        encapsulates the payload packet into a segment list of the matching
        SR-TE policy to the egress PE along with IR MPLS label or SRv6
        End.DT2M SID received from the egress PE.</t>
        <t>Note that the Color Extended Community is not used with an EVPN SR P2MP
        P-tunnel. For EVPN with an SR P2MP P-tunnel, the ingress PE dictates the
        traffic engineering treatment by specifying the constraints and the
        metric optimization in the CP of the SR P2MP Policy corresponding to
        the P-tunnel on the ingress PE. This is necessary because packets are
        replicated in the PTI; therefore, it is not possible to have
        differing traffic engineering treatment towards each egress PE (Leaf
        node) of the PTI.</t>
        <section numbered="true" toc="default">
          <name>SR-MPLS</name>
          <t>EVPN IR procedures for MPLS specified in <xref target="RFC7432" format="default"/>
          and <xref target="RFC9251" format="default"/> can be extended for EVPN IR over
          SR-MPLS.</t>

          <t>EVPN IR service with an SLA over SR-MPLS data plane can be provided
          by using the Color Extended Community as described above. Suppose an
          egress PE, say PE2, sends an IMET A-D route with Extended Color
          Community C1 with Color-Only Type 0 and EVPN BUM label L10 to
          ingress PE1. Assume the segment list of SR-TE policy (C1, PE2) at
          ingress PE1 is &lt;L1, L2, L3&gt;. PE1 will encapsulate the MVPN payload
          into the MPLS label stack &lt;L1, L2, L3, L10&gt; with L10 as the BoS label.
          Note that the MPLS label stack may have the ESI label at the bottom of the label
          stack if ESI-based split-horizon filtering is used.</t>
        </section>
        <section numbered="true" toc="default">
          <name>SRv6</name>
          <t>EVPN IR procedures for SRv6 are specified in <xref target="RFC9252" section="6.3"/> for the IMET A-D route.</t>
          <t>A PE can provide EVPN IR service with SLA over SRv6 using the
          Color Extended Community as described above. Suppose an egress PE,
          say PE2, sends an IMET A-D route with Extended Color community C1 with
          Color-Only Type 0 and SRv6 End.DT2M SID S10 to ingress PE1.
          Assume the segment list of the SR-TE policy (C1, PE2) at ingress PE1
          is &lt;S1, S2, S3&gt;. PE1 will encapsulate a payload into an IPv6
          header with SRH (PE1, S1) (S10, S3, S2; SL=3) (payload). Note that the
          End.DT2M SID S10 may also have an Arg.FE2 Argument if ESI-based
          split-horizon filtering is used.</t>
        </section>
      </section>
    </section>

    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA has assigned the following values in the "P-Multicast Service
      Interface Tunnel (PMSI Tunnel) Tunnel Types" registry <xref
      target="RFC7385" format="default"/> within the "Border Gateway Protocol
      (BGP) Parameters" registry group <eref
      target="https://www.iana.org/assignments/bgp-parameters"
      brackets="angle"/>.</t>

<table anchor="pmsi-tunnel-types">
  <name>PMSI Tunnel Types</name>
  <thead>
    <tr>
      <th>Value</th>
      <th>Meaning</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>0x0C</td>
      <td>SR-MPLS P2MP Tree</td>
      <td>RFC 10018</td>
    </tr>
    <tr>
      <td>0x0D</td>
      <td>SRv6 P2MP Tree</td>
      <td>RFC 10018</td>
    </tr>
  </tbody>
</table>
      
      <t>IANA has allocated the following code points in the "SRv6 Endpoint
      Behaviors" registry <xref target="RFC8986" format="default"/> within the
      "Segment Routing" registry group <eref
      target="https://www.iana.org/assignments/segment-routing"
      brackets="angle"/>.</t>

      <table align="center" anchor="endpoint_cp_types">
        <name>SRv6 Endpoint Behaviors</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="center">Hex</th>
            <th align="center">Endpoint Behavior</th>
            <th align="center">Reference</th>
            <th align="center">Change Controller</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">76</td>
            <td align="center">0x004C</td>
            <td align="center">End.DTMC4</td>
            <td align="center">RFC 10018</td>
            <td align="center">IETF</td>
          </tr>
          <tr>
            <td align="left">77</td>
            <td align="center">0x004D</td>
            <td align="center">End.DTMC6</td>
            <td align="center">RFC 10018</td>
            <td align="center">IETF</td>
          </tr>
          <tr>
            <td align="left">78</td>
            <td align="center">0x004E</td>
            <td align="center">End.DTMC46</td>
            <td align="center">RFC 10018</td>
            <td align="center">IETF</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The procedures in this document do not introduce any additional
      security considerations beyond those mentioned in <xref target="RFC6513" format="default"/>, <xref target="RFC6514" format="default"/>, <xref target="RFC7432" format="default"/>,
      and <xref target="RFC9572" format="default"/>. For general security considerations
      applicable to SR P2MP Policy and Replication segments, please refer to
      <xref target="RFC9960" format="default"/> and <xref target="RFC9524" format="default"/>, respectively.</t>
    </section>

  </middle>
  <back>
    <displayreference target="I-D.ietf-pce-sr-p2mp-policy" to="SR-P2MP-PCEP"/>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9960.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6513.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6514.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6625.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7432.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7988.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8669.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8660.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9252.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7385.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9012.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9524.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9572.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9819.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9961.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pce-sr-p2mp-policy.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5331.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9573.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9251.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9256.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9830.xml"/>
      </references>
    </references>

    <section anchor="Acknowledgements" numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>The authors would like to acknowledge <contact fullname="Luc André Burdet"/> reviewing the
      document.</t>
    </section>

    <section numbered="false" toc="default">
      <name>Contributors</name>

       <contact fullname="Zafar Ali">
	 <organization>Cisco Systems, Inc.</organization>
	 <address>
	   <postal><country>United States of America</country></postal>
	   <email>zali@cisco.com</email>
	 </address>
       </contact>

       <contact fullname="Arvind Venkateswaran">
	 <organization>Cisco Systems, Inc.</organization>
	 <address>
	   <postal><country>United States of America</country></postal>
	   <email>arvvenka@cisco.com</email>
	 </address>
       </contact>

      <contact fullname="Jayant Kotalwar">
	<organization>Nokia</organization>
	<address>
	  <postal>
	    <city>Mountain View</city>
	    <region>CA</region>
	    <country>United States of America</country>
	  </postal>
	  <email>jayant.kotalwar@nokia.com</email>
	</address>
      </contact>

      <contact fullname="Tanmoy Kundu">
	<organization>Nokia</organization>
	<address>
	  <postal>
	    <city>Mountain View</city>
	    <region>CA</region>
	    <country>United States of America</country>
	  </postal>
	  <email>tanmoy.kundu@nokia.com</email>
	</address>
      </contact>

      <contact fullname="Clayton Hassen">
	<organization>Bell</organization>
	<address>
	  <postal>
	    <city>Vancouver</city>
	    <country>Canada</country>
	  </postal>
	  <email>clayton.hassen@bell.ca</email>
	</address>
      </contact>

      <contact fullname="Mankamana Mishra">
	<organization>Cisco Systems, Inc.</organization>
	<address>
	  <postal><country>United States of America</country></postal>
	  <email>mankamis@cisco.com</email>
	</address>
      </contact>

    </section>

  </back>
</rfc>
