<?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-12" 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-12"/>
    <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="November" day="02"/>
    <abstract>
      <?line 192?>

<t>This document describes how Segment Routing (SR) policies can be used to satisfy the requirements for bandwidth, end-to-end recovery and persistent paths within a SR network. The association of two co-routed unidirectional SR Policies satisfying these requirements is called "circuit-style" SR Policy (CS-SR Policy).</t>
    </abstract>
  </front>
  <middle>
    <?line 196?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>IP services typically leverage ECMP and local protection. However packet transport services (commonly referred to as "private lines") that are delivered via pseudowires such as <xref target="RFC4448"/>, <xref target="RFC4553"/>, <xref target="RFC9801"/>, <xref target="RFC5086"/> and <xref target="RFC4842"/> for example, require:</t>
      <ul spacing="normal">
        <li>
          <t>Persistent end-to-end bidirectional traffic engineered paths that provide predictable and identical latency in both directions</t>
        </li>
        <li>
          <t>A requested amount of bandwidth per path that is assured irrespective of changing network utilization other services</t>
        </li>
        <li>
          <t>Fast end-to-end protection and restoration mechanisms</t>
        </li>
        <li>
          <t>Monitoring and maintenance of path integrity</t>
        </li>
        <li>
          <t>Data plane remaining up while control plane is down</t>
        </li>
      </ul>
      <t>Such a "transport centric" behavior is referred to as "circuit-style" in this document.</t>
      <t>This document describes how Segment Routing (SR) Policies <xref target="RFC9256"/> and adjacency segment identifiers (adjacency-SIDs) defined in the SR architecture <xref target="RFC8402"/> together with a centralised controller such as a stateful Path Computation Element (PCE) <xref target="RFC8231"/> can be used to satisfy those requirements. It includes how end-to-end recovery and path integrity monitoring can be implemented.</t>
      <t>A "Circuit-Style" SR Policy (CS-SR Policy) is an association of two co-routed unidirectional SR Policies satisfying the above requirements and allowing for a single SR network to carry both typical IP (connection-less) services and connection-oriented transport services.</t>
    </section>
    <section anchor="requirements-notation">
      <name>Requirements Notation</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>
          <t>BSID : Binding Segment Identifier</t>
        </li>
        <li>
          <t>CS-SR : Circuit-Style Segment Routing</t>
        </li>
        <li>
          <t>DWDM : Dense Wavelength Division Multiplexing</t>
        </li>
        <li>
          <t>ID : Identifier</t>
        </li>
        <li>
          <t>LSP : Label Switched Path</t>
        </li>
        <li>
          <t>LSPA : LSP Attributes</t>
        </li>
        <li>
          <t>NRP : Network Resource Partition</t>
        </li>
        <li>
          <t>OAM : Operations, Administration and Maintenance</t>
        </li>
        <li>
          <t>OF : Objective Function</t>
        </li>
        <li>
          <t>PCE : Path Computation Element</t>
        </li>
        <li>
          <t>PCEP : Path Computation Element Communication Protocol</t>
        </li>
        <li>
          <t>PT : Protection Type</t>
        </li>
        <li>
          <t>SID : Segment Identifier</t>
        </li>
        <li>
          <t>SLA : Service Level Agreement</t>
        </li>
        <li>
          <t>SDH : Synchronous Digital Hierarchy</t>
        </li>
        <li>
          <t>SONET : Synchronous Optical Network</t>
        </li>
        <li>
          <t>SR : Segment Routing</t>
        </li>
        <li>
          <t>STAMP : Simple Two-Way Active Measurement Protocol</t>
        </li>
        <li>
          <t>TI-LFA : Topology Independent Loop Free Alternate</t>
        </li>
        <li>
          <t>TLV : Type Length Value</t>
        </li>
      </ul>
    </section>
    <section anchor="reference-model">
      <name>Reference Model</name>
      <t>The reference model for CS-SR Policies follows the SR architecture <xref target="RFC8402"/> and SR Policy architecture <xref target="RFC9256"/> and is depicted in <xref target="architecture-diagram"/>.</t>
      <figure anchor="architecture-diagram">
        <name>Circuit-style SR Policy Reference Model</name>
        <artwork><![CDATA[
                      +----------------+                   
      +-------------->|   controller   |<------------+   
      |               +----------------+             |   
PCEP/BGP/config                               PCEP/BGP/config
      |                                              |   
      v   <<<<<<<<<<<<<< CS-SR Policy >>>>>>>>>>>>>  v   
+-------+                                          +-------+
|       |=========================================>|       |
|   A   | SR Policy from A to Z                    |   Z   |
|       |<=========================================|       |
+-------+                    SR Policy from Z to A +-------+
]]></artwork>
      </figure>
      <t>Given the nature of CS-SR Policies, paths are computed and maintained by a centralized entity providing a consistent simple mechanism for initializing the co-routed bidirectional end-to-end paths, performing bandwidth allocation control, as well as monitoring facilities to ensure SLA compliance for the live of the CS-SR Policy.</t>
      <t>CS-SR Policies can be instantiated in the headend routers by using PCEP or BGP as a communication protocol between the headend routers and the central controller or by configuration.</t>
      <ul spacing="normal">
        <li>
          <t>When using PCEP as the communication protocol, the controller is a stateful PCE as defined in <xref target="RFC8231"/>. When using SR-MPLS <xref target="RFC8660"/>, PCEP extensions defined in <xref target="RFC8664"/> are used. When using SRv6 <xref target="RFC8754"/> <xref target="RFC8986"/>, PCEP extensions defined in <xref target="RFC9603"/> are used.</t>
        </li>
        <li>
          <t>When using BGP as the communication protocol, the BGP extensions defined in <xref target="RFC9830"/> are used.</t>
        </li>
        <li>
          <t>When using configuration, a appropriate YANG model such as <xref target="I-D.ietf-spring-sr-policy-yang"/> can be used.</t>
        </li>
      </ul>
      <t>To satisfy the requirements of CS-SR Policies, each link in the topology MUST have:</t>
      <ul spacing="normal">
        <li>
          <t>An adjacency-SID which is:
          </t>
          <ul spacing="normal">
            <li>
              <t>Statically configured or auto-generated, but persistent: to ensure that its value does not change after an event that may cause dynamic states to change (e.g. router reboot).</t>
            </li>
            <li>
              <t>Non-protected: to avoid any local TI-LFA protection <xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/> to happen upon interface/link failures.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>The bandwidth available for CS-SR Policies specified.</t>
        </li>
        <li>
          <t>A per-hop behavior (<xref target="RFC3246"/> or <xref target="RFC2597"/>) that ensures that the specified bandwidth is always available to CS-SR Policies independent of any other traffic.</t>
        </li>
      </ul>
      <t>When using link bundles (i.e. <xref target="IEEE802.1AX"/>), parallel physical links are only represented via a single adjacency. To ensure deterministic traffic placement onto physical links, an adjacency-SID SHOULD be assigned to each physical link (aka member-link) (<xref target="RFC8668"/>, <xref target="RFC9356"/>). Similarly, the use of adjacency-SIDs representing parallel adjacencies <xref section="3.4.1" sectionFormat="of" target="RFC8402"/> SHOULD also be avoided.</t>
      <t>When using SR-MPLS <xref target="RFC8660"/>, existing IGP extensions defined in <xref target="RFC8667"/> and <xref target="RFC8665"/> and BGP-LS defined in <xref target="RFC9085"/> can be used to distribute the topology information including those persistent and unprotected adjacency-SIDs.</t>
      <t>When using SRv6 <xref target="RFC8754"/>, the IGP extensions defined in <xref target="RFC9352"/> and <xref target="RFC9513"/> and BGP-LS extensions in <xref target="RFC9514"/> apply.</t>
      <t>CS-SR Policy state reporting by the headend routers back to the central controller is essential to confirm success or failure of the instantiation and making the controller aware of any state changes throughout the lifetime of the CS-SR Policy in the network.</t>
      <ul spacing="normal">
        <li>
          <t>When using PCEP for CS-SR policy instantiation, reporting is done using PCEP procedures of <xref target="RFC8231"/>.</t>
        </li>
        <li>
          <t>When using BGP for CS-SR policy instantiation, reporting using BGP-LS procedures <xref target="I-D.ietf-idr-bgp-ls-sr-policy"/> has the benefit of both instantiation and state reporting being done over a single protocol (BGP), but reporting can also be done using an appropriate YANG model such as <xref target="I-D.ietf-spring-sr-policy-yang"/>.</t>
        </li>
        <li>
          <t>When using configuration for CS-SR policy instantiation, state reporting could be done using an appropriate YANG model such as <xref target="I-D.ietf-spring-sr-policy-yang"/> or BGP-LS procedures <xref target="I-D.ietf-idr-bgp-ls-sr-policy"/>.</t>
        </li>
      </ul>
      <section anchor="bandwidth">
        <name>Managing Bandwidth</name>
        <t>In a network, resources are represented by links of certain bandwidth. In a circuit switched network such as SONET/SDH, OTN or DWDM resources (timeslots or a wavelength) are allocated for a provisioned connection at the time of reservation even if no communication is present. In a packet switched network, resources are only allocated when communication is present, i.e. packets are to be sent. This allows for the total reservations to exceed the link bandwidth as well in general for link congestion.</t>
        <t>To satisfy the bandwidth requirement for CS-SR Policies it must be ensured that packets carried by CS-SR Policies can always be sent up to the reserved bandwidth on each hop along the path.</t>
        <t>This is done by:</t>
        <ul spacing="normal">
          <li>
            <t>Firstly, CS-SR Policy bandwidth reservations per link must be limited to equal or less than the physical link bandwidth.</t>
          </li>
          <li>
            <t>Secondly, ensuring traffic for each CS-SR Policy is limited to the bandwidth reserved for that CS-SR Policy by traffic policing or shaping and admission control on the ingress of the pseudowire.</t>
          </li>
          <li>
            <t>Thirdly, ensuring that during times of link congestion only non-CS-SR Policy traffic is being buffered or dropped.</t>
          </li>
        </ul>
        <t>For the third step several approaches can be considered:</t>
        <ul spacing="normal">
          <li>
            <t>Allocate a dedicated physical link of bandwidth P to CS-SR Policies and allow CS-SR reservations up to bandwidth C. Consider bandwidth N allocated for network control, ensure that P - N &gt;= C.</t>
          </li>
          <li>
            <t>Allocate a dedicate logical link (i.e. 801.q VLAN on ethernet) to CS-SR Policies on a physical link of bandwidth P. Limit the total utilization across all other logical links to bandwidth O by traffic policing or shaping and ensure that P - N - O &gt;= C.</t>
          </li>
          <li>
            <t>Allocate a dedicated Diffserv codepoint to map traffic of CS-SR Policies into a specific queue not used by any other traffic.</t>
          </li>
          <li>
            <t>Use of dedicated persistent unprotected adjacency-SIDs that are solely used by CS-SR traffic, managed by network design and policy (which is outside the scope of this document). These dedicated SIDs used by CS-SR Policies MUST NOT be used by features such as TI-LFA <xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/> for defining the repair path and microloop avoidance <xref target="I-D.bashandy-rtgwg-segment-routing-uloop"/> for defining the loop-free path.</t>
          </li>
        </ul>
        <t>The approach of allocating a Diffserv codepoint can leverage any of the following Per-Hop Behavior (PHB) strategies below, where P is the bandwidth of a physical link, N is the bandwidth allocated for network control and C is the bandwidth reserved for CS-SR policies:</t>
        <ul spacing="normal">
          <li>
            <t>Use a Assured Forwarding (AF) class queue <xref target="RFC2597"/> for CS-SR Policies and limit the total utilization across all other queues to bandwidth O by traffic policing or shaping and ensure that P - N - O &gt;= C.</t>
          </li>
          <li>
            <t>Use a Expedited Forwarding (EF) class queue <xref target="RFC3246"/> for CS-SR Policies and limit the total utilization across all other EF queues of higher or equal priority to bandwidth O by traffic policing or shaping and ensure that P - N - O &gt;= C.</t>
          </li>
          <li>
            <t>Use a Expedited Forwarding (EF) class queue for CS-SR Policies with a priority higher than all other EF queues and limit the utilization of the CS-SR Policy EF queue by traffic policing to C &lt;= P - N.</t>
          </li>
        </ul>
        <t>The use of a dedicated Diffserv codepoint for CS-SR traffic requires the marking of all traffic steered into CS-SR Policies on the ingress with that specific codepoint consistently across the domain.</t>
        <t>In addition, the headends MAY measure the actual bandwidth utilization of a CS-SR Policy to raise alarms when bandwidth utilization thresholds are passed or to request the reserved bandwidth to be adjusted. Using telemetry collection the alarms or bandwidth adjustments can also be triggered by the controller.</t>
      </section>
    </section>
    <section anchor="characteristics">
      <name>CS-SR Policy Characteristics</name>
      <t>A CS-SR Policy has the following characteristics:</t>
      <ul spacing="normal">
        <li>
          <t>Requested bandwidth: bandwidth to be reserved for the CS-SR Policy</t>
        </li>
        <li>
          <t>Bidirectional co-routed: a CS-SR Policy between headends A and Z is an association of an SR Policy from A to Z and an SR Policy from Z to A following the same path(s)</t>
        </li>
        <li>
          <t>Deterministic and persistent paths: segment lists with strict hops using unprotected adjacency-SIDs.</t>
        </li>
        <li>
          <t>Not automatically recomputed or reoptimized: the segment list of a candidate path MUST NOT change automatically to a segment list representing a different path (for example upon topology change).</t>
        </li>
        <li>
          <t>More than one candidate paths in case of protection/restoration:
          </t>
          <ul spacing="normal">
            <li>
              <t>Following the SR Policy architecture, the highest preference valid path is carrying traffic.</t>
            </li>
            <li>
              <t>Depending on the protection/restoration scheme (<xref target="recovery"/>), lower priority candidate paths
              </t>
              <ul spacing="normal">
                <li>
                  <t>may be pre-computed.</t>
                </li>
                <li>
                  <t>may be pre-programmed.</t>
                </li>
                <li>
                  <t>may have to be disjoint.</t>
                </li>
              </ul>
            </li>
          </ul>
        </li>
        <li>
          <t>It is RECOMMENDED that candidate paths only contain one segment list to avoid asymmetrical routing due to independent load balancing across segment lists on each headend</t>
        </li>
        <li>
          <t>Continuity check and performance measurement are activated on each candidate path (<xref target="OAM"/>) and performed per segment-list.</t>
        </li>
      </ul>
    </section>
    <section anchor="creation">
      <name>CS-SR Policy Creation</name>
      <section anchor="pcep">
        <name>Policy Creation when using PCEP</name>
        <section anchor="pcc_init">
          <name>PCC-initiated Mode</name>
          <t>Considering the scenario illustrated in <xref target="architecture-diagram"/> a CS-SR Policy between headends A and Z is instantiated by configured a SR Policy on both headend A (with Z as endpoint) and headend Z (with A as endpoint).</t>
          <t>Both headend routers A and Z act as PCC and delegate path computation to the PCE using PCEP with the procedure described in <xref section="5.7.1" sectionFormat="of" target="RFC8231"/>. For SR-MPLS the extensions defined in <xref target="RFC8664"/> are used. And SRv6 specific extensions are defined in <xref target="RFC9603"/>.</t>
          <t>The PCRpt message sent from the headends to the PCE SHOULD contain the following parameters:</t>
          <ul spacing="normal">
            <li>
              <t>BANDWIDTH object (Section 7.7 of <xref target="RFC5440"/>) : to indicate the requested bandwidth</t>
            </li>
            <li>
              <t>LSPA object (section 7.11 of <xref target="RFC5440"/>) : to indicate that no local protection requirements
              </t>
              <ul spacing="normal">
                <li>
                  <t>L flag set to 0 : no local protection</t>
                </li>
                <li>
                  <t>E flag set to 1 : protection enforcement (section 5 of <xref target="RFC9488"/>)</t>
                </li>
              </ul>
            </li>
            <li>
              <t>ASSOCIATION object (<xref target="RFC8697"/>) :
              </t>
              <ul spacing="normal">
                <li>
                  <t>Type : Double-sided Bidirectional with Reverse LSP Association (<xref target="I-D.ietf-pce-sr-bidir-path"/>)</t>
                </li>
                <li>
                  <t>Bidirectional Association Group TLV (<xref target="RFC9059"/>) :
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>R flag is always set to 0 (forward path)</t>
                    </li>
                    <li>
                      <t>C flag is always set to 1 (co-routed)</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
          <t>If the SR Policies are configured with more than one candidate path, a PCRpt message MUST be sent per candidate path. Each PCRpt message does include the "SR Policy Association" object (type 6) as defined in <xref target="I-D.ietf-pce-segment-routing-policy-cp"/> to make the PCE aware of the candidate path belonging to the same policy.</t>
          <t>The signaling extensions described in <xref target="I-D.ietf-pce-circuit-style-pcep-extensions"/> are used to ensure that:</t>
          <ul spacing="normal">
            <li>
              <t>Path determinism is achieved by the PCE only using segment lists representing a strict hop by hop path using unprotected adjacency-SIDs.</t>
            </li>
            <li>
              <t>Path persistency across events that may cause dynamic states to change in the network (e.g. router reboot) is achieved by the PCE only including statically configured adjacency-SIDs in its path computation response.</t>
            </li>
            <li>
              <t>Persistency across network changes is achieved by the PCE not performing periodic or network event triggered re-optimization.</t>
            </li>
          </ul>
          <t>Bandwidth adjustment can be requested after initial creation by signaling both requested and operational bandwidth in the BANDWIDTH object but the PCE MUST NOT respond with a changed path.</t>
          <t>As discussed in section 3.2 of <xref target="I-D.ietf-pce-multipath"/> it may be necessary to use load-balancing across multiple paths to satisfy the bandwidth requirement of a candidate path. In such a case the PCE will notify the headends A and Z to install multiple segment lists using the signaling procedures described in section 5.3 of <xref target="I-D.ietf-pce-multipath"/>.</t>
          <t>The candidate paths of the CS-SR Policy are reported and updated following PCEP procedures of <xref target="RFC8231"/>.</t>
        </section>
        <section anchor="pce_init">
          <name>PCE-initiated Mode</name>
          <t>The CS-SR Policy can be instantiated in the network between headends A and Z by a PCE using PCE-initiated procedures defined in <xref target="RFC8281"/>. For PCE-initiated procedures no SR Policy configuration is required on the headends A and Z acting as PCC. The PCE requests the headends A and Z to initiate the candiate paths of the CS-SR Policy by sending a PCInitiate message.</t>
          <t>The PCInitiate message contains the same Bandwidth, LSPA, and ASSOCIATION objects used in PCC-initiated mode.</t>
          <t>Following initiation, the candidate paths of the CS-SR Policy are reported and updated following PCEP procedures of <xref target="RFC8231"/> and share the same behavior as the PCC-initiated mode.</t>
          <t>Connectivity verification and performance measurement is enabled via local policy configuration on the headends, as there is no standard signaling mechanism available.</t>
        </section>
      </section>
      <section anchor="bgp">
        <name>Policy Creation when using BGP</name>
        <t>Again, considering the scenario illustrated in <xref target="architecture-diagram"/>, instead of configuring SR Policies on both headend A (with Z as endpoint) and headend Z (with A as endpoint), a CS-SR Policy between A and Z is instantiated by a request (e.g. application API call) to the controller.</t>
        <t>The controller performs path computation and advertises the corresponding SR Policies to the headend routers via BGP.</t>
        <t>To instantiate the SR Policies in headends A and Z the BGP extensions defined in <xref target="RFC9830"/> are used.</t>
        <t>No signaling extensions are required for the following:</t>
        <ul spacing="normal">
          <li>
            <t>Path determinism is achieved by the controller only computing strict paths and only including unprotected adjacency-SIDs in segment lists. Loose hops SHOULD NOT be used.</t>
          </li>
          <li>
            <t>Path persistency across events that may cause dynamic states to change in the network (e.g. router reboot) is achieved by the controller only including manually configured adjacency-SIDs in its path computation response.</t>
          </li>
          <li>
            <t>Persistency across network changes is achieved by the controller not performing periodic or network event triggered re-optimization.</t>
          </li>
        </ul>
        <t>If there are more than one candidate paths per SR Policy required, multiple NLRIs with different distinguisher values (see section 2.1 of <xref target="RFC9830"/>) have to be included in the BGP UPDATE message.</t>
        <t>To achieve load-balancing across multiple paths to satisfy the bandwidth requirement of a candidate path, multiple Segment List Sub-TLVs have to be included in the SR Policy Sub-TLV. See section 2.1 of <xref target="RFC9830"/>.</t>
        <t>The candidate paths of a CS-SR Policy are updated by the controller sending another BGP UPDATE message to the headends A and Z.</t>
        <t>The headends A and Z can report the CS-SR Policy candidate path state back to the controller via BGP-LS using the extension defined in <xref target="I-D.ietf-idr-bgp-ls-sr-policy"/>.</t>
        <t>Alternatively, CS-SR Policy candidate path state can be gathered using an appropriate YANG model such as <xref target="I-D.ietf-spring-sr-policy-yang"/>.</t>
        <t>Connectivity verification and performance measurement is enabled via local policy configuration on the headends, as there is no standard signaling mechanism available..</t>
      </section>
      <section anchor="maximum-sid-depth-constraint">
        <name>Maximum SID Depth Constraint</name>
        <t>The segment lists used by CS-SR Policy candidate paths are constrained by the maximum number of segments a router can impose onto a packet.</t>
        <t>When using SR-MPLS this constraint is called "Base MPLS Imposition MSD" and is advertised via IS-IS <xref target="RFC8491"/>, OSPF <xref target="RFC8476"/>, BGP-LS <xref target="RFC8814"/> and PCEP <xref target="RFC8664"/>.</t>
        <t>When using SRv6 this constraint is called "SRH Max H.encaps MSD" and is advertised via IS-IS <xref target="RFC9352"/>, OSPF <xref target="RFC9513"/>, BGP-LS <xref target="RFC9514"/> and PCEP <xref target="RFC9603"/>.</t>
        <t>The MSD constraint is typically resolved by leveraging a segment list reduction technique, such as using Node SIDs and/or Binding SIDs (BSIDs) (SR architecture <xref target="RFC8402"/>) in a segment list, which represents one or many hops in a given path.</t>
        <t>As described in <xref target="characteristics"/>, adjacency-SIDs without local protection are used in CS-SR Policies to ensure that there is no per-hop ECMP, no localized rerouting due to topological changes, and no invocation of localized protection mechanisms, as the alternate path may not be providing the desired SLA.</t>
        <t>If a CS-SR Policy path requires segment list reduction, a SR Policy can be programmed in a transit node, and its BSID can be used in the segment list of the CS-SR Policy, if the following requirements are met:</t>
        <ul spacing="normal">
          <li>
            <t>The transit SR Policy is unprotected, hence only has one candidate path.</t>
          </li>
          <li>
            <t>The transit SR Policy follows the rerouting and optimization characteristics defined in <xref target="characteristics"/> which implies the segment list of the candidate path MUST only use unprotected adjacency-SIDs.</t>
          </li>
        </ul>
        <t>This ensures that traffic for CS-SR Policies using a BSID does not get locally rerouted due to topological changes or locally protected due to failures. A transit SR Policy may be pre-programmed in the network or automatically injected in the network by a PCE.</t>
      </section>
    </section>
    <section anchor="cs-sr-policy-deletion">
      <name>CS-SR Policy Deletion</name>
      <section anchor="pcep_delete">
        <name>Policy Deletion when using PCEP</name>
        <t>When using PCC-initiated mode, the headends A and Z send a PCRpt message with the R flag set to 1 to inform the PCE about the deletion of a candidate path.</t>
        <t>When using PCE-initiated mode, the PCE does send a PCInitiate message to the headends A and Z and to instruct them to delete a candidate path.</t>
      </section>
      <section anchor="bgp_delete">
        <name>Policy Deletion when using BGP</name>
        <t>The controller is using the withdraw procedures of <xref target="RFC4271"/> to instruct headends A and Z to delete a candidate path.</t>
      </section>
    </section>
    <section anchor="recovery">
      <name>Recovery Schemes</name>
      <t>Various recovery (protection and restoration) schemes can be implemented for a CS-SR Policy. As described in <xref section="4.3" sectionFormat="of" target="RFC4427"/>, there is a subtle distinction between the terms "protection" and "restoration" based on the resource allocation done during the recovery path establishment. The same definitions apply for CS-SR Policy recovery schemes, wherein:</t>
      <ul spacing="normal">
        <li>
          <t>Protection: another candidate path is computed and fully established in the data plane and ready to carry traffic.</t>
        </li>
        <li>
          <t>Restoration: a candidate path may be computed and may be partially established but is not ready to carry traffic.</t>
        </li>
      </ul>
      <t>The term "failure" is used to represent both "hard failures" such complete loss of connectivity detected by continuity check described in <xref target="check"/> or degradation, i.e., when the packet loss ratio increased beyond a configured acceptable threshold.</t>
      <section anchor="unprotected">
        <name>Unprotected</name>
        <t>In the most basic scenario, no protection or restoration is required. The CS-SR Policy has only one candidate path.</t>
        <t>In case of a failure along the path the CS-SR Policy will go down and traffic will not be recovered.</t>
        <t>Typically, two CS-SR Policies are deployed either within the same network with disjoint paths or in two separate networks and the overlay service is responsible for traffic recovery.</t>
        <t>As soon as the failure(s) that brought the candidate path down are cleared, the candidate path is activated, traffic is sent across it and state is reported accordingly.</t>
        <section anchor="unprotected_setup">
          <name>Setup</name>
          <t>When using PCEP, the single candidate path is established using the procedures defined in <xref target="pcep"/>, activated and is carrying traffic.</t>
          <t>A PCRpt message is sent from the headends A and Z to the PCE with the O field in the LSP object <xref section="7.3" sectionFormat="of" target="RFC8231"/> set to 2 to indicate the candidate path is active and carrying traffic.</t>
          <t>When using BGP, the single candidate path is established using the procedures defined in <xref target="bgp"/>, activated and is carrying traffic.</t>
          <t>A BGP-LS update is sent from the headends A and Z to the controller with the SR Candidate Path State TLV of the SR Policy Candidate Path NLRI having the</t>
          <ul spacing="normal">
            <li>
              <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller, and</t>
            </li>
            <li>
              <t>A-Flag set to 1 to indicate the candidate path is active and is carrying traffic.</t>
            </li>
          </ul>
        </section>
        <section anchor="failure">
          <name>Failure</name>
          <t>When using PCEP, a PCRpt message is sent by the headends A and Z to the PCE with O field in LSP object changed from 2 to 0, to indicate the candidate path is no longer active and not carrying traffic.</t>
          <t>When using BGP, a BGP-LS update is sent by the headends A and Z to the controller with the SR Policy Candidate Path NLRI of the candidate path and the SR Candidate Path State TLV having the A-Flag cleared to indicate the candidate path is no longer active and not carrying traffic.</t>
        </section>
        <section anchor="reversion">
          <name>Reversion</name>
          <t>When using PCEP, a PCRpt message is sent by the headends A and Z to the PCE with O field in LSP object is set to 2, to indicate this candidate path is active again and traffic is sent across it.</t>
          <t>When using BGP, a BGP-LS update is sent by the headends A and Z to the controller with the SR Policy Candidate Path NLRI of the candidate path and the SR Candidate Path State TLV having the A-Flag change to 1 to indicate the candidate path is active again and traffic is sent across it.</t>
        </section>
      </section>
      <section anchor="onetoone">
        <name>1:1 Protection</name>
        <t>For fast recovery against failures the CS-SR Policy has two candidate paths. Both paths are established but only the candidate with higher preference is activated and is carrying traffic. The second candidate path is programmed as backup in the forwarding plane as described in <xref section="9.3" sectionFormat="of" target="RFC9256"/>.</t>
        <t>Upon a failure impacting the candidate path with higher preference carrying traffic, the candidate path with lower preference is activated immediately and traffic is now sent across it.</t>
        <t>Protection switching is bidirectional. As described in <xref target="check"/>, both headends will generate and receive their own loopback mode test packets, hence even a unidirectional failure will always be detected by both headends without protection switch coordination required.</t>
        <t>Two cases are to be considered when the failure(s) impacting a candidate path with higher preference are cleared:</t>
        <ul spacing="normal">
          <li>
            <t>Revertive switching: re-activate the higher preference candidate path and start sending traffic over it.</t>
          </li>
          <li>
            <t>Non-revertive switching: do not activate the higher preference candidate path and keep sending traffic via the lower preference candidate path.</t>
          </li>
        </ul>
        <section anchor="setup">
          <name>Setup</name>
          <t>When using PCEP, the two candidate paths are established using the procedures defined in <xref target="pcep"/>. The candidate path with higher preference is activated and is carrying traffic.</t>
          <t>When using PCC-initiated mode, appropriate diverse routing of the candidate path with lower preference from the candidate path with higher preference can be requested by the headends A and Z from the PCE by using the "Disjointness Association" object (type 2) defined in <xref target="RFC8800"/> in the PCRpt messages. The disjoint requirements are communicated in the "DISJOINTNESS-CONFIGURATION TLV"</t>
          <ul spacing="normal">
            <li>
              <t>L bit set to 1 for link diversity</t>
            </li>
            <li>
              <t>N bit set to 1 for node diversity</t>
            </li>
            <li>
              <t>S bit set to 1 for SRLG diversity</t>
            </li>
            <li>
              <t>T bit set to enforce strict diversity</t>
            </li>
          </ul>
          <t>The P bit may be set for the candidate path with higher preference to allow for finding the best path for it that does satisfy all constraints without considering diversity to the candidate path with the lower preference.</t>
          <t>The "Objective Function (OF) TLV" as defined in section 5.3 of <xref target="RFC8800"/> may also be added to minimize the common shared resources.</t>
          <t>When using PCE-initated mode, no signaling of diversity requirements between headends and the PCE is required.</t>
          <t>A PCRpt message for the candidate path with higher preference is sent by the headends A and Z to the PCE with the O field in the LSP object set to 2 to indicate this candidate path is active and carrying traffic.</t>
          <t>Further, a PCRpt message for the candidate path with the lower preference is sent with the O field in the LSP object set to 1 to indicate the candidate path is signaled but not carrying traffic.</t>
          <t>When using BGP, the two candidate paths are established using the procedures defined in <xref target="bgp"/>. The candidate path with higher preference is activated and is carrying traffic.</t>
          <t>When using BGP, the controller is already aware of the disjoint requirements and does consider them while computing both paths. Two NLRIs with different distinguisher values and different preference values are included in the BGP UPDATE sent by the controller to the headend routers.</t>
          <t>A BGP-LS update is sent by the headends A and Z to the controller with a SR Policy Candidate Path NLRI for the candidate path with higher preference where the SR Candidate Path State TLV is having the</t>
          <ul spacing="normal">
            <li>
              <t>C-Flag set to 1 to indicate that candidate path was provisioned by the controller, and</t>
            </li>
            <li>
              <t>A-Flag set to 1 to indicate the candidate path is active and is carrying traffic.</t>
            </li>
          </ul>
          <t>Further, another SR Policy Candidate Path NLRI for the candidate path with lower preference where the SR Candidate Path State TLV is included having the</t>
          <ul spacing="normal">
            <li>
              <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller, and</t>
            </li>
            <li>
              <t>B-Flag set to 1 to indicate the role of backup path.</t>
            </li>
          </ul>
        </section>
        <section anchor="failure-1">
          <name>Failure</name>
          <t>When using PCEP, a PCRpt message for the higher preference candidate path is sent by the headends A and Z to the PCE with the O field changed from 2 to 0 to indicate that the candidate path is no longer active and not carrying traffic anymore.</t>
          <t>Further, a PCRpt message for the lower preference candidate path is sent with the O field changed from 1 to 2 to indicate that the candidate path got activated and is carrying traffic.</t>
          <t>When using BGP, a BGP-LS update is sent by the headends A and Z to the controller with the SR Policy Candidate Path NLRI for the higher preference candidate path with the SR Candidate Path State TLV having the A-Flag cleared to indicate that the candidate path is no longer active and not carrying traffic anymore.</t>
          <t>Further, the SR Policy Candidate Path NLRI for the lower preference candidate path with the SR Candidate Path State TLV having the B-Flag cleared and A-Flag set to 1 is included in the BGP-LS update to indicate that the candidate path got activated and is carrying traffic.</t>
        </section>
        <section anchor="reversion-1">
          <name>Reversion</name>
          <t>When using PCEP, for revertive switching a PCRpt message for the recovered higher preference candidate path is sent by the headends A and Z to the PCE with the O field changed from 0 to 2 to indicate the higher preference candidate path got re-activated and is carrying traffic.</t>
          <t>Further, a PCRpt message is sent for the lower preference candidate path with the O field changed from 2 to 1 to indicate that the lower preference candidate path is no longer active but signaled.</t>
          <t>For non-revertive switching only a PCRpt message for the recovered higher preference candidate path with the O field set to 1 is sent to indicate that the higher preference candidate path got signaled but is not active.</t>
          <t>When using BGP, for revertive switching a BGP-LS update is sent by the headends A and Z to the controller with the SR Policy Candidate Path NLRI for the recovered higher preference candidate path with the SR Candidate Path State TLV having the A-Flag set to 1 to indicate the higher preference candidate path got re-activated and is carrying traffic.</t>
          <t>Further, the SR Policy Candidate Path NLRI for the lower preference candidate path with the SR Candidate Path State TLV having the A-Flag cleared and B-Flag set to 1 is included in the BGP-LS update to indicate that the lower preference candidate path is no longer active but signaled.</t>
          <t>For non-revertive switching only a BGP-LS update with a SR Policy Candidate Path NLRI for the higher preference candidate path with the SR Candidate Path State TLV having the B-Flag set to 1 is sent to indicate that the higher preference candidate path got signaled but is not active.</t>
        </section>
      </section>
      <section anchor="restoration">
        <name>Restoration</name>
        <section anchor="oneplusr">
          <name>1+R Restoration</name>
          <t>Similarly to 1:1 protection described in <xref target="onetoone"/>, in this recovery scheme the CS-SR Policy has two candidate paths.</t>
          <t>To avoid pre-allocating protection bandwidth by the controller ahead of failures, but still being able to recover traffic flow over an alternate path through the network in a deterministic way (maintaining the required bandwidth commitment), the second candidate path with lower preference is established "on demand" and activated upon failure of the first candidate path.</t>
          <t>As soon as failure(s) that brought the first candidate path down are cleared, the second candidate path is getting torn down and traffic is reverted back to the first candidate path.</t>
          <t>Restoration and reversion behavior is bidirectional. As described in <xref target="check"/>, both headends use continuity check in loopback mode and therefore, even in case of unidirectional failures, both headends will detect the failure or clearance of the failure and switch traffic away from the failed or to the recovered candidate path.</t>
          <section anchor="setup-1">
            <name>Setup</name>
            <t>The first candidate path is set up as described in <xref target="unprotected_setup"/>.</t>
          </section>
          <section anchor="failure-2">
            <name>Failure</name>
            <t>When using PCEP, the second candidate path with lower preference is established using the procedures in <xref target="pcep"/>, activated and traffic is sent across it.</t>
            <t>A PCRpt message for the lower preference candidate path is sent by the headends A and Z to the PCE with the O field set to 2 to indicate this candidate path is active and carrying traffic.</t>
            <t>Further, a PCRpt message for the higher preference candidate path is sent to the PCE with the O field changed from 2 to 0 to indicate this candidate path is no longer active.</t>
            <t>When using BGP, the second candidate path with lower preference is established using the procedures defined in <xref target="bgp"/>.</t>
            <t>A BGP-LS update with the SR Policy Candidate Path NLRI for the lower preference candidate path is sent by the headends A and Z to the controller with the SR Candidate Path State TLV having the</t>
            <ul spacing="normal">
              <li>
                <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller, and</t>
              </li>
              <li>
                <t>A-Flag set to 1 to indicate the candidate path is active and is carrying traffic.</t>
              </li>
            </ul>
            <t>Further, the SR Policy Candidate Path NLRI for the higher preference candidate path is included with the SR Candidate Path State TLV having the A-Flag cleared, to indicate that the candidate this path is no longer active and not carrying traffic anymore.</t>
          </section>
          <section anchor="reversion-2">
            <name>Reversion</name>
            <t>When using PCEP, the second candidate path with lower preference is torn down using the procedures in <xref target="pcep_delete"/>.</t>
            <t>A PCRpt message for the remaining candidate path is sent by the headends A and Z to the PCE with O field in LSP object is set to 2, to indicate this candidate path is active and traffic is sent across it.</t>
            <t>When using BGP, the second candidate path with lower preference is torn down by using the procedures in <xref target="bgp_delete"/>.</t>
            <t>A BGP-LS update with the SR Policy Candidate Path NLRI for the remaining candidate path is sent to the controller with the SR Candidate Path State TLV having the</t>
            <ul spacing="normal">
              <li>
                <t>A-Flag set to 1 to indicate the candidate path became active and is carrying traffic again.</t>
              </li>
            </ul>
          </section>
        </section>
        <section anchor="onetooneplusr">
          <name>1:1+R Restoration</name>
          <t>For further resiliency in case of multiple concurrent failures that could bring down both candidate paths of 1:1 protection described in <xref target="onetoone"/>, a third candidate path with a preference lower than the other two candidate paths (in this section referred to as first and second candidate path) is added to the CS-SR Policy to enable restoration.</t>
          <t>There are two possible operating models:</t>
          <ul spacing="normal">
            <li>
              <t>R established upon double failure</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>As in <xref target="oneplusr"/>, to avoid pre-allocating additional bandwidth by the controller ahead of failures, the third candidate path may only be requested when both candidate paths are affected by failures.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>As soon as either the first or second candidate path recovers, traffic will be reverted and the third candidate path MUST be torn down.</t>
            </li>
          </ul>
          <ul spacing="normal">
            <li>
              <t>R pre-established after single failure</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>Alternatively, the third candidate path can also be requested and pre-computed already whenever either the first or second candidate path go down with the downside of more bandwidth being set aside ahead of time. When doing so, the third candidate path MUST be computed diverse to the still operational candidate path.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>The third candidate path will get activated and carry traffic when further failures lead to both the first and second candidate path being down.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>As long as either the first or the second candidate path is active, the third candidate path is kept, updated (if needed) to ensure diversity to the active candidate path and is not carrying traffic.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>Once both, the first and the second candidate path have recovered, the third candidate path is torn down.</t>
            </li>
          </ul>
          <t>Again, restoration and reversion behavior is bidirectional. As described in <xref target="check"/>, both headends use continuity check in loopback mode and therefore even in case of unidirectional failures both headends will detect the failure or clearance of the failure and switch traffic away from the failed or to the recovered candidate path.</t>
          <section anchor="r-established-upon-double-failure">
            <name>R established upon double failure</name>
            <section anchor="setup-2">
              <name>Setup</name>
              <t>The first and second candidate path are set up as described in <xref target="onetoone"/></t>
            </section>
            <section anchor="failure-3">
              <name>Failure</name>
              <t>As failure(s) have brought down both the first and second candidate path, a third candidate path with lowest preference is established, activated and traffic is sent across it immediately to restore traffic.</t>
              <t>When using PCEP, the third candidate path is established using the procedures in <xref target="pcep"/>.</t>
              <t>A PCRpt message for the third candidate path is sent by the headends A and Z to the PCE with the O field set to 2 to indicate this candidate path is active and carrying traffic.</t>
              <t>Further, a PCRpt message for both the first and second candidate path is sent to the PCE with the O field set to 0 to indicate the candidate paths are no longer active and are not carrying traffic.</t>
              <t>When using BGP, the third candidate path is established using the procedures defined in <xref target="bgp"/>.</t>
              <t>A BGP-LS update is sent by the headends A and Z to the controller with a SR Policy Candidate Path NLRI for the third candidate path with the SR Candidate Path State TLV having the</t>
              <ul spacing="normal">
                <li>
                  <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller, and</t>
                </li>
                <li>
                  <t>A-Flag set to 1 to indicate the candidate path is active and is carrying traffic.</t>
                </li>
              </ul>
              <t>Further, the SR Policy Candidate Path NLRIs for the first and second candidate path are also included with the SR Candidate Path State TLV having the A-Flag and B-Flag cleared to indicate that those candidate paths are no longer active or backup and are not carrying traffic.</t>
            </section>
            <section anchor="reversion-3">
              <name>Reversion</name>
              <t>When using PCEP, the third candidate path is torn down using the procedures in <xref target="pcep_delete"/>.</t>
              <t>A PCRpt message for the recovered candidate path is sent by the headends A and Z to the PCE with O field in LSP object is set to 1, to indicate this candidate path is signaled but is not carrying traffic.</t>
              <t>When using BGP, the third candidate path is torn down by using the procedures in <xref target="bgp_delete"/>.</t>
              <t>A BGP-LS update with the SR Policy Candidate Path NLRI for the covered candidate path is sent by the headends A and Z to the controller with the SR Candidate Path State TLV having the B-Flag set to 1 to indicate the candidate path became backup and is not carrying traffic.</t>
            </section>
          </section>
          <section anchor="r-pre-established-after-single-failure">
            <name>R pre-established after single failure</name>
            <section anchor="setup-3">
              <name>Setup</name>
              <t>The first and second candidate path are set up as described in <xref target="onetoone"/></t>
            </section>
            <section anchor="failure-4">
              <name>Failure</name>
              <t>As a failure brought either the first or the second candidate path down, a third candidate path is established, but is not activated and is not carrying traffic. 
