Internet-Draft SRv6 for Redundancy Protection July 2026
Geng, et al. Expires 20 January 2027 [Page]
Workgroup:
SPRING Working Group
Internet-Draft:
draft-ietf-spring-sr-redundancy-protection-08
Published:
Intended Status:
Standards Track
Expires:
Authors:
X. Geng
Huawei Technologies
M. Chen
Huawei Technologies
P. Camarillo
Cisco Systems
G. Mishra
Verizon Inc.
B. Varga, Ed.
Ericsson

SRv6 for Redundancy Protection

Abstract

Redundancy Protection is a generalized protection mechanism to achieve high reliability for service provided in Segment Routing networks. The mechanism uses the "Live-Live" methodology, i.e., multiple copies of the data packets are sent on different paths to provide protection. This document introduces one new SRv6 Segment Endpoint Behavior to provide replication and elimination functions on specific network nodes by leveraging SRv6 Network Programming capabilities.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 20 January 2027.

Table of Contents

1. Introduction

Redundancy Protection is a generalized protection mechanism to achieve the high reliability for service provided in a Segment Routing (SR) network. Specifically, packets of flows are replicated at a replication network node into two or more copies, which are transported via different protections paths in parallel. On the elimination network node, the multiple copies are received, redundant packets are eliminated, and only a single copy of the packet is forwarded.

This mechanism is commonly referred to as "Live-Live" as data traffic is forwarded on the protection paths simultaneously and therefore it provides a packet level protection. In case of redundancy protection, there is no need to perform switchover between primary and backup paths as data packets are sent simultaneously on multiple protection paths. Connectivity is provided until at least one protection path remains operationel.

One new SRv6 Segment Endpoint Behavior is introduced to provide the redundancy protection functions (i.e., replication and/or elimination) on specific network nodes by leveraging SRv6 Network Programming capabilities.

Depending on the Service Level Objective of a service and the network characteristics (topology, link/node availability, BER of links, etc.) redundancy protection can be used alone or together with other protection mechanism like TI-LFA. Detailed design rules of Redundancy Protection (e.g., location of replication and elimination functions, number of used protection paths, routes of protection paths) are scenario specific and out of scope in this document.

Redundancy protection provides ultra reliable protection to many services, for example DetNet flows, Cloud VR/Game, IPTV service and other type of video services, high value private line service etc.

2. Terminology

2.1. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

2.2. Terminology and Conventions

SR: Segment Routing

SRv6: Segment Routing over IPv6

SID: Segment Identifier

BSID: Binding SID

RSID: Redundancy SID

R-node: Redundancy node participating in the service protection.

Rep node: R-node doing replication. A network element that replicates incoming packets for parallel delivery.

Elm node: R-node doing elimination. A network element that eliminates duplicates to forward a single copy.

RedInst: Redundancy instance, flow-specific redundancy function on the R-node.

FID: Flow Identification

SeqNum: Sequence Number

3. Redundancy Protection in Segment Routing Scenario

3.1. Redundancy Node Concept

Redundancy nodes are interconnected by SRv6 tunnels used to encapsulate the protected flow. Flow specific redundancy actions on a redundancy node are triggered by the Redundancy SID (RSID) and the actions are defined by the Redundancy Policy. The Redundancy Policy contains entries for each flow for which the R-node provides redundancy protection. The replicated flow parts between the R-nodes are referred as member flows.

There are two basic types of redundancy actions applied on the protected flow: (1) replication and (2) elimination . A flow has one or more actions defined in its Redundancy Policy Entry. The flow related redundancy instance (RedInst) has flow specific states (e.g., action type, action order, ingress/egress member flow specific parameters, identifiers).

3.2. RSID and Meta Data to Support Redundancy Protection

To support the redundancy protection function, flow identification (FID) and sequence number (SeqNum) information are added to the member flow packets in the RSID. They are used at downstream R-nodes when their redundancy actions are executed.

