<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.21 (Ruby 3.1.2) -->


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

]>


<rfc ipr="trust200902" docName="draft-clad-rtgwg-efficient-remote-protection-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title>Efficient Remote Protection</title>

    <author initials="F." surname="Clad" fullname="Francois Clad" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>France</country>
        </postal>
        <email>fclad.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>Belgium</country>
        </postal>
        <email>cf@cisco.com</email>
      </address>
    </author>
    <author initials="Y." surname="Su" fullname="Yuanchao Su">
      <organization>Alibaba</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>yitai.syc@alibaba-inc.com</email>
      </address>
    </author>
    <author initials="D." surname="Cai" fullname="Dennis Cai">
      <organization>Alibaba</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>d.cai@alibaba-inc.com</email>
      </address>
    </author>

    <date year="2026" month="March" day="02"/>

    <area>Routing Area</area>
    <workgroup>Network Working Group</workgroup>
    

    <abstract>


<?line 62?>

<t>This document specifies Efficient Remote Protection (ERP), a
mechanism for IP Fast Reroute (IP-FRR) that utilizes network
notifications to activate pre-computed backup paths at nodes multiple
hops upstream of a failure. ERP addresses scenarios where local
protection mechanisms, such as Loop-Free Alternates (LFA) or
Topology-Independent LFA (TI-LFA), result in suboptimal paths,
specifically traffic hairpinning.</t>

<t>By activating protection at strategically selected upstream nodes
rather than at the node immediately adjacent to the failure, ERP
preserves routing optimality and prevents bandwidth waste. ERP applies
to both complete link/node failures and performance degradations such
as congestion or reduced link capacity. This makes ERP particularly
beneficial in networks with high link utilization, such as AI data
centers and Data Center Interconnect (DCI) networks.</t>



    </abstract>



  </front>

  <middle>


<?line 80?>

<section anchor="introduction"><name>Introduction</name>

<t>IP Fast Reroute (IP-FRR) mechanisms (<xref target="RFC5714"/>) enable rapid
traffic rerouting upon link or node failures by pre-computing and
installing backup paths. Traditional IP-FRR mechanisms
perform protection at the Point of Local Repair (PLR), which is the
node directly adjacent to the failed resource. While this local
protection model provides robust and immediate failure response, it
has limitations:</t>

<t><list style="symbols">
  <t>Topology Dependency: Loop-Free Alternates (LFA, <xref target="RFC5286"/>) and
Remote LFAs (RLFA, <xref target="RFC7490"/>) do not provide complete protection
coverage in all topologies, as described in <xref target="RFC6571"/>.</t>
  <t>Path Optimality: While Topology-Independent Loop-Free Alternate
(TI-LFA, <xref target="RFC9855"/>) provides complete protection coverage and
enforces the post-convergence path from the PLR's perspective, it
may steer traffic through suboptimal paths from the perspective of
upstream nodes. Specifically, when the PLR's backup path traverses
nodes that are upstream of the PLR on the primary path, traffic
originating from or transiting through those nodes experiences
hairpinning, where packets flow toward the PLR before being
redirected back toward the destination.</t>
</list></t>

<t>Efficient Remote Protection (ERP) addresses the path optimality
limitation by introducing a notification-triggered protection model.
ERP allows strategically selected upstream nodes to pre-compute and
install backup paths that protect against failures and performance
degradations multiple hops away and activate these paths upon
receiving a network notification (<xref target="I-D.ietf-rtgwg-net-notif-ps"/>)
from the node adjacent to the affected resource. For complete
failures, ERP reroutes all traffic; for performance degradations, ERP
may load-balance traffic across primary and backup paths. This
approach enables traffic to be rerouted from the most efficient
location(s) in the network, avoiding hairpins and preserving optimal
routing under failure and degradation conditions.</t>

<t>ERP is particularly beneficial in networks with high link
utilization, such as those supporting AI workloads, where traffic
patterns are highly synchronized, flows are large, and link capacity
must be used efficiently.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>This document uses the following terms:</t>

<t><list style="symbols">
  <t>Point of Local Repair (PLR): The node directly adjacent to a failed
resource (link or node). In traditional IP-FRR mechanisms, the PLR
is responsible for activating backup paths.</t>
  <t>Point of Remote Repair (PRR): A node that is one or more hops
upstream of the PLR and that activates a pre-computed backup path
upon receiving a network notification about a remote failure.</t>
  <t>Protected Resource: A link or node for which backup paths are
computed and installed.</t>
  <t>Network Notification: A signal sent by a node upon detecting a
