<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.8 (Ruby 3.0.2) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-spring-cs-sr-policy-02" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="CS-SR Policies">Circuit Style Segment Routing Policies</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-spring-cs-sr-policy-02"/>
    <author initials="C." surname="Schmutzer" fullname="Christian Schmutzer" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>cschmutz@cisco.com</email>
      </address>
    </author>
    <author initials="Z." surname="Ali" fullname="Zafar Ali" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>zali@cisco.com</email>
      </address>
    </author>
    <author initials="P." surname="Maheshwari" fullname="Praveen Maheshwari">
      <organization>Airtel India</organization>
      <address>
        <email>Praveen.Maheshwari@airtel.com</email>
      </address>
    </author>
    <author initials="R." surname="Rokui" fullname="Reza Rokui">
      <organization>Ciena</organization>
      <address>
        <email>rrokui@ciena.com</email>
      </address>
    </author>
    <author initials="A." surname="Stone" fullname="Andrew Stone">
      <organization>Nokia</organization>
      <address>
        <email>andrew.stone@nokia.com</email>
      </address>
    </author>
    <date year="2024" month="April" day="18"/>
    <abstract>
      <?line 176?>

<t>This document describes how Segment Routing (SR) policies can be used to satisfy the requirements for bandwidth, end-to-end recovery and persistent paths within a segment routing network. SR policies satisfying these requirements are called "circuit-style" SR policies (CS-SR policies).</t>
    </abstract>
  </front>
  <middle>
    <?line 180?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Segment routing does allow for a single network to carry both typical IP (connection-less) services and connection-oriented transport services commonly referred to as "private lines". IP services typically require ECMP and TI-LFA, while transport services delivered via pseudowires (defined by the PWE3 and PALS workgroups) do require:</t>
      <ul spacing="normal">
        <li>
          <t>Persistent end-to-end traffic engineered paths that provide predictable and identical latency in both directions</t>
        </li>
        <li>
          <t>A requested amount of bandwidth per path to ensure no impact on the Service Level Agreement (SLA) due to changing network load from other services</t>
        </li>
        <li>
          <t>Fast end-to-end protection and restoration mechanisms</t>
        </li>
        <li>
          <t>Monitoring and maintenance of path integrity</t>
        </li>
        <li>
          <t>Data plane remaining up while control plane is down</t>
        </li>
      </ul>
      <t>Such a "transport centric" behavior is referred to as "circuit-style" in this document.</t>
      <t>This document describes how SR policies <xref target="I-D.ietf-spring-segment-routing-policy"/> and the use of adjacency-SIDs defined in the SR architecture <xref target="RFC8402"/> together with a stateful Path Computation Element (PCE) <xref target="RFC8231"/> can be used to satisfy those requirements. It includes how end-to-end recovery and path integrity monitoring can be implemented.</t>
      <t>SR policies that satisfy those requirements are called "circuit-style" SR policies (CS-SR policies).</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>
          <t>BSID : Binding Segment Identifier</t>
        </li>
        <li>
          <t>CS-SR : Circuit-Style Segment Routing</t>
        </li>
        <li>
          <t>ID : Identifier</t>
        </li>
        <li>
          <t>LSP : Label Switched Path</t>
        </li>
        <li>
          <t>LSPA : LSP attributes</t>
        </li>
        <li>
          <t>OAM : Operations, Administration and Maintenance</t>
        </li>
        <li>
          <t>OF : Objective Function</t>
        </li>
        <li>
          <t>PCE : Path Computation Element</t>
        </li>
        <li>
          <t>PCEP : Path Computation Element Communication Protocol</t>
        </li>
        <li>
          <t>PT : Protection Type</t>
        </li>
        <li>
          <t>SID : Segment Identifier</t>
        </li>
        <li>
          <t>SLA : Service Level Agreement</t>
        </li>
        <li>
          <t>SR : Segment Routing</t>
        </li>
        <li>
          <t>STAMP : Simple Two-Way Active Measurement Protocol</t>
        </li>
        <li>
          <t>TI-LFA : Topology Independent Loop Free Alternate</t>
        </li>
        <li>
          <t>TLV : Type Length Value</t>
        </li>
      </ul>
    </section>
    <section anchor="reference-model">
      <name>Reference Model</name>
      <t>The reference model for CS-SR policies is following the Segment Routing Architecture <xref target="RFC8402"/> and SR Policy Architecture <xref target="I-D.ietf-spring-segment-routing-policy"/> and is depicted in <xref target="architecture-diagram"/>.</t>
      <figure anchor="architecture-diagram">
        <name>Circuit-style SR Policy Reference Model</name>
        <artwork><![CDATA[
                      +----------------+                   
      +-------------->| PCE/controller |<------------+   
      |               +----------------+             |   
  PCEP/BGP                                       PCEP/BGP
      |                                              |   
      v   <<<<<<<<<<<<<< CS-SR Policy >>>>>>>>>>>>>  v   
+-------+                                          +-------+
|       |=========================================>|       |
|   A   | SR-policy from A to Z                    |   Z   |
|       |<=========================================|       |
+-------+                    SR-policy from Z to A +-------+
]]></artwork>
      </figure>
      <t>By nature of CS-SR policies, paths will be computed and maintained by a centralized entity providing a consistent simple mechanism for initializing the co-routed bidirectional end to end paths, performing bandwidth allocation control, as well as monitoring facilities to ensure SLA compliance for the live of the CS-SR Policy.</t>
      <t>When using PCEP as the communication protocol on the endpoints, the centralized entity is a stateful PCE defined in <xref target="RFC8231"/>. When using a MPLS data plane <xref target="RFC8660"/>, PCEP extensions defined in <xref target="RFC8664"/> will be used. When using a SRv6 data plane <xref target="RFC8754"/>, PCEP extensions defined in <xref target="I-D.ietf-pce-segment-routing-ipv6"/> will be used.</t>
      <t>When using BGP as the communication protocol on the endpoints, the centralized entity does perform the same role. BGP extensions defined in <xref target="I-D.ietf-idr-segment-routing-te-policy"/> will be used.</t>
      <t>In order to satisfy the requirements of CS-SR policies, each link in the topology MUST have:</t>
      <ul spacing="normal">
        <li>
          <t>An adjacency-SID which is:
          </t>
          <ul spacing="normal">
            <li>
              <t>Manually allocated or persistent : to ensure that its value does not change after a node reload</t>
            </li>
            <li>
              <t>Non-protected : to avoid any local TI-LFA protection to happen upon interface/link failures</t>
            </li>
          </ul>
        </li>
        <li>
          <t>The bandwidth available for CS-SR policies specified</t>
        </li>
        <li>
          <t>A per-hop behavior (<xref target="RFC3246"/> or <xref target="RFC2597"/>) that ensures that the specified bandwidth is available to CS-SR policies at all times independent of any other traffic</t>
        </li>
      </ul>
      <t>When using a MPLS data plane <xref target="RFC8660"/> existing IGP extensions defined in <xref target="RFC8667"/> and <xref target="RFC8665"/> and BGP-LS defined in <xref target="RFC9085"/> can be used to distribute the topology information including those persistent and unprotected adjacency-SIDs.</t>
      <t>When using a SRv6 data plane <xref target="RFC8754"/> the IGP extensions defined in <xref target="I-D.ietf-lsr-isis-srv6-extensions"/> and <xref target="I-D.ietf-lsr-ospfv3-srv6-extensions"/> and BGP-LS extensions in <xref target="I-D.ietf-idr-bgpls-srv6-ext"/> apply.</t>
      <section anchor="bandwidth">
        <name>Managing Bandwidth</name>
        <t>In a network, resources are represented by links of certain bandwidth. In a circuit switched network such as SONET/SDH, OTN or DWDM resources (timeslots or a wavelength) are allocated for a provisioned connection at the time of reservation even if no communication is present. In a packet switched network resources are only allocated when communication is present, i.e. packets are to be sent. This allows for the total reservations to exceed the link bandwidth as well in general for link congestion.</t>
        <t>To satisfy the bandwidth requirement for CS-SR policies it must be ensured that packets carried by CS-SR policies can be at all times sent up to the reserved bandwidth on each hop along the path. This is done by:</t>
        <ul spacing="normal">
          <li>
            <t>Firstly, CS-SR policy bandwidth reservations per link must be limited to euqal or less than the physical link bandwidth.</t>
          </li>
          <li>
            <t>Secondly, ensuring traffic for each CS-SR policy is limited to the bandwidth reserved for that CS-SR policy by traffic policing or shaping</t>
          </li>
          <li>
            <t>Thirdly, ensuring that during times of link congestion only non-CS-SR policy traffic is being buffered or dropped.</t>
          </li>
        </ul>
        <t>For the later several approaches can be considered:</t>
        <ul spacing="normal">
          <li>
            <t>Allocate a dedicated physical link of bandwidth P to CS-SR policies and allow CS-SR reservations up to bandwidth C. Consider bandwidth N allocated for network control, ensure that P - N &gt;= C</t>
          </li>
          <li>
            <t>Allocate a dedicate logical link (i.e. 801.q VLAN on ethernet) to CS-SR policies on a physical link of bandwidth P. Limit the total utilization across all other logical links to bandwidth O by traffic policing or shaping and ensure that P - N - O &gt;= C</t>
          </li>
          <li>
            <t>Allocate a dedicated Diffserv codepoint and queue to CS-SR policies and limit the total utilization across all other queues to bandwidth O by traffic policing or shaping and ensure that P -N - O &gt;= C</t>
          </li>
          <li>
            <t>Allocate a dedicate Diffserv codepoint and strict priority queue to CS-SR policies and limit the total utilization across all priority queues of higher or equal priority to bandwidth O by traffic policing or shaping and ensure that P - N - O &gt;= C</t>
          </li>
          <li>
            <t>Allocate a dedicate Diffserv codepoint and a strict priority queue with a priority higher than all other queues to CS-SR policies and limit the utilization of that priority queue by traffic policing to C &lt;= P - N</t>
          </li>
        </ul>
        <t>In addition CS-SR policy telemetry collection can be used to raise alarms when bandwidth utilization thresholds are passed or to request the reserved bandwidth to be adjusted.</t>
      </section>
    </section>
    <section anchor="characteristics">
      <name>CS-SR Policy Characteristics</name>
      <t>A CS-SR policy has the following characteristics:</t>
      <ul spacing="normal">
        <li>
          <t>Requested bandwidth : bandwidth to be reserved for the CS-SR policy</t>
        </li>
        <li>
          <t>Bidirectional co-routed : a CS-SR policy between A and Z is an association of an SR-Policy from A to Z and an SR-Policy from Z to A following the same path(s)</t>
        </li>
        <li>
          <t>Deterministic and persistent paths : segment lists with strict hops using unprotected adjacency-SIDs</t>
        </li>
        <li>
          <t>Not automatically recomputed or reoptimized : the SID list of a candidate path must not change automatically to a SID list representing a different path (for example upon topology change)</t>
        </li>
        <li>
          <t>Multiple candidate paths in case of protection/restoration:
          </t>
          <ul spacing="normal">
            <li>
              <t>Following the SR policy architecture, the highest preference valid path is carrying traffic</t>
            </li>
            <li>
              <t>Depending on the protection/restoration scheme (<xref target="recovery"/>), lower priority candidate paths
              </t>
              <ul spacing="normal">
                <li>
                  <t>may be pre-computed</t>
                </li>
                <li>
                  <t>may be pre-programmed</t>
                </li>
                <li>
                  <t>may have to be disjoint</t>
                </li>
              </ul>
            </li>
          </ul>
        </li>
        <li>
          <t>Connectivity verification and performance measurement is activated on each candidate path (<xref target="OAM"/>)</t>
        </li>
      </ul>
    </section>
    <section anchor="creation">
      <name>CS-SR Policy Creation</name>
      <section anchor="pcep">
        <name>Policy Creation when using PCEP</name>
        <t>Considering the scenario illustrated in <xref target="architecture-diagram"/> a CS-SR policy between A and Z is configured both on A (with Z as endpoint) and Z (with A as endpoint).</t>
        <t>Both nodes A and Z act as PCC and delegate path computation to the PCE using PCEP with the extensions defined in <xref target="RFC8664"/> and the procedure described in <xref section="5.7.1" sectionFormat="of" target="RFC8231"/>. The PCRpt message sent from the headends to the PCE contains the following parameters:</t>
        <ul spacing="normal">
          <li>
            <t>BANDWIDTH object (Section 7.7 of <xref target="RFC5440"/>) : to indicate the requested bandwidth</t>
          </li>
          <li>
            <t>LSPA object (section 7.11 of <xref target="RFC5440"/>) : to indicate that no local protection requirements
            </t>
            <ul spacing="normal">
              <li>
                <t>L flag set to 0 : no local protection</t>
              </li>
              <li>
                <t>E flag set to 1 : protection enforcement (section 5 of <xref target="I-D.ietf-pce-local-protection-enforcement"/>)</t>
              </li>
            </ul>
          </li>
          <li>
            <t>ASSOCIATION object (<xref target="RFC8697"/>) :
            </t>
            <ul spacing="normal">
              <li>
                <t>Type : Double-sided Bidirectional with Reverse LSP Association (<xref target="I-D.ietf-pce-sr-bidir-path"/>)</t>
              </li>
              <li>
                <t>Bidirectional Association Group TLV (<xref target="RFC9059"/>) :
                </t>
                <ul spacing="normal">
                  <li>
                    <t>R flag is always set to 0 (forward path)</t>
                  </li>
                  <li>
                    <t>C flag is always set to 1 (co-routed)</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>If the SR-policies are configured with more than one candidate path, a PCEP request is sent per candidate path. Each PCEP request does include the "SR Policy Association" object (type 6) as defined in <xref target="I-D.ietf-pce-segment-routing-policy-cp"/> to make the PCE aware of the candidate path belonging to the same policy.</t>
        <t>The signaling extensions described in <xref target="I-D.sidor-pce-circuit-style-pcep-extensions"/> are used to ensure that</t>
        <ul spacing="normal">
          <li>
            <t>Path determinism is achieved by the PCE only using segment lists representing a strict hop by hop path using unprotected adjacency-SIDs.</t>
          </li>
          <li>
            <t>Path persistency across node reloads in the network is achieved by the PCE only including manually configured adjacency-SIDs in its path computation response.</t>
          </li>
          <li>
            <t>Persistency across network changes is achieved by the PCE not performing periodic nor network event triggered re-optimization.</t>
          </li>
        </ul>
        <t>Bandwidth adjustment can be requested after initial creation by signaling both requested and operational bandwidth in the BANDWIDTH object but the PCE is not allowed to respond with a changed path.</t>
        <t>As discussed in section 3.2 of <xref target="I-D.ietf-pce-multipath"/> it may be necessary to use load-balancing across multiple paths to satisfy the bandwidth requirement of a candidate path. In such a case the PCE will notify the PCC to install multiple segment lists using the signaling procedures described in section 5.3 of <xref target="I-D.ietf-pce-multipath"/>.</t>
      </section>
      <section anchor="policy-creation-when-using-bgp">
        <name>Policy Creation when using BGP</name>
        <t>Again considering the scenario illustrated in <xref target="architecture-diagram"/>, there is no CS-SR policy configuration required on A nor Z in order to create the CS-SR policy between A and Z.</t>
        <t>The centralized controller is instructed (i.e. by an application via a API call) to create the CS-SR policy, for which the controller does perform path computation and is requesting A via BGP to instante a SR-policy (with Z as endpoint) and requesting Z via BGP to instantiate a SR-policy (with Z as endpoint).</t>
        <t>To instantiate the SR-policies in A and Z the BGP extensions defined in <xref target="I-D.ietf-idr-segment-routing-te-policy"/> are used.</t>
        <t>No signaling extensions are required for the following:</t>
        <ul spacing="normal">
          <li>
            <t>Path determinism is achieved by the controller only using segment lists representing a strict hop by hop path using unprotected adjacency-SIDs.</t>
          </li>
          <li>
            <t>Path persistency across node reloads in the network is achieved by the controller only including manually configured adjacency-SIDs in its path computation response.</t>
          </li>
          <li>
            <t>Persistency across network changes is achieved by the controller not performing periodic nor network event triggered re-optimization.</t>
          </li>
        </ul>
        <t>If there are more than one candidate paths per SR-policy required, multiple NLRIs with different distinguisher values (see section 2.1 of <xref target="I-D.ietf-idr-segment-routing-te-policy"/>) have to be included in the BGP UPDATE message.</t>
        <t>To achieve load-balancing across multiple paths to satisfy the bandwidth requirement of a candidate path, multiple Segment List Sub-TLVs have to be included in the SR Policy Sub-TLV. See section 2.1 of <xref target="I-D.ietf-idr-segment-routing-te-policy"/></t>
        <t>The endpoints A and Z report the SR-policy states back to the centralized controller via BGP-LS using the extension defined in <xref target="I-D.ietf-idr-bgp-ls-sr-policy"/>.</t>
      </section>
      <section anchor="maximum-segment-depth">
        <name>Maximum Segment Depth</name>
        <t>A Segment Routed path defined by a segment list is constrained by maximum segment depth (MSD), which is the maximum number of segments a router can impose onto a packet. <xref target="RFC8491"/>, <xref target="RFC8476"/>, <xref target="RFC8814"/> and <xref target="RFC8664"/> provide the necessary capabilities for a PCE to determine the MSD capability of a router. The MSD constraint is typically resolved by leveraging a label stack reduction technique, such as using Node SIDs and/or BSIDs (SR architecture <xref target="RFC8402"/>) in a segment list, which represents one or many hops in a given path.</t>
        <t>As described in <xref target="characteristics"/>, adjacency-SIDs without local protection are to be used for CS-SR policies to ensure no ECMP, no rerouting due to topological changes nor localized  protection is being invoked on the traffic, as the alternate path may not be providing the desired SLA.</t>
        <t>If a CS-SR Policy path requires SID List reduction, a Node SID cannot be utilized as it is eligible for traffic rerouting following IGP re-convergence. However, a BSID can be programmed to a transit node, if the following requirements are met:</t>
        <ul spacing="normal">
          <li>
            <t>The BSID is unprotected, hence only has one candidate path</t>
          </li>
          <li>
            <t>The BSID follows the rerouting and optimization characteristics defined in <xref target="characteristics"/> which implies the SID list of the candidate path MUST only use unprotected adjacency-SIDs.</t>
          </li>
        </ul>
        <t>This ensures that any CS-SR policies in which the BSID provides transit for do not get rerouted due to topological changes or protected due to failures. A BSID may be pre-programmed in the network or automatically injected in the network by a PCE.</t>
      </section>
    </section>
    <section anchor="recovery">
      <name>Recovery Schemes</name>
      <t>Various protection and restoration schemes can be implemented. The terms "protection" and "restoration" are used with the same subtle distinctions outlined in section 1 of <xref target="RFC4872"/>, <xref target="RFC4427"/> and <xref target="RFC3386"/> respectively.</t>
      <ul spacing="normal">
        <li>
          <t>Protection : another candidate path is computed and fully established in the data plane and ready to carry traffic</t>
        </li>
        <li>
          <t>Restoration : a candidate path may be computed and may be partially established but is not ready to carry traffic</t>
        </li>
      </ul>
      <t>The term "failure" is used to represent both "hard failures" such complete loss of connectivity detected by <xref target="verification"/> or degradation, a packet loss ratio, beyond a configured acceptable threshold.</t>
      <section anchor="unprotected">
        <name>Unprotected</name>
        <t>In the most basic scenario no protection nor restoration is required. The CS-SR policy has only one candidate path configured. This candidate path is established, activated and is carrying traffic.</t>
        <t>When using PCEP, a PCRpt message is sent from the PCC to the PCE with the O field in the LSP object set to 2.</t>
        <t>When using BGP, a BGP-LS update with a SR Policy Candidate Path NLRI is sent from the endpoint to the centralized controller having</t>
        <ul spacing="normal">
          <li>
            <t>C flag set to 1 to indicate the candidate path was provisioned by the controller</t>
          </li>
          <li>
            <t>A flag set to 1 to indicate the candidate path is active and carrying traffic</t>
          </li>
        </ul>
        <t>In case of a failure along the path the CS-SR policy will go down and traffic will not be recovered.</t>
        <t>Typically two CS-SR policies are deployed either within the same network with disjoint paths or in two completely separate networks and the overlay service is responsible for traffic recovery.</t>
      </section>
      <section anchor="onetoone">
        <name>1:1 Protection</name>
        <t>For fast recovery against failures the CS-SR policy has two candidate paths. Both paths are established but only the candidate with higher preference is activated and is carrying traffic.</t>
        <t>When using PCEP, the PCRpt message for the candidate path with higher preference will have the O field in the LSP object set to 2. For the candidate path with the lower preference the O field in the LSP object is set to 1.</t>
        <t>Appropriate routing of the protect path diverse from the working path can be requested from the PCE by using the "Disjointness Association" object (type 2) defined in <xref target="RFC8800"/> in the PCRpt messages. The disjoint requirements are communicated in the "DISJOINTNESS-CONFIGURATION TLV"</t>
        <ul spacing="normal">
          <li>
            <t>L bit set to 1 for link diversity</t>
          </li>
          <li>
            <t>N bit set to 1 for node diversity</t>
          </li>
          <li>
            <t>S bit set to 1 for SRLG diversity</t>
          </li>
          <li>
            <t>T bit set to enforce strict diversity</t>
          </li>
        </ul>
        <t>The P bit may be set for first candidate path to allow for finding the best working path that does satisfy all constraints without considering diversity to the protect path.</t>
        <t>The "Objective Function (OF) TLV" as defined in section 5.3 of <xref target="RFC8800"/> may also be added to minimize the common shared resources.</t>
        <t>When using BGP, the controller is already aware of the disjoint requirements and does consider them while computing both paths. Two NLRIs with different distinguisher values and different preference values are included in the BGP UPDATE sent to the headend routers.</t>
        <t>A BGP-LS update is sent to the controller with a SR Policy Candidate Path NLRI for the candidate path with higher preference with</t>
        <ul spacing="normal">
          <li>
            <t>C flag set to 1 to indicate that candidate path was provisioned by the controller</t>
          </li>
          <li>
            <t>A flag set to 1 to indicate the candidate path is active and carrying traffic</t>
          </li>
        </ul>
        <t>and another SR Policy Candidate Path NLRI for the candidate path with lower preference with</t>
        <ul spacing="normal">
          <li>
            <t>C flag set to 1 to indicate the candidate path was provisioned by the controller</t>
          </li>
          <li>
            <t>B flag set to 1 to indicate the role of backup path</t>
          </li>
        </ul>
        <t>Upon a failure impacting the candidate path with higher preference carrying traffic, the candidate path with lower preference is activated immediately and traffic is now sent across it.</t>
        <t>When using PCEP a PCRpt message for the higher preference candidate path is sent to the PCE with the O field changed from 2 to 0 and a PCRpt message for the lower preference candidate path with the O field change from 1 to 2.</t>
        <t>When using BGP a BGP-LS update is sent to the controller with a SR Policy Candidate Path NLRI for the candidate path with higher preference with the A flag cleared and for another BGP-LS update for the candidate path with lower preference with the B flag cleared and A flag set to 1.</t>
        <t>Protection switching is bidirectional. As described in <xref target="verification"/>, both headends will generate and receive their own loopback mode test packets, hence even a unidirectional failure will always be detected by both headends without protection switch coordination required.</t>
        <section anchor="reversion">
          <name>Reversion</name>
          <t>Two cases are to be considered when the failure(s) impacting a candidate path with higher preference are cleared:</t>
          <ul spacing="normal">
            <li>
              <t>Revertive switching : re-activate the highere preference candidate path and start sending traffic over it</t>
            </li>
            <li>
              <t>Non-revertive switching : do not activate the higher preference candidate path and keep sending traffic via the lower preference candidate path</t>
            </li>
          </ul>
          <t>When using PCEP, for revertive switching a PCRpt message for the recovered higher preference candidate path is sent to the PCE with the O field changed from 0 to 2 and send a PCRpt message for the lower preference candidate path with the O field changed from 2 to 1. For non-revertive switching only a PCRpt message for the recovered higher preference candidate path with the O field set to 1 is sent.</t>
          <t>When using BGP and revertive switching a BGP-LS update is sent to the controller with a SR Policy Candidate Path NLRI for the recovered higher preference candidate path with the A flag set to 1 and another BGP-LS update for the lower preference candidate path with the A flag cleared and B flag set to 1. For non-revertive switching only a BGP-LS update for the higher preference candidate path with the B flag set to 1 is sent.</t>
        </section>
      </section>
      <section anchor="restoration">
        <name>Restoration</name>
        <section anchor="oneplusr">
          <name>1+R Restoration</name>
          <t>Compared to 1:1 protection described in <xref target="onetoone"/>, this restoration scheme avoids pre-allocating protection bandwidth in steady state, while still being able to recover traffic flow in case of a network failure in a deterministic way (maintain required bandwidth commitment)</t>
          <t>When using PCEP, the CS-SR policy is configured with two candidate paths. The candidate path with higher preference is established, activated (O field in LSP object is set to 2) and is carrying traffic.</t>
          <t>The second candidate path with lower preference is only established and activated (PCRpt message to the PCE with O field in LSP object is set to 2) upon a failure impacting the first candidate path in order to send traffic over an alternate path through the network around the failure with potentially relaxed constraints but still satisfying the bandwidth commitment.</t>
          <t>The second candidate path is generally only requested from the PCE and activated after a failure, but may also be requested and pre-established during CS-SR policy creation with the downside of bandwidth being set aside ahead of time.</t>
          <t>As soon as failure(s) that brought the first candidate path down are cleared, the second candidate path is getting deactivated (PCRpt message to the PCE with O field in LSP object is set to 1) or torn down. The first candidate path is activated (PCRpt message to the PCE with O field in LSP object is set to 2) and traffic sent across it.</t>
          <t>When using BGP, the controller does compute one path and does include one NLRI in the BGP UPDATE message sent to the headend routers to instantiate the CS-SR policy with one candidate path active and carrying traffic.</t>
          <t>A BGP-LS update with a SR Policy Candidate Path NLRI is sent to the controller with</t>
          <ul spacing="normal">
            <li>
              <t>C flag set to 1 to indicate the candidate path was provisioned by the controller</t>
            </li>
            <li>
              <t>A flag set to 1 to indicate the candidate path is active and carrying traffic</t>
            </li>
          </ul>
          <t>Upon the controller detecting the failure of the CS-SR policy's candidate path, another path is computed and added as second candidate path to the CS-SR policy by sending a BGP UPDATE message to the headend routers with a NLRI distinguisher value being different and preference being lower compared to the first candidate path.</t>
          <t>A BGP-LS update with a SR Policy Candidate Path NLRI for the candidate path with higher preference is sent to the controller with</t>
          <ul spacing="normal">
            <li>
              <t>A flag is cleared to indicate the candidate path is no longer active and not carrying traffic anymore</t>
            </li>
          </ul>
          <t>and another SR Policy Candidate Path NLRI for the candidate path with lower preference with</t>
          <ul spacing="normal">
            <li>
              <t>C flag set to 1 to indicate the candidate path was provisioned by the controller</t>
            </li>
            <li>
              <t>A flag set to 1 to indicate the candidate path is active and carrying traffic</t>
            </li>
          </ul>
          <t>The second candidate path is generally only instantiated by the controller and activated after a failure, but may also be instantiated and pre-established during CS-SR policy creation with the downside of bandwidth being set aside ahead of time. If so, a BGP-LS update with a SR Policy Candidate Path NLRI is sent to the controller with</t>
          <ul spacing="normal">
            <li>
              <t>C flag set to 1 to indicate the candidate path was provisioned by the controller</t>
            </li>
            <li>
              <t>B flag set to 1 to indicate the role of backup path</t>
            </li>
          </ul>
          <t>Once the controller has detected the failure(s) that brought the first candidate path down are cleared, a BGP-LS update with a SR Policy Candidate Path NLRI for the first candidate path is sent to the controller with</t>
          <ul spacing="normal">
            <li>
              <t>A flag set to 1 to indicate the candidate path became active and is carrying traffic again</t>
            </li>
          </ul>
          <t>The second candidate path is getting removed by a BGP UPDATE message withdrawing the NLRI of the second candidate path.</t>
          <t>Restoration and reversion behavior is bidirectional. As described in <xref target="verification"/>, both headends use connectivity verification in loopback mode and therefore even in case of unidirectional failures both headends will detect the failure or clearance of the failure and switch traffic away from the failed or to the recovered candidate path.</t>
        </section>
        <section anchor="onetooneplusr">
          <name>1:1+R Restoration</name>
          <t>For further resiliency in case of multiple concurrent failures that could affect both candidate paths of 1:1 protection described in <xref target="onetoone"/>, a third candidate path with a preference lower than the other two candidate paths is added to the CS-SR policy to enable restoration.</t>
          <t>When using PCEP, the third candidate path will generally only be established, activated (PCRpt message to the PCE with O field in LSP object is set to 2) and carry traffic after failure(s) have impacted both the candidate path with highest and second highest preference.</t>
          <t>The third candidate path may also be requested and pre-computed already whenever either the first or second candidate path went down due to a failure with the downside of bandwidth being set aside ahead of time.</t>
          <t>As soon as failure(s) that brought either the first or second candidate path down are cleared the third candidate path is getting deactivated (PCRpt message to the PCE with O field in LSP object is set to 1), the candidate path that recovered is activated (PCRpt message to the PCE with O field in LSP object is set to 2) and traffic sent across it.</t>
          <t>When using BGP, the third candidate path will generally only be instantiated by the controller and activated after failure(s) have impacted both the candidate path with highest and second highest preference, but may also be instantiated and pre-established during CS-SR policy creation with the downside of bandwidth being set aside ahead of time.</t>
          <t>Assuming the case where both candidate paths are down, a BGP-LS update is sent with SR Policy Candidate Path NLRIs for the first and second candidate path with</t>
          <ul spacing="normal">
            <li>
              <t>A flag cleared</t>
            </li>
          </ul>
          <t>and a SR Policy Candidate Path NLRI for the third candidate path with</t>
          <ul spacing="normal">
            <li>
              <t>C flag set to 1 to indicate the candidate path was provisioned by the controller</t>
            </li>
            <li>
              <t>A flag set to 1 to indicate the candidate path is active and carrying traffic</t>
            </li>
          </ul>
          <t>Assuming the case where only one candidate path is down, a BGP-LS update is sent with a SR Policy Candidate Path NLRI for the failed candidate path with</t>
          <ul spacing="normal">
            <li>
              <t>A flag cleared</t>
            </li>
          </ul>
          <t>a SR Policy Candidate Path NLRI for the second candidate path with</t>
          <ul spacing="normal">
            <li>
              <t>A flag set to 1 to indicate it is active and carrying traffic network</t>
            </li>
          </ul>
          <t>and another SR Policy Candidate Path NLRI for the newly installed third candidate path with</t>
          <ul spacing="normal">
            <li>
              <t>C flag set to 1 to indicate the candidate path was provisioned by the controller</t>
            </li>
            <li>
              <t>B flag set to 1 to indicate the role of backup path</t>
            </li>
          </ul>
          <t>Once the controller has detected the failure(s) that brought either the first or the second candidate path down are cleared, a BGP-LS update with a SR Policy Candidate Path NLRI for the recovered candidate path is sent to the controller with</t>
          <ul spacing="normal">
            <li>
              <t>A flag set to 1 to indicate the candidate path became active and is carrying traffic again</t>
            </li>
          </ul>
          <t>The third candidate path is getting removed by a BGP UPDATE message withdrawing the NLRI of the third candidate path.</t>
          <t>Again restoration and reversion behavior is bidirectional. As described in <xref target="verification"/>, both headends use connectivity verification in loopback mode and therefore even in case of unidirectional failures both headends will detect the failure or clearance of the failure and switch traffic away from the failed or to the recovered candidate path.</t>
        </section>
      </section>
    </section>
    <section anchor="OAM">
      <name>Operations, Administration, and Maintenance (OAM)</name>
      <section anchor="verification">
        <name>Connectivity Verification</name>
        <t>The proper operation of each segment list is validated by both headends using STAMP in loopback measurement mode as described in section 4.2.3 of <xref target="I-D.ietf-spring-stamp-srpm"/>.</t>
        <t>As the STAMP test packets are including both the segment list of the forward and reverse path, standard segment routing data plane operations will make those packets get switched along the forward path to the tailend and along the reverse path back to the headend.</t>
        <t>When using PCEP, the headend forms the bidirectional SR Policy association using the procedure described in <xref target="I-D.ietf-pce-sr-bidir-path"/> and receives the information about the reverse segment list from the PCE as described in section 4.5 of <xref target="I-D.ietf-pce-multipath"/></t>
        <t>When using BGP, the controller does inform the headend routers about the reverse segment list using the Reverse Segment List Sub-TLV defined in section 4.1 of <xref target="I-D.ietf-idr-sr-policy-path-segment"/>.</t>
      </section>
      <section anchor="performance-measurement">
        <name>Performance Measurement</name>
        <t>The same STAMP session is used to estimate round-trip loss as described in section 5 of <xref target="I-D.ietf-spring-stamp-srpm"/>.</t>
        <t>The same STAMP session used for connectivity verification can be used to measure delay. As loopback mode is used only round-trip delay is measured and one-way has to be derived by dividing the round-trip delay by two.</t>
      </section>
      <section anchor="candidate-path-validity-verification">
        <name>Candidate Path Validity Verification</name>
        <t>A stateful PCE/controller is in sync with the network topology and the CS-SR Policies provisioned on the headend routers. As described in <xref target="characteristics"/> a path must not be automatically recomputed after or optimized for topology changes. However there may be a requirement for the stateful PCE/controller to tear down a path if the path no longer satisfies the original requirements, detected by stateful PCE/controller, such as insufficient bandwidth, diversity constraint no longer met or latency constraint exceeded.</t>
        <t>The headend may measure the actual bandwidth utilization of a CS-SR policy to take local action and/or report it as requested bandwidth via PCEP or BGP-LS to the stateful PCE/controller. Typical actions are raising alarms or adjusting the reserved bandwidth.</t>
        <t>For a CS-SR policy configured with multiple candidate paths, a headend may switch to another candidate path if the stateful PCE/controller decided to tear down the active candidate path.</t>
        <!-- 