FID identifies one specific member flow on an R-Node and has local significance. Allocation methods and signalling of FID values are out of scope in this document. They can be allocated for example by a centralized controller or can be allocated and advertised by the R-node. BGP, PCEP or Netconf protocols can facilitate the advertisement and distribution of flow identification information among controller and R-nodes. FID MUST be included in the RSID.

SeqNum distinguishes the packets within a flow by specifying the order of packets. Unlike the FID, which remains constant for all packet in a given member flow, the SeqNum changes with each packet. SeqNum MUST be included in the RSID.

The explicit format of Redundancy SID (RSID) is network addressing design specific. Redundancy specific parameters are encoded as follows:

RSID MUST support containing a FID of 20 bits.

RSID MUST support containing a SeqNum of 16 bits.

The ARG part of the RSID MUST contain first the FID immediatelly followed by the SeqNum. Remaining LSB of the ARG part MUST be filled with zeros.

For example, if a network uses /80 for LOC+FUNC, then the remaining 48 bits are enough to carry a 20-bit FID and a maximal size SeqNum field (28-bit) defined for DetNet flows in [RFC8964].

Note: if Function=RSID, Arg=0 is also a meaningful value and does not refer to the lack of arguments. It is meaning that the packet belongs to a flow having FID=0 and its SeqNum=0.

Note2: Encoding the FID and SeqNum as Arguments of the SID implies that when the RSID is in the IPv6 DA, the DA changes on a per packet basis for the redundancy protected flow, and it may alter the ECMP hashing. This can be avoided for example by using additional node specific SIDs before the RSID (e.g., End) or by excluding those bits from ECMP hashing.

3.3. Redundancy Policy

A Redundancy SID (RSID) MUST have a related Redundancy Policy. The Redundancy Policy MUST contain entries for each member flow for which the R-node provides redundancy protection. An entry MUST contain the flow specific actions and their parameters.

The following summarizes the information that is needed in the Redundancy Policy entries:

The first and the last R-nodes needs additional information:

Various options for ingress flow matching are defined for example in [RFC8939]. They can be used on the first R-node.

Using SR Policy desribed in [RFC9256] for the definition of an egress member flow redundancy path is out of scope here and left for further study.

3.4. Redundancy Protection Scenario Example

Figure 1 shows an example of redundancy protection used in an SRv6 domain.

           |                                              |
           |<--------------- SRv6 Domain ---------------->|
           |                                              |
           |                    +-----+                   |
           |              +-----+  R3 +-----+             |
           |              |     +-----+     |             |
        +-----+        +--+--+           +--+--+       +-----+
 -------+  R1 +--------+ Rep |           | Elm +-------+  R2 +-------
        +-----+        +--+--+           +--+--+       +-----+
                          |     +-----+     |
                          +-----+  R4 +-----+
                                +-----+

Figure 1: Example topology

R1, R2, R3, R4, Rep and Elm are SR-capable nodes. Rep and Elm are redundancy nodes (R-node). When a flow is sent into the SRv6 domain, the process is:

1) R1 receives the traffic flow and encapsulates packets with a list of segments destined to R2, which is instantiated as an ordered list of SRv6 SIDs.

2.1) When the packet flow arrives at Rep node (an R-node configured for replication), each packet is replicated into two copies.

2.2) Meta data information including flow identification (FID) and sequence number (SeqNum) are added to the copies. FID is used to identify the specific flow (and the related RedInst) on the downstream R-node, and SeqNum distinguishes the packet sequence within a flow.

2.3) Each copy of the packet is encapsulated with a new path specific segment list, which represents different forwarding paths towards the downstream R-node. One copy is forwarded over R3 and the other over R4. The path is provisioned for example by a controller.

3) The multiple replicas go through different paths until they reach the next R-node i.e., the Elm node in this example. The Elm node is configured with an elimination action for the flow. The first received copy of each packet is forwarded, and the redundant packets are eliminated. Furthermore, the redundancy policy entry of the flow specifies that the non-eliminated packets are forwarded without the meta data to the R2 node.