local failure or performance degradation, intended to trigger
protection mechanisms at remote nodes. Network notifications are
described in <xref target="I-D.ietf-rtgwg-net-notif-ps"/>.</t>
  <t>Hairpin: A suboptimal routing condition where traffic is forwarded
toward a destination via a node that is located further from the
destination than the traffic's current location, resulting in
unnecessary bandwidth consumption.</t>
  <t>Q-Space: The set of nodes from which a destination can be reached
without traversing a given failed resource. This term is defined in
<xref target="RFC9855"/>.</t>
</list></t>

</section>
<section anchor="backup-path-efficiency"><name>Backup Path Efficiency</name>

<t>This section illustrates the path efficiency problem that ERP
addresses through two scenarios.</t>

<t>Consider a generic scenario where a node R is adjacent to a resource
(link or node) X, and traffic destined to D normally traverses X.
Node R must protect destination D against the failure of resource X.</t>

<section anchor="local-protection-with-lfa"><name>Local Protection with LFA</name>

<t>If node R has a directly attached LFA neighbor Q for destination D
with respect to resource X, as shown in <xref target="fig-ecmp-lfa"/> and
<xref target="fig-lfa"/>, R installs Q as a backup next-hop for destination D and
activates it upon failure of resource X. In this case, the backup
path is guaranteed not to create a hairpin. A fundamental property of
LFA is that the LFA neighbor Q is not upstream of X (and therefore
not upstream of R) on the shortest path to D.</t>

<figure title="ECMP-LFA protection: R uses another ECMP path via Q" anchor="fig-ecmp-lfa"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="144" width="432" viewBox="0 0 432 144" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,64 L 8,96" fill="none" stroke="black"/>
<path d="M 56,64 L 56,96" fill="none" stroke="black"/>
<path d="M 128,64 L 128,96" fill="none" stroke="black"/>
<path d="M 176,64 L 176,96" fill="none" stroke="black"/>
<path d="M 208,96 L 208,112" fill="none" stroke="black"/>
<path d="M 248,32 L 248,64" fill="none" stroke="black"/>
<path d="M 248,96 L 248,128" fill="none" stroke="black"/>
<path d="M 296,32 L 296,64" fill="none" stroke="black"/>
<path d="M 296,96 L 296,128" fill="none" stroke="black"/>
<path d="M 336,48 L 336,64" fill="none" stroke="black"/>
<path d="M 336,96 L 336,112" fill="none" stroke="black"/>
<path d="M 376,64 L 376,96" fill="none" stroke="black"/>
<path d="M 424,64 L 424,96" fill="none" stroke="black"/>
<path d="M 248,32 L 296,32" fill="none" stroke="black"/>
<path d="M 208,48 L 240,48" fill="none" stroke="black"/>
<path d="M 304,48 L 336,48" fill="none" stroke="black"/>
<path d="M 8,64 L 56,64" fill="none" stroke="black"/>
<path d="M 128,64 L 200,64" fill="none" stroke="black"/>
<path d="M 248,64 L 296,64" fill="none" stroke="black"/>
<path d="M 336,64 L 424,64" fill="none" stroke="black"/>
<path d="M 8,96 L 56,96" fill="none" stroke="black"/>
<path d="M 128,96 L 208,96" fill="none" stroke="black"/>
<path d="M 248,96 L 296,96" fill="none" stroke="black"/>
<path d="M 336,96 L 424,96" fill="none" stroke="black"/>
<path d="M 208,112 L 240,112" fill="none" stroke="black"/>
<path d="M 304,112 L 336,112" fill="none" stroke="black"/>
<path d="M 248,128 L 296,128" fill="none" stroke="black"/>
<polygon class="arrowhead" points="376,96 364,90.4 364,101.6" fill="black" transform="rotate(0,368,96)"/>
<polygon class="arrowhead" points="376,64 364,58.4 364,69.6" fill="black" transform="rotate(0,368,64)"/>
<polygon class="arrowhead" points="248,112 236,106.4 236,117.6" fill="black" transform="rotate(0,240,112)"/>
<polygon class="arrowhead" points="248,48 236,42.4 236,53.6" fill="black" transform="rotate(0,240,48)"/>
<g class="text">
<text x="208" y="68">X</text>
<text x="32" y="84">S</text>
<text x="64" y="84">-</text>
<text x="80" y="84">-</text>
<text x="96" y="84">-</text>
<text x="116" y="84">-&gt;</text>
<text x="152" y="84">R</text>
<text x="400" y="84">D</text>
<text x="272" y="116">Q</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
                              +-----+
                         +--->|     |----+
+-----+        +-----+---X    +-----+    +--->+-----+
|  S  |- - - ->|  R  |                        |  D  |
+-----+        +-----+---+    +-----+    +--->+-----+
                         +--->|  Q  |----+
                              +-----+
]]></artwork></artset></figure>

