RFC 9860

Multicast-Only Fast Reroute (MoFRR) Based on Topology Independent Loop-Free Alternate (TI-LFA) Fast Reroute

πŸ“… published October 2025, from ietf

RFC 9860: Multicast-Only Fast Reroute (MoFRR) Based on Topology Independent Loop-Free Alternate (TI-LFA) Fast Reroute πŸ¦‹

okay so bestie, this RFC is a whole vibe πŸ’– It was published by the IETF in October 2025 as an Informational document (so it's not a Standards Track thing, it's just sharing knowledge ✨). The main authors are Y. Liu from China Mobile, M. McBride from Futurewei, Z. Zhang from ZTE, J. Xie from Huawei, and C. Lin from New H3C Technologies 🌸. It's about the ISSN 2070-1721 series, and it doesn't obsolete or update any other RFCs. It just builds on [RFC7431] and [RFC9855] πŸŽ€

The whole point is mixing two fast-reroute glow-ups together: MoFRR for PIM multicast, and TI-LFA for backup paths. Let's get into it πŸ’…

Abstract ✨

Okay so the Abstract says TI-LFA gives Fast Reroute (FRR) protection for unicast traffic by precomputing backup paths that dodge potential failures. 🫢 This doc takes that energy and extends it to multicast traffic for Protocol Independent Multicast (PIM), so multicast gets quicker rerouting and less packet loss when something breaks 😭 It's described as an optional approach, and the traffic gets rerouted fast when a failure hits πŸ”₯

Status of This Memo 🌈

This doc is not an Internet Standards Track spec. It's published for informational purposes only 🧚

It is a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG) πŸ‘‘ Not every IESG-approved doc is a candidate for any level of Internet Standard, so check out Section 2 of RFC 7841 for that πŸ’œ

For the current status, errata, and how to give feedback, go to https://www.rfc-editor.org/info/rfc9860 πŸ“

Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved ✨

This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as of the publication date. Please read those carefully because they spell out your rights and restrictions πŸ™ˆ Any Code Components pulled out of this doc must include Revised BSD License text (see Section 4.e of the Trust Legal Provisions) and come without warranty, as the Revised BSD License describes πŸŽ€

Table of Contents πŸ¦‹

1.  Introduction
  1.1.  Terminology
2.  Problem Statement
  2.1.  LFA for MoFRR
  2.2.  TI-LFA for MoFRR
3.  A Solution
  3.1.  Overview
  3.2.  Procedure
4.  Illustration
5.  Management and Operational Considerations
6.  IANA Considerations
7.  Security Considerations
8.  References
  8.1.  Normative References
  8.2.  Informative References
Contributors
Authors' Addresses

1. Introduction 🌸

okay so MoFRR, which is defined in [RFC7431], helps cut down multicast packet loss when a node or link goes down. It does this by tweaking multicast routing protocols like Protocol Independent Multicast (PIM) [RFC7761] πŸ’– The catch is that MoFRR in [RFC7431] picks its secondary multicast next hop using only the Loop-Free Alternate (LFA) FRR defined in [RFC7431] itself, and that has limits in some deployments (see Section 2) 😭

This doc brings a new MoFRR move that uses FRR for Topology Independent Loop-Free Alternate (TI-LFA) [RFC9855] ✨ Unlike the old-school methods, TI-LFA doesn't depend on the network topology, so it covers way more network setups πŸ”₯ This works for PIM networks too, including cases where PIM runs straight over IP in Segment Routing (SR) networks 🧚

TI-LFA is built for standard link-state Interior Gateway Protocol (IGP) shortest path and SR situations. For every destination the IGP advertises in a network, TI-LFA pre-installs a backup forwarding entry for the protected destination. That backup is ready to switch on as soon as a link used to reach that destination fails 🫢 This doc uses the backup path that TI-LFA computes through the IGP as a secondary Upstream Multicast Hop (UMH) for PIM πŸ’… PIM secondary Join messages get sent hop by hop along the TI-LFA backup path, so you can build an FRR backup path for PIM multicast πŸŽ€