When there is any failure or packet loss in one path, the service transmission continues through the other path non-disruptively. No interaction is needed between the R-nodes.

Sometimes, out-of-order packets may occur since service packets are recovered from different forwarding paths. In this case, the Elm node or other network nodes downstream to the Elm node may include a reordering function to guarantee in-order delivery of packets. Reordering is implementation specific and out of the scope of this document.

Note: a possible reordering function is described in [RFC9550].

Note: the jitter caused by random packet loss can be minimized, if the protection paths have similar path forwarding delay.

4. SRv6 Segment Behavior to Support Redundancy Protection

To achieve the packet replication and elimination functions, the following packet processing rules are defined as a new set of SRv6 SID behaviors regarding the Redundancy SID: (i) End.R, (ii) H.Encaps.R, (iii) H.Encaps.R.Red, (iv) H.Encaps.R.L2, and (v) H.Encaps.R.L2.Red.

Note, that the algorithm used by the Redundancy Functionality is not within the scope of this document. For example, [IEEE8021CB] provides such algoritm.

4.1. Redundancy Segment Endpoint Behavior

This section describes the Redundancy specific behaviors that can be associated with a SID.

+-------------+-------------------------------------------------------+
| End.R       | Endpoint with decapsulation and Redundancy Processing |
+-------------+-------------------------------------------------------+
Figure 1: Redundancy Endpoint Behavior

Redundancy Segment is the identifier of packets on which service protection needs to be executed on the redundancy node. It has associated Redundancy Policy(s), instantiation of which provides service protection action(s). The use of Redundancy Segment triggers the Redundancy Policy instantiation on the redundancy node.

Redundancy Segment is associated with service instructions, indicating the following operations:

In this document, a new behavior End.R for Redundancy Segment is defined. An instance of a redundancy SID is associated with a redundancy policy B and a source address A. In the following description, End.R behavior is specified with the encapsulation mode.

For redundancy protection processing, two arguments are needed:

  1. Flow-ID (FID): defines which flow the packet belongs to (what is used to determine which Redundancy instance has to be used on a node).

  2. Sequence Number (SeqNum): defines the sequencing information, it is created at the first Redundancy node and used by replication and elimination functionalities.

Note: DetNet has defined a service protection for the DetNet service sub-layer [RFC8655]. The packet replication and elimination service protection method was defined for DetNet MPLS data plane using 20 bits for FID and the following SeqNum sizes: 0/16/28 bits [RFC8964].

In order to eliminate the redundant packets of a flow, the elimination node utilizes sequence number to evaluate the redundant status of a packet. The mechanism used for elimination is implementation-specific and outside the scope of this document.

R-nodes are interconnected by SRv6 tunnels used to encapsulate the protected flow and they hold flow states regarding the served traffic flow(s). From the segment routing architecture perspective [RFC8402] R-nodes are ingresss node for the served member flows. Flow-specific states are present only on R-nodes. Nodes between the R-nodes do not have flow-specific states.

As elimination node needs to maintain the state of served flows, a centralized controller MUST have a knowledge of elimination nodes capability. It MUST NOT provision the redundancy policy to a redundancy node when the computation result goes beyond the flow recovery capability of the elimination node. The capability advertisement is outside the scope of this document.

The Redundancy SID (RSID) MUST be the last segment in an SR Policy and it is associated with the Redundancy functionality.

When an SRv6-capable node (N) receives an IPv6 packet whose destination address matches a local IPv6 address instantiated as an SRv6 SID (S), and S is a Redundancy SID, N does:

S01. When an SRH is processed {
S02.  If (Segments Left != 0) {
S03.   Send an ICMP Parameter Problem message to the Source Address
            with Code 0 (Erroneous header field encountered),
            and Pointer set to the Segments Left field,
            interrupt packet processing and discard the packet
S04.  }
S05.  Proceed to process the next header in the packet
S06. }

