<?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.23 (Ruby 3.2.3) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-spring-cs-sr-policy-05" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="CS-SR Policies">Circuit Style Segment Routing Policies</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-spring-cs-sr-policy-05"/>
    <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="2025" month="February" day="28"/>
    <abstract>
      <?line 180?>

<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 SR network. SR Policies satisfying these requirements are called "circuit-style" SR Policies (CS-SR Policies).</t>
    </abstract>
  </front>
  <middle>
    <?line 184?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Segment Routing (SR) does allow for a single network to carry both typical IP (connection-less) services and connection-oriented transport services. IP services typically leverage ECMP and TI-LFA. However transport services (commonly referred to as "private lines") are delivered via pseudowires (defined by the PWE3 and PALS workgroups) and require:</t>
      <ul spacing="normal">
        <li>
          <t>Persistent end-to-end bidirectional traffic engineered paths that provide predictable and identical latency in both directions</t>
        </li>
        <li>
          <t>A requested amount of bandwidth per path that is assured irrespective of changing network utilization 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="RFC9256"/> and adjacency segment identifiers (adjacency-SIDs) defined in the SR architecture <xref target="RFC8402"/> together with a centralised controller such as 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="requirements-notation">
      <name>Requirements Notation</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</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>NRP : Network Resource Partition</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 follows the SR architecture <xref target="RFC8402"/> and SR Policy architecture <xref target="RFC9256"/> and is depicted in <xref target="architecture-diagram"/>.</t>
      <figure anchor="architecture-diagram">
        <name>Circuit-style SR Policy Reference Model</name>
        <artwork><![CDATA[
                      +----------------+                   
      +-------------->|   controller   |<------------+   
      |               +----------------+             |   
PCEP/BGP/config                               PCEP/BGP/config
      |                                              |   
      v   <<<<<<<<<<<<<< CS-SR Policy >>>>>>>>>>>>>  v   
+-------+                                          +-------+
|       |=========================================>|       |
|   A   | SR Policy from A to Z                    |   Z   |
|       |<=========================================|       |
+-------+                    SR Policy from Z to A +-------+
]]></artwork>
      </figure>
      <t>Given the nature of CS-SR Policies, paths are 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>CS-SR Policies can be instantiated in the headend routers using configuration, PCEP or BGP.</t>
      <t>When using PCEP as the communication protocol on the headend routers, 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"/>, <xref target="RFC8986"/>, PCEP extensions defined in <xref target="RFC9603"/> are used.</t>
      <t>When using BGP as the communication protocol on the headend routers, the BGP extensions defined in <xref target="I-D.ietf-idr-sr-policy-safi"/> are used.</t>
      <t>When using configuration, the YANG model defined in <xref target="I-D.ietf-spring-sr-policy-yang"/> does apply.</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>In a network with link bundles an adjacency-SID SHOULD be assigned to each member-link (<xref target="RFC8668"/>, <xref target="RFC9356"/>) to ensure deterministic traffic placement onto physical links. Similarly, the use of adjacency-SIDs representing parallel adjacencies <xref section="4.3" sectionFormat="of" target="RFC8402"/> SHOULD also be avoided.</t>
      <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"/>, <xref target="RFC8986"/> the IGP extensions defined in <xref target="RFC9352"/>, <xref target="RFC9513"/> and BGP-LS extensions in <xref target="RFC9514"/> 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.</t>
        <t>This is done by:</t>
        <ul spacing="normal">
          <li>
            <t>Firstly, CS-SR Policy bandwidth reservations per link must be limited to equal 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 and admission control on the ingress of the pseudowire.</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 third step 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 to map traffic of CS-SR Policies into a specific queue not used by any other traffic</t>
          </li>
          <li>
            <t>Use of dedicated manual unprotected adjacency-SIDs that are used solely by CS-SR traffic. Features like TI-LFA <xref target="I-D.draft-ietf-rtgwg-segment-routing-ti-lfa"/> and microloop avoidance <xref target="I-D.draft-bashandy-rtgwg-segment-routing-uloop"/> can use dynamic unprotected adjancency-SIDs.</t>
          </li>
        </ul>
        <t>The approach of allocating a Diffserv codepoint can leverage any of the following Per Hop Behavior (PHB) strategies:</t>
        <ul spacing="normal">
          <li>
            <t>Use a Assured Forwarding (AF) class queue for 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>Use a Expedited Forwarding (EF) class queue for CS-SR Policies and limit the total utilization across all other EF 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>Use a Expedited Forwarding (EF) class queue for CS-SR Policies with a priority higher than all other EF queues and limit the utilization of the CS-SR Policy EF queue by traffic policing to C &lt;= P - N</t>
          </li>
        </ul>
        <t>The use of a dedicated Diffserv codepoint for CS-SR traffic requires the marking of all traffic steered into CS-SR Policies on the ingress with that specific codepoint consistently across the domain.</t>
        <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 headend A (with Z as endpoint) and headend 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"/>. SRv6 specific extensions are defined in <xref target="RFC9603"/>.</t>
        <t>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="RFC9488"/>)</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.ietf-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>
        <t>In addition to the above described PCC-initiated mode of operation, The SR Policies can be instantiated in the network by a PCE using PCE-initiated procedures.</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 to create the CS-SR Policy between A and Z.</t>
        <t>The centralized controller is instructed (i.e. by an application via an API call) to create the CS-SR Policy, for which the controller does perform path computation and is requesting headend A via BGP to instantiate a SR Policy (with Z as endpoint) and requesting headend 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-sr-policy-safi"/> 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-sr-policy-safi"/>) 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-sr-policy-safi"/></t>
        <t>The headends 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-sid-depth">
        <name>Maximum SID Depth</name>
        <t>The segment lists used by CS-SR Policy candidate paths are constrained by the maximum number of segments a router can impose onto a packet.</t>
        <t>When using SR-MPLS this constraint is called "Base MPLS Imposition MSD" and is advertised via IS-IS <xref target="RFC8491"/>, OSPF <xref target="RFC8476"/>, BGP-LS <xref target="RFC8814"/> and PCEP <xref target="RFC8664"/>.</t>
        <t>When using SRv6 this constraint is called "SRH Max H.encaps" and is advertised via IS-IS <xref target="RFC9352"/>, OSPF <xref target="RFC9513"/>, BGP-LS <xref target="RFC9514"/> and PCEP <xref target="RFC9603"/></t>
        <t>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 connectivity verification described in <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 is sent from the headend to the centralized controller with the SR Candidate Path State TLV of the SR Policy Candidate Path NLRI having the</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 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. The second candidate path is programmed as backup in the forwarding plane as described in <xref section="9.3" sectionFormat="of" target="RFC9256"/>.</t>
        <t>When using PCEP, the PCRpt message for the candidate path with higher preference will have the O field in the LSP object set to 2. For the candidate path with the lower preference the O field in the LSP object is set to 1.</t>
        <t>Appropriate routing of the protect path diverse from the working path can be requested from the PCE by using the "Disjointness Association" object (type 2) defined in <xref target="RFC8800"/> in the PCRpt messages. The disjoint requirements are communicated in the "DISJOINTNESS-CONFIGURATION TLV"</t>
        <ul spacing="normal">
          <li>
            <t>L bit set to 1 for link diversity</t>
          </li>
          <li>
            <t>N bit set to 1 for node diversity</t>
          </li>
          <li>
            <t>S bit set to 1 for SRLG diversity</t>
          </li>
          <li>
            <t>T bit set to enforce strict diversity</t>
          </li>
        </ul>
        <t>The P bit may be set for first candidate path to allow for finding the best working path that does satisfy all constraints without considering diversity to the protect path.</t>
        <t>The "Objective Function (OF) TLV" as defined in section 5.3 of <xref target="RFC8800"/> may also be added to minimize the common shared resources.</t>
        <t>When using BGP, the controller is already aware of the disjoint requirements and does consider them while computing both paths. Two NLRIs with different distinguisher values and different preference values are included in the BGP UPDATE sent to the headend routers.</t>
        <t>A BGP-LS update is sent to the controller with a SR Policy Candidate Path NLRI for the candidate path with higher preference where the SR Candidate Path State TLV is having the</t>
        <ul spacing="normal">
          <li>
            <t>C-Flag set to 1 to indicate that candidate path was provisioned by the controller</t>
          </li>
          <li>
            <t>A-Flag set to 1 to indicate the candidate path is active and carrying traffic</t>
          </li>
        </ul>
        <t>and another SR Policy Candidate Path NLRI for the candidate path with lower preference where the SR Candidate Path State TLV is having the</t>
        <ul spacing="normal">
          <li>
            <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller</t>
          </li>
          <li>
            <t>B-Flag set to 1 to indicate the role of backup path</t>
          </li>
        </ul>
        <t>Upon a failure impacting the candidate path with higher preference carrying traffic, the candidate path with lower preference is activated immediately and traffic is now sent across it.</t>
        <t>When using PCEP a PCRpt message for the higher preference candidate path is sent to the PCE with the O field changed from 2 to 0 and a PCRpt message for the lower preference candidate path with the O field change from 1 to 2.</t>
        <t>When using BGP a BGP-LS update is sent to the controller with a SR Policy Candidate Path NLRI for the candidate path with higher preference with the SR Candidate Path State TLV having the A-Flag cleared and another BGP-LS update for the candidate path with lower preference with the SR Candidate Path State TLV having the B-Flag cleared and A-Flag set to 1.</t>
        <t>Protection switching is bidirectional. As described in <xref target="verification"/>, both headends will generate and receive their own loopback mode test packets, hence even a unidirectional failure will always be detected by both headends without protection switch coordination required.</t>
        <section anchor="reversion">
          <name>Reversion</name>
          <t>Two cases are to be considered when the failure(s) impacting a candidate path with higher preference are cleared:</t>
          <ul spacing="normal">
            <li>
              <t>Revertive switching: re-activate the higher preference candidate path and start sending traffic over it</t>
            </li>
            <li>
              <t>Non-revertive switching: do not activate the higher preference candidate path and keep sending traffic via the lower preference candidate path</t>
            </li>
          </ul>
          <t>When using PCEP, for revertive switching a PCRpt message for the recovered higher preference candidate path is sent to the PCE with the O field changed from 0 to 2 and send a PCRpt message for the lower preference candidate path with the O field changed from 2 to 1. For non-revertive switching only a PCRpt message for the recovered higher preference candidate path with the O field set to 1 is sent.</t>
          <t>When using BGP and revertive switching a BGP-LS update is sent to the controller with a SR Policy Candidate Path NLRI for the recovered higher preference candidate path with the SR Candidate Path State TLV having the A-Flag set to 1 and another BGP-LS update with a SR Policy Candidate Path NLRI for the lower preference candidate path with the SR Candidate Path State TLV having the A-Flag cleared and B-Flag set to 1. For non-revertive switching only a BGP-LS update with a SR Policy Candidate Path NLRI for the higher preference candidate path with the SR Candidate Path State TLV having the B-Flag set to 1 is sent.</t>
        </section>
      </section>
      <section anchor="restoration">
        <name>Restoration</name>
        <section anchor="oneplusr">
          <name>1+R Restoration</name>
          <t>Compared to 1:1 protection described in <xref target="onetoone"/>, this restoration scheme avoids pre-allocating protection bandwidth in steady state, while still being able to recover traffic flow in case of a network failure in a deterministic way (maintain required bandwidth commitment)</t>
          <t>When using PCEP, the CS-SR Policy is configured with two candidate paths. The candidate path with higher preference is established, activated (O field in LSP object is set to 2) and is carrying traffic.</t>
          <t>The second candidate path with lower preference is only established and activated (PCRpt message to the PCE with O field in LSP object is set to 2) upon a failure impacting the first candidate path in order to send traffic over an alternate path through the network around the failure with potentially relaxed constraints but still satisfying the bandwidth commitment.</t>
          <t>The second candidate path is generally only requested from the PCE and activated after a failure, but may also be requested and pre-established during CS-SR Policy creation with the downside of bandwidth being set aside ahead of time.</t>
          <t>As soon as failure(s) that brought the first candidate path down are cleared, the second candidate path is getting deactivated (PCRpt message to the PCE with O field in LSP object is set to 1) or torn down. The first candidate path is activated (PCRpt message to the PCE with O field in LSP object is set to 2) and traffic sent across it.</t>
          <t>When using BGP, the controller does compute one path and does include one NLRI in the BGP UPDATE message sent to the headend routers to instantiate the CS-SR Policy with one candidate path active and carrying traffic.</t>
          <t>A BGP-LS update with a SR Policy Candidate Path NLRI is sent to the controller with the SR Candidate Path State TLV having the</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 SR Policy Candidate Path NLRI where the distinguisher value being different and preference being lower compared to the first candidate path.</t>
          <t>A BGP-LS update with a SR Policy Candidate Path NLRI for the candidate path with higher preference is sent to the controller with the SR Candidate Path State TLV having the</t>
          <ul spacing="normal">
            <li>
              <t>A-Flag is cleared to indicate the candidate path is no longer active and not carrying traffic anymore</t>
            </li>
          </ul>
          <t>and another SR Policy Candidate Path NLRI for the candidate path with lower preference with the SR Candidate Path State TLV having the</t>
          <ul spacing="normal">
            <li>
              <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller</t>
            </li>
            <li>
              <t>A-Flag set to 1 to indicate the candidate path is active and carrying traffic</t>
            </li>
          </ul>
          <t>The second candidate path is generally only instantiated by the controller and activated after a failure, but may also be instantiated and pre-established during CS-SR Policy creation with the downside of bandwidth being set aside ahead of time. If so, a BGP-LS update with a SR Policy Candidate Path NLRI is sent to the controller with the SR Candidate Path State TLV having the</t>
          <ul spacing="normal">
            <li>
              <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller</t>
            </li>
            <li>
              <t>B-Flag set to 1 to indicate the role of backup path</t>
            </li>
          </ul>
          <t>Once the controller has detected the failure(s) that brought the first candidate path down are cleared, a BGP-LS update with a SR Policy Candidate Path NLRI for the first candidate path is sent to the controller with the SR Candidate Path State TLV having the</t>
          <ul spacing="normal">
            <li>
              <t>A-Flag set to 1 to indicate the candidate path became active and is carrying traffic again</t>
            </li>
          </ul>
          <t>The second candidate path is getting removed by a BGP UPDATE message withdrawing the SR Policy Candidate Path NLRI of the second candidate path.</t>
          <t>Restoration and reversion behavior is bidirectional. As described in <xref target="verification"/>, both headends use connectivity verification in loopback mode and therefore even in case of unidirectional failures both headends will detect the failure or clearance of the failure and switch traffic away from the failed or to the recovered candidate path.</t>
        </section>
        <section anchor="onetooneplusr">
          <name>1:1+R Restoration</name>
          <t>For further resiliency in case of multiple concurrent failures that could affect both candidate paths of 1:1 protection described in <xref target="onetoone"/>, a third candidate path with a preference lower than the other two candidate paths is added to the CS-SR Policy to enable restoration.</t>
          <t>When using PCEP, the third candidate path will generally only be established, activated (PCRpt message to the PCE with O field in LSP object is set to 2) and carry traffic after failure(s) have impacted both the candidate path with highest and second highest preference.</t>
          <t>The third candidate path may also be requested and pre-computed already whenever either the first or second candidate path went down due to a failure with the downside of bandwidth being set aside ahead of time.</t>
          <t>As soon as failure(s) that brought either the first or second candidate path down are cleared, the affected candidate path is activated again (PCRpt message to the PCE with O field in LSP object is set to 2). The third candidate path is to be deactivated (PCRpt message to the PCE with O field in LSP object is set to 1).</t>
          <t>When using BGP, the third candidate path will generally only be instantiated by the controller and activated after failure(s) have impacted both the candidate path with highest and second highest preference, but may also be instantiated and pre-established during CS-SR Policy creation with the downside of bandwidth being set aside ahead of time.</t>
          <t>Assuming the case where both candidate paths are down, a BGP-LS update is sent with SR Policy Candidate Path NLRIs for the first and second candidate path with the SR Candidate Path State TLV having the</t>
          <ul spacing="normal">
            <li>
              <t>A-Flag cleared</t>
            </li>
          </ul>
          <t>and a SR Policy Candidate Path NLRI for the third candidate path with the SR Candidate Path State TLV having the</t>
          <ul spacing="normal">
            <li>
              <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller</t>
            </li>
            <li>
              <t>A-Flag set to 1 to indicate the candidate path is active and carrying traffic</t>
            </li>
          </ul>
          <t>Assuming the case where only one candidate path is down, a BGP-LS update is sent with a SR Policy Candidate Path NLRI for the failed candidate path with the SR Candidate Path State TLV having the</t>
          <ul spacing="normal">
            <li>
              <t>A-Flag cleared</t>
            </li>
          </ul>
          <t>a SR Policy Candidate Path NLRI for the second candidate path with the SR Candidate Path State TLV having the</t>
          <ul spacing="normal">
            <li>
              <t>A-Flag set to 1 to indicate it is active and carrying traffic network</t>
            </li>
          </ul>
          <t>and another SR Policy Candidate Path NLRI for the newly installed third candidate path with the SR Candidate Path State TLV having the</t>
          <ul spacing="normal">
            <li>
              <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller</t>
            </li>
            <li>
              <t>B-Flag set to 1 to indicate the role of backup path</t>
            </li>
          </ul>
          <t>Once the controller has detected the failure(s) that brought either the first or the second candidate path down are cleared, a BGP-LS update with a SR Policy Candidate Path NLRI for the affected candidate path is sent to the controller with the SR Candidate Path State TLV having the</t>
          <ul spacing="normal">
            <li>
              <t>A-Flag set to 1 to indicate the candidate path became active again</t>
            </li>
          </ul>
          <t>The third candidate path is getting removed by a BGP UPDATE message withdrawing the SR Policy Candidate Path NLRI of the third candidate path.</t>
          <t>Again, restoration and reversion behavior is bidirectional. As described in <xref target="verification"/>, both headends use connectivity verification in loopback mode and therefore even in case of unidirectional failures both headends will detect the failure or clearance of the failure and switch traffic away from the failed or to the recovered candidate path.</t>
        </section>
      </section>
    </section>
    <section anchor="OAM">
      <name>Operations, Administration, and Maintenance (OAM)</name>
      <section anchor="verification">
        <name>Connectivity Verification</name>
        <t>The proper operation of each segment list is validated by both headends using STAMP in loopback measurement mode as described in section 4.2.3 of <xref target="I-D.ietf-spring-stamp-srpm"/>.</t>
        <t>As the STAMP test packets are including both the segment list of the forward and reverse path, standard segment routing data plane operations will make those packets get switched along the forward path to the tailend and along the reverse path back to the headend.</t>
        <t>When using PCEP, the headend forms the bidirectional SR Policy association using the procedure described in <xref target="I-D.ietf-pce-sr-bidir-path"/> and receives the information about the reverse segment list from the PCE as described in section 4.5 of <xref target="I-D.ietf-pce-multipath"/></t>
        <t>When using BGP, the controller does inform the headend routers about the reverse segment list using the Reverse Segment List Sub-TLV defined in section 4.1 of <xref target="I-D.ietf-idr-sr-policy-path-segment"/>.</t>
        <t>For cases where multiple segment lists are used by a candidate path, the headends will declare a candidate path down after connectivity verification has failed for one or more segment lists because the bandwidth requirement of the candidate path can no longer be met.</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>
      </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>This document does not define any new protocol extensions and therefore does not introduce any new security considerations.</t>
      <t><xref section="10" sectionFormat="of" target="RFC9256"/> does outline considerations for SR Policies including SR-MPLS and SRv6.</t>
      <t>When using PCEP, the considerations in <xref section="7" sectionFormat="of" target="RFC8664"/> and <xref section="6" sectionFormat="of" target="RFC9603"/> to apply.</t>
      <t>Section 7 of <xref target="I-D.ietf-idr-sr-policy-safi"/> does define security consideration for SR Policy instantiation via BGP.</t>
      <t>When instantiating the Policies via configuration, requirements defined the Section 8 of <xref target="I-D.ietf-spring-sr-policy-yang"/> do apply.</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, Alexander Vainshtein, Tarek Saad, Ketan Talaulikar and Yao Liu for providing their review comments and all contributors for their inputs and support.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-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>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </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="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="RFC9256">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" 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.</t>
              <t>This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </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="RFC8986">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <date month="February" year="2021"/>
            <abstract>
              <t>The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t>Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t>This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>
        <reference anchor="RFC9603">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for IPv6 Segment Routing</title>
            <author fullname="C. Li" initials="C." role="editor" surname="Li"/>
            <author fullname="P. Kaladharan" initials="P." surname="Kaladharan"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="M. Koldychev" initials="M." surname="Koldychev"/>
            <author fullname="Y. Zhu" initials="Y." surname="Zhu"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>Segment Routing (SR) can be used to steer packets through a network using the IPv6 or MPLS data plane, employing the source routing paradigm.</t>
              <t>An SR Path can be derived from a variety of mechanisms, including an IGP Shortest Path Tree (SPT), explicit configuration, or a Path Computation Element (PCE).</t>
              <t>Since SR can be applied to both MPLS and IPv6 data planes, a PCE should be able to compute an SR Path for both MPLS and IPv6 data planes. The Path Computation Element Communication Protocol (PCEP) extension and mechanisms to support SR-MPLS have been defined. This document outlines the necessary extensions to support SR for the IPv6 data plane within PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9603"/>
          <seriesInfo name="DOI" value="10.17487/RFC9603"/>
        </reference>
        <reference anchor="I-D.ietf-idr-sr-policy-safi">
          <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="6" month="February" year="2025"/>
            <abstract>
              <t>   A Segment Routing (SR) Policy is an ordered list of segments (also
   referred to as instructions) that define a source-routed policy.  An
   SR Policy consists of one or more candidate paths, each comprising
   one or more segment lists.  A headend can be provisioned with these
   candidate paths using various mechanisms, such as CLI, NETCONF, PCEP,
   or BGP.

   This document specifies how BGP can be used to distribute SR Policy
   candidate paths.  It introduces a BGP SAFI for advertising a
   candidate path of an SR Policy and defines sub-TLVs for the Tunnel
   Encapsulation Attribute to signal information related to these
   candidate paths.

   Furthermore, this document updates RFC9012 by extending the Color
   Extended Community to support additional steering modes over SR
   Policy.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-sr-policy-safi-13"/>
        </reference>
        <reference anchor="I-D.ietf-spring-sr-policy-yang">
          <front>
            <title>YANG Data Model for Segment Routing Policy</title>
            <author fullname="Syed Kamran Raza" initials="S. K." surname="Raza">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Tarik Saleh" initials="T." surname="Saleh">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Zhuang Shunwan" initials="Z." surname="Shunwan">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Muhammad Durrani" initials="M." surname="Durrani">
              <organization>Equinix</organization>
            </author>
            <author fullname="Satoru Matsushima" initials="S." surname="Matsushima">
              <organization>SoftBank</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
              <organization>Juniper Networks</organization>
            </author>
            <date day="22" month="November" year="2024"/>
            <abstract>
              <t>   This document defines a YANG data model for Segment Routing (SR)
   Policy that can be used for configuring, instantiating, and managing
   SR policies.  The model is generic and applies equally to the MPLS
   and SRv6 instantiations of SR policies.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-sr-policy-yang-04"/>
        </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="RFC8668">
          <front>
            <title>Advertising Layer 2 Bundle Member Link Attributes in IS-IS</title>
            <author fullname="L. Ginsberg" initials="L." role="editor" surname="Ginsberg"/>
            <author fullname="A. Bashandy" initials="A." surname="Bashandy"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="M. Nanduri" initials="M." surname="Nanduri"/>
            <author fullname="E. Aries" initials="E." surname="Aries"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>There are deployments where the Layer 3 interface on which IS-IS operates is a Layer 2 interface bundle. Existing IS-IS advertisements only support advertising link attributes of the Layer 3 interface. If entities external to IS-IS wish to control traffic flows on the individual physical links that comprise the Layer 2 interface bundle, link attribute information about the bundle members is required.</t>
              <t>This document introduces the ability for IS-IS to advertise the link attributes of Layer 2 (L2) Bundle Members.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8668"/>
          <seriesInfo name="DOI" value="10.17487/RFC8668"/>
        </reference>
        <reference anchor="RFC9356">
          <front>
            <title>Advertising Layer 2 Bundle Member Link Attributes in OSPF</title>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>There are deployments where the Layer 3 (L3) interface on which OSPF operates is a Layer 2 (L2) interface bundle. Existing OSPF advertisements only support advertising link attributes of the L3 interface. If entities external to OSPF wish to control traffic flows on the individual physical links that comprise the L2 interface bundle, link attribute information for the bundle members is required.</t>
              <t>This document defines the protocol extensions for OSPF to advertise the link attributes of L2 bundle members. The document also specifies the advertisement of these OSPF extensions via the Border Gateway Protocol - Link State (BGP-LS) and thereby updates RFC 9085.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9356"/>
          <seriesInfo name="DOI" value="10.17487/RFC9356"/>
        </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="RFC9352">
          <front>
            <title>IS-IS Extensions to Support Segment Routing over the IPv6 Data Plane</title>
            <author fullname="P. Psenak" initials="P." role="editor" surname="Psenak"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="A. Bashandy" initials="A." surname="Bashandy"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <date month="February" 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 the MPLS or the IPv6 data plane. This document describes the IS-IS extensions required to support SR over the IPv6 data plane.</t>
              <t>This document updates RFC 7370 by modifying an existing registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9352"/>
          <seriesInfo name="DOI" value="10.17487/RFC9352"/>
        </reference>
        <reference anchor="RFC9513">
          <front>
            <title>OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)</title>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <date month="December" year="2023"/>
            <abstract>
              <t>The Segment Routing (SR) architecture allows a flexible definition of the end-to-end path by encoding it as a sequence of topological elements called segments. It can be implemented over an MPLS or IPv6 data plane. This document describes the OSPFv3 extensions required to support SR over the IPv6 data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9513"/>
          <seriesInfo name="DOI" value="10.17487/RFC9513"/>
        </reference>
        <reference anchor="RFC9514">
          <front>
            <title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6)</title>
            <author fullname="G. Dawra" initials="G." surname="Dawra"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <author fullname="D. Bernier" initials="D." surname="Bernier"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <date month="December" 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.</t>
              <t>This document defines extensions to BGP - Link State (BGP-LS) to advertise SRv6 segments along with their behaviors and other attributes via BGP. The BGP-LS address-family solution for SRv6 described in this document is similar to BGP-LS for SR for the MPLS data plane, which is defined in RFC 9085.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9514"/>
          <seriesInfo name="DOI" value="10.17487/RFC9514"/>
        </reference>
        <reference anchor="I-D.draft-ietf-rtgwg-segment-routing-ti-lfa">
          <front>
            <title>Topology Independent Fast Reroute using Segment Routing</title>
            <author fullname="Ahmed Bashandy" initials="A." surname="Bashandy">
              <organization>Individual</organization>
            </author>
            <author fullname="Stephane Litkowski" initials="S." surname="Litkowski">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Pierre Francois" initials="P." surname="Francois">
              <organization>INSA Lyon</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Bell Canada</organization>
            </author>
            <date day="12" month="February" year="2025"/>
            <abstract>
              <t>   This document presents Topology Independent Loop-free Alternate Fast
   Reroute (TI-LFA), aimed at providing protection of node and adjacency
   segments within the Segment Routing (SR) framework.  This Fast
   Reroute (FRR) behavior builds on proven IP Fast Reroute concepts
   being LFAs, remote LFAs (RLFA), and remote LFAs with directed
   forwarding (DLFA).  It extends these concepts to provide guaranteed
   coverage in any two-connected networks using a link-state IGP.  An
   important aspect of TI-LFA is the FRR path selection approach
   establishing protection over the expected post-convergence paths from
   the point of local repair, reducing the operational need to control
   the tie-breaks among various FRR options.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rtgwg-segment-routing-ti-lfa-21"/>
        </reference>
        <reference anchor="I-D.draft-bashandy-rtgwg-segment-routing-uloop">
          <front>
            <title>Loop avoidance using Segment Routing</title>
            <author fullname="Ahmed Bashandy" initials="A." surname="Bashandy">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Stephane Litkowski" initials="S." surname="Litkowski">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Pierre Francois" initials="P." surname="Francois">
              <organization>INSA Lyon</organization>
            </author>
            <author fullname="Peter Psenak" initials="P." surname="Psenak">
              <organization>Cisco Systems</organization>
            </author>
            <date day="29" month="June" year="2024"/>
            <abstract>
              <t>This document presents a mechanism aimed at providing loop avoidance
