<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?Pub Inc?>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-rtgwg-srv6-egress-protection-24" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Egress Protection">SRv6 Path Egress Protection</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rtgwg-srv6-egress-protection-24"/>
    <author fullname="Tao He" initials="T" surname="He">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <street>No.9 South Shouti Road</street>
          <city>Beijing</city>
          <code>100048</code>
          <country>China</country>
        </postal>
        <email>het21@chinaunicom.cn</email>
      </address>
    </author>
    <author fullname="Zhibo Hu" initials="Z. " surname="Hu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>
          <city>Beijing</city>
          <code>100095</code>
          <country>China</country>
        </postal>
        <email>huzhibo@huawei.com</email>
      </address>
    </author>
    <author fullname="Huaimo Chen" initials="H" surname="Chen">
      <organization>Futurewei</organization>
      <address>
        <postal>
          <street/>
          <city>Boston, MA</city>
          <region/>
          <code/>
          <country>USA</country>
        </postal>
        <email>hchen.ietf@gmail.com</email>
      </address>
    </author>
    <!--
    <author fullname="Huanan Chen" initials="H. " surname="Chen">
      <organization>China Telecom</organization>

      <address>
        <postal>
          <street>109, West Zhongshan Road, Tianhe District</street>

          <city>Guangzhou</city>

          <code>510000</code>

          <country>China</country>
        </postal>

        <email>chenhn8.gd@chinatelecom.cn</email>
      </address>
    </author>

    <author fullname="Peng Wu" initials="P. " surname="Wu">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>

          <city>Beijing</city>

          <code>100095</code>

          <country>China</country>
        </postal>

        <email>baggio.wupeng@huawei.com</email>
      </address>
    </author>
-->
    <author fullname="Mehmet Toy" initials="M" surname="Toy">
      <organization>Verizon</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <country>USA</country>
        </postal>
        <email>mehmet.toy@verizon.com</email>
      </address>
    </author>
    <author fullname="Chang Cao" initials="C" surname="Cao">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <street>No.9 South Shouti Road</street>
          <city>Beijing</city>
          <code>100048</code>
          <country>China</country>
        </postal>
        <email>caoc15@chinaunicom.cn</email>
      </address>
    </author>
    <!--
    <author fullname="Lei Liu" initials="L" surname="Liu">
      <organization>Fujitsu</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>USA</country>
        </postal>

        <email>liulei.kddi@gmail.com</email>
      </address>
    </author>

   <author initials="X" fullname="Xufeng Liu" 
            surname="Liu">
      <organization>IBM Corporation</organization>
      <address>
        <postal>
          <street> </street>
          <city> </city>
          <region> </region>
          <code></code>
          <country>USA</country>
        </postal>
        <email>xufeng.liu.ietf@gmail.com</email>
      </address>
    </author>

    <author fullname="Chris Bowers" initials="C. " surname="Bowers">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <street>1194 N. Mathilda Ave.</street>
          <city>Sunnyvale, CA</city>
          <code>94089</code>
          <country>USA</country>
        </postal>
        <email>cbowers@juniper.net</email>
      </address>
    </author>
-->

    <date year="2026"/>
    <abstract>
      <t>This document describes the mechanism and operational guidelines for fast protecting
the egress node and link of a Segment Routing for IPv6 (SRv6) path. TI-LFA specifies
fast protections for transit nodes and links of an SR path, but does not present
protections for the egress node. The solution uses a Mirror SID (End.M) behavior to
steer traffic to a protector egress upon failure of the primary egress. The IGP
extensions (IS-IS/OSPFv3) can be used to advertise Mirror SID and protected locators.</t>
    </abstract>
    <note>
      <name>Requirements Language</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" format="default"/> <xref target="RFC8174" format="default"/>
      when, and only when, they appear in all
      capitals, as shown here.</t>
    </note>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <!-- <xref target="I-D.hu-rtgwg-sr-proxy-forwarding"/>. -->

      <t><xref target="RFC9855" format="default"/>
      specifies fast protections 
      for nodes and links that are within a link-state IGP area.
      In other words, it specifies fast protections for transit nodes 
      and links of an SR path, but does not describe any fast 
      protections for the egress node or link of an SR path. 
      While TI-LFA provides fast protection for transit nodes and links
      within an IGP area, it does not address egress node protection because
      the egress node is the endpoint of the SR path. TI-LFA relies on 
      pre-computed backup paths that bypass failed nodes or links while 
      maintaining the same destination. However, when the egress node itself
      fails, the destination becomes unreachable through the primary path.
      This document addresses this gap by introducing a Mirror SID mechanism
      that allows a backup egress node to take over the forwarding behavior
      of the failed egress node, effectively extending protection to the 
     network edge.</t>
      <t><xref target="RFC8400" format="default"/> and <xref target="RFC8679" format="default"/> 
      specify fast protections for egress node(s) and link(s) of an
      MPLS TE LSP tunnel including P2P TE LSP tunnel and P2MP TE LSP tunnel in
      details. However, these documents do not discuss any fast protection for
      the egress node and link of a Segment Routing for IPv6 (SRv6) path or tunnel.</t>
      <t>For an SRv6 path from an ingress node to an egress node, 
      the fast protection for the egress node and link of the path can be 
      achieved through using 1 + 1 global protection. This solution
      uses more network resources and makes operation complex. 
      A backup SRv6 path from the ingress node to a backup egress node
      is set up. A CE is dual-homed to the egress node and
      the backup egress node. A SID of the egress node
      is used to forward the traffic to the CE. This same SID is
      configured on the backup egress node to forward the traffic
      to the same CE. Both paths transmit the traffic to the same
      CE, which selects one. The CE selects the traffic from the 
      egress node if the egress node and link work well;
      otherwise (i.e., the egress node or link failed), the CE
      selects the traffic from the backup egress node.</t>
      <!--
      <t>This document fills that void and presents protocol extensions for
      the fast protection of the egress node of an SRv6 path or tunnel.</t>