<figure title="LFA protection: R uses directly attached neighbor Q" anchor="fig-lfa"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="344" viewBox="0 0 344 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,64" fill="none" stroke="black"/>
<path d="M 56,32 L 56,64" fill="none" stroke="black"/>
<path d="M 144,32 L 144,64" fill="none" stroke="black"/>
<path d="M 144,128 L 144,160" fill="none" stroke="black"/>
<path d="M 168,72 L 168,120" fill="none" stroke="black"/>
<path d="M 192,32 L 192,64" fill="none" stroke="black"/>
<path d="M 192,128 L 192,160" fill="none" stroke="black"/>
<path d="M 288,32 L 288,64" fill="none" stroke="black"/>
<path d="M 336,32 L 336,64" fill="none" stroke="black"/>
<path d="M 8,32 L 56,32" fill="none" stroke="black"/>
<path d="M 144,32 L 192,32" fill="none" stroke="black"/>
<path d="M 288,32 L 336,32" fill="none" stroke="black"/>
<path d="M 8,64 L 56,64" fill="none" stroke="black"/>
<path d="M 144,64 L 192,64" fill="none" stroke="black"/>
<path d="M 288,64 L 336,64" fill="none" stroke="black"/>
<path d="M 144,128 L 192,128" fill="none" stroke="black"/>
<path d="M 144,160 L 192,160" fill="none" stroke="black"/>
<polygon class="arrowhead" points="176,120 164,114.4 164,125.6" fill="black" transform="rotate(90,168,120)"/>
<g class="text">
<text x="32" y="52">S</text>
<text x="64" y="52">-</text>
<text x="80" y="52">-</text>
<text x="96" y="52">-</text>
<text x="112" y="52">-</text>
<text x="132" y="52">-&gt;</text>
<text x="168" y="52">R</text>
<text x="208" y="52">-X-</text>
<text x="232" y="52">-</text>
<text x="248" y="52">-</text>
<text x="264" y="52">-</text>
<text x="280" y="52">&gt;</text>
<text x="312" y="52">D</text>
<text x="312" y="84">^</text>
<text x="312" y="116">|</text>
<text x="168" y="148">Q</text>
<text x="200" y="148">-</text>
<text x="216" y="148">-</text>
<text x="232" y="148">-</text>
<text x="248" y="148">-</text>
<text x="264" y="148">-</text>
<text x="280" y="148">-</text>
<text x="296" y="148">-</text>
<text x="312" y="148">+</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
+-----+          +-----+           +-----+
|  S  |- - - - ->|  R  |-X- - - - >|  D  |
+-----+          +-----+           +-----+
                    |                 ^
                    |
                    v                 |
                 +-----+
                 |  Q  |- - - - - - - +
                 +-----+
]]></artwork></artset></figure>

</section>
<section anchor="local-protection-with-ti-lfa-and-hairpinning"><name>Local Protection with TI-LFA and Hairpinning</name>

<t>If node R does not have a directly attached LFA for destination D
with respect to resource X, R may still be able to protect against
the failure of X by using TI-LFA to enforce a path through one or
more intermediate nodes U_0, U_1, ..., U_k before reaching a node Q
in the Q-Space of D with respect to resource X. The Q-Space,
defined in <xref target="RFC9855"/>, is the set of nodes from which the path to D
is unaffected by the failure of X.</t>

<t>However, these intermediate nodes (U_0, U_1, ..., U_k) that are
outside the Q-Space are upstream of X, and may be upstream of R, on
the primary path to D. When traffic originates at or transits through
such a node U_i, it follows the primary path toward R. Upon reaching
R, the traffic may be redirected via a TI-LFA backup path back
through U_i and then onward through Q to reach D. This creates a
hairpin, where traffic is unnecessarily transmitted from U_i to R and
back, as depicted in <xref target="fig-hairpin"/>.</t>