When processing the Upper-Layer header of a packet matching a FIB entry locally instantiated as an End.R SID, N does the following:

S01. If (Upper-Layer header type ==
       ( 4(IPv4) OR 41(IPv6) OR 143(Ethernet) )
           {
S02.   Extract the ARG part of the SID
S03.   Remove the outer IPv6 header with all its extension headers
S04.   Forward the exposed payload, type and the ARG part to the
       Redundancy functionality
S05. } Else {
S06.    Process the Upper Layer Header
S07. }

Upper Layer Header processing of End.R SID is same as defined in Section 4.1.1 of [RFC8986].

4.2. SR Policy Headend Behaviors

This section describes a set of SRv6 Redundancy Policy Headend [RFC8986] behaviors.

+--------------------+--------------------------------------------------+
| H.Encaps.R         | SR Headend with Redundancy Encapsulation         |
+--------------------+--------------------------------------------------+
| H.Encaps.R.Red     | H.Encaps with Reduced Redundancy Encapsulation   |
+--------------------+--------------------------------------------------+
| H.Encaps.R.L2      | H.Encaps.R Applied to Received L2 Frames         |
+--------------------+--------------------------------------------------+
| H.Encaps.R.L2.Red  | H.Encaps.R.Red Applied to Received L2 Frames     |
+--------------------+--------------------------------------------------+
Figure 2: Redundancy specific SR Policy Headend Behaviors

4.2.1. H.Encaps.R: SR Headend with Redundancy

When a node "N" receives a packet P=(A, B) identified as a Flow for redundancy. B is neither a local address nor SID of "N".

Node "N" executes the Flow related Redundancy function(s), resulting in one or more member flows (P1=(A, B), P2=(A, B), ...) with related parameters ([Flow-ID1, SeqNum], [Flow-ID2, SeqNum], ...).

Note: The number of resulting member flows depends on the configuration of the Flow related function(s). For example, in case of elimination there is only one member flow.

Node "N" is configured with an IPv6 address "T" (e.g., assigned to its loopback).

Node "N" steers the egress packet P1 into an SRv6 Policy with a Source Address T and a segment list SP1=<S11, S12, S13>, where S13 is a Redundancy SID (LOC+FUNCT) with 0 as ARG.

The H.Encaps.R encapsulation behavior for one member flow is defined as follows (SA: source address, DA: destination address):

S01. Push an IPv6 header with its own SRH
     Set the ARG part of the LAST SID in the segment list with FID and SeqNum
S02. Set outer IPv6 SA = T and outer IPv6 DA to the first SID
     in the segment list
S03. Set outer Payload Length, Traffic Class, Hop Limit, and
     Flow Label fields
S04. Set the outer Next Header value
S05. Decrement inner IPv6 Hop Limit or IPv4 TTL
S06. Submit the packet to the IPv6 module for transmission to S11

After the H.Encaps.R behavior, P1, and P2 (if exists) respectively look like:

  • (T, S11) (S13, S12, S11; SL=2) (A, B), note: S13.ARG=Flow-ID1, SeqNum

  • (T, S21) (S23, S22, S21; SL=2) (A, B), note: S23.ARG=Flow-ID2, SeqNum

The member flow packet is encapsulated unmodified (with the exception of the IPv4 TTL or IPv6 Hop Limit that is decremented).

The push of the SRH MAY be omitted when the SRv6 Policy only contains one segment and there is no need to use any flag, tag, or TLV. In such cases the outer destination address is the Redundancy SID.

4.2.2. H.Encaps.R.Red: H.Encaps.R with Reduced Encapsulation

The H.Encaps.R.Red behavior is an optimization of the H.Encaps.R behavior.

H.Encaps.R.Red reduces the length of the SRH by excluding the first SID in the SRH of the pushed IPv6 header. The first SID is only placed in the Destination Address field of the pushed IPv6 header.

After the H.Encaps.R.Red behavior, P1, and P2 respectively look like:

  • (T, S11) (S13, S12; SL=2) (A, B), note: S13.ARG=Flow-ID1, SeqNum

  • (T, S21) (S23, S22; SL=2) (A, B), note: S23.ARG=Flow-ID2, SeqNum

4.2.3. H.Encaps.R.L2: H.Encaps.R Applied to Received L2 Frames

The H.Encaps.R.L2 behavior encapsulates a received Ethernet frame and its attached VLAN header, if present, in an IPv6 packet with an SRH. The Ethernet frame becomes the payload of the new IPv6 packet.

The H.Encaps.R.L2 encapsulation behavior is similar to H.Encaps.R but sets an Ethernet specific outer Next Header and lacks the TTL/Hop Limit related action. H.Encaps.R.L2 is defined as follows:

S01. Push an IPv6 header with its own SRH
     Set the ARG part of the LAST SID in the segment list with FID and SeqNum
S02. Set outer IPv6 SA = T and outer IPv6 DA to the first SID
     in the segment list
S03. Set outer Payload Length, Traffic Class, Hop Limit, and
     Flow Label fields
S04. Set the outer Next Header value
S05. <N/A>
S06. Submit the packet to the IPv6 module for transmission to S11

The Next Header field of the SRH MUST be set to 143.

The push of the SRH MAY be omitted when the SRv6 Policy only contains one segment and there is no need to use any flag, tag, or TLV.

The encapsulating node MUST remove the preamble (if any) and frame check sequence (FCS) from the Ethernet frame upon encapsulation, and the decapsulating node MUST regenerate, as required, the preamble and FCS before forwarding the Ethernet frame.

4.2.4. H.Encaps.R.L2.Red: H.Encaps.R.L2 with Reduced Encapsulation

The H.Encaps.R.L2.Red behavior is an optimization of the H.Encaps.R.L2 behavior.

H.Encaps.R.L2.Red reduces the length of the SRH by excluding the first SID in the SRH of the pushed IPv6 header. The first SID is only placed in the Destination Address field of the pushed IPv6 header.

The push of the SRH MAY be omitted when the SRv6 Policy only contains one segment and there is no need to use any flag, tag, or TLV.

5. IANA Considerations

IANA maintains the "SRv6 Endpoint Behaviors" sub-registry of the "Segment Routing Parameters" registry. IANA is requested to make one new assignments from the First Come First Served portion of the registry as follows:

 Value | Hex   | Endpoint Behavior | Reference  | Change Controller
 ------+-------+-------------------+------------+------------------
 TBD1  | xTBD1 | End.R             | [This.I-D] | IETF

6. Implementation Description

Note to the RFC Editor: this section have to be removed before publication.

This section records the status of known implementations of the Redundancy Protection defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in RFC 7942. The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs. Please note that the listing of any individual implementation here does not imply endorsement by the IETF. Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors. This is not intended as, and must not be construed to be, a catalog of available implementations or their features. Readers are advised to note that other implementations may exist.

According to RFC 7942, "this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature. It is up to the individual working groups to use this information as they see fit".

Known implementations:

7. Operational Considerations

This section addresses the operational and management aspects of SRv6 Redundancy Protection, covering deployment, configuration, monitoring, and maintenance guidance for operators managing this functionality in order to effectively integrate this capability into their networks while maintaining security, performance, and consistency. This is a non-exhaustive list of operational considerations.

7.1. Installation and Initial Setup

Redundancy Protection should operate with reasonable defaults:

Operators must be able to verify that configured defaults match actual running configurations for troubleshooting and consistency assurance.

7.2. Migration Path and Deployment

Redundancy Protection integrates incrementally into existing SRv6 networks:

7.3. Protocol Dependencies and Network Impact

Dependencies: All R-nodes must support SRv6. Accurate time synchronization (i.e., NTP) is recommended. External systems (PCE, SDN controllers) are expected to compute (disjoint) protection paths.

Resource Consumption:

Traffic Pattern Changes: Using Redundancy Protection assumes sufficient path diversity. Monitoring should account for expected duplication patterns to avoid false security alarms.

7.4. Security Operations

Security operation related to redundancy proection functionality are:

7.5. Verifying Correct Operation

Operators should verify redundancy protection through several mechanisms:

7.6. Management Information and Data Models

The following manageable entities are described: Redundancy Node (R-node), Redundancy SID (RSID), Redundancy Policy, and Redundancy Instance (having per-flow state).

Standardized Technologies used for Redundancy Protection:

YANG Data Model: A Device Model should distinguish between configuration data (policies, flow criteria), operational state (active flows, sequence numbers), and statistics (counters, performance metrics). The model must enforce valid SeqNum sizes and FID ranges and express relationships between policies, flows, and member flows.

7.7. Fault and Configuration Management

Fault Management:

Configuration Management:

7.8. Performance and Accounting Management

The following tools are expected:

7.9. Tooling Considerations

Operators should first assess whether existing management systems (NETCONF clients, syslog aggregators, monitoring platforms) can be adapted to support redundancy protection before developing new tools. New tooling development should focus only on functions existing tools cannot provide (e.g., specialized path computation and validation).

8. Security Considerations

Detailed security considerations for segment routing are cataloged in [RFC8402], [RFC8754], and [RFC8986]. General security considerations are described in [I-D.ietf-spring-srv6-security].

The introduction of Redundancy Segments in Segment Routing networks introduces new vectors for security threats that must be carefully mitigated.

8.1. Packet Duplication

Redundancy protection intentionally replicates packets across multiple paths. Without proper admission control or policy enforcement, an attacker could exploit this mechanism to amplify traffic, overwhelming downstream links or merging nodes. The amplification can also magnify denial-of-service attacks if unauthorized traffic reaches replication nodes. Amplification can also achieved by the attacker by blocking the elimination.

The use of redundancy protection should be restricted to a trusted SR domain with controlled flows, i.e., rate-limiting and flow admission control at the ingress is employed. Redundancy protection should be provisioned via authenticated and authorized controllers (e.g., PCEP with TLS).

8.2. Sequence Number Spoofing

The Elm node relies on sequence numbers to de-duplicate packets. An attacker that can inject or manipulate these sequence numbers could cause legitimate packets to be dropped or reordered.

Replay attacks also can affect the operation of redundancy protection. For example, a rogue node, either the headend or a transit node, can cause pathological reordering, intentionally delay packets, or duplicate packets to arrive much later. The impact of such attacks is dependent on the algorithm used by the elimination instance, however algorithm are out of scope in this document.

8.3. Information Disclosure

Redundancy protection may involve topology-specific path selections that reveal operational characteristics of the network (e.g., availability of disjoint paths). Statements of [RFC8402] on leaking explicit routing information through the boundaries of the administered domain applies for redundancy protection specific information as well.

8.4. State Exhaustion at Redundancy Node

Redundancy nodes with elimination functionality need to maintain state (e.g., sequence windows, buffering) for each redundancy protected flow. An attacker might attempt to create many such flows to exhaust memory or processing capacity.

By limiting the number of concurrent redundancy flows the R-node can protect its resources. Impact of resource exhaustion is dependent on the implemented method, however algorithms of elimination are out of scope of this document.

9. Contributors

Fan Yang
Huawei
China
Ferenc Fejes
Ericsson
Hungary

10. Acknowledgements

The authors would like to thank Bruno Decraene, Ron Bonica, James Guichard, Jeffrey Zhang, Adrian Farrel for their valuable comments and discussions.

11. Appendix A. Example

This appendix shows how the described End.R mechanisms can be used in an SRv6 network.


                   +----+ Link3       +----+
                   |    |----->-------|    | Link6
              +->--| N3 |----->-------| E5 |--->--+
              |    +----+ Link4       +----+      |
              | Link1                   |         |
+---+       +----+                      |       +----+       +---+
|src|--->---| R1 |                  +->-+       | E6 |--->---|dst|
+---+       +----+                  |           +----+       +---+
              | Link2               | Link7       |
              |    +----+         +----+          |
              +->--| n4 |--->-----| R2 |----->----+
                   +----+ Link5   +----+ Link8

n: non-SRv6 IPv6 node
N: SRv6-capable node
R: Node with Replication Function
E: Node with Elimination Function
L: Link between nodes

Figure 3: Example Topology

In the reference topology:

If the src node sends a packet to the dst node for which per packet redundancy is configured, then the nodes with Redundancy functions provide the required replication or elimination functions. For instance, in the example in Figure 3:

The example topology shown in Figure 3 is constructed to show the usage of RSID. Note that any of the links can be replaced with an SRv6 network segment. The above described principles are applicable to such more complex network topologies as well.

12. References

12.1. Normative References

[I-D.ietf-spring-srv6-security]
Buraglio, N., Mizrahi, T., tongtian124, Contreras, L. M., and F. Gont, "Segment Routing IPv6 Security Considerations", Work in Progress, Internet-Draft, draft-ietf-spring-srv6-security-15, , <https://datatracker.ietf.org/doc/html/draft-ietf-spring-srv6-security-15>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[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, , <https://www.rfc-editor.org/info/rfc8402>.
[RFC8655]
Finn, N., Thubert, P., Varga, B., and J. Farkas, "Deterministic Networking Architecture", RFC 8655, DOI 10.17487/RFC8655, , <https://www.rfc-editor.org/info/rfc8655>.
[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, , <https://www.rfc-editor.org/info/rfc8754>.
[RFC8939]
Varga, B., Ed., Farkas, J., Berger, L., Fedyk, D., and S. Bryant, "Deterministic Networking (DetNet) Data Plane: IP", RFC 8939, DOI 10.17487/RFC8939, , <https://www.rfc-editor.org/info/rfc8939>.
[RFC8964]
Varga, B., Ed., Farkas, J., Berger, L., Malis, A., Bryant, S., and J. Korhonen, "Deterministic Networking (DetNet) Data Plane: MPLS", RFC 8964, DOI 10.17487/RFC8964, , <https://www.rfc-editor.org/info/rfc8964>.
[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, , <https://www.rfc-editor.org/info/rfc8986>.

12.2. Informative References

[IEEE8021CB]
IEEE, "IEEE Standard for Local and metropolitan area networks--Frame Replication and Elimination for Reliability", IEEE 802.1CB-2017, DOI 10.1109/IEEESTD.2017.8091139, , <https://standards.ieee.org/standard/802_1CB-2017.html>.
[RFC5424]
Gerhards, R., "The Syslog Protocol", RFC 5424, DOI 10.17487/RFC5424, , <https://www.rfc-editor.org/info/rfc5424>.
[RFC6241]
Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, , <https://www.rfc-editor.org/info/rfc6241>.
[RFC7011]
Claise, B., Ed., Trammell, B., Ed., and P. Aitken, "Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information", STD 77, RFC 7011, DOI 10.17487/RFC7011, , <https://www.rfc-editor.org/info/rfc7011>.
[RFC8040]
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, , <https://www.rfc-editor.org/info/rfc8040>.
[RFC9256]
Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", RFC 9256, DOI 10.17487/RFC9256, , <https://www.rfc-editor.org/info/rfc9256>.
[RFC9550]
Varga, B., Ed., Farkas, J., Kehrer, S., and T. Heer, "Deterministic Networking (DetNet): Packet Ordering Function", RFC 9550, DOI 10.17487/RFC9550, , <https://www.rfc-editor.org/info/rfc9550>.

Authors' Addresses

Xuesong Geng
Huawei Technologies
China
Mach(Guoyi) Chen
Huawei Technologies
China
Pablo Camarillo Garvia
Cisco Systems
Spain
Gyan Mishra
Verizon Inc.
Balazs Varga (editor)
Ericsson