TODO : add some more text and maybe a diagram similar to what reza proposed
-->

</section>
    </section>
    <section anchor="external-commands">
      <name>External Commands</name>
      <section anchor="candidate-path-switchover">
        <name>Candidate Path Switchover</name>
        <t>It is very common to allow operators to trigger a switch between candidate paths even if no failure is present. I.e. to proactively drain a resource for maintenance purposes. Operator triggered switching between candidate paths is unidirectional and has to be requested on both headends.</t>
      </section>
      <section anchor="candidate-path-re-computation">
        <name>Candidate Path Re-computation</name>
        <t>While no automatic re-optimization or pre-computation of CS-SR policy candidate paths is allowed as specified in <xref target="characteristics"/>, network operators trying to optimize network utilization may explicitly request a candidate path to be re-computed at a certain point in time.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TO BE ADDED</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The author's want to thank Samuel Sidor, Mike Koldychev, Rakesh Gandhi and Tarek Saad for providing their review comments and all contributors for their inputs and support.</t>
      <!-- KRAMNDOWN REFERENCES

kramdown examples

references
https://github.com/cabo/kramdown-rfc2629
https://github.com/cabo/kramdown-rfc2629/blob/master/examples/draft-ietf-core-block-xx.mkd
https://miek.nl/2016/march/05/mmark-syntax-document/