<figure title="TI-LFA protection with hairpin: traffic from U_i to R and back" anchor="fig-hairpin"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="480" viewBox="0 0 480 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,64" fill="none" stroke="black"/>
<path d="M 56,32 L 56,64" fill="none" stroke="black"/>
<path d="M 144,32 L 144,64" fill="none" stroke="black"/>
<path d="M 144,128 L 144,160" fill="none" stroke="black"/>
<path d="M 168,72 L 168,120" fill="none" stroke="black"/>
<path d="M 192,32 L 192,64" fill="none" stroke="black"/>
<path d="M 192,128 L 192,160" fill="none" stroke="black"/>
<path d="M 280,32 L 280,64" fill="none" stroke="black"/>
<path d="M 328,32 L 328,64" fill="none" stroke="black"/>
<path d="M 424,32 L 424,64" fill="none" stroke="black"/>
<path d="M 448,72 L 448,96" fill="none" stroke="black"/>
<path d="M 472,32 L 472,64" fill="none" stroke="black"/>
<path d="M 8,32 L 56,32" fill="none" stroke="black"/>
<path d="M 144,32 L 200,32" fill="none" stroke="black"/>
<path d="M 280,32 L 328,32" fill="none" stroke="black"/>
<path d="M 424,32 L 472,32" fill="none" stroke="black"/>
<path d="M 8,64 L 56,64" fill="none" stroke="black"/>
<path d="M 144,64 L 192,64" fill="none" stroke="black"/>
<path d="M 272,64 L 328,64" fill="none" stroke="black"/>
<path d="M 424,64 L 472,64" fill="none" stroke="black"/>
<path d="M 144,128 L 192,128" fill="none" stroke="black"/>
<path d="M 144,160 L 192,160" fill="none" stroke="black"/>
<polygon class="arrowhead" points="456,72 444,66.4 444,77.6" fill="black" transform="rotate(270,448,72)"/>
<polygon class="arrowhead" points="176,120 164,114.4 164,125.6" fill="black" transform="rotate(90,168,120)"/>
<g class="text">
<text x="216" y="36">-</text>
<text x="232" y="36">-</text>
<text x="248" y="36">-</text>
<text x="268" y="36">-&gt;</text>
<text x="32" y="52">S</text>
<text x="64" y="52">-</text>
<text x="80" y="52">-</text>
<text x="96" y="52">-</text>
<text x="112" y="52">-</text>
<text x="132" y="52">-&gt;</text>
<text x="168" y="52">U_i</text>
<text x="304" y="52">R</text>
<text x="344" y="52">-X-</text>
<text x="368" y="52">-</text>
<text x="384" y="52">-</text>
<text x="400" y="52">-</text>
<text x="416" y="52">&gt;</text>
<text x="448" y="52">D</text>
<text x="204" y="68">&lt;-</text>
<text x="224" y="68">-</text>
<text x="240" y="68">-</text>
<text x="256" y="68">-</text>
<text x="448" y="132">|</text>
<text x="168" y="148">Q</text>
<text x="200" y="148">-</text>
<text x="216" y="148">-</text>
<text x="232" y="148">-</text>
<text x="248" y="148">-</text>
<text x="264" y="148">-</text>
<text x="280" y="148">-</text>
<text x="296" y="148">-</text>
<text x="312" y="148">-</text>
<text x="328" y="148">-</text>
<text x="344" y="148">-</text>
<text x="360" y="148">-</text>
<text x="376" y="148">-</text>
<text x="392" y="148">-</text>
<text x="408" y="148">-</text>
<text x="424" y="148">-</text>
<text x="440" y="148">-</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
+-----+          +-----+- - - - ->+-----+           +-----+
|  S  |- - - - ->| U_i |          |  R  |-X- - - - >|  D  |
+-----+          +-----+<- - - - -+-----+           +-----+
                    |                                  ^
                    |                                  |
                    v
                 +-----+                               |
                 |  Q  |- - - - - - - - - - - - - - - -
                 +-----+
]]></artwork></artset></figure>

<t>This hairpin consumes unnecessary bandwidth on the links between U_i
and R in both directions, potentially causing congestion in networks
with high link utilization, and increases end-to-end latency.</t>

</section>
<section anchor="remote-protection-with-erp"><name>Remote Protection with ERP</name>

<t>The principle of ERP is to prevent hairpins such as the one depicted
in <xref target="fig-hairpin"/> by installing a backup path to D (protecting
against the failure of resource X) at a node U that is upstream of R
and would otherwise create a hairpin. When U receives a network
notification from R indicating the failure of resource X, U activates
its pre-installed backup path. This allows traffic originating at or
transiting through U to be rerouted directly toward Q and then to D,
without traversing R, as depicted in <xref target="fig-erp"/>.</t>