<!--
TODO : add diversity to first or second candidate path signaling 
-->
              </t>
              <t>When using PCEP, a PCRpt message for the third candidate path is sent by the headends A and Z to the PCE with the O field set to 1 to indicate this candidate path is signaled but not carrying traffic.</t>
              <t>Further, a PCRpt message for the failed candidate path is sent to the PCE with the O field set to 0 to indicate this candidate path is no longer active and not carrying traffic.</t>
              <t>When using BGP, a BGP-LS update is sent by the headends A and Z to the controller with a SR Policy Candidate Path NLRI for the third candidate path with the SR Candidate Path State TLV having the</t>
              <ul spacing="normal">
                <li>
                  <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller, and</t>
                </li>
                <li>
                  <t>B-Flag set to 1 to indicate the role of backup path.</t>
                </li>
              </ul>
              <t>Further, the SR Policy Candidate Path NLRIs for the failed candidate path is also included with the SR Candidate Path State TLV having the A-Flag and B-Flag cleared to indicate that the candidate path is no longer active or backup and is not carrying traffic.</t>
              <t>Whenever later a failure happens, that leads to both the first and second candidate path to be down, the third candidate path gets activated and traffic is sent across it.</t>
              <t>When using PCEP, a PCRpt message for the third candidate path is sent by the headends A and Z to the PCE with the O field set to 2 to indicate this candidate path is active and carrying traffic.</t>
              <t>Further, a PCRpt message for both the failed candidate path is sent to the PCE with the O field set to 0 to indicate the candidate path is no longer active and is not carrying traffic.</t>
              <t>When using BGP, a BGP-LS update is sent by the headends A and Z to the controller with a SR Policy Candidate Path NLRI for the third candidate path with the SR Candidate Path State TLV having the</t>
              <ul spacing="normal">
                <li>
                  <t>C-Flag set to 1 to indicate the candidate path was provisioned by the controller, and</t>
                </li>
                <li>
                  <t>A-Flag set to 1 to indicate the candidate path is active and is carrying traffic.</t>
                </li>
              </ul>
              <t>Further, the SR Policy Candidate Path NLRI for the failed candidate path is also included with the SR Candidate Path State TLV having the A-Flag cleared to indicate that the candidate path is no longer active and is not carrying traffic.</t>
            </section>
            <section anchor="reversion-4">
              <name>Reversion</name>
              <t>When transitioning from a state where both the first and second candidate path being down to a state where either of them is recovered. The third candidate path MAY be updated to ensure it is diverse to the active candidate path.</t>
              <t>When using PCEP, the third candidate path is updated following PCEP procedures of <xref target="RFC8231"/>.</t>
              <t>When using BGP, the controller is sending a new BGP update with the SR Policy Candidate Path NLRI containing the new path.</t>
              <t>When both the first and second candidate path have recovered, the third candidate MUST be torn down and the reversion procedures of <xref target="onetoone"/> MUST be followed.</t>
              <t>When using PCEP, the third candidate path is torn down using the procedures in <xref target="pcep_delete"/>.</t>
              <t>When using BGP, the third candidate path is torn down by using the procedures in <xref target="bgp_delete"/>.</t>
            </section>
          </section>
        </section>
      </section>
    </section>
    <section anchor="OAM">
      <name>Operations, Administration, and Maintenance (OAM)</name>
      <section anchor="check">
        <name>Continuity Check</name>
        <t>The continuity check for each segment list on both headends MAY be done using</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="27" month="August" year="2025"/>
            <abstract>
              <t>   The Path Computation Element Communication Protocol (PCEP) provides
   mechanisms for Path Computation Elements (PCEs) to perform path
   computations in response to Path Computation Clients (PCCs) requests.
   Segment routing (SR) leverages the source routing and tunneling
   paradigms.  The Stateful PCEP extensions allow stateful control of
   Segment Routing Traffic Engineering (TE) Paths.  Furthermore, PCEP
   can be used for computing SR TE paths in the network.

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


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

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

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

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-circuit-style-pcep-extensions-09"/>
        </reference>
        <reference anchor="I-D.ietf-pce-multipath">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Signaling Multipath Information</title>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bhupendra Yadav" initials="B." surname="Yadav">
              <organization>Ciena</organization>
            </author>
            <author fullname="Shuping Peng" initials="S." surname="Peng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Verizon Inc.</organization>
            </author>
            <author fullname="Samuel Sidor" initials="S." surname="Sidor">
              <organization>Cisco Systems.</organization>
            </author>
            <date day="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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
zGuLxRxZDamE/x9IPWlwoMUAAA==

-->

</rfc>