The techniques here only protect links and nodes inside one link-state IGP area. Protecting domain exit routers and/or links that attach to other routing domains is out of scope for this doc πŸ™ˆ All the Segment Identifiers (SIDs) needed are in the Link State Database (LSDB) of the IGP πŸ’œ

This approach doesn't change how LFA, TI-LFA, and Remote LFA (RLFA) [RFC7916] [RFC8102] [RFC9855] are managed and operated ✨ Also, during post-failure reconvergence, micro-loops [RFC5715] may form because routers can briefly disagree about forwarding 😭 PIM micro-loop prevention is out of scope for this doc πŸ¦‹

Quick note: this doc introduces an optional approach for backup Join paths, meant to widen the protection scope of existing multicast systems 🌈 It's fully compatible with current protocol implementations and doesn't require any changes to protocols or forwarding functions on intermediate nodes πŸ’– All nodes along the backup Join paths MUST support the Reverse Path Forwarding (RPF) Vector Attribute defined in [RFC5496] and [RFC7891] πŸ”₯ If there's a choice between vector and non-vector Join messages on the intermediate nodes, the non-vector option SHOULD be prioritized, which means protection paths will stay inactive πŸ’€ This doc doesn't change how conflicts in PIM Join messages are handled. For guidance on conflicts in Join attributes, see Section 3.3.3 of [RFC5384] 🧚

1.1. Terminology πŸ’œ

This doc uses the terminology defined in [RFC7431] and builds on the concepts in [RFC7490] πŸŽ€ It doesn't repeat the definitions of individual terms, so go check those out bestie πŸ“


2. Problem Statement 😭

2.1. LFA for MoFRR πŸ”₯

Section 3 of [RFC7431] says a secondary UMH in PIM for MoFRR is a Loop-Free Alternate (LFA) πŸ’… The thing is, the conventional LFA mechanism needs at least one neighbor's next hop to the destination node to be a loop-free next hop πŸ™ˆ Because LFA has real limits in actual deployments, like topology dependency and incomplete destination coverage, it only works in certain topologies 😭 In some specific topologies, PIM can't compute the secondary UMH for MoFRR. So PIM can't set up a standby multicast tree, and MoFRR protection just doesn't happen πŸ’€ Basically, MoFRR in [RFC7431] for PIM only works in network topologies where LFA is feasible 🫢

The limits of MoFRR applicability in [RFC7431] show up in the example network in Figure 1 🌸 In this example, the R1-R4 link has metric 20, the R5-R6 link has metric 100, and every other link has metric 10. All link metrics are bidirectional ✨

For multicast source S1 and receiver R, the primary path of the PIM Join packet is R3->R2->R1, and the secondary path is R3->R4->R1, which matches the LFA path of unicast routing. In this case, MoFRR [RFC7431] works great πŸŽ€

For multicast source S2 and receiver R, the primary path of the PIM Join packet is R3->R2. But there's no LFA here 😭 If R3 sends the packet to R4, R4 forwards it right back to R3, because the IGP shortest path from R4 to R1 is R4->R3->R2. So MoFRR [RFC7431] can't calculate a secondary UMH in this case πŸ’€ Same deal for multicast source S3 and receiver R: MoFRR [RFC7431] is ineffective there too πŸ™ˆ

             10           20
        [S1]----(R1)-------------(R4)
                 |                |
                 |                |
                 |10              |10
             10  |                |
        [S2]----(R2)-------------(R3)----[R]
                 |        10      |   10
                 |                |
                 |10              |10
             10  |                |
        [S3]----(R5)-----(R6)----(R7)
                     100      10

                 Figure 1: Example Network Topology

2.2. TI-LFA for MoFRR πŸ’–

The alternate path that TI-LFA provides is represented as a segment list. That list includes the Node SID of the P-space node and the Adjacency SIDs of the links between the P-space and Q-space nodes ✨ When a remote PQ node is in both P-space and Q-space, the segment list only needs that PQ node's Node SID πŸ¦‹