-->
      <t>
      This document presents a solution which provides fast protections 
      for the egress node and link  
      of an SRv6 path through extending IGP and using Mirror SID.
      Compared to 1 + 1 global protection, 
      this solution is more efficient 
      and the operation on it is simpler. 
      </t>
      <t>The solution is scoped to a single link-state IGP area/level. It relies
       on IGP to distribute the tuple &lt;PEB, PEA, Mirror SID&gt; with the protected
        locators. The forwarding behavior for Service SIDs anchored on PEA may 
        be obtained by the protector via existing means (e.g., <xref target="RFC9252" format="default"/>) 
        or configuration, but this document does not introduce any 
        per-service signaling in the IGP. Furthermore, the approach is 
        applicable to modest numbers of protected services; large-scale 
        deployments with many VPN/service instances or random multi-homing 
        are not recommended due to IGP scaling considerations.</t>
      <!--
      <t>There are a number of topics related to the egress protection, which
      include the detection of egress node failure, the relation between
      egress protection and global repair, and so on. These are discussed in
      details in <xref target="RFC8679"/>.</t>
-->
    </section>
    <!-- Introduction -->

    <section numbered="true" toc="default">
      <name>Terminologies</name>
      <t>The following terminologies are used in this document. </t>
      <dl newline="false" spacing="normal">
        <dt>BFD:</dt>
        <dd>Bidirectional Forwarding Detection</dd>
        <dt>BGP:</dt>
        <dd>Border Gateway Protocol</dd>
        <dt>CE:</dt>
        <dd>Customer Edge</dd>
        <dt>DA:</dt>
        <dd>Destination Address</dd>
        <dt>Egress link:</dt>
        <dd>A link from an egress node to another 
             domain <xref target="RFC8679" format="default"/></dd>
        <dt>Egress node:</dt>
        <dd>A domain exit node on an SRv6 path</dd>
        <dt>FIB:</dt>
        <dd>Forwarding Information Base</dd>
        <dt>IGP:</dt>
        <dd>Interior Gateway Protocol</dd>
        <dt>IS-IS:</dt>
        <dd>Intermediate System to Intermediate System</dd>
        <dt>L3VPN:</dt>
        <dd>Layer 3 VPN</dd>
        <dt>LFA:</dt>
        <dd>Loop-Free Alternate</dd>
        <dt>LS:</dt>
        <dd>Link State, which is LSA in OSPF/OSPFv3 or LSP in
             IS-IS</dd>
        <dt>LSA:</dt>
        <dd>Link State Advertisement in OSPF/OSPFv3</dd>
        <dt>LSP:</dt>
        <dd>Label Switched Path in MPLS or Link State
             Protocol PDU in IS-IS</dd>
        <dt>OSPF:</dt>
        <dd>Open Shortest Path First</dd>
        <dt>OSPFv3:</dt>
        <dd>Open Shortest Path First version 3</dd>
        <dt>P2MP:</dt>
        <dd>Point-to-MultiPoint</dd>
        <dt>P2P:</dt>
        <dd>Point-to-Point</dd>
        <dt>PDU:</dt>
        <dd>Protocol Data Unit</dd>
        <dt>PE:</dt>
        <dd>Provider Edge</dd>
        <dt>PLR:</dt>
        <dd>Point of Local Repair</dd>
        <dt>RL:</dt>
        <dd>Repair List</dd>
        <dt>SA:</dt>
        <dd>Source Address</dd>
        <dt>SID:</dt>
        <dd>Segment Identifier</dd>
        <dt>SR:</dt>
        <dd>Segment Routing</dd>
        <dt>SR path:</dt>
        <dd>An SR path in this document is the
             active path of an SR Policy 
             <xref target="RFC9256" format="default"/></dd>
        <dt>SRv6:</dt>
        <dd>SR for IPv6</dd>
        <dt>SRv6 path:</dt>
        <dd>An SRv6 path in this document is the
             active path of an SR Policy with SRv6 SIDs 
             <xref target="RFC9256" format="default"/></dd>
        <dt>TE:</dt>
        <dd>Traffic Engineering</dd>
        <dt>TI-LFA:</dt>
        <dd>Topology Independent LFA</dd>
        <dt>VPN:</dt>
        <dd>Virtual Private Network</dd>
      </dl>
    </section>
    <!-- Terminologies -->

    <section numbered="true" toc="default">
      <name>SRv6 Path Egress Protection</name>
      <t>This section describes the mechanism of SRv6 path egress protection and
      illustrates it through an example.</t>
      <t>All advertisements and computations in this section are confined to a 
      single link-state IGP area/level for SRv6.</t>
      <section numbered="true" toc="default">
        <name>Mechanism</name>
        <t><xref target="SR-Protect-Egress-A" format="default"/> is used to explain the
        mechanism of SRv6 path egress node and egress link protection. </t>
        <figure anchor="SR-Protect-Egress-A">
          <name>PEB Protects Egress PEA of SRv6 Path</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[                                    
            *******  *******SIDa
        [PE1]-----[P1]-----[PEA]---[CE2]    PEA Egress
        / |        |&        | \   /        PEB Backup Egress
       /  |        |&        |  \ /         CEx Customer Edge
  [CE1]   |        |&        |   X          Px  Non-Provider Edge
       \  |        |&        |  / \         *** SRv6 Path
        \ |        |& &&&&&  | /   \        &&& Backup Path
        [PE2]-----[P2]-----[PEB]---[CE3]                                                                       
                        Mirror SID]]></artwork>
        </figure>
        <section numbered="true" toc="default">
          <name>Egress Node Protection</name>
          <t>Desired Pathways in <xref target="SR-Protect-Egress-A" format="default"/>:</t>
          <t>
        Node PEA in <xref target="SR-Protect-Egress-A" format="default"/> 
        is the egress node (aka egress) 
        of the SRv6 path from PE1 to
        PEA and has SIDa which is the active segment in the packet from the
        SR path at PEA. Node PEB is the backup egress node (aka protector or
        backup egress) to
        provide the fast protection for the egress node 
        (aka primary egress node) PEA. Node P1
        is the direct previous/upstream endpoint of egress node PEA and 
        acts as PLR 
        (refer to <xref target="RFC9855" format="default"/>)
        to support the fast protection for PEA.</t>
          <t>Steps in Creating the Pathways:</t>
          <t>Step 1: Normal Pathway Set-up</t>
          <t>Normal path set-up establishes 
          the SR path from ingress PE1 to egress PEA via P1. 
          Ingress PE1 imports the traffic from CE1 into the SR path and
          egress PEA delivers the traffic from the SRv6 path to CE2.</t>
          <t>Step 2: Backup Pathway Set-up</t>
          <t>Step 2a: PEB Announces to Protect PEA</t>
          <t>When PEB is selected as a backup egress node 
        to protect the egress node PEA,
        a SRv6 Mirror SID (refer to Section 5.1 of <xref target="RFC8402" format="default"/>) is
        configured on PEB to protect PEA. PEB MUST advertise this information
        through IGP, which includes the Mirror SID and the egress PEA. The
        information is represented by &lt;PEB, PEA, Mirror SID&gt;, together 
        with the protected locators. This IGP signaling does not enumerate 
        per-service entries.</t>
          <t>Step 2b: PEB Gets Forwarding Behavior of PEA</t>
          <t>After PEA receives the information &lt;PEB, PEA, Mirror SID&gt;, it 
        may provide to PEB the forwarding behavior for the active SRv6 segment SIDa 
        at PEA by existing means. When SIDa is a Service SID (e.g., a VPN SID) 
        anchored on PEA, PEB may learn its forwarding behavior via the BGP-based 
        overlay as per <xref target="RFC9252" format="default"/> or by configuration; this document does not 
        introduce per-service signaling in IGP. This enables PEB to reproduce 
        the egress behavior for packets whose active segment at PEA is a Service
         SID, without requiring IGP to flood per-service state.</t>
          <t>Step 2c: PEB Creates FIB for PEA</t>
          <t>When PEB gets the forwarding behavior of SIDa of PEA, it MUST add a 
        forwarding entry for SIDa into the forwarding table identified by the 
        Mirror SID (the PEA context). This supports Service SID semantics at 
        the protector. However, for large numbers of Service SIDs, operators 
        SHOULD avoid deployments where protection requires fine-grained 
        per-service modeling in IGP, as it may increase IGP flooding and 
        affect convergence.</t>
          <t>Step 2d: P1 as PLR Prepares to Protect PEA by PEB</t>
          <t>After P1 as PLR receives the information &lt;PEB, PEA, Mirror
        SID&gt; and knows that PEB wants to protect SIDa of PEA, it computes
        an LFA for PEA assuming that PEA and PEB have the same anycast address.
        A Repair List RL (or say backup path) is obtained based on the LFA.
        It is one of the following: </t>
          <dl newline="false" spacing="normal">
            <dt>o</dt>
            <dd>RL = &lt;Mirror SID&gt; if the LFA is the next 
               hop node to PEB along the shortest path to PEB; or</dd>
            <dt>o</dt>
            <dd>RL = &lt;S1, ..., Sn, Mirror SID&gt; if the LFA is
            a TI-LFA, where &lt;S1, ..., Sn&gt; is the TI-LFA Repair
            List to PEB computed by P1.</dd>
          </dl>
          <t>Step 3: Backup Path Is Engaged upon PEA Failure</t>
          <t>Step 3a: P1 Detects PEA Failure via BFD or Other Mechanisms</t>
          <t>Step 3b: P1 Sends Packet with SIDa to Backup Egress PEB</t>
          <t>When egress node PEA fails, 
        P1 as PLR sends the packet with SIDa carried by the
        SR path to backup egress node PEB, 
        but MUST encapsulate the packet before sending it by
        executing H.Encaps with the Repair List RL and a Source Address T.</t>
          <t>P1 as PLR needs to
   retain the route to PEA for a period of time 
   after its IGP converges on the failure of PEA.  Thus the backup path
   for PEA will be used when the other nodes (such as PE1) still send
   the packet to PEA via P1 since their IGPs do not converge on the
   failure.
