<?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.29 (Ruby 3.2.3) -->
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-spring-cs-sr-policy-11" category="info" submissionType="IETF" tocDepth="6" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="CS-SR Policy">Circuit Style Segment Routing Policy</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-spring-cs-sr-policy-11"/>
    <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="September" day="15"/>
    <abstract>
      <?line 192?>

<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. The association of two co-routed unidirectional SR Policies satisfying these requirements is called "circuit-style" SR Policy (CS-SR Policy).</t>
    </abstract>
  </front>
  <middle>
    <?line 196?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>IP services typically leverage ECMP and local protection. However packet transport services (commonly referred to as "private lines") that are delivered via pseudowires such as <xref target="RFC4448"/>, <xref target="RFC4553"/>, <xref target="RFC9801"/>, <xref target="RFC5086"/> and <xref target="RFC4842"/> for example, 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 Segment Routing (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>A "Circuit-Style" SR Policy (CS-SR Policy) is an association of two co-routed unidirectional SR Policies satisfying the above requirements and allowing for a single SR network to carry both typical IP (connection-less) services and connection-oriented transport services.</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>DWDM : Dense Wavelength Division Multiplexing</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>SDH : Synchronous Digital Hierarchy</t>
        </li>
        <li>
          <t>SONET : Synchronous Optical Network</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 by using PCEP or BGP as a communication protocol between the headend routers and the central controller or by configuration.</t>
      <ul spacing="normal">
        <li>
          <t>When using PCEP as the communication protocol, the controller is a stateful PCE as defined in <xref target="RFC8231"/>. When using SR-MPLS <xref target="RFC8660"/>, PCEP extensions defined in <xref target="RFC8664"/> are used. When using SRv6 <xref target="RFC8754"/> <xref target="RFC8986"/>, PCEP extensions defined in <xref target="RFC9603"/> are used.</t>
        </li>
        <li>
          <t>When using BGP as the communication protocol, the BGP extensions defined in <xref target="RFC9830"/> are used.</t>
        </li>
        <li>
          <t>When using configuration, a appropriate YANG model such as <xref target="I-D.ietf-spring-sr-policy-yang"/> can be used.</t>
        </li>
      </ul>
      <t>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>Statically configured or auto-generated, but persistent: to ensure that its value does not change after an event that may cause dynamic states to change (e.g. router reboot).</t>
            </li>
            <li>
              <t>Non-protected: to avoid any local TI-LFA protection <xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/> 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 always available to CS-SR Policies independent of any other traffic.</t>
        </li>
      </ul>
      <t>When using link bundles (i.e. <xref target="IEEE802.1AX"/>), parallel physical links are only represented via a single adjacency. To ensure deterministic traffic placement onto physical links, an adjacency-SID SHOULD be assigned to each physical link (aka member-link) (<xref target="RFC8668"/>, <xref target="RFC9356"/>). Similarly, the use of adjacency-SIDs representing parallel adjacencies <xref section="3.4.1" sectionFormat="of" target="RFC8402"/> SHOULD also be avoided.</t>
      <t>When using SR-MPLS <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 SRv6 <xref target="RFC8754"/>, the IGP extensions defined in <xref target="RFC9352"/> and <xref target="RFC9513"/> and BGP-LS extensions in <xref target="RFC9514"/> apply.</t>
      <t>CS-SR Policy state reporting by the headend routers back to the central controller is essential to confirm success or failure of the instantiation and making the controller aware of any state changes throughout the lifetime of the CS-SR Policy in the network.</t>
      <ul spacing="normal">
        <li>
          <t>When using PCEP for CS-SR policy instantiation, reporting is done using PCEP procedures of <xref target="RFC8231"/>.</t>
        </li>
        <li>
          <t>When using BGP for CS-SR policy instantiation, reporting using BGP-LS procedures <xref target="I-D.ietf-idr-bgp-ls-sr-policy"/> has the benefit of both instantiation and state reporting being done over a single protocol (BGP), but reporting can also be done using an appropriate YANG model such as <xref target="I-D.ietf-spring-sr-policy-yang"/>.</t>
        </li>
        <li>
          <t>When using configuration for CS-SR policy instantiation, state reporting could be done using an appropriate YANG model such as <xref target="I-D.ietf-spring-sr-policy-yang"/> or BGP-LS procedures <xref target="I-D.ietf-idr-bgp-ls-sr-policy"/>.</t>
        </li>
      </ul>
      <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 always be 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 persistent unprotected adjacency-SIDs that are solely used by CS-SR traffic, managed by network design and policy (which is outside the scope of this document). These dedicated SIDs used by CS-SR Policies MUST NOT be used by features such as TI-LFA <xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/> for defining the repair path and microloop avoidance <xref target="I-D.bashandy-rtgwg-segment-routing-uloop"/> for defining the loop-free path.</t>
          </li>
        </ul>
        <t>The approach of allocating a Diffserv codepoint can leverage any of the following Per-Hop Behavior (PHB) strategies below, where P is the bandwidth of a physical link, N is the bandwidth allocated for network control and C is the bandwidth reserved for CS-SR policies:</t>
        <ul spacing="normal">
          <li>
            <t>Use a Assured Forwarding (AF) class queue <xref target="RFC2597"/> 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 <xref target="RFC3246"/> 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, the headends MAY measure the actual bandwidth utilization of a CS-SR Policy to raise alarms when bandwidth utilization thresholds are passed or to request the reserved bandwidth to be adjusted. Using telemetry collection the alarms or bandwidth adjustments can also be triggered by the controller.</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 headends 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 segment list of a candidate path MUST NOT change automatically to a segment list representing a different path (for example upon topology change).</t>
        </li>
        <li>
          <t>More than one 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>It is RECOMMENDED that candidate paths only contain one segment list to avoid asymmetrical routing due to independent load balancing across segment lists on each headend</t>
        </li>
        <li>
          <t>Continuity check and performance measurement are activated on each candidate path (<xref target="OAM"/>) and performed per segment-list.</t>
        </li>
      </ul>
    </section>
    <section anchor="creation">
      <name>CS-SR Policy Creation</name>
      <section anchor="pcep">
        <name>Policy Creation when using PCEP</name>
        <section anchor="pcc_init">
          <name>PCC-initiated Mode</name>
          <t>Considering the scenario illustrated in <xref target="architecture-diagram"/> a CS-SR Policy between headends A and Z is instantiated by configured a SR Policy on both headend A (with Z as endpoint) and headend Z (with A as endpoint).</t>
          <t>Both headend routers A and Z act as PCC and delegate path computation to the PCE using PCEP with the procedure described in <xref section="5.7.1" sectionFormat="of" target="RFC8231"/>. For SR-MPLS the extensions defined in <xref target="RFC8664"/> are used. And SRv6 specific extensions are defined in <xref target="RFC9603"/>.</t>
          <t>The PCRpt message sent from the headends to the PCE SHOULD contain 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 PCRpt message MUST be sent per candidate path. Each PCRpt message 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 events that may cause dynamic states to change in the network (e.g. router reboot) is achieved by the PCE only including statically configured adjacency-SIDs in its path computation response.</t>
            </li>
            <li>
              <t>Persistency across network changes is achieved by the PCE not performing periodic or 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 MUST NOT 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 headends A and Z to install multiple segment lists using the signaling procedures described in section 5.3 of <xref target="I-D.ietf-pce-multipath"/>.</t>
          <t>The candidate paths of the CS-SR Policy are reported and updated following PCEP procedures of <xref target="RFC8231"/>.</t>
        </section>
        <section anchor="pce_init">
          <name>PCE-initiated Mode</name>
          <t>The CS-SR Policy can be instantiated in the network between headends A and Z by a PCE using PCE-initiated procedures defined in <xref target="RFC8281"/>. For PCE-initiated procedures no SR Policy configuration is required on the headends A and Z acting as PCC. The PCE requests the headends A and Z to initiate the candiate paths of the CS-SR Policy by sending a PCInitiate message.</t>
          <t>The PCInitiate message contains the same Bandwidth, LSPA, and ASSOCIATION objects used in PCC-initiated mode.</t>
          <t>Following initiation, the candidate paths of the CS-SR Policy are reported and updated following PCEP procedures of <xref target="RFC8231"/> and share the same behavior as the PCC-initiated mode.</t>
          <t>Connectivity verification and performance measurement is enabled via local policy configuration on the headends, as there is no standard signaling mechanism available.</t>
        </section>
      </section>
      <section anchor="bgp">
        <name>Policy Creation when using BGP</name>
        <t>Again, considering the scenario illustrated in <xref target="architecture-diagram"/>, instead of configuring SR Policies on both headend A (with Z as endpoint) and headend Z (with A as endpoint), a CS-SR Policy between A and Z is instantiated by a request (e.g. application API call) to the controller.</t>
        <t>The controller performs path computation and advertises the corresponding SR Policies to the headend routers via BGP.</t>
        <t>To instantiate the SR Policies in headends A and Z the BGP extensions defined in <xref target="RFC9830"/> 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 computing strict paths and only including unprotected adjacency-SIDs in segment lists. Loose hops SHOULD NOT be used.</t>
          </li>
          <li>
            <t>Path persistency across events that may cause dynamic states to change in the network (e.g. router reboot) 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 or 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="RFC9830"/>) 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="RFC9830"/>.</t>
        <t>The candidate paths of a CS-SR Policy are updated by the controller sending another BGP UPDATE message to the headends A and Z.</t>
        <t>The headends A and Z can report the CS-SR Policy candidate path state back to the controller via BGP-LS using the extension defined in <xref target="I-D.ietf-idr-bgp-ls-sr-policy"/>.</t>
        <t>Alternatively, CS-SR Policy candidate path state can be gathered using an appropriate YANG model such as <xref target="I-D.ietf-spring-sr-policy-yang"/>.</t>
        <t>Connectivity verification and performance measurement is enabled via local policy configuration on the headends, as there is no standard signaling mechanism available..</t>
      </section>
      <section anchor="maximum-sid-depth-constraint">
        <name>Maximum SID Depth Constraint</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 MSD" 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 segment list reduction technique, such as using Node SIDs and/or Binding SIDs (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 used in CS-SR Policies to ensure that there is no per-hop ECMP, no localized rerouting due to topological changes, and no invocation of localized protection mechanisms, as the alternate path may not be providing the desired SLA.</t>
        <t>If a CS-SR Policy path requires segment list reduction, a SR Policy can be programmed in a transit node, and its BSID can be used in the segment list of the CS-SR Policy, if the following requirements are met:</t>
        <ul spacing="normal">
          <li>
            <t>The transit SR Policy is unprotected, hence only has one candidate path.</t>
          </li>
          <li>
            <t>The transit SR Policy follows the rerouting and optimization characteristics defined in <xref target="characteristics"/> which implies the segment list of the candidate path MUST only use unprotected adjacency-SIDs.</t>
          </li>
        </ul>
        <t>This ensures that traffic for CS-SR Policies using a BSID does not get locally rerouted due to topological changes or locally protected due to failures. A transit SR Policy may be pre-programmed in the network or automatically injected in the network by a PCE.</t>
      </section>
    </section>
    <section anchor="cs-sr-policy-deletion">
      <name>CS-SR Policy Deletion</name>
      <section anchor="pcep_delete">
        <name>Policy Deletion when using PCEP</name>
        <t>When using PCC-initiated mode, the headends A and Z send a PCRpt message with the R flag set to 1 to inform the PCE about the deletion of a candidate path.</t>
        <t>When using PCE-initiated mode, the PCE does send a PCInitiate message to the headends A and Z and to instruct them to delete a candidate path.</t>
      </section>
      <section anchor="bgp_delete">
        <name>Policy Deletion when using BGP</name>
        <t>The controller is using the withdraw procedures of <xref target="RFC4271"/> to instruct headends A and Z to delete a candidate path.</t>
      </section>
    </section>
    <section anchor="recovery">
      <name>Recovery Schemes</name>
      <t>Various recovery (protection and restoration) schemes can be implemented for a CS-SR Policy. As described in <xref section="4.3" sectionFormat="of" target="RFC4427"/>, there is a subtle distinction between the terms "protection" and "restoration" based on the resource allocation done during the recovery path establishment. The same definitions apply for CS-SR Policy recovery schemes, wherein:</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 continuity check described in <xref target="check"/> or degradation, i.e., when the packet loss ratio increased beyond a configured acceptable threshold.</t>
      <section anchor="unprotected">
        <name>Unprotected</name>
        <t>In the most basic scenario, no protection or restoration is required. The CS-SR Policy has only one candidate path.</t>
        <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>
        <t>As soon as the failure(s) that brought the candidate path down are cleared, the candidate path is activated, traffic is sent across it and state is reported accordingly.</t>
        <section anchor="unprotected_setup">
          <name>Setup</name>
          <t>When using PCEP, the single candidate path is established using the procedures defined in <xref target="pcep"/>, activated and is carrying traffic.</t>
          <t>A PCRpt message is sent from the headends A and Z to the PCE with the O field in the LSP object <xref section="7.3" sectionFormat="of" target="RFC8231"/> set to 2 to indicate the candidate path is active and carrying traffic.</t>
          <t>When using BGP, the single candidate path is established using the procedures defined in <xref target="bgp"/>, activated and is carrying traffic.</t>
          <t>A BGP-LS update is sent from the headends A and Z to the 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, and</t>
            </li>
            <li>
              <t>A-Flag set to 1 to indicate the candidate path is active and is carrying traffic.</t>
            </li>
          </ul>
        </section>
        <section anchor="failure">
          <name>Failure</name>
          <t>When using PCEP, a PCRpt message is sent by the headends A and Z to the PCE with O field in LSP object changed from 2 to 0, to indicate the candidate path is no longer active and not carrying traffic.</t>
          <t>When using BGP, a BGP-LS update is sent by the headends A and Z to the controller with the SR Policy Candidate Path NLRI of the candidate path and the SR Candidate Path State TLV having the A-Flag cleared to indicate the candidate path is no longer active and not carrying traffic.</t>
        </section>
        <section anchor="reversion">
          <name>Reversion</name>
          <t>When using PCEP, a PCRpt message is sent by the headends A and Z to the PCE with O field in LSP object is set to 2, to indicate this candidate path is active again and traffic is sent across it.</t>
          <t>When using BGP, a BGP-LS update is sent by the headends A and Z to the controller with the SR Policy Candidate Path NLRI of the candidate path and the SR Candidate Path State TLV having the A-Flag change to 1 to indicate the candidate path is active again and traffic is sent across it.</t>
        </section>
      </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>Upon a failure impacting the candidate path with higher preference carrying traffic, the candidate path with lower preference is activated immediately and traffic is now sent across it.</t>
        <t>Protection switching is bidirectional. As described in <xref target="check"/>, both headends will generate and receive their own loopback mode test packets, hence even a unidirectional failure will always be detected by both headends without protection switch coordination required.</t>
        <t>Two cases are to be considered when the failure(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>
        <section anchor="setup">
          <name>Setup</name>
          <t>When using PCEP, the two candidate paths are established using the procedures defined in <xref target="pcep"/>. The candidate path with higher preference is activated and is carrying traffic.</t>
          <t>When using PCC-initiated mode, appropriate diverse routing of the candidate path with lower preference from the candidate path with higher preference can be requested by the headends A and Z 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 the candidate path with higher preference to allow for finding the best path for it that does satisfy all constraints without considering diversity to the candidate path with the lower preference.</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 PCE-initated mode, no signaling of diversity requirements between headends and the PCE is required.</t>
          <t>A PCRpt message for the candidate path with higher preference is sent by the headends A and Z to the PCE with the O field in the LSP object set to 2 to indicate this candidate path is active and carrying traffic.</t>
          <t>Further, a PCRpt message for the candidate path with the lower preference is sent with the O field in the LSP object set to 1 to indicate the candidate path is signaled but not carrying traffic.</t>
          <t>When using BGP, the two candidate paths are established using the procedures defined in <xref target="bgp"/>. The candidate path with higher preference is activated and is carrying traffic.</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 by the controller to the headend routers.</t>
          <t>A BGP-LS update is sent by the headends A and Z 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, and</t>
            </li>
            <li>
              <t>A-Flag set to 1 to indicate the candidate path is active and is carrying traffic.</t>
            </li>
          </ul>
          <t>Further, another SR Policy Candidate Path NLRI for the candidate path with lower preference where the SR Candidate Path State TLV is included having the</t>
          <ul spacing="normal">
            <li>
              <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller, and</t>
            </li>
            <li>
              <t>B-Flag set to 1 to indicate the role of backup path.</t>
            </li>
          </ul>
        </section>
        <section anchor="failure-1">
          <name>Failure</name>
          <t>When using PCEP, a PCRpt message for the higher preference candidate path is sent by the headends A and Z to the PCE with the O field changed from 2 to 0 to indicate that the candidate path is no longer active and not carrying traffic anymore.</t>
          <t>Further, a PCRpt message for the lower preference candidate path is sent with the O field changed from 1 to 2 to indicate that the candidate path got activated and is carrying traffic.</t>
          <t>When using BGP, a BGP-LS update is sent by the headends A and Z to the controller with the SR Policy Candidate Path NLRI for the higher preference candidate path with the SR Candidate Path State TLV having the A-Flag cleared to indicate that the candidate path is no longer active and not carrying traffic anymore.</t>
          <t>Further, the SR Policy Candidate Path NLRI for the lower preference candidate path with the SR Candidate Path State TLV having the B-Flag cleared and A-Flag set to 1 is included in the BGP-LS update to indicate that the candidate path got activated and is carrying traffic.</t>
        </section>
        <section anchor="reversion-1">
          <name>Reversion</name>
          <t>When using PCEP, for revertive switching a PCRpt message for the recovered higher preference candidate path is sent by the headends A and Z to the PCE with the O field changed from 0 to 2 to indicate the higher preference candidate path got re-activated and is carrying traffic.</t>
          <t>Further, a PCRpt message is sent for the lower preference candidate path with the O field changed from 2 to 1 to indicate that the lower preference candidate path is no longer active but signaled.</t>
          <t>For non-revertive switching only a PCRpt message for the recovered higher preference candidate path with the O field set to 1 is sent to indicate that the higher preference candidate path got signaled but is not active.</t>
          <t>When using BGP, for revertive switching a BGP-LS update is sent by the headends A and Z to the controller with the 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 to indicate the higher preference candidate path got re-activated and is carrying traffic.</t>
          <t>Further, the 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 is included in the BGP-LS update to indicate that the lower preference candidate path is no longer active but signaled.</t>
          <t>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 to indicate that the higher preference candidate path got signaled but is not active.</t>
        </section>
      </section>
      <section anchor="restoration">
        <name>Restoration</name>
        <section anchor="oneplusr">
          <name>1+R Restoration</name>
          <t>Similarly to 1:1 protection described in <xref target="onetoone"/>, in this recovery scheme the CS-SR Policy has two candidate paths.</t>
          <t>To avoid pre-allocating protection bandwidth by the controller ahead of failures, but still being able to recover traffic flow over an alternate path through the network in a deterministic way (maintaining the required bandwidth commitment), the second candidate path with lower preference is established "on demand" and activated upon failure of the first candidate path.</t>
          <t>As soon as failure(s) that brought the first candidate path down are cleared, the second candidate path is getting torn down and traffic is reverted back to the first candidate path.</t>
          <t>Restoration and reversion behavior is bidirectional. As described in <xref target="check"/>, both headends use continuity check 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 anchor="setup-1">
            <name>Setup</name>
            <t>The first candidate path is set up as described in <xref target="unprotected_setup"/>.</t>
          </section>
          <section anchor="failure-2">
            <name>Failure</name>
            <t>When using PCEP, the second candidate path with lower preference is established using the procedures in <xref target="pcep"/>, activated and traffic is sent across it.</t>
            <t>A PCRpt message for the lower preference candidate path is sent by the headends A and Z to the PCE with the O field set to 2 to indicate this candidate path is active and carrying traffic.</t>
            <t>Further, a PCRpt message for the higher preference candidate path is sent to the PCE with the O field changed from 2 to 0 to indicate this candidate path is no longer active.</t>
            <t>When using BGP, the second candidate path with lower preference is established using the procedures defined in <xref target="bgp"/>.</t>
            <t>A BGP-LS update with the SR Policy Candidate Path NLRI for the lower preference candidate path is sent by the headends A and Z 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, and</t>
              </li>
              <li>
                <t>A-Flag set to 1 to indicate the candidate path is active and is carrying traffic.</t>
              </li>
            </ul>
            <t>Further, the SR Policy Candidate Path NLRI for the higher preference candidate path is included with the SR Candidate Path State TLV having the A-Flag cleared, to indicate that the candidate this path is no longer active and not carrying traffic anymore.</t>
          </section>
          <section anchor="reversion-2">
            <name>Reversion</name>
            <t>When using PCEP, the second candidate path with lower preference is torn down using the procedures in <xref target="pcep_delete"/>.</t>
            <t>A PCRpt message for the remaining candidate path is sent by the headends A and Z to the PCE with O field in LSP object is set to 2, to indicate this candidate path is active and traffic is sent across it.</t>
            <t>When using BGP, the second candidate path with lower preference is torn down by using the procedures in <xref target="bgp_delete"/>.</t>
            <t>A BGP-LS update with the SR Policy Candidate Path NLRI for the remaining 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>
          </section>
        </section>
        <section anchor="onetooneplusr">
          <name>1:1+R Restoration</name>
          <t>For further resiliency in case of multiple concurrent failures that could bring down 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 (in this section referred to as first and second candidate path) is added to the CS-SR Policy to enable restoration.</t>
          <t>There are two possible operating models:</t>
          <ul spacing="normal">
            <li>
              <t>R established upon double failure</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>As in <xref target="oneplusr"/>, to avoid pre-allocating additional bandwidth by the controller ahead of failures, the third candidate path may only be requested when both candidate paths are affected by failures.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>As soon as either the first or second candidate path recovers, traffic will be reverted and the third candidate path MUST be torn down.</t>
            </li>
          </ul>
          <ul spacing="normal">
            <li>
              <t>R pre-established after single failure</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>Alternatively, the third candidate path can also be requested and pre-computed already whenever either the first or second candidate path go down with the downside of more bandwidth being set aside ahead of time. When doing so, the third candidate path MUST be computed diverse to the still operational candidate path.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>The third candidate path will get activated and carry traffic when further failures lead to both the first and second candidate path being down.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>As long as either the first or the second candidate path is active, the third candidate path is kept, updated (if needed) to ensure diversity to the active candidate path and is not carrying traffic.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>Once both, the first and the second candidate path have recovered, the third candidate path is torn down.</t>
            </li>
          </ul>
          <t>Again, restoration and reversion behavior is bidirectional. As described in <xref target="check"/>, both headends use continuity check 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 anchor="r-established-upon-double-failure">
            <name>R established upon double failure</name>
            <section anchor="setup-2">
              <name>Setup</name>
              <t>The first and second candidate path are set up as described in <xref target="onetoone"/></t>
            </section>
            <section anchor="failure-3">
              <name>Failure</name>
              <t>As failure(s) have brought down both the first and second candidate path, a third candidate path with lowest preference is established, activated and traffic is sent across it immediately to restore traffic.</t>
              <t>When using PCEP, the third candidate path is established using the procedures in <xref target="pcep"/>.</t>
              <t>A PCRpt message for the third candidate path is sent by the headends A and Z to the PCE with the O field set to 2 to indicate this candidate path is active and carrying traffic.</t>
              <t>Further, a PCRpt message for both the first and second candidate path is sent to the PCE with the O field set to 0 to indicate the candidate paths are no longer active and are not carrying traffic.</t>
              <t>When using BGP, the third candidate path is established using the procedures defined in <xref target="bgp"/>.</t>
              <t>A BGP-LS update is sent by the headends A and Z to the controller with 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, and</t>
                </li>
                <li>
                  <t>A-Flag set to 1 to indicate the candidate path is active and is carrying traffic.</t>
                </li>
              </ul>
              <t>Further, the SR Policy Candidate Path NLRIs for the first and second candidate path are also included with the SR Candidate Path State TLV having the A-Flag and B-Flag cleared to indicate that those candidate paths are no longer active or backup and are not carrying traffic.</t>
            </section>
            <section anchor="reversion-3">
              <name>Reversion</name>
              <t>When using PCEP, the third candidate path is torn down using the procedures in <xref target="pcep_delete"/>.</t>
              <t>A PCRpt message for the recovered candidate path is sent by the headends A and Z to the PCE with O field in LSP object is set to 1, to indicate this candidate path is signaled but is not carrying traffic.</t>
              <t>When using BGP, the third candidate path is torn down by using the procedures in <xref target="bgp_delete"/>.</t>
              <t>A BGP-LS update with the SR Policy Candidate Path NLRI for the covered candidate path is sent by the headends A and Z to the controller with the SR Candidate Path State TLV having the B-Flag set to 1 to indicate the candidate path became backup and is not carrying traffic.</t>
            </section>
          </section>
          <section anchor="r-pre-established-after-single-failure">
            <name>R pre-established after single failure</name>
            <section anchor="setup-3">
              <name>Setup</name>
              <t>The first and second candidate path are set up as described in <xref target="onetoone"/></t>
            </section>
            <section anchor="failure-4">
              <name>Failure</name>
              <t>As a failure brought either the first or the second candidate path down, a third candidate path is established, but is not activated and is not carrying traffic. 
<!--
TODO : add diversity to first or second candidate path signaling 
-->
              </t>
              <t>When using PCEP, a PCRpt message for the third candidate path is sent by the headends A and Z to the PCE with the O field set to 1 to indicate this candidate path is signaled but not carrying traffic.</t>
              <t>Further, a PCRpt message for the failed candidate path is sent to the PCE with the O field set to 0 to indicate this candidate path is no longer active and not carrying traffic.</t>
              <t>When using BGP, a BGP-LS update is sent by the headends A and Z to the controller with 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, and</t>
                </li>
                <li>
                  <t>B-Flag set to 1 to indicate the role of backup path.</t>
                </li>
              </ul>
              <t>Further, the SR Policy Candidate Path NLRIs for the failed candidate path is also included with the SR Candidate Path State TLV having the A-Flag and B-Flag cleared to indicate that the candidate path is no longer active or backup and is not carrying traffic.</t>
              <t>Whenever later a failure happens, that leads to both the first and second candidate path to be down, the third candidate path gets activated and traffic is sent across it.</t>
              <t>When using PCEP, a PCRpt message for the third candidate path is sent by the headends A and Z to the PCE with the O field set to 2 to indicate this candidate path is active and carrying traffic.</t>
              <t>Further, a PCRpt message for both the failed candidate path is sent to the PCE with the O field set to 0 to indicate the candidate path is no longer active and is not carrying traffic.</t>
              <t>When using BGP, a BGP-LS update is sent by the headends A and Z to the controller with 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, and</t>
                </li>
                <li>
                  <t>A-Flag set to 1 to indicate the candidate path is active and is carrying traffic.</t>
                </li>
              </ul>
              <t>Further, the SR Policy Candidate Path NLRI for the failed candidate path is also included with the SR Candidate Path State TLV having the A-Flag cleared to indicate that the candidate path is no longer active and is not carrying traffic.</t>
            </section>
            <section anchor="reversion-4">
              <name>Reversion</name>
              <t>When transitioning from a state where both the first and second candidate path being down to a state where either of them is recovered. The third candidate path MAY be updated to ensure it is diverse to the active candidate path.</t>
              <t>When using PCEP, the third candidate path is updated following PCEP procedures of <xref target="RFC8231"/>.</t>
              <t>When using BGP, the controller is sending a new BGP update with the SR Policy Candidate Path NLRI containing the new path.</t>
              <t>When both the first and second candidate path have recovered, the third candidate MUST be torn down and the reversion procedures of <xref target="onetoone"/> MUST be followed.</t>
              <t>When using PCEP, the third candidate path is torn down using the procedures in <xref target="pcep_delete"/>.</t>
              <t>When using BGP, the third candidate path is torn down by using the procedures in <xref target="bgp_delete"/>.</t>
            </section>
          </section>
        </section>
      </section>
    </section>
    <section anchor="OAM">
      <name>Operations, Administration, and Maintenance (OAM)</name>
      <section anchor="check">
        <name>Continuity Check</name>
        <t>The continuity check for each segment list on both headends MAY be done using the Simple Two-Way Active Measurement Protocol (STAMP) (in loopback measurement mode as described in section 6 of <xref target="I-D.ietf-spring-stamp-srpm"/>), Bidirectional Forwarding Detection (BFD) <xref target="RFC5880"/> or Seamless BFD (S-BFD) <xref target="RFC7880"/>. The use of STAMP is RECOMMENDED as it leverages a single protocol session to be used for both continuity check and performance measurement (see <xref target="pm"/> of this document).</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 forwarded along the forward path to the tailend and along the reverse path back to the headend.</t>
        <t>In order to be able to send STAMP test packets for loopback measurement mode, the STAMP Session-Sender (i.e., the headend) needs to acquire the segment list information of the reverse path:</t>
        <ul spacing="normal">
          <li>
            <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>
          </li>
          <li>
            <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>
          </li>
        </ul>
        <t>For cases where multiple segment lists are used by a candidate path, the headends will declare a candidate path down after continuity check 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="pm">
        <name>Performance Measurement</name>
        <t>The same STAMP session used for continuity check is used to estimate round-trip loss as described in section 5 of <xref target="I-D.ietf-spring-stamp-srpm"/> and can be used to measure delay as well.</t>
        <t>As loopback mode is used, only round-trip delay can be measured. Considering that candidate paths are co-routed, the delay in the forward and reverse direction can be assumed to be identical. Under this assumption, one-way can 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 headend routers in the network topology and the CS-SR Policies provisioned on them. As described in <xref target="characteristics"/> a path MUST NOT be automatically recomputed by the controller after or optimized for topology changes unless it is a restoration path.</t>
        <t>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, such as insufficient bandwidth, diversity constraint no longer met or latency constraint exceeded and only the stateful PCE/controller can detect this and not the headend routers themselves.</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>
      <t>External commands are typically issued by an operator to control the candidate path state of a CS-SR Policy using the management interface of:</t>
      <ul spacing="normal">
        <li>
          <t>Headends: When the CS-SR Policy was instantiated via configuration or PCEP PCC-initiated mode</t>
        </li>
        <li>
          <t>PCE/controller: When the CS-SR Policy was instantiated via BGP or PCEP PCE-initiated mode</t>
        </li>
      </ul>
      <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, e.g., to proactively drain a resource for maintenance purposes.</t>
        <t>A operator triggered switching request between candidate paths on a headend is unidirectional and SHOULD be requested on both headends to ensure co-routing of traffic.</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 provide guidance on how to implement a CS-SR Policy leveraging existing mechanisms and protocol extensions. As such, it does not introduce any new security considerations.</t>
      <t>Security considerations for the SR Policy Architecture defined in <xref section="10" sectionFormat="of" target="RFC9256"/> do apply to this document.</t>
      <t>Depending on how a CS-SR Policy is instantiated and reported, the following security considerations do apply</t>
      <ul spacing="normal">
        <li>
          <t>PCEP:
          </t>
          <ul spacing="normal">
            <li>
              <t><xref section="7" sectionFormat="of" target="RFC8664"/></t>
            </li>
            <li>
              <t><xref section="6" sectionFormat="of" target="RFC9603"/></t>
            </li>
            <li>
              <t>Section 8 of <xref target="I-D.ietf-pce-segment-routing-policy-cp"/></t>
            </li>
            <li>
              <t>Section 6 of <xref target="I-D.ietf-pce-sr-bidir-path"/></t>
            </li>
            <li>
              <t>Section 7 of <xref target="I-D.ietf-pce-circuit-style-pcep-extensions"/></t>
            </li>
            <li>
              <t>Section 10 of <xref target="I-D.ietf-pce-multipath"/></t>
            </li>
            <li>
              <t>Section 8 of <xref target="I-D.ietf-idr-sr-policy-path-segment"/></t>
            </li>
          </ul>
        </li>
        <li>
          <t>BGP:
          </t>
          <ul spacing="normal">
            <li>
              <t>Section 7 of <xref target="RFC9830"/></t>
            </li>
            <li>
              <t>Section 9 of <xref target="I-D.ietf-idr-bgp-ls-sr-policy"/></t>
            </li>
          </ul>
        </li>
        <li>
          <t>Configuration:
          </t>
          <ul spacing="normal">
            <li>
              <t>Section 8 of <xref target="I-D.ietf-spring-sr-policy-yang"/></t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Depending on the protocol used for OAM, the following security considerations do apply</t>
      <ul spacing="normal">
        <li>
          <t>STAMP: Section 15 of <xref target="I-D.ietf-spring-stamp-srpm"/></t>
        </li>
        <li>
          <t>BFD: Section 9 of <xref target="RFC5880"/></t>
        </li>
      </ul>
    </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, Yao Liu for her very detailed shepherd review 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="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="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="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="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>
        <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="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="RFC9830">
          <front>
            <title>Advertising Segment Routing Policies in BGP</title>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <author fullname="D. Jain" initials="D." surname="Jain"/>
            <date month="September" 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 (CPs), each comprising one or more segment lists. A headend can be provisioned with these CPs using various mechanisms such as Command-Line Interface (CLI), Network Configuration Protocol (NETCONF), Path Computation Element Communication Protocol (PCEP), or BGP.</t>
              <t>This document specifies how BGP can be used to distribute SR Policy CPs. It introduces a BGP SAFI for advertising a CP of an SR Policy and defines sub-TLVs for the Tunnel Encapsulation Attribute to signal information related to these CPs.</t>
              <t>Furthermore, this document updates RFC 9012 by extending the Color Extended Community to support additional steering modes over SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9830"/>
          <seriesInfo name="DOI" value="10.17487/RFC9830"/>
        </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="Shunwan Zhuang" initials="S." surname="Zhuang">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Individual</organization>
            </author>
            <author fullname="Muhammad Durrani" initials="M." surname="Durrani">
              <organization>Oracle Corporation</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="25" month="May" year="2025"/>
            <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-05"/>
        </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="6" month="March" 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-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="27" month="August" 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-16"/>
        </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="4" month="April" year="2025"/>
            <abstract>
              <t>   A Segment Routing (SR) Policy is an ordered list of instructions,
   called "segments" that represent a source-routed policy.  Packet
   flows are steered into an SR Policy on a node where it is
   instantiated.  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 an SR Policy.
   Additionally, this document updates RFC 8231 to allow delegation and
   setup 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-27"/>
        </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="26" month="June" year="2025"/>
            <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-09"/>
        </reference>
        <reference anchor="I-D.ietf-pce-multipath">
          <front>
            <title>Path Computation Element Communication Protocol (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>Cisco Systems</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>
            <author fullname="Samuel Sidor" initials="S." surname="Sidor">
              <organization>Cisco Systems.</organization>
            </author>
            <date day="5" month="September" year="2025"/>
            <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 Path Computation Element
   Communication Protocol (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.  Additionally, this document updates RFC 8231 to allow encoding
   of multiple Segment Lists in PCEP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-multipath-14"/>
        </reference>
        <reference anchor="RFC8281">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <date month="December" 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>The extensions for stateful PCE provide active control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE. This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8281"/>
          <seriesInfo name="DOI" value="10.17487/RFC8281"/>
        </reference>
        <reference anchor="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </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="Bart Janssens" initials="B." surname="Janssens">
              <organization>Colt</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="20" month="June" year="2025"/>
            <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 the procedures for
   Performance Measurement in SR networks using the Simple Two-Way
   Active Measurement Protocol (STAMP), as 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, SR IGP best paths, 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-19"/>
        </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="11" month="September" year="2025"/>
            <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-14"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="IEEE802.1AX" target="https://ieeexplore.ieee.org/document/9105034">
          <front>
            <title>IEEE Standard for Ethernet</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2020" month="May"/>
          </front>
        </reference>
        <reference anchor="RFC4448">
          <front>
            <title>Encapsulation Methods for Transport of Ethernet over MPLS Networks</title>
            <author fullname="L. Martini" initials="L." role="editor" surname="Martini"/>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="N. El-Aawar" initials="N." surname="El-Aawar"/>
            <author fullname="G. Heron" initials="G." surname="Heron"/>
            <date month="April" year="2006"/>
            <abstract>
              <t>An Ethernet pseudowire (PW) is used to carry Ethernet/802.3 Protocol Data Units (PDUs) over an MPLS network. This enables service providers to offer "emulated" Ethernet services over existing MPLS networks. This document specifies the encapsulation of Ethernet/802.3 PDUs within a pseudowire. It also specifies the procedures for using a PW to provide a "point-to-point Ethernet" service. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4448"/>
          <seriesInfo name="DOI" value="10.17487/RFC4448"/>
        </reference>
        <reference anchor="RFC4553">
          <front>
            <title>Structure-Agnostic Time Division Multiplexing (TDM) over Packet (SAToP)</title>
            <author fullname="A. Vainshtein" initials="A." role="editor" surname="Vainshtein"/>
            <author fullname="YJ. Stein" initials="YJ." role="editor" surname="Stein"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>This document describes a pseudowire encapsulation for Time Division Multiplexing (TDM) bit-streams (T1, E1, T3, E3) that disregards any structure that may be imposed on these streams, in particular the structure imposed by the standard TDM framing. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4553"/>
          <seriesInfo name="DOI" value="10.17487/RFC4553"/>
        </reference>
        <reference anchor="RFC9801">
          <front>
            <title>Private Line Emulation over Packet Switched Networks</title>
            <author fullname="S. Gringeri" initials="S." surname="Gringeri"/>
            <author fullname="J. Whittaker" initials="J." surname="Whittaker"/>
            <author fullname="N. Leymann" initials="N." surname="Leymann"/>
            <author fullname="C. Schmutzer" initials="C." role="editor" surname="Schmutzer"/>
            <author fullname="C. Brown" initials="C." surname="Brown"/>
            <date month="July" year="2025"/>
            <abstract>
              <t>This document expands the applicability of Virtual Private Wire Service (VPWS) bit-stream payloads beyond Time Division Multiplexing (TDM) signals and provides pseudowire transport with complete signal transparency over Packet Switched Networks (PSNs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9801"/>
          <seriesInfo name="DOI" value="10.17487/RFC9801"/>
        </reference>
        <reference anchor="RFC5086">
          <front>
            <title>Structure-Aware Time Division Multiplexed (TDM) Circuit Emulation Service over Packet Switched Network (CESoPSN)</title>
            <author fullname="A. Vainshtein" initials="A." role="editor" surname="Vainshtein"/>
            <author fullname="I. Sasson" initials="I." surname="Sasson"/>
            <author fullname="E. Metz" initials="E." surname="Metz"/>
            <author fullname="T. Frost" initials="T." surname="Frost"/>
            <author fullname="P. Pate" initials="P." surname="Pate"/>
            <date month="December" year="2007"/>
            <abstract>
              <t>This document describes a method for encapsulating structured (NxDS0) Time Division Multiplexed (TDM) signals as pseudowires over packet-switching networks (PSNs). In this regard, it complements similar work for structure-agnostic emulation of TDM bit-streams (see RFC 4553). This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5086"/>
          <seriesInfo name="DOI" value="10.17487/RFC5086"/>
        </reference>
        <reference anchor="RFC4842">
          <front>
            <title>Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet (CEP)</title>
            <author fullname="A. Malis" initials="A." surname="Malis"/>
            <author fullname="P. Pate" initials="P." surname="Pate"/>
            <author fullname="R. Cohen" initials="R." role="editor" surname="Cohen"/>
            <author fullname="D. Zelig" initials="D." surname="Zelig"/>
            <date month="April" year="2007"/>
            <abstract>
              <t>This document provides encapsulation formats and semantics for emulating Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) circuits and services over MPLS. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4842"/>
          <seriesInfo name="DOI" value="10.17487/RFC4842"/>
        </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="I-D.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="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.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="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="RFC5880">
          <front>
            <title>Bidirectional Forwarding Detection (BFD)</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency. It operates independently of media, data protocols, and routing protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5880"/>
          <seriesInfo name="DOI" value="10.17487/RFC5880"/>
        </reference>
        <reference anchor="RFC7880">
          <front>
            <title>Seamless Bidirectional Forwarding Detection (S-BFD)</title>
            <author fullname="C. Pignataro" initials="C." surname="Pignataro"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <author fullname="N. Akiya" initials="N." surname="Akiya"/>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="S. Pallagatti" initials="S." surname="Pallagatti"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document defines Seamless Bidirectional Forwarding Detection (S-BFD), a simplified mechanism for using BFD with a large proportion of negotiation aspects eliminated, thus providing benefits such as quick provisioning, as well as improved control and flexibility for network nodes initiating path monitoring.</t>
              <t>This document updates RFC 5880.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7880"/>
          <seriesInfo name="DOI" value="10.17487/RFC7880"/>
        </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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
7lku5sg8SMn7/9uL+w2owwAA

-->

</rfc>