<figure title="ERP protection: U activates backup path upon notification from R" anchor="fig-erp"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="480" viewBox="0 0 480 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,80 L 8,112" fill="none" stroke="black"/>
<path d="M 56,80 L 56,112" fill="none" stroke="black"/>
<path d="M 136,80 L 136,112" fill="none" stroke="black"/>
<path d="M 136,176 L 136,208" fill="none" stroke="black"/>
<path d="M 160,120 L 160,168" fill="none" stroke="black"/>
<path d="M 184,80 L 184,112" fill="none" stroke="black"/>
<path d="M 184,176 L 184,208" fill="none" stroke="black"/>
<path d="M 280,80 L 280,112" fill="none" stroke="black"/>
<path d="M 328,80 L 328,112" fill="none" stroke="black"/>
<path d="M 424,80 L 424,112" fill="none" stroke="black"/>
<path d="M 472,80 L 472,112" fill="none" stroke="black"/>
<path d="M 8,80 L 56,80" fill="none" stroke="black"/>
<path d="M 136,80 L 184,80" fill="none" stroke="black"/>
<path d="M 280,80 L 328,80" fill="none" stroke="black"/>
<path d="M 424,80 L 472,80" fill="none" stroke="black"/>
<path d="M 8,112 L 56,112" fill="none" stroke="black"/>
<path d="M 136,112 L 184,112" fill="none" stroke="black"/>
<path d="M 280,112 L 328,112" fill="none" stroke="black"/>
<path d="M 424,112 L 472,112" fill="none" stroke="black"/>
<path d="M 136,176 L 184,176" fill="none" stroke="black"/>
<path d="M 136,208 L 184,208" fill="none" stroke="black"/>
<polygon class="arrowhead" points="168,168 156,162.4 156,173.6" fill="black" transform="rotate(90,160,168)"/>
<circle cx="160" cy="32" r="6" class="closeddot" fill="black"/>
<circle cx="160" cy="48" r="6" class="closeddot" fill="black"/>
<circle cx="176" cy="32" r="6" class="closeddot" fill="black"/>
<circle cx="192" cy="32" r="6" class="closeddot" fill="black"/>
<circle cx="224" cy="32" r="6" class="closeddot" fill="black"/>
<circle cx="240" cy="32" r="6" class="closeddot" fill="black"/>
<circle cx="272" cy="32" r="6" class="closeddot" fill="black"/>
<circle cx="288" cy="32" r="6" class="closeddot" fill="black"/>
<circle cx="304" cy="32" r="6" class="closeddot" fill="black"/>
<circle cx="304" cy="48" r="6" class="closeddot" fill="black"/>
<circle cx="304" cy="64" r="6" class="closeddot" fill="black"/>
<g class="text">
<text x="208" y="36">*</text>
<text x="256" y="36">*</text>
<text x="208" y="52">Net</text>
<text x="248" y="52">Notif</text>
<text x="160" y="68">v</text>
<text x="32" y="100">S</text>
<text x="64" y="100">-</text>
<text x="80" y="100">-</text>
<text x="96" y="100">-</text>
<text x="112" y="100">-</text>
<text x="128" y="100">&gt;</text>
<text x="160" y="100">U</text>
<text x="304" y="100">R</text>
<text x="344" y="100">X</text>
<text x="448" y="100">D</text>
<text x="448" y="132">^</text>
<text x="448" y="164">|</text>
<text x="160" y="196">Q</text>
<text x="192" y="196">-</text>
<text x="208" y="196">-</text>
<text x="224" y="196">-</text>
<text x="240" y="196">-</text>
<text x="256" y="196">-</text>
<text x="272" y="196">-</text>
<text x="288" y="196">-</text>
<text x="304" y="196">-</text>
<text x="320" y="196">-</text>
<text x="336" y="196">-</text>
<text x="352" y="196">-</text>
<text x="368" y="196">-</text>
<text x="384" y="196">-</text>
<text x="400" y="196">-</text>
<text x="416" y="196">-</text>
<text x="432" y="196">-</text>
<text x="448" y="196">+</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
                   * * * * * * * * * *
                   *    Net Notif    *
                   v                 *
+-----+         +-----+           +-----+           +-----+
|  S  |- - - - >|  U  |           |  R  | X         |  D  |
+-----+         +-----+           +-----+           +-----+
                   |                                   ^
                   |
                   v                                   |
                +-----+
                |  Q  |- - - - - - - - - - - - - - - - +
                +-----+
]]></artwork></artset></figure>

<t>The ERP backup path is enforced using Segment Routing (<xref target="RFC8402"/>)
and encoded as a loop-free segment list from node U that steers
traffic to a node in the Q-Space of D with respect to resource X,
without traversing the failed resource X.</t>

</section>
</section>
<section anchor="backup-path-computation-and-installation"><name>Backup Path Computation and Installation</name>

<t>This section describes the steps for computing and installing ERP
backup paths. The specific algorithms for path computation and the
protocol mechanisms for network notification subscription are outside
the scope of this document.</t>

<section anchor="identifying-candidates-for-remote-protection"><name>Identifying Candidates for Remote Protection</name>

<t>For a given destination D and protected resource X adjacent to node
R, a node U is a candidate Point of Remote Repair (PRR) if:</t>