in the case of IGP network convergence event.  The solution relies on
the temporary use of SR policies ensuring loop-freeness over the
post-convergence paths from the converging node to the destination.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bashandy-rtgwg-segment-routing-uloop-17"/>
        </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="RFC9488">
          <front>
            <title>Local Protection Enforcement in the Path Computation Element Communication Protocol (PCEP)</title>
            <author fullname="A. Stone" initials="A." surname="Stone"/>
            <author fullname="M. Aissaoui" initials="M." surname="Aissaoui"/>
            <author fullname="S. Sidor" initials="S." surname="Sidor"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <date month="October" 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="RFC" value="9488"/>
          <seriesInfo name="DOI" value="10.17487/RFC9488"/>
        </reference>
        <reference anchor="RFC8697">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Establishing Relationships between Sets of Label Switched Paths (LSPs)</title>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
            <author fullname="D. Dhody" initials="D." surname="Dhody"/>
            <author fullname="Y. Tanaka" initials="Y." surname="Tanaka"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This document introduces a generic mechanism to create a grouping of Label Switched Paths (LSPs) in the context of a Path Computation Element (PCE). This grouping can then be used to define associations between sets of LSPs or between a set of LSPs and a set of attributes (such as configuration parameters or behaviors), and it is equally applicable to the stateful PCE (active and passive modes) and the stateless PCE.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8697"/>
          <seriesInfo name="DOI" value="10.17487/RFC8697"/>
        </reference>
        <reference anchor="I-D.ietf-pce-sr-bidir-path">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Associated Bidirectional Segment Routing (SR) Paths</title>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Mach Chen" initials="M." surname="Chen">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Quan Xiong" initials="Q." surname="Xiong">
              <organization>ZTE Corporation</organization>
            </author>
            <date day="13" month="February" year="2025"/>
            <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-15"/>
        </reference>
        <reference anchor="RFC9059">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Associated Bidirectional Label Switched Paths (LSPs)</title>
            <author fullname="R. Gandhi" initials="R." role="editor" surname="Gandhi"/>
            <author fullname="C. Barth" initials="C." surname="Barth"/>
            <author fullname="B. Wen" initials="B." surname="Wen"/>
            <date month="June" year="2021"/>
            <abstract>
              <t>This document defines Path Computation Element Communication Protocol (PCEP) extensions for grouping two unidirectional MPLS-TE Label Switched Paths (LSPs), one in each direction in the network, into an associated bidirectional LSP. These PCEP extensions can be applied either using a stateful PCE for both PCE-initiated and PCC-initiated LSPs or using a stateless PCE. The PCEP procedures defined are applicable to the LSPs using RSVP-TE for signaling.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9059"/>
          <seriesInfo name="DOI" value="10.17487/RFC9059"/>
        </reference>
        <reference anchor="I-D.ietf-pce-segment-routing-policy-cp">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing (SR) Policy Candidate Paths</title>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Samuel Sidor" initials="S." surname="Sidor">
              <organization>Cisco Systems, Inc.</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="25" month="February" year="2025"/>
            <abstract>
              <t>   Segment Routing (SR) allows a node to steer a packet flow along any
   path.  SR Policy is an ordered list of segments (i.e., instructions)
   that represent a source-routed policy.  Packet flows are steered into
   an SR Policy on a node where it is instantiated called a headend
   node.  An SR Policy is made of one or more candidate paths.

   This document specifies the Path Computation Element Communication
   Protocol (PCEP) extension to signal candidate paths of the SR Policy.
   Additionally, this document updates RFC 8231 to allow stateful bring
   up of an SR Label Switched Path (LSP), without using the path
   computation request and reply messages.  This document is applicable
   to both Segment Routing over MPLS (SR-MPLS) and Segment Routing over
   IPv6 (SRv6).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-segment-routing-policy-cp-22"/>
        </reference>
        <reference anchor="I-D.ietf-pce-circuit-style-pcep-extensions">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) extensions for Circuit Style Policies</title>
            <author fullname="Samuel Sidor" initials="S." surname="Sidor">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Praveen Maheshwari" initials="P." surname="Maheshwari">
              <organization>Airtel India</organization>
            </author>
            <author fullname="Andrew Stone" initials="A." surname="Stone">
              <organization>Nokia</organization>
            </author>
            <author fullname="Luay Jalil" initials="L." surname="Jalil">
              <organization>Verizon</organization>
            </author>
            <author fullname="Shuping Peng" initials="S." surname="Peng">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="5" month="November" year="2024"/>
            <abstract>
              <t>   Segment Routing (SR) enables a node to steer packet flows along a
   specified path without the need for intermediate per-path states, due
   to the utilization of source routing.  An SR Policy comprises a
   sequence of segments, which are essentially instructions that define
   a source-routed policy

   This document proposes a set of extensions to the Path Computation
   Element Communication Protocol (PCEP) for Segment Routing Policies
   that are designed to satisfy requirements for connection-oriented
   transport services (Circuit-Style SR policies).  They include the
   ability to control path recomputation and the option to request path
   with strict hops only and are also applicable for generic SR policy
   use cases where controlling path recomputation or distinct hop
   requirements are applicable.

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

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

   This document specifies a new Path Segment Sub-TLV to associate a
   Path Segment ID to the SR Segment List.  The Path Segment ID can be
   used for performance measurement, path correlation, and end-2-end
   path protection.  This Path Segment identifier can be also be used to
   correlate two unidirectional SR paths into a bidirectional SR path.
   Bidirection SR path may be required in some scenarios such as mobile
   backhaul transport network.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-sr-policy-path-segment-13"/>
        </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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
F7+0W+TLkwAA

-->

</rfc>