PIM can look up the matching node's IP address in the unicast route base using the Node SID, and it can look up the endpoint IP addresses of the link in the unicast route base using the Adjacency SIDs 🧚 But multicast protocol packets can't be forwarded directly along the segment list path 😭

To set up a standby multicast tree, PIM Join messages have to be sent hop by hop πŸ”₯ Not every node and link on the unicast alternate path is in the segment list, though πŸ’€ If PIM protocol packets only go out in unicast mode, they basically travel through the unicast tunnel like regular unicast traffic and skip the intermediate nodes of the tunnel πŸ™ˆ That means the intermediate nodes on the alternate path can't forward multicast traffic, because they don't have PIM state entries 😭 PIM has to create entries on each device hop by hop, with an incoming interface and an outgoing interface list, to build a complete end-to-end multicast tree for forwarding multicast traffic 🫢 So just sending PIM Join packets along the segment list, like you would with unicast, isn't enough to set up a standby multicast tree πŸ’…


3. A Solution πŸŽ€

(This part continues in Part 2 🫢✨)

3.1. Overview πŸ¦‹

okay so a secondary UMH is basically a backup next hop you can use to reach the root of a multicast tree πŸ’… in this doc, that secondary UMH gets derived from unicast routing, and it uses the segment list TI-LFA computes ✨

the path info from that segment list gets stuffed into the PIM packets so every hop can do RPF selection hop-by-hop 🧚 the IP address tied to the Node SID works as the segmented root node 🌸, and the IP addresses of the interfaces at both ends of the link behind the Adjacency SID can be used as the local upstream interface and upstream neighbor 🫢

[RFC5496] defines the PIM RPF Vector Attribute, which can carry the node's IP address for the Node SID πŸŽ€ and [RFC7891] defines the Explicit RPF Vector, which can carry the peer's IP address for the Adjacency SID πŸ’œ

let's look at Figure 1. the secondary path for the PIM Join toward multicast source S2 can't be computed by MoFRR [RFC7431], like we already covered 😭 so TI-LFA swoops in πŸ”₯ R3 sends the packet to R4 and includes an RPF Vector with R1's IP address, because R1 is R3's PQ node for the protected R3-R2 link. R4 then forwards it to R1 over the R1-R4 link, following the unicast route tied to that RPF Vector. R1 passes it along to R2, so the secondary path is R3->R4->R1->R2 🌈

now for multicast source S3 and receiver R πŸ‘‘ the primary path of the PIM Join is R3->R2->R5. with TI-LFA, R3 sends the PIM Join to R7 and includes two RPF Vectors:

  • the first one has R6's IP address, because R6 is R3's P-node for the protected R3-R2 link πŸ“
  • the second one has the interface IP addresses of R6 and R5, because they're R3's Q-node for the protected R3-R2 link πŸ’–

the first RPF Vector steers the PIM Join through R3->R7->R6, and the second one steers it through R6->R5. put together, that's the secondary path R3->R7->R6->R5 ✨

this doc leans on those RPF Vector standards, so we don't need any PIM protocol extensions πŸ™ˆ the result is a standby multicast tree built from the segment list TI-LFA calculated, which gives you full MoFRR protection for multicast services across all kinds of network environments. it's giving resilience, bestie πŸ’…πŸŽ€

3.2. Procedure 🌷

okay let's walk through this step by step 🧠 say TI-LFA gives us the segment list (NodeSID(A), AdjSID(A-B)). node A is in the P-space and node B is in the Q-space. the IP address for NodeSID(A) can be pulled from the IGP's local LSDB, and we'll call it IP-a. the IP addresses at the two endpoints of the link behind AdjSID(A-B) can also be pulled from that same local LSDB, and we'll call those IP-La and IP-Lb.

inside the PIM process, IP-a is treated as the standard RPF Vector Attribute and gets added to the PIM Join packet πŸŽ€ IP-La counts as the local address of the incoming interface, and IP-Lb counts as the address of the upstream neighbor. so IP-Lb can ride along in the PIM Join packet as the Explicit RPF Vector Attribute πŸ’œ