</t>
          <t>Suppose that the packet received by P1 is represented by Pkt = (S,
        SID-P1)(SIDa,SID-P1; SL=1)Pkt0, 
        where SA = S and DA = SID-P1 (i.e., SID of P1), 
        and Pkt0 is the rest of the packet.
        P1 sets DA to SIDa, updates SL and executes H.Encaps.</t>
          <t>The execution of H.Encaps pushes an IPv6 header to Pkt and sets
        some fields in the outer and inner IPv6 header to produce an
        encapsulated packet Pkt'. Pkt' will be one of the following: </t>
          <dl newline="false" spacing="normal">
            <dt>o</dt>
            <dd>Pkt' = (T, Mirror SID) (S, SIDa)Pkt0 if RL =
            &lt;Mirror SID&gt;; or</dd>
            <dt>o</dt>
            <dd>Pkt' = (T, S1)(Mirror SID, Sn, ..., S1; SL=n) (S,
            SIDa)Pkt0 if RL = &lt;S1, ..., Sn, Mirror SID&gt;.</dd>
          </dl>
          <t>Step 3c: PEB Decapsulates Packet and Forwards It</t>
          <t>When PEB receives the re-routed packet, which is (T, Mirror SID)
        (S, SIDa)Pkt0, it decapsulates the packet and forwards the
        decapsulated packet using the FIB table Tm identified by the Mirror SID
        as a variant of End.DT6 SID. The Mirror SID
        is called End.M.</t>
        <t>When a node processes a packet with an End.M SID as the destination,
         it MUST perform the following steps in order:
         1. Verify that the End.M SID is locally instantiated. If not, 
            process according to Section 4.1.1 of <xref target="RFC8986" format="default"/>.
         2. Remove the outer IPv6 header with all its extension headers.
         3. Identify the FIB table associated with the End.M SID context.
         4. Submit the inner packet to the identified FIB table for 
            forwarding.
         If any of these steps fail, the packet MUST be dropped and an 
         appropriate error counter SHOULD be incremented.</t>
          <t>The behavior of Mirror SID (End.M for short) is a variant of
           the End.DT6 behavior (refer to Section 4.6 of 
           <xref target="RFC8986" format="default"/>). 
           The End.M SID MUST be the last segment in an SR path, 
           and a SID instance is associated with an IPv6 FIB table Tm.</t>
          
        </section>
        <!-- "Egress Node Protection" -->

     <section numbered="true" toc="default">
          <name>Egress Link Protection</name>
          <t>Egress link protection is similar to egress node protection for SRv6
        <xref target="RFC8679" format="default"/>.
        When the egress link from egress node PEA to CE2 fails,
        PEA acting as a PLR reroutes the traffic to 
        backup egress node PEB via a backup path. 
        Specifically, PEA as a PLR pre-computes a Repair List RL 
        (or say backup path) toward PEB after 
        receiving &lt;PEB, PEA, Mirror SID&gt; and
        knowing that PEB wants to protect SIDa of PEA. 
        When the link fails, PEA as PLR sends the packet with SIDa
        by executing H.Encaps with the Repair List RL. All operations occur 
        within the same IGP flooding scope; no per-service signaling is 
        introduced in IGP.</t>
        </section>
        <!-- "Egress Link Protection" -->
      </section>
      <!-- Mechanism -->

      <section numbered="true" toc="default">
        <name>Example</name>
        <t><xref target="SR-Protect-Egress-PE3" format="default"/> shows an example of
        fast protecting egress node PE3 of an SRv6 path, 
        which is from ingress node PE1 to
        egress node PE3. </t>
        <figure anchor="SR-Protect-Egress-PE3">
          <name>PE4 Protects Egress PE3 of SR Path</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[            SID-P1: A5:1::A100  Locator: A3:1::/64
              *******  *******   VPN SID: A3:1::B100
          [PE1]-----[P1]-----[PE3]---[CE2]      PE3 Egress
          / |        |&        | \   /          PE4 Backup Egress
         /  |        |&        |  \ /           CEx Customer Edge
    [CE1]   |        |&        |   X            Px  Non-Provider Edge
         \  |        |&        |  / \           *** SR Path
          \ |        |& &&&&&  | /   \          &&& Backup Path
          [PE2]-----[P2]-----[PE4]---[CE3]
                                Locator: A4:1::/64
                                VPN SID: A4:1::B100
                             Mirror SID: A4:1::3, protect A3:1::/64]]></artwork>
        </figure>
        <t>Desired Pathways in <xref target="SR-Protect-Egress-PE3" format="default"/>:</t>
        <t>Node P1's pre-computed backup path for PE3 is from
        P1 to PE4 via P2. In normal operations, after receiving a packet with SRv6
        destination PE3, P1 forwards the packet to PE3 according to its FIB.
        When PE3 receives the packet, it sends the packet to CE2.</t>
        <t>When PE3 fails, P1 as PLR detects the failure through using a
        failure detection mechanism such as BFD and forwards the packet to PE4
        via the backup path. When PE4 receives the packet, it sends the packet
        to the same CE2.</t>
        <t>When P1's IGP converges on the failure of PE3, P1 as PLR needs to
        retain the route to PE3 for a period of time. 
        Thus the backup path for PE3 will be used when the other nodes 
        (such as PE1) still send the packet to PE3 via P1 since their IGPs
        do not converge on the failure.</t>
        <t>In <xref target="SR-Protect-Egress-PE3" format="default"/>, Both CE2 
        and CE3 are dual-homed to PE3 and PE4. PE3 has a locator A3:1::/64 and a 
        VPN SID A3:1::B100. 
        PE4 has a locator A4:1::/64 and VPN SID A4:1::B100. A Mirror SID A4:1::3
        is configured on PE4 for protecting PE3 with locator A3:1::/64. P1 has 
        SID-P1 = A5:1::A100.</t>
        <t>Steps in Creating the Pathways:</t>
        <t>Step 1: Normal Pathway Set-up [PEB is PE4, PEA is PE3]</t>
        <t>Step 2: Backup Pathway Set-up</t>
        <t>Step 2a: PE4 (aka PEB) Announces to Protect PE3 (aka PEA)</t>
        <t>After the configuration, PE4 advertises this information through an
        IGP LS (i.e., LSA in OSPFv3 or LSP in IS-IS), which includes PE3's
        locator and Mirror SID A4:1::3. Every node in the SR domain will
        receive this IGP LS, which indicates that PE4 wants to protect PE3 
        (indicated by PE3's locator) with Mirror SID A4:1::3.</t>
        <t>Step 2b: PE4 (aka PEB) Gets Forwarding Behavior of PE3 (aka PEA)</t>
        <t>When PE4 (e.g., BGP on PE4) receives a prefix whose VPN SID belongs
        to PE3 that is protected by PE4 through Mirror SID A4:1::3, it finds
        PE4's VPN SID corresponding to PE3's VPN SID. For example, local PE4
        has Prefix 1.1.1.1 with VPN SID A4:1::B100, when PE4 receives prefix
        1.1.1.1 with remote PE3's VPN SID A3:1::B100, it knows that they are
        for the same VPN.</t>
        <t>The forwarding behaviors for these two VPN SIDs are the same from
        function's point of view. If the behavior for PE3's VPN SID in PE3
        forwards the packet with it to CE2, then the behavior for PE4's VPN
        SID in PE4 forwards the packet to the same CE2; and vice versa. </t>
        <t>Step 2c: PE4 (aka PEB) Creates FIB for PE3 (aka PEA)</t>
        <t>PE4
        creates a forwarding entry for PE3's VPN SID A3:1::B100 in the FIB
        table identified by Mirror SID A4:1::3 according to the forwarding
        behavior for PE4's VPN SID A4:1::B100.</t>
        <!--
    <t>(Note: alternatively, the entry created may map PE3's VPN SID A3:1::B100 
    to PE4's VPN SID A4:1::B100. PE4 uses its VPN SID to forward the packet
    in its forwarding table. This is a local decision.)</t> 
-->

     <t>Step 2d: P1 Prepares to Protect PE3 (aka PEA) by PE4 (aka PEB)</t>
        <t>Node P1's pre-computed backup path for destination PE3 is
        from P1 to PE4 having mirror SID A4:1::3. When P1 receives a packet
        destined to PE3's VPN SID A3:1::B100, in normal operations, it
        forwards the packet with source A1:1:: and destination PE3's VPN SID
        A3:1::B100 according to the FIB using the destination PE3's VPN SID
        A3:1::B100.</t>
        <t>Step 3: Backup Path Is Engaged upon PE3 (aka PEA) Failure</t>
        <t>Step 3a: P1 Detects PE3 (aka PEA) Failure via BFD</t>
        <t>Step 3b: P1 Sends Packet with SIDa to Backup Egress PE4 (aka PEB)</t>
        <t>When PE3 fails, P1 as PLR sends the packet to PE4 via the backup
        path pre-computed. P1 encapsulates the packet using H.Encaps before
        sending it to PE4.</t>
        <t>Suppose that the packet received by P1 is represented by 
        Pkt = (SA=A1:1::,DA=A5:1::A100)(SIDa=A3:1::B100,SID-P1=A5:1::A100;SL=1)
        Pkt0,
        where DA = A5:1::A100 is P1's SID, A3:1::B100 is PE3's VPN
        SID, and Pkt0 is the rest of the packet. 
        P1 sets DA to A3:1::B100, updates SL, and encapsulates the packet.

        The encapsulated packet Pkt'
        will be one of the following: </t>
        <dl newline="false" spacing="normal">
          <dt>o</dt>
          <dd>Pkt' = (T, Mirror SID A4:1::3) (A1:1::,
            A3:1::B100)Pkt0 if the LFA is the next hop node to PE4 along the
      shortest path to PE4; or (otherwise)</dd>
          <dt>o</dt>
          <dd>Pkt' = (T, S1)(Mirror SID A4:1::3, Sn, ..., S1;
            SL=n) (A1:1::, A3:1::B100)Pkt0.</dd>
        </dl>
        <t> where T is a Source Address, &lt;S1, ..., Sn&gt; is the
        TI-LFA Repair List to PE4 computed by P1.</t>
        <t>Step 3c: PE4 (aka PEB) Decapsulates Packet and Forwards It</t>
        <t>When PE4 receives the re-routed packet, it decapsulates the packet
        and forwards the decapsulated packet by executing the behavior of
        End.M for the Mirror SID
        that is associated with the IPv6 FIB table for PE3. The packet
        received by PE4 is (T, Mirror SID A4:1::3) (A1:1::, PE3's VPN SID
        A3:1::B100)Pkt0.</t>
        <t>PE4 obtains Mirror SID A4:1::3 in the outer IPv6 header of the
        packet, removes this outer IPv6 header, and then processes the inner
        IPv6 packet (A1:1::, A3:1::B100)Pkt0. It finds the FIB table for PE3
        using Mirror SID A4:1::3 as the context ID, gets the forwarding entry
        for PE3's VPN SID A3:1::B100 from the table, and forwards the packet
        to CE2 using the entry.</t>
        <t>Note:This example demonstrates that a Service SID 
        (e.g., a VPN SID) can be preserved at the protector via the Mirror-SID 
        context. However, at large scale (many VPN/service instances and/or 
        random multi-homing of services across multiple protectors), the amount 
        of egress-protection information to be flooded in IGP increases and may
         affect convergence; such deployments are not recommended for this 
         IGP-based mechanism. Operators SHOULD consolidate protectors per 
         egress and limit per-service granularity in IGP.</t>
      </section>
      <!-- Example -->
      
      <section numbered="true" toc="default">
        <name>Operational Guidelines</name>
        <t>Protector Consolidation: Prefer a single protector PEB per PEA within 
        the IGP area/level to minimize the number of SRv6 &lt;PEB, PEA, Mirror SID&gt; 
        advertisements.</t>
        <t>Limit Granularity in IGP: Do not attempt to enumerate per-service 
        entries in IGP; use locator-level protection only.</t>
        <t>Service Behavior Acquisition: Learning Service-SID behaviors at the 
        protector (e.g., via BGP per <xref target="RFC9352" format="default"/> or configuration) 
        is an implementation choice and does not alter the IGP flooding scope.</t>
        <t>Applicability Thresholds: When the protected service count per egress
         or the number of protection relationships grows large-especially with 
         random multi-homing-the IGP control-plane load and convergence may be 
         adversely affected; such deployments are not recommended for this 
         mechanism.</t>
      </section>
    </section>
    <!-- SRv6 Path Egress Protection -->

    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The egress protection specified in this document involves
      rerouting traffic around an egress node or link failure, 
      via a backup path from a PLR to a backup egress node. 
      The forwarding performed by the nodes in the data plane is 
      anticipated, as part of the planning of egress protection.
      </t>
      <t>The extensions to control plane protocol IS-IS or OSPFv3
      are used to support the egress protection on the nodes in 
      an OSPFv3 or IS-IS area. 
      The area is in a single administrative domain.</t>
      <t>In addition, the PLR and backup egress node are located 
      close to the egress node, which is in the same 
      administrative domain. 
      </t>
      <t>Security concerns for IS-IS are addressed in
