<?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-13" category="info" submissionType="IETF" tocDepth="6" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="CS-SR Policy">Circuit Style Segment Routing Policy</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-spring-cs-sr-policy-13"/>
    <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="December" day="05"/>
    <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 from other services</t>
        </li>
        <li>
          <t>Fast end-to-end protection and restoration mechanisms</t>
        </li>
        <li>
          <t>Monitoring and maintenance of path integrity</t>
        </li>
        <li>
          <t>Data plane remaining up while control plane is down</t>
        </li>
      </ul>
      <t>Such a "transport centric" behavior is referred to as "circuit-style" in this document.</t>
      <t>This document describes how Segment Routing (SR) Policies <xref target="RFC9256"/> and adjacency segment identifiers (adjacency-SIDs) defined in the SR architecture <xref target="RFC8402"/> together with a centralized 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 life 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, an 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 Synchronous Optical Network (SONET) / Synchronous Digital Hierarchy (SDH), Optical Transport Network (OTN) or Dense Wave Division Multiplexing (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 and can in general lead to link congestion and packet loss.</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 <xref target="RFC2597"/> 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 candidate 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 MUST be computed disjoint to the first candidate path and 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</t>
        <ul spacing="normal">
          <li>
            <t>Simple Two-Way Active Measurement Protocol (STAMP) in loopback measurement mode as described in section 6 and the session state described in section 11 of <xref target="I-D.ietf-spring-stamp-srpm-mpls"/> for SR-MPLS and <xref target="I-D.ietf-spring-stamp-srpm-srv6"/> for SRv6.</t>
          </li>
          <li>
            <t>Bidirectional Forwarding Detection (BFD) <xref target="RFC5880"/>.</t>
          </li>
          <li>
            <t>Seamless BFD (S-BFD) <xref target="RFC7880"/>.</t>
          </li>
        </ul>
        <t>The use of STAMP is RECOMMENDED as it leverages a single protocol for both continuity check and performance measurement (see <xref target="pm"/> of this document) and allows for a single session to be used, depending on the desired performance measurement session mode (two-way described in section 4, one-way described in section 5 or loopback described in section 6 of <xref target="I-D.ietf-spring-stamp-srpm-mpls"/> for SR-MPLS and <xref target="I-D.ietf-spring-stamp-srpm-srv6"/> for SRv6).</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>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>Assuming a single STAMP session in loopback mode is used for continuity check and performance measurement, the round-trip delay can be measured and the round-trip loss can be estimated as described in section 8 of <xref target="I-D.ietf-spring-stamp-srpm-mpls"/> for SR-MPLS and <xref target="I-D.ietf-spring-stamp-srpm-srv6"/> for SRv6.</t>
        <t>Considering that candidate paths are co-routed, the delay in the forward and reverse direction can be assumed to be similar. Under this assumption, one-way delay 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-mpls"/> and <xref target="I-D.ietf-spring-stamp-srpm-srv6"/></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="Tarik Saleh" initials="T." surname="Saleh">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Syed Kamran Raza" initials="S. K." surname="Raza">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shunwan Zhuang" initials="S." surname="Zhuang">
              <organization>Huawei Technologies</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="20" month="October" 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-06"/>
        </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="1" month="December" 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 to allow a PCE to compute 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 are applicable to both stateless and stateful PCEs for PCE-
   initiated and PCC-initiated LSPs.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-sr-bidir-path-19"/>
        </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="28" month="November" 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 can consist of
   one or a set of candidate paths, where each candidate path is
   represented by a segment list or a set of segment lists, which are
   essentially instructions that define a source-routed policy.

   This document specifies 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, being also applicable for generic SR policy
   use cases where controlling path recomputation or deterministic and
   persistent path requirements are applicable.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-circuit-style-pcep-extensions-11"/>
        </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="17" month="October" year="2025"/>
            <abstract>
              <t>   Certain traffic engineering path computation problems require
   solutions that consist of multiple traffic paths that together form a
   solution.  Returning a 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 designed 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-16"/>
        </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-mpls">
          <front>
            <title>Performance Measurement Using Simple Two-Way Active Measurement Protocol (STAMP) for Segment Routing over the MPLS Data Plane</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="2" month="October" year="2025"/>
            <abstract>
              <t>   Segment Routing (SR) leverages the source routing paradigm.  SR is
   applicable to both Multiprotocol Label Switching (SR-MPLS) and IPv6
   (SRv6) data planes.  This document describes the procedures for
   Performance Measurement in SR-MPLS 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 SR-MPLS
   paths (including SR-MPLS Policies, SR-MPLS IGP best paths, and SR-
   MPLS IGP Flexible Algorithm paths), as well as Layer-3 and Layer-2
   services over the SR-MPLS paths.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-stamp-srpm-mpls-00"/>
        </reference>
        <reference anchor="I-D.ietf-spring-stamp-srpm-srv6">
          <front>
            <title>Performance Measurement Using Simple Two-Way Active Measurement Protocol (STAMP) for Segment Routing over the IPv6 (SRv6) Data Plane</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="2" month="October" year="2025"/>
            <abstract>
              <t>   Segment Routing (SR) leverages the source routing paradigm.  SR is
   applicable to both Multiprotocol Label Switching (SR-MPLS) and IPv6
   (SRv6) data planes.  This document describes the procedures for
   Performance Measurement for SRv6 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 SRv6 paths
   (including SRv6 Policies, SRv6 IGP best paths, and SRv6 IGP Flexible
   Algorithm paths), as well as Layer-3 and Layer-2 services over the
   SRv6 paths.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-stamp-srpm-srv6-00"/>
        </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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
89piMUdWQyrhfwHQY+RGfcYAAA==

-->

</rfc>