PIM starts by picking the RPF incoming interface and upstream neighbor toward IP-a, then keeps going hop by hop to build the PIM standby multicast tree until it reaches node A πŸ¦‹ once it gets to node A, IP-Lb is treated as the PIM upstream neighbor. node A finds the incoming interface in the unicast routing table using IP-Lb, and IP-Lb becomes the RPF upstream address for the PIM Join packet heading toward node B 🌈

when node B gets the PIM Join packet, it sees there are no more RPF Vector Attributes. so PIM just picks the RPF incoming interface and upstream neighbor toward the multicast source directly ✨ from there, it keeps going hop by hop to build the standby tree, all the way to the router directly connected to the source 🫢

and if a remote PQ node shows up in both the P-space and the Q-space, the processing gets simpler and only node A is involved πŸ’…

4. Illustration 🌈

this section is the illustration of MoFRR based on TI-LFA 🧚 the example topology is in Figure 2. the R3-R4 link has a metric of 100, and every other link has a metric of 10 πŸ’– all link metrics are bidirectional, so no sneaky one-way stuff πŸ™ˆ

                     <-----Primary Path--- (S,G) Join

             [S]---(R1)---(R2)******(R6)-------[R]
                            |        |
                     <---   |        |   |
                        |   |        |   |
                        |   |       (R5) |
                        |   |        |   |
                        |   |        |   |
                        |   |        |   |
                        | (R3)------(R4) |
                        |                |
                        --Secondary Path--

                         Figure 2: Example Topology

these are the IP addresses and SIDs that go into the MoFRR calculation πŸ“‹ here's how they're configured:

IPv4 data plane (SR-MPLS [RFC8660]):

  Node    IP Address   Node SID
  R4      IP4-R4       Label-R4

  Link    IP Address   Adjacency SID
  R3->R4  IP4-R3-R4    Label-R3-R4
  R4->R3  IP4-R4-R3    Label-R4-R3

IPv6 data plane (SRv6 [RFC8986]):

  Node    IP Address   Node SID (End)
  R4      IP6-R4       SID-R4

  Link    IP Address   Adjacency SID (End.X)
  R3->R4  IP6-R3-R4    SID-R3-R4
  R4->R3  IP6-R4-R3    SID-R4-R3

so the primary path of the PIM Join packet is R6->R2->R1, and the secondary path is R6->R5->R4->R3->R2->R1 πŸ“ the conventional LFA flops here because the shortest path to R2 from R5 (or from R4) still goes over the R6-R2 link 😭 that means R6 must calculate the secondary UMH using the proposed MoFRR method based on TI-LFA πŸ”₯

with the TI-LFA algorithm, the P-space and Q-space look like Figure 3 πŸ’… the TI-LFA repair path is the Node SID of R4 plus the Adjacency SID of R4->R3. on SR-MPLS, the repair segment list is (Label-R4, Label-R4-R3). on SRv6, it's (SID-R4, SID-R4-R3) ✨

                           ........
                           .      .
                 [S]---(R1)---(R2)******(R6)---[R]
                           .   |  .     |
                           .   |  .  +++|++++
                           .   |  .  +  |   +
                           .   |  .  + (R5) +
                           .   |  .  +  |   +
                           .   |  .  +  |   +
                           .   |  .  +  |   +
                           . (R3)------(R4) +
                           .      .  +      +
                           ........  ++++++++
                           Q-Space    P-Space

                       Figure 3: P-Space and Q-Space

in the PIM process, the IP addresses tied to the repair segment list get pulled from the IGP LSDB 🧠

on the IPv4 data plane, the Node SID Label-R4 maps to IP4-R4, and that goes in the RPF Vector Attribute πŸŽ€ the Adjacency SID Label-R4-R3 maps to the local address IP4-R4-R3 and the remote peer address IP4-R3-R4. IP4-R3-R4 is the one that gets carried in the Explicit RPF Vector Attribute πŸ’œ