<t><list style="numbers" type="1">
  <t>Node U is upstream of R on the primary path to D, and</t>
  <t>The TI-LFA backup path computed by R for destination D (protecting
resource X) would traverse U, creating a hairpin for traffic
originating at or transiting through U.</t>
</list></t>

<t>ERP backup paths should be installed preferably at PRR candidates
that are closest to the protected resource to limit the number of ERP
backup paths required.</t>

</section>
<section anchor="network-notification-subscription"><name>Network Notification Subscription</name>

<t>A PRR candidate node U subscribes to network notifications for
resource X from node R. The mechanism for establishing this
subscription depends on the specific network notification protocol
used and is outside the scope of this document.</t>

</section>
<section anchor="backup-path-computation"><name>Backup Path Computation</name>

<t>The PRR node U computes a backup path to destination D that protects
against the failure of resource X and does not create a hairpin. The
backup path is encoded as a loop-free segment list that steers
traffic to a node in the Q-Space of D with respect to resource X.</t>

<t>The segment list should terminate at the first node in the Q-Space
along the backup path to minimize the length of the segment list and
allow traffic to follow the regular shortest path from that point
onward.</t>

</section>
<section anchor="backup-path-installation"><name>Backup Path Installation</name>

<t>The PRR node U installs the computed backup path in its forwarding plane
and associates it with the network notification for resource X from
node R.</t>

</section>
</section>
<section anchor="backup-path-activation"><name>Backup Path Activation</name>

<t>Upon receiving a network notification for resource X from node R, a
PRR node U activates its pre-installed ERP backup path for
destination D as follows.</t>

<section anchor="complete-failure"><name>Complete Failure</name>

<t>If the notification indicates a complete failure of resource X, node
U immediately reroutes all traffic destined to D through the ERP
backup path.</t>

</section>
<section anchor="performance-degradation"><name>Performance Degradation</name>

<t>If the notification indicates a performance degradation of resource X
(such as reduced link capacity, or congestion), node U may
load-balance traffic between the primary path (via R) and the ERP
backup path.</t>

<t>When load-balancing is employed, the load-balancing ratio should be
determined based on the severity of the performance degradation
indicated in the notification and may be adjusted dynamically as
conditions change, based on subsequent notifications.</t>

</section>
</section>
<section anchor="operational-considerations"><name>Operational Considerations</name>

<section anchor="incremental-deployment"><name>Incremental Deployment</name>

<t>ERP is designed to coexist with existing IP-FRR mechanisms such as
LFA and TI-LFA. Traffic that passes through a PRR with an
installed and activated ERP backup path will be protected at that
upstream location, while traffic that does not pass through an
ERP-enabled PRR will continue to be protected by traditional local
protection mechanisms at the PLR.</t>

<t>This allows for incremental deployment of ERP in a network.
Operators may initially deploy ERP at strategic nodes (such as those
carrying high traffic volumes or those most susceptible to
hairpinning) without disrupting existing protection schemes. Over
time, ERP deployment can be expanded to additional nodes as needed.</t>

</section>
<section anchor="coordination-with-the-plr"><name>Coordination with the PLR</name>

<t>The PLR (node R) must maintain its local protection mechanisms (e.g.,
TI-LFA backup paths) even when ERP is deployed at upstream nodes.
This ensures protection for traffic that does not pass through any
PRR, as well as providing a fallback mechanism.</t>

</section>
<section anchor="network-notification-reliability"><name>Network Notification Reliability</name>

<t>The effectiveness of ERP depends on the reliable and timely delivery
of network notifications from the PLR to PRR nodes. Operators should
ensure that the network notification mechanism provides sufficient
reliability and low latency to meet the protection requirements of
the network.</t>

<t>If a PRR does not receive a notification within an expected timeframe
after a failure (e.g., due to notification loss), traffic will continue
to be protected by the PLR's local protection mechanism, albeit
potentially with hairpinning.</t>

</section>
<section anchor="capacity-planning"><name>Capacity Planning</name>

<t>Operators should consider the capacity of backup paths when deploying
ERP. While ERP avoids hairpinning and improves path efficiency, the
backup paths themselves must have sufficient capacity to carry the
redirected traffic without causing congestion.</t>

</section>
</section>
<section anchor="sec-security"><name>Security Considerations</name>

<t>To be done.</t>

</section>
<section anchor="sec-iana"><name>IANA Considerations</name>