Example table:

| HTTP | CoAP |
| 200  | 2.05 |
{: #code-mapping}

The mapping is defined in {{code-mapping}}.

Example references:

* Normative reference {{RFC2119}} example
* Informative reference {{RFC1925}} example

-->

</section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8231">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions. This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8231"/>
          <seriesInfo name="DOI" value="10.17487/RFC8231"/>
        </reference>
        <reference anchor="I-D.ietf-spring-segment-routing-policy">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Alex Bogdanov" initials="A." surname="Bogdanov">
              <organization>British Telecom</organization>
            </author>
            <author fullname="Paul Mattes" initials="P." surname="Mattes">
              <organization>Microsoft</organization>
            </author>
            <date day="22" month="March" year="2022"/>
            <abstract>
              <t>Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.

 This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-segment-routing-policy-22"/>
        </reference>
        <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>
        <reference anchor="RFC8660">
          <front>
            <title>Segment Routing with the MPLS Data Plane</title>
            <author fullname="A. Bashandy" initials="A." role="editor" surname="Bashandy"/>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <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="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source-routing paradigm. A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with an SR header. In the MPLS data plane, the SR header is instantiated through a label stack. This document specifies the forwarding behavior to allow instantiating SR over the MPLS data plane (SR-MPLS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8660"/>
          <seriesInfo name="DOI" value="10.17487/RFC8660"/>
        </reference>
        <reference anchor="RFC8664">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing</title>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="J. Hardwick" initials="J." surname="Hardwick"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) enables any head-end node to select any path without relying on a hop-by-hop signaling technique (e.g., LDP or RSVP-TE). It depends only on "segments" that are advertised by link-state Interior Gateway Protocols (IGPs). An SR path can be derived from a variety of mechanisms, including an IGP Shortest Path Tree (SPT), an explicit configuration, or a Path Computation Element (PCE). This document specifies extensions to the Path Computation Element Communication Protocol (PCEP) that allow a stateful PCE to compute and initiate Traffic-Engineering (TE) paths, as well as a Path Computation Client (PCC) to request a path subject to certain constraints and optimization criteria in SR networks.</t>
              <t>This document updates RFC 8408.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8664"/>
          <seriesInfo name="DOI" value="10.17487/RFC8664"/>
        </reference>
        <reference anchor="RFC8754">
          <front>
            <title>IPv6 Segment Routing Header (SRH)</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <date month="March" year="2020"/>
            <abstract>
              <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8754"/>
          <seriesInfo name="DOI" value="10.17487/RFC8754"/>
        </reference>
        <reference anchor="I-D.ietf-pce-segment-routing-ipv6">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for IPv6 Segment Routing</title>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Prejeeth Kaladharan" initials="P." surname="Kaladharan">
              <organization>RtBrick Inc</organization>
            </author>
            <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Yongqing Zhu" initials="Y." surname="Zhu">
              <organization>China Telecom</organization>
            </author>
            <date day="4" month="April" year="2024"/>
            <abstract>
              <t>   Segment Routing (SR) can be used to steer packets through a network
   using the IPv6 or MPLS data plane, employing the source routing
   paradigm.

   A Segment Routed Path can be derived from a variety of mechanisms,
   including an IGP Shortest Path Tree (SPT), explicit configuration, or
   a Path Computation Element(PCE).

   Since SR can be applied to both MPLS and IPv6 data-planes, a PCE
   should be able to compute an SR Path for both MPLS and IPv6 data-
   planes.  The Path Computation Element communication Protocol (PCEP)
   extension and mechanisms to support SR-MPLS have been defined.  This
   document outlines the necessary extensions to support SR for the IPv6
   data-plane within PCEP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-segment-routing-ipv6-25"/>
        </reference>
        <reference anchor="I-D.ietf-idr-segment-routing-te-policy">
          <front>
            <title>Advertising Segment Routing Policies in BGP</title>
            <author fullname="Stefano Previdi" initials="S." surname="Previdi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Paul Mattes" initials="P." surname="Mattes">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Dhanendra Jain" initials="D." surname="Jain">
              <organization>Google</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   This document introduces a BGP SAFI with two NLRIs to advertise a
   candidate path of a Segment Routing (SR) Policy.  An SR Policy is an
   ordered list of segments (i.e., instructions) that represent a
   source-routed policy.  An SR Policy consists of one or more candidate
   paths, each consisting of one or more segment lists.  A headend may
   be provisioned with candidate paths for an SR Policy via several
   different mechanisms, e.g., CLI, NETCONF, PCEP, or BGP.  This
   document specifies how BGP may be used to distribute SR Policy
   candidate paths.  It defines sub-TLVs for the Tunnel Encapsulation
   Attribute for signaling information about these candidate paths.

   This documents updates RFC9012 with extensions to the Color Extended
   Community to support additional steering modes over SR Policy.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-segment-routing-te-policy-26"/>
        </reference>
        <reference anchor="RFC3246">
          <front>
            <title>An Expedited Forwarding PHB (Per-Hop Behavior)</title>
            <author fullname="B. Davie" initials="B." surname="Davie"/>
            <author fullname="A. Charny" initials="A." surname="Charny"/>
            <author fullname="J.C.R. Bennet" initials="J.C.R." surname="Bennet"/>
            <author fullname="K. Benson" initials="K." surname="Benson"/>
            <author fullname="J.Y. Le Boudec" initials="J.Y." surname="Le Boudec"/>
            <author fullname="W. Courtney" initials="W." surname="Courtney"/>
            <author fullname="S. Davari" initials="S." surname="Davari"/>
            <author fullname="V. Firoiu" initials="V." surname="Firoiu"/>
            <author fullname="D. Stiliadis" initials="D." surname="Stiliadis"/>
            <date month="March" year="2002"/>
            <abstract>
              <t>This document defines a PHB (per-hop behavior) called Expedited Forwarding (EF). The PHB is a basic building block in the Differentiated Services architecture. EF is intended to provide a building block for low delay, low jitter and low loss services by ensuring that the EF aggregate is served at a certain configured rate. This document obsoletes RFC 2598. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3246"/>
          <seriesInfo name="DOI" value="10.17487/RFC3246"/>
        </reference>
        <reference anchor="RFC2597">
          <front>
            <title>Assured Forwarding PHB Group</title>
            <author fullname="J. Heinanen" initials="J." surname="Heinanen"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="W. Weiss" initials="W." surname="Weiss"/>
            <author fullname="J. Wroclawski" initials="J." surname="Wroclawski"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>This document defines a general use Differentiated Services (DS) Per-Hop-Behavior (PHB) Group called Assured Forwarding (AF). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2597"/>
          <seriesInfo name="DOI" value="10.17487/RFC2597"/>
        </reference>
        <reference anchor="RFC8667">
          <front>
            <title>IS-IS Extensions for Segment Routing</title>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." role="editor" surname="Ginsberg"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="A. Bashandy" initials="A." surname="Bashandy"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) allows for a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological sub-paths, called "segments". These segments are advertised by the link-state routing protocols (IS-IS and OSPF).</t>
              <t>This document describes the IS-IS extensions that need to be introduced for Segment Routing operating on an MPLS data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8667"/>
          <seriesInfo name="DOI" value="10.17487/RFC8667"/>
        </reference>
        <reference anchor="RFC8665">
          <front>
            <title>OSPF Extensions for Segment Routing</title>
            <author fullname="P. Psenak" initials="P." role="editor" surname="Psenak"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) allows a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological subpaths called "segments". These segments are advertised by the link-state routing protocols (IS-IS and OSPF).</t>
              <t>This document describes the OSPFv2 extensions required for Segment Routing.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8665"/>
          <seriesInfo name="DOI" value="10.17487/RFC8665"/>
        </reference>
        <reference anchor="RFC9085">
          <front>
            <title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing</title>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>Segment Routing (SR) allows for a flexible definition of end-to-end paths by encoding paths as sequences of topological subpaths, called "segments". These segments are advertised by routing protocols, e.g., by the link-state routing protocols (IS-IS, OSPFv2, and OSPFv3) within IGP topologies.</t>
              <t>This document defines extensions to the Border Gateway Protocol - Link State (BGP-LS) address family in order to carry SR information via BGP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9085"/>
          <seriesInfo name="DOI" value="10.17487/RFC9085"/>
        </reference>
        <reference anchor="I-D.ietf-lsr-isis-srv6-extensions">
          <front>
            <title>IS-IS Extensions to Support Segment Routing over the IPv6 Data Plane</title>
            <author fullname="Peter Psenak" initials="P." surname="Psenak">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ahmed Bashandy" initials="A." surname="Bashandy">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Zhibo Hu" initials="Z." surname="Hu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="14" month="November" year="2022"/>
            <abstract>
              <t>The Segment Routing (SR) architecture allows a flexible definition of the end-to-end path by encoding it as a sequence of topological elements called "segments". It can be implemented over the MPLS or the IPv6 data plane. This document describes the IS-IS extensions required to support SR over the IPv6 data plane.

 This document updates RFC 7370 by modifying an existing registry.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lsr-isis-srv6-extensions-19"/>
        </reference>
        <reference anchor="I-D.ietf-lsr-ospfv3-srv6-extensions">
          <front>
            <title>OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)</title>
            <author fullname="Zhenbin Li" initials="Z." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Zhibo Hu" initials="Z." surname="Hu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Peter Psenak" initials="P." surname="Psenak">
              <organization>Cisco Systems</organization>
            </author>
            <date day="21" month="June" year="2023"/>
            <abstract>
              <t>The Segment Routing (SR) architecture allows a flexible definition of the end-to-end path by encoding it as a sequence of topological elements called segments.  It can be implemented over an MPLS or IPv6 data plane.  This document describes the OSPFv3 extensions required to support SR over the IPv6 data plane.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lsr-ospfv3-srv6-extensions-15"/>
        </reference>
        <reference anchor="I-D.ietf-idr-bgpls-srv6-ext">
          <front>
            <title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6)</title>
            <author fullname="Gaurav Dawra" initials="G." surname="Dawra">
              <organization>LinkedIn</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Mach Chen" initials="M." surname="Chen">
              <organization>Huawei</organization>
            </author>
            <author fullname="Daniel Bernier" initials="D." surname="Bernier">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <date day="17" month="February" year="2023"/>
            <abstract>
              <t>Segment Routing over IPv6 (SRv6) allows for a flexible definition of end-to-end paths within various topologies by encoding paths as sequences of topological or functional sub-paths called "segments". These segments are advertised by various protocols such as BGP, IS-IS, and OSPFv3.

 This document defines extensions to BGP - Link State (BGP-LS) to advertise SRv6 segments along with their behaviors and other attributes via BGP. The BGP-LS address-family solution for SRv6 described in this document is similar to BGP-LS for SR for the MPLS data plane, which is defined in RFC 9085.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgpls-srv6-ext-14"/>
        </reference>
        <reference anchor="RFC5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author fullname="JP. Vasseur" initials="JP." role="editor" surname="Vasseur"/>
            <author fullname="JL. Le Roux" initials="JL." role="editor" surname="Le Roux"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs. Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering. PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5440"/>
          <seriesInfo name="DOI" value="10.17487/RFC5440"/>
        </reference>
        <reference anchor="I-D.ietf-pce-local-protection-enforcement">
          <front>
            <title>Local Protection Enforcement in the Path Computation Element Communication Protocol (PCEP)</title>
            <author fullname="Andrew Stone" initials="A." surname="Stone">
              <organization>Nokia</organization>
            </author>
            <author fullname="Mustapha Aissaoui" initials="M." surname="Aissaoui">
              <organization>Nokia</organization>
            </author>
            <author fullname="Samuel Sidor" initials="S." surname="Sidor">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
              <organization>Ciena Coroporation</organization>
            </author>
            <date day="23" month="June" year="2023"/>
            <abstract>
              <t>This document updates RFC 5440 to clarify usage of the Local Protection Desired bit signaled in the Path Computation Element Communication Protocol (PCEP).  This document also introduces a new flag for signaling protection enforcement in PCEP.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-local-protection-enforcement-11"/>
        </reference>
        <reference anchor="RFC8697">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Establishing Relationships between Sets of Label Switched Paths (LSPs)</title>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
            <author fullname="D. Dhody" initials="D." surname="Dhody"/>
            <author fullname="Y. Tanaka" initials="Y." surname="Tanaka"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This document introduces a generic mechanism to create a grouping of Label Switched Paths (LSPs) in the context of a Path Computation Element (PCE). This grouping can then be used to define associations between sets of LSPs or between a set of LSPs and a set of attributes (such as configuration parameters or behaviors), and it is equally applicable to the stateful PCE (active and passive modes) and the stateless PCE.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8697"/>
          <seriesInfo name="DOI" value="10.17487/RFC8697"/>
        </reference>
        <reference anchor="I-D.ietf-pce-sr-bidir-path">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Associated Bidirectional Segment Routing (SR) Paths</title>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Mach Chen" initials="M." surname="Chen">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Quan Xiong" initials="Q." surname="Xiong">
              <organization>ZTE Corporation</organization>
            </author>
            <date day="13" month="February" year="2024"/>
            <abstract>
              <t>   The Path Computation Element Communication Protocol (PCEP) provides
   mechanisms for Path Computation Elements (PCEs) to perform path
   computations in response to Path Computation Clients (PCCs) requests.
   Segment routing (SR) leverages the source routing and tunneling
   paradigms.  The Stateful PCEP extensions allow stateful control of
   Segment Routing Traffic Engineering (TE) Paths.  Furthermore, PCEP
   can be used for computing SR TE paths in the network.

   This document defines PCEP extensions for grouping two unidirectional
   SR Paths (one in each direction in the network) into a single
   associated bidirectional SR Path.  The mechanisms defined in this
   document can also be applied using a stateful PCE for both PCE-
   initiated and PCC-initiated LSPs or when using a stateless PCE.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-sr-bidir-path-13"/>
        </reference>
        <reference anchor="RFC9059">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Associated Bidirectional Label Switched Paths (LSPs)</title>
            <author fullname="R. Gandhi" initials="R." role="editor" surname="Gandhi"/>
            <author fullname="C. Barth" initials="C." surname="Barth"/>
            <author fullname="B. Wen" initials="B." surname="Wen"/>
            <date month="June" year="2021"/>
            <abstract>
              <t>This document defines Path Computation Element Communication Protocol (PCEP) extensions for grouping two unidirectional MPLS-TE Label Switched Paths (LSPs), one in each direction in the network, into an associated bidirectional LSP. These PCEP extensions can be applied either using a stateful PCE for both PCE-initiated and PCC-initiated LSPs or using a stateless PCE. The PCEP procedures defined are applicable to the LSPs using RSVP-TE for signaling.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9059"/>
          <seriesInfo name="DOI" value="10.17487/RFC9059"/>
        </reference>
        <reference anchor="I-D.ietf-pce-segment-routing-policy-cp">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing (SR) Policy Candidate Paths</title>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Colby Barth" initials="C." surname="Barth">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Shuping Peng" initials="S." surname="Peng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
              <organization>Nokia</organization>
            </author>
            <date day="17" month="March" year="2024"/>
            <abstract>
              <t>   Segment Routing (SR) allows a node to steer a packet flow along any
   path.  SR Policy is an ordered list of segments (i.e., instructions)
   that represent a source-routed policy.  Packet flows are steered into
   an SR Policy on a node where it is instantiated called a headend
   node.  An SR Policy is made of one or more candidate paths.

   This document specifies Path Computation Element Communication
   Protocol (PCEP) extension to associate candidate paths of the SR
   Policy.  Additionally, this document updates [RFC8231] to allow
   stateful bringup of an SR LSP, without using PCReq/PCRep messages.
   This document is applicable to both Segment Routing over MPLS and to
   Segment Routing over IPv6 (SRv6).


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-segment-routing-policy-cp-15"/>
        </reference>
        <reference anchor="I-D.sidor-pce-circuit-style-pcep-extensions">
          <front>
            <title>PCEP extensions for Circuit Style Policies</title>
            <author fullname="Samuel Sidor" initials="S." surname="Sidor">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Praveen Maheshwari" initials="P." surname="Maheshwari">
              <organization>Airtel India</organization>
            </author>
            <author fullname="Andrew Stone" initials="A." surname="Stone">
              <organization>Nokia</organization>
            </author>
            <author fullname="Luay Jalil" initials="L." surname="Jalil">
              <organization>Verizon</organization>
            </author>
            <author fullname="Shuping Peng" initials="S." surname="Peng">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="15" month="December" year="2023"/>
            <abstract>
              <t>   This document proposes a set of extensions for Path Computation
   Element Communication Protocol (PCEP) for Circuit Style Policies -
   Segment-Routing Policy designed to satisfy requirements for
   connection-oriented transport services.  New TLV is introduced to
   control path recomputation and new flag to add ability to request
   path with strict hops only.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sidor-pce-circuit-style-pcep-extensions-06"/>
        </reference>
        <reference anchor="I-D.ietf-pce-multipath">
          <front>
            <title>PCEP Extensions for Signaling Multipath Information</title>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bhupendra Yadav" initials="B." surname="Yadav">
              <organization>Ciena</organization>
            </author>
            <author fullname="Shuping Peng" initials="S." surname="Peng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Verizon Inc.</organization>
            </author>
            <date day="8" month="April" year="2024"/>
            <abstract>
              <t>   Certain traffic engineering path computation problems require
   solutions that consist of multiple traffic paths, that together form
   a solution.  Returning just one single traffic path does not provide
   a valid solution.  This document defines mechanisms to encode
   multiple paths for a single set of objectives and constraints.  This
   allows encoding of multiple Segment Lists per Candidate Path within a
   Segment Routing Policy.  The new PCEP mechanisms are meant to be
   generic, where possible, to allow for future re-use outside of SR
   Policy.  The new PCEP mechanisms are applicable to both stateless and
   stateful PCEP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-multipath-11"/>
        </reference>
        <reference anchor="I-D.ietf-idr-bgp-ls-sr-policy">
          <front>
            <title>Advertisement of Segment Routing Policies using BGP Link-State</title>
            <author fullname="Stefano Previdi" initials="S." surname="Previdi">
              <organization>Individual</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Jie Dong" initials="J." surname="Dong">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Hannes Gredler" initials="H." surname="Gredler">
              <organization>RtBrick Inc.</organization>
            </author>
            <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
              <organization>Nvidia</organization>
            </author>
            <date day="20" month="March" year="2024"/>
            <abstract>
              <t>   This document describes a mechanism to collect the Segment Routing
   Policy information that is locally available in a node and advertise
   it into BGP Link-State (BGP-LS) updates.  Such information can be
   used by external components for path computation, re-optimization,
   service placement, network visualization, etc.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-ls-sr-policy-04"/>
        </reference>
        <reference anchor="RFC8491">
          <front>
            <title>Signaling Maximum SID Depth (MSD) Using IS-IS</title>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="U. Chunduri" initials="U." surname="Chunduri"/>
            <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <date month="November" year="2018"/>
            <abstract>
              <t>This document defines a way for an Intermediate System to Intermediate System (IS-IS) router to advertise multiple types of supported Maximum SID Depths (MSDs) at node and/or link granularity. Such advertisements allow entities (e.g., centralized controllers) to determine whether a particular Segment ID (SID) stack can be supported in a given network. This document only defines one type of MSD: Base MPLS Imposition. However, it defines an encoding that can support other MSD types. This document focuses on MSD use in a network that is Segment Routing (SR) enabled, but MSD may also be useful when SR is not enabled.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8491"/>
          <seriesInfo name="DOI" value="10.17487/RFC8491"/>
        </reference>
        <reference anchor="RFC8476">
          <front>
            <title>Signaling Maximum SID Depth (MSD) Using OSPF</title>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="U. Chunduri" initials="U." surname="Chunduri"/>
            <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <date month="December" year="2018"/>
            <abstract>
              <t>This document defines a way for an Open Shortest Path First (OSPF) router to advertise multiple types of supported Maximum SID Depths (MSDs) at node and/or link granularity. Such advertisements allow entities (e.g., centralized controllers) to determine whether a particular Segment Identifier (SID) stack can be supported in a given network. This document only refers to the Signaling MSD as defined in RFC 8491, but it defines an encoding that can support other MSD types. Here, the term "OSPF" means both OSPFv2 and OSPFv3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8476"/>
          <seriesInfo name="DOI" value="10.17487/RFC8476"/>
        </reference>
        <reference anchor="RFC8814">
          <front>
            <title>Signaling Maximum SID Depth (MSD) Using the Border Gateway Protocol - Link State</title>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="U. Chunduri" initials="U." surname="Chunduri"/>
            <author fullname="K. Talaulikar" initials="K." surname="Talaulikar"/>
            <author fullname="G. Mirsky" initials="G." surname="Mirsky"/>
            <author fullname="N. Triantafillis" initials="N." surname="Triantafillis"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>This document defines a way for a Border Gateway Protocol - Link
