<?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.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-pce-operational-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="PCEP-OPERATIONAL">PCEP Operational Clarification</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-pce-operational-01"/>
    <author fullname="Mike Koldychev">
      <organization>Ciena Corporation</organization>
      <address>
        <email>mkoldych@proton.me</email>
      </address>
    </author>
    <author fullname="Siva Sivabalan">
      <organization>Ciena Corporation</organization>
      <address>
        <email>ssivabal@ciena.com</email>
      </address>
    </author>
    <author fullname="Shuping Peng">
      <organization>Huawei Technologies</organization>
      <address>
        <email>pengshuping@huawei.com</email>
      </address>
    </author>
    <author fullname="Diego Achaval">
      <organization>Nokia</organization>
      <address>
        <email>diego.achaval@nokia.com</email>
      </address>
    </author>
    <author fullname="Hari Kotni">
      <organization>Juniper Networks, Inc</organization>
      <address>
        <email>hkotni@juniper.net</email>
      </address>
    </author>
    <author fullname="Andrew Stone">
      <organization>Nokia</organization>
      <address>
        <email>andrew.stone@nokia.com</email>
      </address>
    </author>
    <date/>
    <area/>
    <workgroup>Path Computation Element</workgroup>
    <abstract>
      <?line 51?>

<t>This document clarifies certain operational behavior aspects of
the PCEP protocol.  The content of this document has been compiled
based on several interop exercises.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Path Computation Element  mailing list (pce@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/pce/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ietf-wg-pce/draft-ietf-pce-operational"/>.</t>
    </note>
  </front>
  <middle>
    <?line 58?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Due to different interpretations of PCEP standards, it was found that
implementations often had to adjust their behavior in order to
interoperate.  The current document serves to clarify certain aspects
of PCEP to make it easier to produce interoperable implementations of
PCEP.</t>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

</section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The following terminologies are used in this document:</t>
      <t>PCC:  Path Computation Client.  Any client application requesting a
path computation to be performed by a Path Computation Element.</t>
      <t>PCE:  Path Computation Element.  An entity (component, application,
or network node) that is capable of computing a network path or
route based on a network graph and applying computational
constraints.</t>
      <t>PCEP:  Path Computation Element Protocol.</t>
      <t>MBB:  Make-Before-Break.  A procedure during which the head-end of a
traffic-engineered path wishes to move traffic to a new path
without losing any traffic, by first "making" a new path and then
"breaking" the old path.</t>
      <t>Association parameters:  As described in <xref target="RFC8697"/>, the combination
of the mandatory fields Association type, Association ID and
Association Source in the ASSOCIATION object uniquely identify the
association group.  If the optional TLVs - Global Association
Source or Extended Association ID are included, then they are
included in combination with mandatory fields to uniquely identify
the association group.</t>
      <t>Association information:  As described in <xref target="RFC8697"/>, the ASSOCIATION
object could also include other optional TLVs based on the
association types, that provides 'information' related to the
association type.</t>
      <t>ERO: Explicit Route Object is the path of the LSP encoded into a PCEP object.
In this document, an empty ERO object, i.e., without any subobjects,
is represented with notation "ERO={}". An ERO object containing a given
sequence of subobjects is represented as "ERO={A}".</t>
      <t>PCRPT-LSP-DB: PCEP Reported Label Switched Path Database. A logical datastore
that captures the reported state information of Label Switched Paths (LSPs)
within a PCEP speaker. This term is not defined in the PCE architecture;
however, it is used in this document to describe how a PCEP speaker
internally maintains LSP-related state information reported via PCRpt messages.</t>
      <t>EXTENDED-LSP-DB: Extended Label Switched Path Database. An implementation-specific
logical datastore used to capture information related to a Label Switched Path.
It may be keyed using the same identifiers as the PCRPT-LSP-DB. This term is not
defined in the PCE architecture; however is used in this document to refer to a conceptual
datastore that can include additional attributes—such as desired state,
telemetry data, and other information not defined within IETF PCE working group documents.</t>
      <t>PLSP-ID (Path LSP Identifier): Introduced in <xref target="RFC8231"/>. A unique identifier used in PCEP to
distinguish a specific LSP between a PCC and a PCE which is constant for the lifetime of
a PCEP session.</t>
    </section>
    <section anchor="pcep-lsp-database">
      <name>PCEP LSP Database</name>
      <t>This document uses the concept of the PCRPT-LSP-DB, a database of actual LSP
state in the network, to illustrate the internal state of PCEP speakers in
response to PcRpt messages.</t>
      <t>Note that the term "LSP", which stands for "Label Switched Path", if
taken too literally, would restrict the discussion to the MPLS dataplane
only. In this document, the term "LSP" is applied to non-MPLS paths as well,
to avoid renaming the term. Alternatively, the term "LSP" could be replaced with "Instance".</t>
      <section anchor="structure">
        <name>Structure</name>
        <t>The distinction between Tunnels and LSPs in the PCRPT-LSP-DB is essential for accurately
modeling state information in PCEP, including procedures such as make-before-break,
and for maintaining consistent state management across PCEP speakers.</t>
        <t>The PCRPT-LSP-DB contains two types of information: LSPs and Tunnels. An LSP is identified
by the LSP-IDENTIFIERS TLV, while a Tunnel is identified by the PLSP-ID in the LSP
object and/or the SYMBOLIC-NAME (see <xref target="RFC8231"/>).</t>
        <t>A Tunnel may or may not correspond to an actual tunnel on the router. For
example, working and protect paths can be implemented as a single
tunnel interface, but in PCEP, these are represented as two different
Tunnels with different PLSP-IDs.</t>
        <t>An LSP can be viewed as an instance of a Tunnel. In steady state,
a Tunnel typically has a single LSP; however, during make-before-break
procedures (see <xref target="RFC3209"/>), multiple LSPs may exist simultaneously to represent
both the new and old instances during the transition.</t>
      </section>
      <section anchor="synchronization">
        <name>Synchronization</name>
        <t>Since the PCRPT-LSP-DB contains PCEP-specific information such as PLSP-IDs,
which remain constant for the duration of a PCEP session, both the PCE and
PCC maintain their own local copies of the PCRPT-LSP-DB.
The PCE PCRPT-LSP-DB is only modified by PCRpt messages, no other PCEP message
may modify the PCE PCRPT-LSP-DB.  The PCC PCRPT-LSP-DB is built from actual
forwarding state that PCC has installed.  PCC uses PCRpt messages to
synchronize its local PCRPT-LSP-DB to the PCE.</t>
        <t>The PCE is intended to act based on the most recent state available in the PCRPT-LSP-DB,
which represents the actual state of Label Switched Paths (LSPs) in the network. This
does not preclude the PCE from leveraging information obtained outside the PCRPT-LSP-DB.
For example, implementation-specific mechanisms may be used to collect traffic statistics
that can be considered during path computation. Such information is not part of the
PCRPT-LSP-DB itself, but may reference it. Additional data such as desired state, telemetry,
or operator-intended configurations—may be maintained in a separate, implementation-specific
logical datastore referred to as the EXTENDED-LSP-DB.</t>
        <t>Both the PCE and PCC maintain a PCRPT-LSP-DB that reflects the reported (actual) state of LSPs.
Implementations may choose to store desired state information or other attributes in the
EXTENDED-LSP-DB. It is important to note that the PCRPT-LSP-DB reflects only the live view
of the network and does not imply alignment with the desired state.</t>
        <t>For example, in the case of a PCE-initiated LSP, a change in the LSP configuration made by
an operator represents a modification to the desired state. However, the actual state does
not change until the PCE sends a PCInit or PCUpd message to the PCC. Upon receipt of such a
message, the PCC may act on the request, update its local PCRPT-LSP-DB, and generate a PCRpt
message to inform the PCE of the change. The PCE then updates its own PCRPT-LSP-DB accordingly.
Once this exchange is complete, the PCRPT-LSP-DBs on both the PCC and the PCE are synchronized.</t>
      </section>
      <section anchor="make-before-break-mbb">
        <name>Make before Break (MBB)</name>
        <t>Due to variations in how different implementations interpret or handle MBB
procedures—sometimes resulting in incorrect message processing or misinterpretation—the
following section provides illustrative examples to clarify expected MBB behavior.</t>
        <section anchor="successful-mbb">
          <name>Successful MBB</name>
          <t>Below is an example of performing MBB to switch a Tunnel from one
path to another. The path encoded into the ERO object
is represented as ERO={A} and ERO={B}.</t>
          <t>PCC has an existing LSP in UP state, with LSP-ID=2.  PCC sends
PCRpt(R-FLAG=0, PLSP-ID=100, LSP-ID=2, ERO={A}, OPER-FLAG=UP).</t>
          <artwork><![CDATA[
+---------------------------------------------------------------+
| TUNNEL          | LSP                                         |
+-----------------+---------------------------------------------+
| PLSP-ID=100     | LSP-ID=2, ERO={A}, OPER=UP                  |
+---------------------------------------------------------------+

                Figure 1: Content of LSP DB
]]></artwork>
          <t>PCC initiates the MBB procedure by creating a new LSP with LSP-ID=3.
It does not matter what triggered the creation of the new LSP, it
could have been due to a new path received via PCUpd (if the given
Tunnel is delegated), or it could have been local computation on the
PCC (if the Tunnel is locally computed on the PCC), or it could have
been a change in configuration on the PCC (if the Tunnel's path is
explicitly configured on the PCC).  It is important to emphasize that
the procedure for updating the PCRPT-LSP-DB is common, regardless of the
trigger that caused the change.</t>
          <t>PCC sends PCRpt(R-FLAG=0, PLSP-ID=100, LSP-ID=3, ERO={B}, OPER-
FLAG=UP).</t>
          <artwork><![CDATA[
+---------------------------------------------------------------+
| TUNNEL          | LSP                                         |
+-----------------+---------------------------------------------+
| PLSP-ID=100     | LSP-ID=2, ERO={A}, OPER=UP                  |
|                 | LSP-ID=3, ERO={B}, OPER=UP                  |
+---------------------------------------------------------------+

                Figure 2: Content of LSP DB
]]></artwork>
          <t>After traffic has successfully switched to the new LSP, the PCC
cleans up the old LSP.  PCC sends PCRpt(R-FLAG=1, PLSP-ID=100, LSP-
ID=2).</t>
          <artwork><![CDATA[
+---------------------------------------------------------------+
| TUNNEL          | LSP                                         |
+-----------------+---------------------------------------------+
| PLSP-ID=100     | LSP-ID=3, ERO={B}, OPER=UP                  |
+---------------------------------------------------------------+

                Figure 3: Content of LSP DB
]]></artwork>
        </section>
        <section anchor="aborted-mbb">
          <name>Aborted MBB</name>
          <t>The MBB process can abort when the newly created LSP is destroyed
before it is installed as traffic carrying.  This scenario is
described below.</t>
          <t>PCC has an existing LSP in UP state, with LSP-ID=2.  PCC sends
PCRpt(R-FLAG=0, OPER-FLAG=UP, PLSP-ID=100, LSP-ID=2).</t>
          <artwork><![CDATA[
+---------------------------------------------------------------+
| TUNNEL          | LSP                                         |
+-----------------+---------------------------------------------+
| PLSP-ID=100     | LSP-ID=2, OPER=UP                           |
+---------------------------------------------------------------+

                Figure 4: Content of LSP DB
]]></artwork>
          <t>MBB procedure is initiated, a new LSP is created with LSP-ID=3.  LSP
is currently being established, so its oper state is DOWN.  PCC sends
PCRpt(R-FLAG=0, OPER-FLAG=DOWN, PLSP-ID=100, LSP-ID=3).</t>
          <artwork><![CDATA[
+---------------------------------------------------------------+
| TUNNEL          | LSP                                         |
+-----------------+---------------------------------------------+
| PLSP-ID=100     | LSP-ID=2, OPER=UP                           |
|                 | LSP-ID=3, OPER=DOWN                         |
+---------------------------------------------------------------+

                Figure 5: Content of LSP DB
]]></artwork>
          <t>MBB procedure is aborted.  PCC sends PCRpt(R-FLAG=1, PLSP-ID=100,
LSP-ID=3).</t>
          <artwork><![CDATA[
+---------------------------------------------------------------+
| TUNNEL          | LSP                                         |
+-----------------+---------------------------------------------+
| PLSP-ID=100     | LSP-ID=2, OPER=UP                           |
+---------------------------------------------------------------+

                Figure 6: Content of LSP DB
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="pcep-association-database">
      <name>PCEP Association Database</name>
      <t>PCEP Association is the instantiate of a group containing at least one LSP.</t>
      <t>The PCE ASSO DB is populated by PCRpt messages and/or via
configuration on the PCE itself. An Association is identified by the
Association Parameters. As the Association Parameters contain many fields,
all fields are grouped into a single value for convenience.
The notation ASSO_PARAM=A and ASSO_PARAM=B is used to refer to
different PCEP Associations: A and B, respectively.</t>
      <section anchor="lsps-in-same-association">
        <name>LSPs in same Association</name>
        <t>The following example illustrates how LSPs join the same Association.</t>
        <t>PCC creates the first LSP.  PCC sends PCRpt(R-FLAG=0, PLSP-ID=100,
LSP-ID=1, ASSO_PARAM=A, ASSO_R_FLAG=0).</t>
        <artwork><![CDATA[
+---------------------------------------------------------------+
| ASSO            | LSP                                         |
+-----------------+---------------------------------------------+
| ASSO_PARAM=A    | PLSP-ID=100, LSP-ID=1                       |
+---------------------------------------------------------------+

                Figure 7: Content of PCE ASSO DB
]]></artwork>
        <t>PCC creates the second LSP.  PCC sends PCRpt(R-FLAG=0, PLSP-ID=200,
LSP-ID=1, ASSO_PARAM=A, ASSO_R_FLAG=0).</t>
        <artwork><![CDATA[
+---------------------------------------------------------------+
| ASSO            | LSP                                         |
+-----------------+---------------------------------------------+
| ASSO_PARAM=A    | PLSP-ID=100, LSP-ID=1                       |
|                 | PLSP-ID=200, LSP-ID=1                       |
+---------------------------------------------------------------+

                Figure 8: Content of PCE ASSO DB
]]></artwork>
        <t>PCC updates the first LSP. As <xref target="RFC8697"/> indicates, subsequent PcRpt
should include only the associations that are being modified or removed.
Therefore it is optional as to send the
ASSOCIATION object in this PCRpt, since the LSP is already in the
Association.  PCC sends PCRpt(R-FLAG=0, PLSP-ID=100, LSP-ID=1).  The
content of the PCE ASSO DB is unchanged.  Note that the PCC sends the
ASSOCIATION OBJECT in the first PCRpt during SYNC state, even if it
has already issued a PCRpt with the association object sometime in
the past with this PCE.  The synchronization steps outlined in
<xref target="RFC8697"/> are to be followed.</t>
        <artwork><![CDATA[
+---------------------------------------------------------------+
| ASSO            | LSP                                         |
+-----------------+---------------------------------------------+
| ASSO_PARAM=A    | PLSP-ID=100, LSP-ID=1                       |
|                 | PLSP-ID=200, LSP-ID=1                       |
+---------------------------------------------------------------+

                Figure 9: Content of PCE ASSO DB
]]></artwork>
        <t>PCC decides to delete the second LSP.  PCC sends PCRpt(R-FLAG=1,
PLSP-ID=200, LSP-ID=1).</t>
        <artwork><![CDATA[
+---------------------------------------------------------------+
| ASSO            | LSP                                         |
+-----------------+---------------------------------------------+
| ASSO_PARAM=A    | PLSP-ID=100, LSP-ID=1                       |
+---------------------------------------------------------------+

                Figure 10: Content of PCE ASSO DB
]]></artwork>
        <t>PCC decides to remove the first LSP from the Association, but not
delete the LSP itself.  PCC sends PCRpt(R-FLAG=0, PLSP-ID=100, LSP-
ID=1, ASSO_PARAM=A, ASSO_R_FLAG=1).  The PCE ASSO DB is now empty.</t>
        <artwork><![CDATA[
+---------------------------------------------------------------+
| ASSO            | LSP                                         |
+-----------------+---------------------------------------------+
| -               |                                             |
+---------------------------------------------------------------+

                Figure 11: Content of PCE ASSO DB
]]></artwork>
      </section>
      <section anchor="switch-association-during-mbb">
        <name>Switch Association during MBB</name>
        <t>The following example illustrates how a Tunnel goes through MBB
and switches from Association A to Association B.</t>
        <t>Each new LSP (identified by the LSP-ID) does not inherit the
Association membership of any previous LSPs within the same Tunnel.
This is so that a Tunnel can have two LSPs that are in different
Associations, this may be done when switching from one Association to
another.</t>
        <t>PCC creates the first LSP.  PCC sends PCRpt(R-FLAG=0, PLSP-ID=100,
LSP-ID=1, ASSO_PARAM=A, ASSO_R_FLAG=0).</t>
        <artwork><![CDATA[
+---------------------------------------------------------------+
| ASSO            | LSP                                         |
+-----------------+---------------------------------------------+
| ASSO_PARAM=A    | PLSP-ID=100, LSP-ID=1                       |
+---------------------------------------------------------------+

                Figure 12: Content of PCE ASSO DB
]]></artwork>
        <t>PCC creates the MBB LSP in a different Association.  PCC sends
PCRpt(R-FLAG=0, PLSP-ID=100, LSP-ID=2, ASSO_PARAM=B, ASSO_R_FLAG=0).</t>
        <artwork><![CDATA[
+---------------------------------------------------------------+
| ASSO            | LSP                                         |
+-----------------+---------------------------------------------+
| ASSO_PARAM=A    | PLSP-ID=100, LSP-ID=1                       |
+---------------------------------------------------------------+
| ASSO_PARAM=B    | PLSP-ID=100, LSP-ID=2                       |
+---------------------------------------------------------------+

                Figure 13: Content of PCE ASSO DB
]]></artwork>
        <t>PCC deletes the old LSP.  PCC sends PCRpt(R-FLAG=1, PLSP-ID=100, LSP-
ID=1).</t>
        <artwork><![CDATA[
+---------------------------------------------------------------+
| ASSO            | LSP                                         |
+-----------------+---------------------------------------------+
| ASSO_PARAM=B    | PLSP-ID=100, LSP-ID=2                       |
+---------------------------------------------------------------+

                Figure 14: Content of PCE ASSO DB
]]></artwork>
      </section>
    </section>
    <section anchor="computation-constraints">
      <name>Computation Constraints</name>
      <t>As well as reporting any state change in the network on a PCRpt message,
a PCC may also change the parameters of a delegated LSP. For example, it may remove or
modify the computation constraints that it wishes the PCE to apply as it
computes any updated paths in the future. For any PCEP object that
specifies a path computation constraint and that does not have a defined
explicit removal flag, the absence of that entire object on a repeat or
follow-up PcRpt message indicates removal of the constraint previously
specified by that object. For example,
suppose the first PcRpt contains an LSPA object with some affinity constraints.
Then if a subsequent PcRpt does not contain an LSPA object, then this means that
the previously specified affinity constraints do not apply anymore.
Same applies to all PCEP objects, like METRIC, BANDWIDTH, etc., which
do not have an explicit flag for removal.  This simply ensures that
it is possible to remove a constraint without using an explicit
removal flag.</t>
    </section>
    <section anchor="overloaded-pce">
      <name>Overloaded PCE</name>
      <t>[RFC5440] defines the concept of an Overloaded PCE and explains how
a PCE may signal to a PCC that it is congested, instructing that
"no requests should be sent to that PCE until the overload state is cleared."</t>
      <t>In the case of an overloaded PCE, a PCC implementation could choose to wait for the PCE
to no longer be overloaded or instead send a PcReq to a backup, non-overloaded PCE instead.</t>
      <t><xref target="RFC8231"/> builds upon [RFC5440] by introducing the concept of a
Stateful PCE, which allows delegation of LSP control to a single PCE.
However, it does not address the case of an overloaded PCE. According
to <xref target="RFC8231"/>, a PCE maintains delegation until it is revoked by the PCC
or returned back to PCC by the PCE. The PCC may revoke delegation and re-assign
it to another PCE.</t>
      <t>As a result, a PCE in an overload state still retains LSP delegation.
For PCC-initiated LSPs, the PCC may revoke delegation from the overloaded
PCE and maintain delegation for itself or delegate it to another PCE. For
PCE-initiated LSPs, since the PCC cannot revoke delegation as per [RFC8281],
the overloaded PCE may return the delegation to the PCC.</t>
      <t>The PCE will continue to send PcRpt messages to PCE even though it may indicate
it is overloaded, otherwise the the PCRPT-LSP-DB on PCE may go out of sync.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>None at this time.</t>
    </section>
    <section anchor="managability-considerations">
      <name>Managability Considerations</name>
      <t>None at this time.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>None at this time.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <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="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="RFC3209">
        <front>
          <title>RSVP-TE: Extensions to RSVP for LSP Tunnels</title>
          <author fullname="D. Awduche" initials="D." surname="Awduche"/>
          <author fullname="L. Berger" initials="L." surname="Berger"/>
          <author fullname="D. Gan" initials="D." surname="Gan"/>
          <author fullname="T. Li" initials="T." surname="Li"/>
          <author fullname="V. Srinivasan" initials="V." surname="Srinivasan"/>
          <author fullname="G. Swallow" initials="G." surname="Swallow"/>
          <date month="December" year="2001"/>
          <abstract>
            <t>This document describes the use of RSVP (Resource Reservation Protocol), including all the necessary extensions, to establish label-switched paths (LSPs) in MPLS (Multi-Protocol Label Switching). Since the flow along an LSP is completely identified by the label applied at the ingress node of the path, these paths may be treated as tunnels. A key application of LSP tunnels is traffic engineering with MPLS as specified in RFC 2702. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3209"/>
        <seriesInfo name="DOI" value="10.17487/RFC3209"/>
      </reference>
    </references>
    <?line 516?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Adrian Farrel and Tom Petch for useful review and feedback.
comments.</t>
    </section>
    <section numbered="false" anchor="contributors">
      <name>Contributors</name>
      <artwork><![CDATA[
Dhruv Dhody
Huawei Technologies
Email: dhruv.ietf@gmail.com

Samuel Sidor
Cisco Systems
Email: ssidor@cisco.com

Mahendra Singh Negi
RtBrick Inc
Email: mahend.ietf@gmail.com
]]></artwork>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1c65YbuXH+j6dAZn9YiklGI8ne3YnXFodDWeNoLpkZxdnj
s8cH7AbJXjW76Ub3jJi9nDxEHiDPkkfJk+SrKgDdTVLSrC8rx5bOsXdINoBC
Xb8qFHo4HKo6q3N7pA8uJ9NLfbG2lamzsjC5nuSmyuZZwp8PlJnNKnvrHxxe
XE6vxjenF+fjlwcKj9hFWW2OdFbMS6XSMinMCpOmlZnXw8zW8+E6scOynX34
6FC5ZrbKnMPnerPG06fTm+eqaFYzWx2pFHMe6W9OxjfT71RSFs4WrnFHuq4a
q0DGE2Uqa0DOgborq9eLqmzWRJypl3pSrtZNzSvpaW5XtqgPlDJNvSwxsx4q
jX/zJs+FyrPstdX/UubpJlnaW/6xrBamyP6DpzjSk8wWBrNW61Lo52fsymT5
kV69lpHP1lVZl8VoZXdXuM5uDf/fzOSm+KErgEU88llCT42ScrVnhWWzzoqF
vrTFYs/8LxpzZzN9Y5NlUeblIrOuu8Iao5zM8GzJj+5f5SSDnPU4WZpbk+9Z
5rx8nZnuxCkNGBkZ8Kygn/fP/AK6BhnURbZn2t80RQbV0ee2Jlm7gT4tku4y
y9c08tnX8tyosPXuCuMireydvoaM7H1IN/z8yNHzHcpVUVYrjLm1R/z01fPJ
48PDz+OHzw4/fdp+ePzksP3w888/jR+ePH6EMYrsJU6n1HA41Gbm6soktVI3
y8xp2FJDCqwTMUfrdGKr2mSF7piTnlmwOCsrbdzaJrXT5VzVS6vZqlkzkzIf
aX2D72BNNc1YznXdW2JpHCayBZ5YrbPcpmpmnE01zMjZWyyWw8BrW5Vrbd/Y
KsmcdSNP9ipL09wq9QlkU1dl2iSsxuqksbouoQjzua1oEZ5hXVmxTyJUiHQ1
OG6qFNLNan0HUuZlU6Qg0dQqW63FjuMg7AD0pjS3Sb9uXI0HbVa1jCAGVSm0
pi6Vp5rYZQMTmorJiZt3troFczGfcHoT+exZqgKleGRl4DJApjUu4yWIx9iz
1e1SsxyfduhWNMWI+HRl/9BkFf/q9EtTLBqzsCR1q1/bjYamp04fnL26vjkY
yH/1+QX/fTX911enV9MT+vv6xfjly/iH8k9cv7h49fKk/asdObk4O5uen8hg
fKt7X6mDs/GX+AWi0AcXl97BEy/7mgLfS5ue2Vac0BPjVGpdUmUzfMCY48nl
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

-->

</rfc>