<t>This document does not require any IANA actions.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC8402">
  <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>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC5286">
  <front>
    <title>Basic Specification for IP Fast Reroute: Loop-Free Alternates</title>
    <author fullname="A. Atlas" initials="A." role="editor" surname="Atlas"/>
    <author fullname="A. Zinin" initials="A." role="editor" surname="Zinin"/>
    <date month="September" year="2008"/>
    <abstract>
      <t>This document describes the use of loop-free alternates to provide local protection for unicast traffic in pure IP and MPLS/LDP networks in the event of a single failure, whether link, node, or shared risk link group (SRLG). The goal of this technology is to reduce the packet loss that happens while routers converge after a topology change due to a failure. Rapid failure repair is achieved through use of precalculated backup next-hops that are loop-free and safe to use until the distributed network convergence process completes. This simple approach does not require any support from other routers. The extent to which this goal can be met by this specification is dependent on the topology of the network. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5286"/>
  <seriesInfo name="DOI" value="10.17487/RFC5286"/>
</reference>

<reference anchor="RFC5714">
  <front>
    <title>IP Fast Reroute Framework</title>
    <author fullname="M. Shand" initials="M." surname="Shand"/>
    <author fullname="S. Bryant" initials="S." surname="Bryant"/>
    <date month="January" year="2010"/>
    <abstract>
      <t>This document provides a framework for the development of IP fast- reroute mechanisms that provide protection against link or router failure by invoking locally determined repair paths. Unlike MPLS fast-reroute, the mechanisms are applicable to a network employing conventional IP routing and forwarding. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5714"/>
  <seriesInfo name="DOI" value="10.17487/RFC5714"/>
</reference>

<reference anchor="RFC6571">
  <front>
    <title>Loop-Free Alternate (LFA) Applicability in Service Provider (SP) Networks</title>
    <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
    <author fullname="P. Francois" initials="P." role="editor" surname="Francois"/>
    <author fullname="M. Shand" initials="M." surname="Shand"/>
    <author fullname="B. Decraene" initials="B." surname="Decraene"/>
    <author fullname="J. Uttaro" initials="J." surname="Uttaro"/>
    <author fullname="N. Leymann" initials="N." surname="Leymann"/>
    <author fullname="M. Horneffer" initials="M." surname="Horneffer"/>
    <date month="June" year="2012"/>
    <abstract>
      <t>In this document, we analyze the applicability of the Loop-Free Alternate (LFA) method of providing IP fast reroute in both the core and access parts of Service Provider networks. We consider both the link and node failure cases, and provide guidance on the applicability of LFAs to different network topologies, with special emphasis on the access parts of the network. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6571"/>
  <seriesInfo name="DOI" value="10.17487/RFC6571"/>
</reference>

<reference anchor="RFC7490">
  <front>
    <title>Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)</title>
    <author fullname="S. Bryant" initials="S." surname="Bryant"/>
    <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
    <author fullname="S. Previdi" initials="S." surname="Previdi"/>
    <author fullname="M. Shand" initials="M." surname="Shand"/>
    <author fullname="N. So" initials="N." surname="So"/>
    <date month="April" year="2015"/>
    <abstract>
      <t>This document describes an extension to the basic IP fast reroute mechanism, described in RFC 5286, that provides additional backup connectivity for point-to-point link failures when none can be provided by the basic mechanisms.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7490"/>
  <seriesInfo name="DOI" value="10.17487/RFC7490"/>
</reference>

<reference anchor="RFC9855">
  <front>
    <title>Topology Independent Fast Reroute Using Segment Routing</title>
    <author fullname="A. Bashandy" initials="A." surname="Bashandy"/>
    <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
    <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
    <author fullname="P. Francois" initials="P." surname="Francois"/>
    <author fullname="B. Decraene" initials="B." surname="Decraene"/>
    <author fullname="D. Voyer" initials="D." surname="Voyer"/>
    <date month="October" year="2025"/>
    <abstract>
      <t>This document presents Topology Independent Loop-Free Alternate (TI-LFA) Fast Reroute (FRR), which is aimed at providing protection of node and Adjacency segments within the Segment Routing (SR) framework. This FRR behavior builds on proven IP FRR concepts being LFAs, Remote LFAs (RLFAs), and Directed Loop-Free Alternates (DLFAs). 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 (PLR), 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>