on the IPv6 data plane, the End SID SID-R4 maps to IP6-R4, which goes in the RPF Vector Attribute 🌸 the End.X SID SID-R4-R3 maps to the local address IP6-R4-R3 and the remote peer address IP6-R3-R4. IP6-R3-R4 is carried in the Explicit RPF Vector Attribute πŸ¦‹

then R6 installs the secondary UMH using these RPF Vectors πŸ‘‘

          +---------+
          |Type = 0 |
          |IP4-R4   |
          +---------+    +---------+
          |Type = 4 |    |Type = 4 |
          |IP4-R3-R4|    |IP4-R3-R4|
          +---------+    +---------+   No RPF Vector

       R6----->R5---->R4------------>R3----->R2---->R1

   Figure 4: Forwarding PIM Join Packet Along Secondary Path (IPv4)

so on the IPv4 data plane, the PIM Join packet's trip along the secondary path looks like Figure 4 🌈 R6 slides two RPF Vector Attributes into the PIM Join packet: IP4-R4 as Type 0 (RPF Vector Attribute) and IP4-R3-R4 as Type 4 (Explicit RPF Vector Attribute). then R6 sends it down the secondary path 🫢

when R5 gets the packet, it does a unicast route lookup on the first RPF Vector, IP4-R4, and sends the packet to R4 🧚

R4 owns IP4-R4, so it removes the first RPF Vector and forwards based on the next one πŸ’… it sends the packet to R3 using the next RPF Vector, IP4-R3-R4, because its PIM neighbor R3 is the one that corresponds to IP4-R3-R4 ✨

when R3 gets the packet, it owns IP4-R3-R4, so it removes that RPF Vector πŸ™ˆ the packet has no RPF Vectors left, so it gets forwarded to the source through R3->R2->R1 using unicast routes πŸ“

once the PIM Join packet reaches R1, a secondary multicast tree R1->R2->R3->R4->R5->R6 is built hop by hop for (S, G) using MoFRR based on TI-LFA πŸ’– it's giving redundancy, periodt πŸ”₯

          +---------+
          |Type = 0 |
          |IP6-R4   |
          +---------+    +---------+
          |Type = 4 |    |Type = 4 |
          |IP6-R3-R4|    |IP6-R3-R4|
          +---------+    +---------+   No RPF Vector

       R6----->R5---->R4------------>R3----->R2---->R1

   Figure 5: Forwarding PIM Join Packet Along Secondary Path (IPv6)

on the IPv6 data plane, the forwarding of the PIM Join packet along the secondary path is shown in Figure 5 πŸ¦‹ the procedure is basically the same as the IPv4 one πŸ’œ

when a remote PQ node exists in both the P-space and the Q-space, the processing can be simplified so only the PQ node is involved πŸ‘‘ in that case you only need to carry a single RPF Vector, and all the other steps stay the same ✨

5. Management and Operational Considerations πŸŽ€

the management of this approach is consistent with [RFC7916] πŸ“‹ but when you actually operate it, nodes on the backup Join paths must have an independent configuration strategy for installing RPF Vector Attributes in the PIM Join packet and for controlling when this PIM Join message gets sent 🧠

all nodes on the backup Join paths must be able to parse the PIM Join message with the RPF Vector Attribute ⚠️ if a node doesn't understand the RPF Vector Attribute in the PIM Join packet, it must discard that RPF Vector Attribute 😭 why? because if the RPF Vectors don't get removed, upstream nodes could send the Join packet right back toward those nodes and cause loops πŸ’€

if an administrator is manually specifying the path the Join messages should take, it is recommended that the administrator computes the path so it includes nodes that support the Explicit RPF Vector 🫢 they should also check that the state gets created correctly on each node along the path πŸ” for debugging, and to make sure the Join state is set up correctly, tools like Mtrace [RFC8487] can help 🌸

6. IANA Considerations 🌸

this document has no IANA actions πŸ’…βœ¨

7. Security Considerations πŸ”’βœ¨