State (BGP-LS) speaker to advertise multiple types of supported
Maximum SID Depths (MSDs) at node and/or link granularity.</t>
              <t>Such advertisements allow entities (e.g., centralized controllers) to
determine whether a particular Segment Identifier (SID) stack can be
supported in a given network.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8814"/>
          <seriesInfo name="DOI" value="10.17487/RFC8814"/>
        </reference>
        <reference anchor="RFC4872">
          <front>
            <title>RSVP-TE Extensions in Support of End-to-End Generalized Multi-Protocol Label Switching (GMPLS) Recovery</title>
            <author fullname="J.P. Lang" initials="J.P." role="editor" surname="Lang"/>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="D. Papadimitriou" initials="D." role="editor" surname="Papadimitriou"/>
            <date month="May" year="2007"/>
            <abstract>
              <t>This document describes protocol-specific procedures and extensions for Generalized Multi-Protocol Label Switching (GMPLS) Resource ReSerVation Protocol - Traffic Engineering (RSVP-TE) signaling to support end-to-end Label Switched Path (LSP) recovery that denotes protection and restoration. A generic functional description of GMPLS recovery can be found in a companion document, RFC 4426. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4872"/>
          <seriesInfo name="DOI" value="10.17487/RFC4872"/>
        </reference>
        <reference anchor="RFC4427">
          <front>
            <title>Recovery (Protection and Restoration) Terminology for Generalized Multi-Protocol Label Switching (GMPLS)</title>
            <author fullname="E. Mannie" initials="E." role="editor" surname="Mannie"/>
            <author fullname="D. Papadimitriou" initials="D." role="editor" surname="Papadimitriou"/>
            <date month="March" year="2006"/>
            <abstract>
              <t>This document defines a common terminology for Generalized Multi-Protocol Label Switching (GMPLS)-based recovery mechanisms (i.e., protection and restoration). The terminology is independent of the underlying transport technologies covered by GMPLS. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4427"/>
          <seriesInfo name="DOI" value="10.17487/RFC4427"/>
        </reference>
        <reference anchor="RFC3386">
          <front>
            <title>Network Hierarchy and Multilayer Survivability</title>
            <author fullname="W. Lai" initials="W." role="editor" surname="Lai"/>
            <author fullname="D. McDysan" initials="D." role="editor" surname="McDysan"/>
            <date month="November" year="2002"/>
          </front>
          <seriesInfo name="RFC" value="3386"/>
          <seriesInfo name="DOI" value="10.17487/RFC3386"/>
        </reference>
        <reference anchor="RFC8800">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extension for Label Switched Path (LSP) Diversity Constraint Signaling</title>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="C. Barth" initials="C." surname="Barth"/>
            <author fullname="M. Negi" initials="M." surname="Negi"/>
            <date month="July" year="2020"/>
            <abstract>
              <t>This document introduces a simple mechanism to associate a group of Label Switched Paths (LSPs) via an extension to the Path Computation Element Communication Protocol (PCEP) with the purpose of computing diverse (disjointed) paths for those LSPs. The proposed extension allows a Path Computation Client (PCC) to advertise to a Path Computation Element (PCE) that a particular LSP belongs to a particular Disjoint Association Group; thus, the PCE knows that the LSPs in the same group need to be disjoint from each other.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8800"/>
          <seriesInfo name="DOI" value="10.17487/RFC8800"/>
        </reference>
        <reference anchor="I-D.ietf-spring-stamp-srpm">
          <front>
            <title>Performance Measurement Using Simple Two-Way Active Measurement Protocol (STAMP) for Segment Routing Networks</title>
            <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Mach Chen" initials="M." surname="Chen">
              <organization>Huawei</organization>
            </author>
            <author fullname="Richard &quot;Footer&quot; Foote" initials="R. F." surname="Foote">
              <organization>Nokia</organization>
            </author>
            <date day="4" month="April" year="2024"/>
            <abstract>
              <t>   Segment Routing (SR) leverages the source routing paradigm.  SR is
   applicable to both Multiprotocol Label Switching (SR-MPLS) and IPv6
   (SRv6) data planes.  This document describes procedures for
   Performance Measurement in SR networks using Simple Two-Way Active
   Measurement Protocol (STAMP) defined in RFC 8762 and its optional
   extensions defined in RFC 8972 and further augmented in RFC 9503.
   The procedure described is used for links, SR paths (including SR
   Policies and SR Flexible Algorithm IGP paths) as well as Layer-3 and
   Layer-2 services in SR networks, and is applicable to both SR-MPLS
   and SRv6 data planes.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-stamp-srpm-14"/>
        </reference>
        <reference anchor="I-D.ietf-idr-sr-policy-path-segment">
          <front>
            <title>SR Policy Extensions for Path Segment and Bidirectional Path</title>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Zhenbin Li" initials="Z." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Yuanyang Yin" initials="Y." surname="Yin">
              <organization>China Telecom</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <date day="19" month="February" year="2024"/>
            <abstract>
              <t>   A Segment Routing (SR) policy is a set of candidate SR paths
   consisting of one or more segment lists with necessary path
   attributes.  For each SR path, it may also have its own path
   attributes, and Path Segment is one of them.  A Path Segment is
   defined to identify an SR path, which can be used for performance
   measurement, path correlation, and end-2-end path protection.  Path
   Segment can be also used to correlate two unidirectional SR paths
   into a bidirectional SR path which is required in some scenarios, for
   example, mobile backhaul transport network.

   This document defines extensions to BGP to distribute SR policies
   carrying Path Segment and bidirectional path information.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-sr-policy-path-segment-09"/>
        </reference>
        <reference anchor="RFC1925">
          <front>
            <title>The Twelve Networking Truths</title>
            <author fullname="R. Callon" initials="R." surname="Callon"/>
            <date month="April" year="1996"/>
            <abstract>
              <t>This memo documents the fundamental truths of networking for the Internet community. This memo does not specify a standard, except in the sense that all standards must implicitly follow the fundamental truths. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1925"/>
          <seriesInfo name="DOI" value="10.17487/RFC1925"/>
        </reference>
      </references>
    </references>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="D." surname="Voyer" fullname="Daniel Voyer">
        <organization>Bell Canada</organization>
        <address>
          <email>daniel.voyer@bell.ca</email>
        </address>
      </contact>
      <contact initials="L." surname="Jalil" fullname="Luay Jalil">
        <organization>Verizon</organization>
        <address>
          <email>luay.jalil@verizon.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Peng" fullname="Shuping Peng">
        <organization>Huawei Technologies</organization>
        <address>
          <email>pengshuping@huawei.com</email>
        </address>
      </contact>
      <contact initials="C." surname="Filsfils" fullname="Clarence Filsfils">
        <organization>Cisco Systems, Inc.</organization>
        <address>
          <email>cfilsfil@cisco.com</email>
        </address>
      </contact>
      <contact initials="F." surname="Clad" fullname="Francois Clad">
        <organization>Cisco Systems, Inc.</organization>
        <address>
          <email>fclad@cisco.com</email>
        </address>
      </contact>
      <contact initials="T." surname="Saad" fullname="Tarek Saad">
        <organization>Cisco Systems, Inc.</organization>
        <address>
          <email>tsaad.net@gmail.com</email>
        </address>
      </contact>
      <contact initials="B." surname="Foster" fullname="Brent Foster">
        <organization>Cisco Systems, Inc.</organization>
        <address>
          <email>brfoster@cisco.com</email>
        </address>
      </contact>
      <contact initials="B." surname="Duvivier" fullname="Bertrand Duvivier">
        <organization>Cisco Systems, Inc.</organization>
        <address>
          <email>bduvivie@cisco.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Litkowski" fullname="Stephane Litkowski">
        <organization>Cisco Systems, Inc.</organization>
        <address>
          <email>slitkows@cisco.com</email>
        </address>
      </contact>
      <contact initials="J." surname="Dong" fullname="Jie Dong">
        <organization>Huawei Technologies</organization>
        <address>
          <email>jie.dong@huawei.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
hwAA

-->

</rfc>