<reference anchor="I-D.ietf-rtgwg-net-notif-ps">
   <front>
      <title>Fast Network Notifications Problem Statement</title>
      <author fullname="Jie Dong" initials="J." surname="Dong">
         <organization>Huawei Technologies</organization>
      </author>
      <author fullname="Mike McBride" initials="M." surname="McBride">
         <organization>Futurewei</organization>
      </author>
      <author fullname="Francois Clad" initials="F." surname="Clad">
         <organization>Cisco Systems</organization>
      </author>
      <author fullname="Zhaohui (Jeffrey) Zhang" initials="Z. J." surname="Zhang">
         <organization>HPE</organization>
      </author>
      <author fullname="Yongqing Zhu" initials="Y." surname="Zhu">
         <organization>China Telecom</organization>
      </author>
      <author fullname="Xiaohu Xu" initials="X." surname="Xu">
         <organization>China Mobile</organization>
      </author>
      <author fullname="Rui Zhuang" initials="R." surname="Zhuang">
         <organization>China Mobile</organization>
      </author>
      <author fullname="Ran Pang" initials="R." surname="Pang">
         <organization>China Unicom</organization>
      </author>
      <author fullname="Hao Lu" initials="H." surname="Lu">
         <organization>Tencent</organization>
      </author>
      <author fullname="Yadong Liu" initials="Y." surname="Liu">
         <organization>Tencent</organization>
      </author>
      <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
         <organization>Telefonica</organization>
      </author>
      <author fullname="MEHMET DURMUS" initials="D." surname="Mehmet">
         <organization>Turkcell</organization>
      </author>
      <author fullname="Reshad Rahman" initials="R." surname="Rahman">
         <organization>Equinix</organization>
      </author>
      <date day="11" month="February" year="2026"/>
      <abstract>
	 <t>   Modern network applications, ranging from Artificial Intelligence
   (AI) /Machine Learning (ML) training to large-scale cloud services,
   require adaptive networks to ensure reliable and congestion-free data
   transfer within or across multiple data centers.  A good and timely
   understanding of network operational status can help to enable faster
   response to critical events, so as to enable the selection of paths
   with reduced latency and improve network utilization.  This document
   describes the existing problems and the need of fast network
   notification solutions.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rtgwg-net-notif-ps-00"/>
   
</reference>




    </references>

</references>


<?line 402?>

<!-- # Title of Appendix A -->

<section numbered="false" anchor="acknowledgements"><name>Acknowledgements</name>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA71bbXMct5H+jl+BEz+EjHf3ZMVObF7iMk2aZ1YpMrUSy7q6
SlzYGewuonm7wQxXG0f+7fd0A5jBzM6SVN0lVEIv5wVo9MvTTzew8/lc3J/L
3wnbqCL9WWVloc9lU7damKrmT7Z58fz5189fiMqcy/9uymQmbVk3tV5bfNrn
9OEvQth2lRtrTVm83VcY4+b7t9dC1Vqdy2fLsm1MsZEX+POZ2G1w6ZVudmX9
Xv6EX3TrP+uyrZ6JRDXn0hTrUpykqsEwJ7LMTSObUma6kR/y7EW9TuTaZJls
tlombV3ropH0sCxraTU/m2prap3yZSEa02QY6vv12iSGnl7qvMTztzV+Jw1E
Fidqtar1fTdfP5S7YTBQKnkgkZZJoXIMmNZq3cyTTKXzutnsNnMdZpjXPMO8
6maYP38uTt7rPRad0iwqTaWystA61akQqm22ZU03al1p1cg1JFDFXrobQs6F
lHVJy9CpaXDzRLZFUuY5rcespaqqzCRqBfmkPDGFpbFoCXSvbcpcNSaBZk1j
VGalwf/wOpSXNHjBree6VriGW5dYEq6WNSx1aWxSyjd72+gcBr8pkgVu6VyZ
7FyuafELo5v1txu6soBEuJuUbdHUez+idtKf/NPlh9hwhkTLa5NZuIh90hqS
9bcJ3R/L/p3ONqbN/1XC/1cLVW0VxGyD2BeZWamV6kXdm0aZhd0n3yp3a45x
xnJfbk2h/lVSX+miIIdR5qjQ6SJR5nGBxUlS4m+zwsx1iJDokpUrnZU7BEaG
/xBkWEhAcQI5KZRcpFghCr5k7nUYpbuA4FprdhE/GsRYXl9+9cXzF+dCEOyM
3owuHXn3yxdf/f7cf/zD51/4j7/HZ//xD198/dx//PqrL7+kjzfzK44ZjxqF
buZF2Zj1vLLnYrFYCDGfzwE8tqkVdC3ebqFioE7LlrOVTszaQIwHAE2efr+8
PZtJJXINr4KNcoaUm1t5rSy9ALzFG6c3t/Pr5fIMYAotAqUz83dNsMToLFgs
+AgNaRkNMfo9YW1V6znsWLWEiyuVvG8rWalmCzs0UDgAWOZt1pgK3rUtKyvb
CsvRKpclvEuu4RptrRcSYpKma20tXrGJLlRtSit3WyhbZmWiMtGjqOxWQ7mn
TbZk+JdlWc2va63he42uC4hn5enL64szeKR4W1ZlVm7285siBbTiF/SFm/L0
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
iIQ7AAA=

-->

</rfc>