okay bestie, this section is SERIOUS (dramatic is fine πŸ’€). This document does not introduce additional security concerns πŸ™Œ and it does not change the security properties of PIM πŸ’…. For general PIM - Sparse Mode (PIM-SM) protocol security considerations, see [RFC7761]. The security considerations of LFA, RLFA, and MoFRR described in [RFC5286], [RFC7490], and [RFC7431] should apply to this document too 🫢

When you deploy TI-LFA, packets may get sent over nodes and links they were never transported through before πŸ‘€, which can potentially raise the following security issues:

  1. Spoofing and false route advertisements 🎭
    • Dependencies of LFA/RLFA/TI-LFA on routing information
      • LFAs depend on accurate routing information to figure out alternate paths. If an attacker can inject false routing information (e.g., by spoofing link-state advertisements), it could cause the network to pick suboptimal or malicious paths for LFAs 😱
      • RLFA and TI-LFA also depend on accurate routing information, especially for working out the tunneling paths or explicit paths. False route advertisements could mislead the network into using insecure or compromised paths 🚩
  2. On-path attacks πŸ•΅οΈβ€β™€οΈ
    • Use of alternate paths
      • By rerouting traffic through alternate paths, especially ones that traverse multiple hops (as in RLFA and TI-LFA), the risk of on-path attacks goes up if any of the intermediate routers on the alternate path are compromised πŸ’€
      • TI-LFA, which uses explicit paths, might expose traffic to routers that were not originally part of the primary path, potentially allowing for interception or alteration of the traffic 😭
  3. Confidentiality and integrity πŸ”
    • Traffic encapsulation
      • RLFA and TI-LFA involve encapsulating traffic, which may expose it to vulnerabilities if the encapsulation mechanisms are not secure. For instance, if IPsec or another secure encapsulation method is not used, an attacker might be able to intercept or alter the traffic in transit πŸ™ˆ
    • Protection of explicit paths
      • TI-LFA relies on explicit paths that are typically defined using SR. If these paths are not properly protected, an attacker could manipulate the segment list to reroute traffic through malicious nodes πŸ‘Ώ
  4. Increased attack surface πŸ“ˆ
    • Extended topology
      • By introducing LFA, RLFA, and TI-LFA, the network leans harder on additional routers and links, which expands the potential attack surface. Compromise of any router in these alternate paths could expose traffic to unauthorized access or disruption 🫣

To address security issues 1 and 2 mentioned above, control plane protocols need to provide security protection. To mitigate the risks associated with false route advertisements and on-path attacks, it is recommended to use secure routing protocols (e.g., OSPFv3 with IPsec, IS-IS HMAC-SHA256, or PIM with IPsec) that provide authentication and integrity protection for routing updates πŸ”‘

To address security issues 3 and 4 mentioned above, these mechanisms need to run within a trusted network. The security of the LFA, RLFA, and TI-LFA mechanisms heavily relies on the trustworthiness of the underlying routing infrastructure 🏰 As the solution described in this document is based on SR technology, readers should be aware of the security considerations related to this technology (see [RFC8402]) and its data plane instantiations (see [RFC8660], [RFC8754], and [RFC8986]) πŸ¦‹


8. References πŸ“š

8.1. Normative References

[RFC5286]  Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for
           IP Fast Reroute: Loop-Free Alternates", RFC 5286,
           DOI 10.17487/RFC5286, September 2008,
           <https://www.rfc-editor.org/info/rfc5286>.

[RFC5384]  Boers, A., Wijnands, I., and E. Rosen, "The Protocol
           Independent Multicast (PIM) Join Attribute Format",
           RFC 5384, DOI 10.17487/RFC5384, November 2008,
           <https://www.rfc-editor.org/info/rfc5384>.

[RFC5496]  Wijnands, IJ., Boers, A., and E. Rosen, "The Reverse Path
           Forwarding (RPF) Vector TLV", RFC 5496,
           DOI 10.17487/RFC5496, March 2009,
           <https://www.rfc-editor.org/info/rfc5496>.

