<?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.1 (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-01" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="CS-SR Policies">Circuit Style Segment Routing Policies</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-spring-cs-sr-policy-01"/>
    <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="2023" month="October" day="23"/>
    <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 SP 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 SP 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 SP 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>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>
        <t>Two cases are to be considered when the failure impacting the candidate path with higher preference is cleared:</t>
        <ul spacing="normal">
          <li>
            <t>Revertive switching : re-activate the candidate path, change O field from 0 to 2 and start sending traffic over it</t>
          </li>
          <li>
            <t>Non-revertive switching : do not activate the candidate path, change O field from 0 to 1, keep the second candidate path active with O field set to 2 and continue sending traffic over it</t>
          </li>
        </ul>
      </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 (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 (O field in LSP object is set to 1) or torn down. The first candidate path is activated (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 SP 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 SP 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 SP 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 SP 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, the second candidate path is getting removed by a BGP UPDATE message withdrawing the NLRI of the second candidate path.</t>
          <t>A BGP-LS update with a SP Policy Candidate Path NLRI for the remaining 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>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 (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 (O field in LSP object is set to 1), the candidate path that recovered is activated (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 SP 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 SP 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 SP Policy Candidate Path NLRI for the failed candidate path with</t>
          <ul spacing="normal">
            <li>
              <t>A flag cleared</t>
            </li>
          </ul>
          <t>a SP 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 SP 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>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 Segment Routing leveraging the IPv6 dataplane</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="8" month="September" year="2023"/>
            <abstract>
              <t>   Segment Routing (SR) can be used to steer packets through an IPv6 or
   MPLS network using the source routing paradigm.  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).

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

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-segment-routing-ipv6-20"/>
        </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 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 Segment Routing over the IPv6 data plane (SRv6).

              </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>BGP Link State Extensions for 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 defined in a separate document.

              </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="9" month="September" year="2023"/>
            <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-12"/>
        </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>PCEP extension to support Segment Routing Policy Candidate Paths</title>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization>Cisco Systems, Inc.</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="24" month="July" year="2023"/>
            <abstract>
              <t>   A Segment Routing (SR) Policy [RFC9256] is a non-empty set of SR
   Candidate Paths, that share the same &lt;headend, color, endpoint&gt;
   tuple.  This document extends [RFC8664] to fully support the SR
   Policy construct.  SR Policy is modeled in PCEP as an Association of
   one or more SR Candidate Paths.  PCEP extensions are defined to
   signal additional attributes of an SR Policy, which are not covered
   by [RFC8664].  The mechanism is applicable to all data planes of SR
   (MPLS, SRv6, etc.).


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-segment-routing-policy-cp-12"/>
        </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="Zafar Ali" initials="Z." surname="Ali">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Praveen Maheshwari" initials="P." surname="Maheshwari">
              <organization>Airtel India</organization>
            </author>
            <author fullname="Reza Rokui" initials="R." surname="Rokui">
              <organization>Ciena</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>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Bell Canada</organization>
            </author>
            <date day="6" month="July" 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-04"/>
        </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>Cisco Systems, Inc.</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="24" month="July" year="2023"/>
            <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 a mechanism to encode
   multiple paths for a single set of objectives and constraints.  This
   is a generic PCEP mechanism, not specific to any path setup type or
   dataplane.  The mechanism is applicable to both stateless and
   stateful PCEP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-multipath-09"/>
        </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>Huawei Technologies</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>Microsoft</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <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-02"/>
        </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 TWAMP (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="11" month="September" year="2023"/>
            <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 the mechanisms defined
   in RFC 8762 (Simple Two-Way Active Measurement Protocol (STAMP)) and
   its optional extensions defined in RFC 8972 and further augmented in
   draft-ietf-ippm-stamp-srpm.  The procedure described is used for
   links, end-to-end 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-10"/>
        </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="16" month="August" year="2023"/>
            <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-08"/>
        </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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
1hhPB+y/OngeNCZd/H9NyL7rr38AAA==

-->

</rfc>