<xref target="ISO10589" format="default"/>,
<xref target="RFC5304" format="default"/> and <xref target="RFC5310" format="default"/>. 
While IS-IS is
deployed under a single administrative domain, there can be deployments 
where potential
attackers have access to one or more networks in the IS-IS routing domain. 
In these deployments,
the stronger authentication mechanisms defined in the aforementioned 
documents SHOULD be
used.
      </t>
      <t>Security concerns for OSPFv3 are described in
<xref target="RFC5340" format="default"/> and <xref target="RFC8362" format="default"/>. 
While OSPFv3 is under a single
   administrative domain, there can be deployments where potential
   attackers have access to one or more networks in the OSPFv3 routing
   domain.  In these deployments, stronger authentication mechanisms
   such as those specified in 
<xref target="RFC4552" format="default"/> and <xref target="RFC7166" format="default"/>
SHOULD be used.
</t>

    <t>SRv6-Specific Security Considerations:The Mirror SID mechanism 
        introduces the following SRv6-specific security considerations:</t>
   
   <t>- Mirror SID Authentication: Since the Mirror SID is advertised 
     through IGP, it is essential that IGP advertisements are 
     authenticated to prevent malicious nodes from advertising 
     counterfeit Mirror SIDs. Implementations SHOULD support the 
     cryptographic authentication mechanisms specified in <xref target="RFC5304" format="default"/>
     for IS-IS and <xref target="RFC4552" format="default"/> for OSPFv3.</t>
   
   <t>- Context Isolation: The FIB table identified by the Mirror SID 
     MUST be properly isolated to prevent traffic from one protected 
     egress node from being forwarded using the context of another 
     egress node. Implementations MUST ensure that the context 
     identified by a Mirror SID is only used for packets explicitly 
     addressed to that Mirror SID. </t>

      <t>Security attacks may sometimes come from a customer domain. 
      Such attacks are not introduced by the egress protection 
      in this document and may occur regardless of the existence of 
      egress protection. 
      In one possible case, the egress link between an egress node 
      and a CE could become a point of attack.
      An attacker that gains control of the CE might use it to 
      simulate link failures and trigger constant and cascading 
      activities in the network. 
      If egress link protection is in place,
      egress link protection activities may also be triggered. 
      As a general solution to defeat the attack, a
      damping mechanism SHOULD be used by the egress node to promptly 
      suppress the services associated with the link or CE.
      The egress node would stop delivering the services to CE, 
      essentially detaching them from the network and eliminating 
      the effect of the simulated link failures.
      All protocol extensions operate within a single link-state IGP 
      area/level; no per-service signaling is introduced in IGP, and
      references to BGP concern only how a protector may learn 
      forwarding behavior.When a protector learns per-service 
      forwarding behavior via mechanisms outside the IGP (e.g., BGP 
      as per <xref target="RFC9252" format="default"/> or local configuration), it SHOULD validate 
      that the behavior is authorized and consistent with the 
      protected egress node's capabilities advertised through those 
      same external mechanisms. This document does not introduce 
      per-service signaling in the IGP for this validation.
      </t>
 
   <t>The following threats are addressed by corresponding mechanisms:</t>
   
   <t>-- Unauthorized Rerouting: An attacker could attempt to trigger 
     unnecessary rerouting by advertising false failure information. 
     This is mitigated by:</t>
     <t>* Using BFD or other reliable failure detection mechanisms.</t>
     <t>* Authenticating IGP advertisements.</t>
     <t>* Implementing damping mechanisms to prevent flapping.</t>
   
   <t>-- Traffic Interception: An attacker could attempt to become a 
     protector to intercept traffic. This is mitigated by:</t>
     <t>* Limiting protector selection to trusted nodes within the same
       administrative domain.</t>
     <t>* Authenticating IGP advertisements of Mirror SIDs.</t>
     <t>* Monitoring for unexpected protector advertisements.</t>
   
   <t>-- Denial of Service: An attacker could attempt to overwhelm the 
     protector with traffic. This is mitigated by:</t>
     <t>* Implementing rate limiting at the protector.</t>
     <t>* Using proper FIB table isolation.</t>
     <t>* Monitoring traffic patterns.</t>
     
    <t>-- Control Plane Overload: An attacker could attempt to flood the IGP 
    with excessive protection advertisements, causing control plane overload 
    and convergence issues.This is mitigated by:</t>
     <t>* Limit the number of protection relationships per node.</t>
     <t>* Implement IGP flooding rate limiting.</t>
     <t>* Use the operational guidelines in Section 3.3 to limit the scale
     of deployments.</t>
     <t>* Monitor IGP database size and convergence times.</t>     
    </section>
    
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section anchor="SRv6-End" numbered="true" toc="default">
        <name>SRv6 Endpoint Behaviors</name>
        <t>Under registry "SRv6 Endpoint Behaviors" <xref target="RFC8986" format="default"/>, IANA has assigned the following
        for End.M Endpoint Behavior: </t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  +==============+========+=====================+===============+
  | Value        | Hex    | Endpoint behavior   | Reference     |
  +==============+========+=====================+===============+
  |   74         | 0x004A | End.M (Mirror SID)  | This document |
  +--------------+--------+---------------------+---------------+
  ]]></artwork>
      </section>
    </section>
  </middle>
  
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="ISO10589">
          <front>
            <title>
	   Intermediate System to Intermediate System
	   Intra-Domain Routing Exchange Protocol for use in Conjunction
	   with the Protocol for Providing the Connectionless-mode Network
	   Service (ISO 8473)
            </title>
            <author>
              <organization abbrev="ISO">
	     International Organization for Standardization
              </organization>
            </author>
            <date year="2002" month="November"/>
          </front>
          <seriesInfo name="ISO/IEC" value="10589:2002"/>
        </reference>
        
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>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>
        <!-- <?rfc include="reference.RFC.7356"?> -->