[RFC7431]  Karan, A., Filsfils, C., Wijnands, IJ., Ed., and B.
           Decraene, "Multicast-Only Fast Reroute", RFC 7431,
           DOI 10.17487/RFC7431, August 2015,
           <https://www.rfc-editor.org/info/rfc7431>.

[RFC7490]  Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N.
           So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)",
           RFC 7490, DOI 10.17487/RFC7490, April 2015,
           <https://www.rfc-editor.org/info/rfc7490>.

[RFC7761]  Fenner, B., Handley, M., Holbrook, H., Kouvelas, I.,
           Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent
           Multicast - Sparse Mode (PIM-SM): Protocol Specification
           (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March
           2016, <https://www.rfc-editor.org/info/rfc7761>.

[RFC7891]  Asghar, J., Wijnands, IJ., Ed., Krishnaswamy, S., Karan,
           A., and V. Arya, "Explicit Reverse Path Forwarding (RPF)
           Vector", RFC 7891, DOI 10.17487/RFC7891, June 2016,
           <https://www.rfc-editor.org/info/rfc7891>.

[RFC7916]  Litkowski, S., Ed., Decraene, B., Filsfils, C., Raza, K.,
           Horneffer, M., and P. Sarkar, "Operational Management of
           Loop-Free Alternates", RFC 7916, DOI 10.17487/RFC7916,
           July 2016, <https://www.rfc-editor.org/info/rfc7916>.

[RFC8402]  Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
           Decraene, B., Litkowski, S., and R. Shakir, "Segment
           Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
           July 2018, <https://www.rfc-editor.org/info/rfc8402>.

[RFC8660]  Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S.,
           Decraene, B., Litkowski, S., and R. Shakir, "Segment
           Routing with the MPLS Data Plane", RFC 8660,
           DOI 10.17487/RFC8660, December 2019,
           <https://www.rfc-editor.org/info/rfc8660>.

[RFC8754]  Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
           Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
           (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
           <https://www.rfc-editor.org/info/rfc8754>.

[RFC8986]  Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
           D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
           (SRv6) Network Programming", RFC 8986,
           DOI 10.17487/RFC8986, February 2021,
           <https://www.rfc-editor.org/info/rfc8986>.

[RFC9855]  Bashandy, A., Litkowski, S., Filsfils, C., Francois, P.,
           Decraene, B., and D. Voyer, "Topology Independent Fast
           Reroute Using Segment Routing", RFC 9855,
           DOI 10.17487/RFC9855, October 2025,
           <https://www.rfc-editor.org/info/rfc9855>.

8.2. Informative References

[RFC5715]  Shand, M. and S. Bryant, "A Framework for Loop-Free
           Convergence", RFC 5715, DOI 10.17487/RFC5715, January
           2010, <https://www.rfc-editor.org/info/rfc5715>.

[RFC8102]  Sarkar, P., Ed., Hegde, S., Bowers, C., Gredler, H., and
           S. Litkowski, "Remote-LFA Node Protection and
           Manageability", RFC 8102, DOI 10.17487/RFC8102, March
           2017, <https://www.rfc-editor.org/info/rfc8102>.

[RFC8487]  Asaeda, H., Meyer, K., and W. Lee, Ed., "Mtrace Version 2:
           Traceroute Facility for IP Multicast", RFC 8487,
           DOI 10.17487/RFC8487, October 2018,
           <https://www.rfc-editor.org/info/rfc8487>.

Contributors πŸŽ€

Mengxiao Chen
New H3C Technologies
China
Email: chen.mengxiao@h3c.com

Authors' Addresses πŸ’–

Yisong Liu
China Mobile
China
Email: liuyisong@chinamobile.com

Mike McBride
Futurewei Inc.
United States of America
Email: michael.mcbride@futurewei.com

Zheng (Sandy) Zhang
ZTE Corporation
China
Email: zhang.zheng@zte.com.cn

Jingrong Xie
Huawei Technologies
China
Email: xiejingrong@huawei.com

Changwang Lin
New H3C Technologies
China
Email: linchangwang.04414@h3c.com
πŸ“¦ where this page comes from