<!-- <?rfc include="reference.RFC.7490"?> -->

        <reference anchor="RFC4552" target="https://www.rfc-editor.org/info/rfc4552" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4552.xml">
          <front>
            <title>Authentication/Confidentiality for OSPFv3</title>
            <author fullname="M. Gupta" initials="M." surname="Gupta"/>
            <author fullname="N. Melam" initials="N." surname="Melam"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>This document describes means and mechanisms to provide authentication/confidentiality to OSPFv3 using an IPv6 Authentication Header/Encapsulating Security Payload (AH/ESP) extension header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4552"/>
          <seriesInfo name="DOI" value="10.17487/RFC4552"/>
        </reference>
        
        <reference anchor="RFC5304" target="https://www.rfc-editor.org/info/rfc5304" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5304.xml">
          <front>
            <title>IS-IS Cryptographic Authentication</title>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="R. Atkinson" initials="R." surname="Atkinson"/>
            <date month="October" year="2008"/>
            <abstract>
              <t>This document describes the authentication of Intermediate System to Intermediate System (IS-IS) Protocol Data Units (PDUs) using the Hashed Message Authentication Codes - Message Digest 5 (HMAC-MD5) algorithm as found in RFC 2104. IS-IS is specified in International Standards Organization (ISO) 10589, with extensions to support Internet Protocol version 4 (IPv4) described in RFC 1195. The base specification includes an authentication mechanism that allows for multiple authentication algorithms. The base specification only specifies the algorithm for cleartext passwords. This document replaces RFC 3567.</t>
              <t>This document proposes an extension to that specification that allows the use of the HMAC-MD5 authentication algorithm to be used in conjunction with the existing authentication mechanisms. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5304"/>
          <seriesInfo name="DOI" value="10.17487/RFC5304"/>
        </reference>
        
        <reference anchor="RFC5310" target="https://www.rfc-editor.org/info/rfc5310" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5310.xml">
          <front>
            <title>IS-IS Generic Cryptographic Authentication</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="R. Atkinson" initials="R." surname="Atkinson"/>
            <author fullname="R. White" initials="R." surname="White"/>
            <author fullname="M. Fanto" initials="M." surname="Fanto"/>
            <date month="February" year="2009"/>
            <abstract>
              <t>This document proposes an extension to Intermediate System to Intermediate System (IS-IS) to allow the use of any cryptographic authentication algorithm in addition to the already-documented authentication schemes, described in the base specification and RFC 5304. IS-IS is specified in International Standards Organization (ISO) 10589, with extensions to support Internet Protocol version 4 (IPv4) described in RFC 1195.</t>
              <t>Although this document has been written specifically for using the Hashed Message Authentication Code (HMAC) construct along with the Secure Hash Algorithm (SHA) family of cryptographic hash functions, the method described in this document is generic and can be used to extend IS-IS to support any cryptographic hash function in the future. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5310"/>
          <seriesInfo name="DOI" value="10.17487/RFC5310"/>
        </reference>
        
        <reference anchor="RFC5340" target="https://www.rfc-editor.org/info/rfc5340" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5340.xml">
          <front>
            <title>OSPF for IPv6</title>
            <author fullname="R. Coltun" initials="R." surname="Coltun"/>
            <author fullname="D. Ferguson" initials="D." surname="Ferguson"/>
            <author fullname="J. Moy" initials="J." surname="Moy"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="July" year="2008"/>
            <abstract>
              <t>This document describes the modifications to OSPF to support version 6 of the Internet Protocol (IPv6). The fundamental mechanisms of OSPF (flooding, Designated Router (DR) election, area support, Short Path First (SPF) calculations, etc.) remain unchanged. However, some changes have been necessary, either due to changes in protocol semantics between IPv4 and IPv6, or simply to handle the increased address size of IPv6. These modifications will necessitate incrementing the protocol version from version 2 to version 3. OSPF for IPv6 is also referred to as OSPF version 3 (OSPFv3).</t>
              <t>Changes between OSPF for IPv4, OSPF Version 2, and OSPF for IPv6 as described herein include the following. Addressing semantics have been removed from OSPF packets and the basic Link State Advertisements (LSAs). New LSAs have been created to carry IPv6 addresses and prefixes. OSPF now runs on a per-link basis rather than on a per-IP-subnet basis. Flooding scope for LSAs has been generalized. Authentication has been removed from the OSPF protocol and instead relies on IPv6's Authentication Header and Encapsulating Security Payload (ESP).</t>
              <t>Even with larger IPv6 addresses, most packets in OSPF for IPv6 are almost as compact as those in OSPF for IPv4. Most fields and packet- size limitations present in OSPF for IPv4 have been relaxed. In addition, option handling has been made more flexible.</t>
              <t>All of OSPF for IPv4's optional capabilities, including demand circuit support and Not-So-Stubby Areas (NSSAs), are also supported in OSPF for IPv6. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5340"/>
          <seriesInfo name="DOI" value="10.17487/RFC5340"/>
        </reference>
                
        <reference anchor="RFC7166" target="https://www.rfc-editor.org/info/rfc7166" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7166.xml">
          <front>
            <title>Supporting Authentication Trailer for OSPFv3</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>Currently, OSPF for IPv6 (OSPFv3) uses IPsec as the only mechanism for authenticating protocol packets. This behavior is different from authentication mechanisms present in other routing protocols (OSPFv2, Intermediate System to Intermediate System (IS-IS), RIP, and Routing Information Protocol Next Generation (RIPng)). In some environments, it has been found that IPsec is difficult to configure and maintain and thus cannot be used. This document defines an alternative mechanism to authenticate OSPFv3 protocol packets so that OSPFv3 does not depend only upon IPsec for authentication.</t>
              <t>The OSPFv3 Authentication Trailer was originally defined in RFC 6506. This document obsoletes RFC 6506 by providing a revised definition, including clarifications and refinements of the procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7166"/>
          <seriesInfo name="DOI" value="10.17487/RFC7166"/>
        </reference>
        
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        
        <reference anchor="RFC8362" target="https://www.rfc-editor.org/info/rfc8362" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8362.xml">
          <front>
            <title>OSPFv3 Link State Advertisement (LSA) Extensibility</title>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="A. Roy" initials="A." surname="Roy"/>
            <author fullname="D. Goethals" initials="D." surname="Goethals"/>
            <author fullname="V. Reddy Vallem" initials="V." surname="Reddy Vallem"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <date month="April" year="2018"/>
            <abstract>
              <t>OSPFv3 requires functional extension beyond what can readily be done with the fixed-format Link State Advertisement (LSA) as described in RFC 5340. Without LSA extension, attributes associated with OSPFv3 links and advertised IPv6 prefixes must be advertised in separate LSAs and correlated to the fixed-format LSAs. This document extends the LSA format by encoding the existing OSPFv3 LSA information in Type-Length-Value (TLV) tuples and allowing advertisement of additional information with additional TLVs. Backward-compatibility mechanisms are also described.</t>
              <t>This document updates RFC 5340, "OSPF for IPv6", and RFC 5838, "Support of Address Families in OSPFv3", by providing TLV-based encodings for the base OSPFv3 unicast support and OSPFv3 address family support.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8362"/>
          <seriesInfo name="DOI" value="10.17487/RFC8362"/>
        </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>
        <!--  <?rfc include="reference.RFC.8665"?> -->

      <reference anchor="RFC8667" target="https://www.rfc-editor.org/info/rfc8667" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8667.xml">
          <front>
            <title>IS-IS Extensions for Segment Routing</title>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." role="editor" surname="Ginsberg"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="A. Bashandy" initials="A." surname="Bashandy"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) allows for a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological sub-paths, called "segments". These segments are advertised by the link-state routing protocols (IS-IS and OSPFv3).</t>
              <t>This document describes the IS-IS extensions that need to be introduced for Segment Routing operating on an MPLS data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8667"/>
          <seriesInfo name="DOI" value="10.17487/RFC8667"/>
        </reference>
        
        <reference anchor="RFC8986" target="https://www.rfc-editor.org/info/rfc8986" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <date month="February" year="2021"/>
            <abstract>
              <t>The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t>Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t>This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>
        
        <reference anchor="RFC9256" target="https://www.rfc-editor.org/info/rfc9256" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9256.xml">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.</t>
              <t>This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
        
        <reference anchor="RFC9352" target="https://www.rfc-editor.org/info/rfc9352" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9352.xml">
          <front>
            <title>IS-IS Extensions to Support Segment Routing over the IPv6 Data Plane</title>
            <author fullname="P. Psenak" initials="P." role="editor" surname="Psenak"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="A. Bashandy" initials="A." surname="Bashandy"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The Segment Routing (SR) architecture allows a flexible definition of the end-to-end path by encoding it as a sequence of topological elements called "segments". It can be implemented over the MPLS or the IPv6 data plane. This document describes the IS-IS extensions required to support SR over the IPv6 data plane.</t>
              <t>This document updates RFC 7370 by modifying an existing registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9352"/>
          <seriesInfo name="DOI" value="10.17487/RFC9352"/>
        </reference>
        
        <reference anchor="RFC9513" target="https://www.rfc-editor.org/info/rfc9513" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9513.xml">
          <front>
            <title>OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)</title>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <date month="December" year="2023"/>
            <abstract>
              <t>The Segment Routing (SR) architecture allows a flexible definition of the end-to-end path by encoding it as a sequence of topological elements called segments. It can be implemented over an MPLS or IPv6 data plane. This document describes the OSPFv3 extensions required to support SR over the IPv6 data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9513"/>
          <seriesInfo name="DOI" value="10.17487/RFC9513"/>
        </reference>
        
        <reference anchor="RFC9855" target="https://www.rfc-editor.org/info/rfc9855" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9855.xml">
          <front>
            <title>Topology Independent Fast Reroute using Segment Routing</title>
            <author fullname="Ahmed Bashandy" initials="A." surname="Bashandy">
              <organization>Individual</organization>
            </author>
            <author fullname="Stephane Litkowski" initials="S." surname="Litkowski">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Pierre Francois" initials="P." surname="Francois">
              <organization>INSA Lyon</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Bell Canada</organization>
            </author>
            <date month="October" year="2025"/>
            <abstract>
              <t>This document presents Topology Independent Loop-free Alternate Fast Reroute (TI-LFA), aimed at providing protection of node and adjacency segments within the Segment Routing (SR) framework. This Fast Reroute (FRR) behavior builds on proven IP Fast Reroute concepts being LFAs, remote LFAs (RLFA), and remote LFAs with directed forwarding (DLFA). It extends these concepts to provide guaranteed coverage in any two-connected networks using a link-state IGP. An important aspect of TI-LFA is the FRR path selection approach establishing protection over the expected post-convergence paths from the point of local repair, reducing the operational need to control the tie-breaks among various FRR options.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9855"/>
          <seriesInfo name="DOI" value="10.17487/RFC9855"/>
        </reference>
      </references>
      
      
      <references>
        <name>Informative References</name>
        <!--  <?rfc include="reference.I-D.ietf-spring-segment-routing-policy"?> -->

      <reference anchor="RFC3107" target="https://www.rfc-editor.org/info/rfc3107" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3107.xml">
          <front>
            <title>Carrying Label Information in BGP-4</title>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <date month="May" year="2001"/>
            <abstract>
              <t>This document specifies the way in which the label mapping information for a particular route is piggybacked in the same Border Gateway Protocol (BGP) Update message that is used to distribute the route itself. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3107"/>
          <seriesInfo name="DOI" value="10.17487/RFC3107"/>
        </reference>
        
        <reference anchor="RFC4364" target="https://www.rfc-editor.org/info/rfc4364" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4364.xml">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        
        <reference anchor="RFC8400" target="https://www.rfc-editor.org/info/rfc8400" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8400.xml">
          <front>
            <title>Extensions to RSVP-TE for Label Switched Path (LSP) Egress Protection</title>
            <author fullname="H. Chen" initials="H." surname="Chen"/>
            <author fullname="A. Liu" initials="A." surname="Liu"/>
            <author fullname="T. Saad" initials="T." surname="Saad"/>
            <author fullname="F. Xu" initials="F." surname="Xu"/>
            <author fullname="L. Huang" initials="L." surname="Huang"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This document describes extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) for locally protecting the egress node(s) of a Point-to-Point (P2P) or Point-to-Multipoint (P2MP) Traffic Engineered (TE) Label Switched Path (LSP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8400"/>
          <seriesInfo name="DOI" value="10.17487/RFC8400"/>
        </reference>
        
        <reference anchor="RFC8679" target="https://www.rfc-editor.org/info/rfc8679" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8679.xml">
          <front>
            <title>MPLS Egress Protection Framework</title>
            <author fullname="Y. Shen" initials="Y." surname="Shen"/>
            <author fullname="M. Jeganathan" initials="M." surname="Jeganathan"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <author fullname="C. Michel" initials="C." surname="Michel"/>
            <author fullname="H. Chen" initials="H." surname="Chen"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>This document specifies a fast reroute framework for protecting IP/MPLS services and MPLS transport tunnels against egress node and egress link failures. For each type of egress failure, it defines the roles of Point of Local Repair (PLR), protector, and backup egress router and the procedures of establishing a bypass tunnel from a PLR to a protector. It describes the behaviors of these routers in handling an egress failure, including local repair on the PLR and context-based forwarding on the protector. The framework can be used to develop egress protection mechanisms to reduce traffic loss before global repair reacts to an egress failure and control-plane protocols converge on the topology changes due to the egress failure.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8679"/>
          <seriesInfo name="DOI" value="10.17487/RFC8679"/>
        </reference>
        
        <reference anchor="RFC9252" target="https://www.rfc-editor.org/info/rfc9252" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9252.xml">
          <front>
            <title>BGP Overlay Services Based on Segment Routing over IPv6 (SRv6)</title>
            <author fullname="G. Dawra" initials="G." role="editor" surname="Dawra"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Zhuang" initials="S." surname="Zhuang"/>
            <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>This document defines procedures and messages for SRv6-based BGP services, including Layer 3 Virtual Private Network (L3VPN), Ethernet VPN (EVPN), and Internet services. It builds on "BGP/MPLS IP Virtual Private Networks (VPNs)" (RFC 4364) and "BGP MPLS-Based Ethernet VPN" (RFC 7432).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9252"/>
          <seriesInfo name="DOI" value="10.17487/RFC9252"/>
        </reference>
        
        <reference anchor="RFC9907" target="https://www.rfc-editor.org/info/rfc9907" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9907.xml">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="May" year="2026"/>
            <abstract>
              <t>This document provides guidelines for authors and reviewers of specifications containing YANG data models, including IANA-maintained YANG modules. </t>
              <t>Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules.</t>
              <t>This document obsoletes RFC 8407; it also updates RFC 8126 by providing additional guidelines for writing the IANA considerations for RFCs that specify IANA-maintained YANG modules.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9907"/>
          <seriesInfo name="DOI" value="10.17487/RFC9907"/>
        </reference>
  </references>
</references>

    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t>The authors would like to thank Acee Lindem, Peter Psenak, Yimin Shen,
       Jie Dong, Zhenqiang Li, 
       Alexander Vainshtein, Greg Mirsky, Bruno Decraene, Jeff Tantsura,
       Chris Bowers, Ketan Talaulikar, Bob Halley, Tal Mizrahi, 
       Yingzhen Qu and Susan Hares
       for their comments to this work.</t>
    </section>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors' Addresses</name>
      <artwork name="" type="" align="left" alt=""><![CDATA[Huanan Chen
China Telecom
109, West Zhongshan Road, Tianhe District
Guangzhou
510000
China
Email: chenhn8.gd@chinatelecom.cn

Peng Wu
Huawei
Huawei Bld., No.156 Beiqing Rd.
Beijing
100095
China
Email: baggio.wupeng@huawei.com

Lei Liu
Fujitsu
United States of America
Email: liulei.kddi@gmail.com

Xufeng Liu
Alef Edge
United States of America
Email: xufeng.liu.ietf@gmail.com]]></artwork>
    </section>
  </back>
</rfc>
