<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-pce-operational-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="PCEP-OPERATIONAL">PCEP Operational Clarification</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-pce-operational-03"/>
    <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 52?>

<t>This document clarifies certain operational behavior aspects of
the Path Computation Element Communication Protocol (PCEP). The
content of this document has been compiled based on several interop
exercises. This document does not make any updates or revisions to
any PCEP specifications, instead it provides additional information
to aid in the interpretation of those documents.</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 62?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Due to different interpretations of the PCEP standards
<xref target="RFC5440"/>, <xref target="RFC8231"/>, <xref target="RFC8281"/>, <xref target="RFC8697"/>, and <xref target="RFC3209"/>, 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>
      <t>This document does not make any updates or revisions to any PCEP
specifications. It provides additional informational guidance to aid
in the consistent interpretation of those documents across
implementations.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The following terminology is used in this document:</t>
      <t>PCC:  Path Computation Client <xref target="RFC4655"/>.</t>
      <t>PCE:  Path Computation Element <xref target="RFC4655"/>.</t>
      <t>PCEP:  Path Computation Element Communication Protocol <xref target="RFC5440"/>.</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 (see <xref target="RFC3209"/>).</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.
This document distinguishes three cases for the ERO object, because an
absent ERO and an empty ERO are not equivalent:</t>
      <ul spacing="normal">
        <li>
          <t>An absent ERO object, i.e., one not included in the message at all.</t>
        </li>
        <li>
          <t>An empty ERO object, i.e., one that is present but carries no
subobjects, is represented with the notation "ERO={}".</t>
        </li>
        <li>
          <t>An ERO object containing a given sequence of subobjects is
represented as "ERO={A}".</t>
        </li>
      </ul>
      <t>PCRPT-LSP-DB: PCEP Reported Label Switched Path Database. A logical datastore
that captures the reported state of Label Switched Paths (LSPs), organized as
Tunnels and their LSPs. Each PCEP speaker maintains
its own local copy, populated from PCRpt messages. On a PCE, the PCRPT-LSP-DB
holds the state reported by all PCCs that report to that PCE. On a PCC, it holds
the state for the LSPs for which that PCC is the head-end. This term is not
defined in the PCE architecture; however, it is used in this document to describe
how a PCEP speaker maintains LSP-related state reported via PCRpt messages.</t>
      <t>EXTENDED-LSP-DB: Extended Label Switched Path Database. A single, optional,
implementation-specific logical datastore that holds entries for multiple LSPs,
keyed using the same identifiers as the PCRPT-LSP-DB. It is not required by a
conforming PCEP implementation. It is typically maintained on the PCE to hold
additional attributes such as desired (intended) state, telemetry data, operator
configuration, and other information not defined within IETF PCE working group
documents; a PCC may maintain an equivalent datastore where useful. This term is
not defined in the PCE architecture and is used in this document only to refer to
this conceptual datastore.</t>
      <t>PCE-ASSO-DB: PCEP Association Database. A logical datastore that captures
PCEP Association membership, populated by PCRpt messages and/or by configuration
on the PCE. This term is not defined in the PCE architecture; it is used in this
document to describe how a PCE maintains Association state. See the PCEP
Association Database section.</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.</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 in PCEP does not necessarily map one-to-one to a single tunnel
construct on the router. A tunnel into which a client inserts traffic may
be supported by one or more underlying transport paths.
For example, the working and protect paths of
a single tunnel interface on the router are represented in PCEP 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 reported 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 additional information, including
desired (intended) state, telemetry, and operator configuration, is not part of the
PCRPT-LSP-DB itself and may instead be held in the separate, optional EXTENDED-LSP-DB
described in the Terminology section.</t>
        <t>The PCRPT-LSP-DB reflects the reported state of LSPs and does not imply alignment with the
desired state. It also does not necessarily reflect the live state of the network, because
there are two convergence windows during which the databases can lag the network:</t>
        <ul spacing="normal">
          <li>
            <t>The network state has changed, but the PCC has not yet updated its own PCRPT-LSP-DB.</t>
          </li>
          <li>
            <t>The PCC has updated its PCRPT-LSP-DB, but the PCRpt carrying that change has not yet
been received and processed by the PCE.</t>
          </li>
        </ul>
        <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 PCRPT-LSP-DB
]]></artwork>
          <t>The resulting content of the PCRPT-LSP-DB is shown in Figure 1.</t>
          <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 PCRPT-LSP-DB
]]></artwork>
          <t>Both LSPs now exist simultaneously, as shown in Figure 2.</t>
          <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 PCRPT-LSP-DB
]]></artwork>
          <t>Only the new LSP remains, as shown in Figure 3.</t>
        </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 PCRPT-LSP-DB
]]></artwork>
          <t>The initial content of the PCRPT-LSP-DB is shown in Figure 4.</t>
          <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 PCRPT-LSP-DB
]]></artwork>
          <t>The new LSP is being established while the old LSP remains UP, as shown
in Figure 5.</t>
          <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 PCRPT-LSP-DB
]]></artwork>
          <t>The new LSP has been removed and only the original LSP remains, as shown
in Figure 6.</t>
        </section>
      </section>
    </section>
    <section anchor="pcep-association-database">
      <name>PCEP Association Database</name>
      <t>A PCEP Association is the instantiation 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>
      <t>The message parameter notation used in the examples below (for example,
R-FLAG, OPER-FLAG, ASSO_R_FLAG, and ASSO_PARAM) refers to the
corresponding flags and fields of the LSP and ASSOCIATION objects
defined in <xref target="RFC8231"/> and <xref target="RFC8697"/>.</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>The PCC creates the first LSP.  The 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>The resulting content of the PCE-ASSO-DB is shown in Figure 7.</t>
        <t>The PCC creates the second LSP.  The 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>Both LSPs are now members of the same Association, as shown in Figure 8.</t>
        <t>The 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 whether to send the
ASSOCIATION object in this PCRpt, since the LSP is already in the
Association.  The 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>The content of the PCE-ASSO-DB is unchanged, as shown in Figure 9.</t>
        <t>The PCC decides to delete the second LSP.  The 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>Only the first LSP remains in the Association, as shown in Figure 10.</t>
        <t>The PCC decides to remove the first LSP from the Association, but not
delete the LSP itself.  The 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>
        <t>The Association is now empty, as shown in Figure 11.</t>
      </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>The PCC creates the first LSP.  The 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>The resulting content of the PCE-ASSO-DB is shown in Figure 12.</t>
        <t>The PCC creates the MBB LSP in a different Association.  The 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>The two LSPs of the Tunnel are now in different Associations, as shown
in Figure 13.</t>
        <t>The PCC deletes the old LSP.  The 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>
        <t>Only the new LSP in Association B remains, as shown in Figure 14.</t>
      </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><xref target="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 <xref target="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 <xref target="RFC8281"/>,
the overloaded PCE may return the delegation to the PCC.</t>
      <section anchor="reports-toward-an-overloaded-pce">
        <name>Reports toward an Overloaded PCE</name>
        <t>The guidance in this section clarifies behavior for reports and does not
modify <xref target="RFC5440"/>. Any change that would require a PCC to stop sending reports
toward an overloaded PCE would be an update to <xref target="RFC5440"/> and is out of scope for
this document.</t>
        <t>There is a trade-off in how a PCC handles PCRpt messages while a PCE
signals that it is overloaded. Fully reprocessing a flood of PCRpt messages consumes
CPU and memory on the PCE, and so continuing to send reports could prolong or worsen
the overload condition.However, the longer the PCE is without the latest reported state,
the more likely it is to compute paths using stale information.</t>
        <t>What it means for a PCE to be overloaded is implementation specific. For example, an
implementation may use separate resources for ingesting reports and for
performing computation, in which case it may be overloaded for
computation while still able to process reports. A PCE may also wish to
remain synchronized with the network without yet participating in
active computation, for example while a new instance is being
bootstrapped.</t>
        <t>Given these trade offs, the following describes the behavior a PCC may
adopt toward an overloaded PCE. Sending reports as usual is the
baseline interoperable behavior and throttling reports is an optional
behavior:</t>
        <ul spacing="normal">
          <li>
            <t>Sending reports as usual: the PCC continues to send PCRpt messages so
that the PCRPT-LSP-DB on the PCE remains synchronized. This is the
baseline behavior and requires no change to existing implementations.</t>
          </li>
          <li>
            <t>Throttling reports: the PCC may make a local decision
about whether to immediately send a PCRpt message to the PCE or to
hold that message until the PCE indicates it is no longer overloaded.
This decision may depend on how significant the change to the LSP is,
how long the message has been held, and how many other messages are
held for the same reason. In all cases the PCC should log the
situation, applying thresholding to the rate of generation of log
events, so that an operator can determine what is happening.</t>
          </li>
        </ul>
        <t>Stopping reports entirely while the PCE is overloaded is not
recommended, because it risks the PCRPT-LSP-DB on the PCE going out of
sync with the network for the full duration of the overload condition.</t>
        <t>The decision to throttle cannot depend on local policy alone, because
some reports remain significant regardless of policy. At a minimum, the
following reports should not be throttled:</t>
        <ul spacing="normal">
          <li>
            <t>A PCRpt sent in response to a PCUpd, since a PCE may still take
actions on a delegated LSP while marked overloaded.</t>
          </li>
          <li>
            <t>PCRpt messages sent as part of state synchronization during session
establishment.</t>
          </li>
        </ul>
        <t>A PCC may throttle other less significant reports such as frequent or
redundant updates, for example local protection availability flags.</t>
        <t>As an alternative to per-report throttling, a PCE under overload
may selectively close one or more PCEP sessions, choosing which
sessions to prioritize. When the overload condition clears, the
sessions are re-established and standard state synchronization
<xref target="RFC8231"/> brings the PCE back in sync with the latest state. This
avoids the complexity of deciding, on a per-report basis, which reports
to hold or drop.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document does not define any new protocol mechanisms and does not
change the PCEP messages or objects defined in <xref target="RFC5440"/>, <xref target="RFC8231"/>,
<xref target="RFC8281"/>, or <xref target="RFC8697"/>. The security considerations of those documents
therefore continue to apply.</t>
      <t>The clarifications in this document aim to reduce the risk of
interoperability problems that arise when implementations interpret
PCEP behavior differently. Such divergence can have security relevant
consequences such as inconsistent handling of reported state can cause a PCE
to compute or install paths based on an inaccurate view of the network,
and the absence of an agreed behavior toward an overloaded PCE can be
exploited to amplify a denial-of-service condition by sustaining a flood
of reports. Conversely, holding or throttling PCRpt messages toward an
overloaded PCE, as described in the Overloaded PCE section, can delay
the visibility of state changes, including those resulting from
misconfiguration or compromise. The logging recommended in that section
helps an operator detect such situations. Selective closing of PCEP
sessions during overload is an operational control that should be
governed by local policy.</t>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>The logical datastores described in this document (the PCRPT-LSP-DB,
the optional EXTENDED-LSP-DB, and the PCE-ASSO-DB) are useful points of
operational visibility. Where an implementation exposes them, they map
naturally onto state data models, for example YANG. An operator
benefits from being able to read these datastores in order to
understand the state held by a PCEP speaker.</t>
      <t>Because the PCRPT-LSP-DB on a PCC and on a PCE can lag one another
during the convergence windows described in the Synchronization
section, an operator may need to verify that the two are aligned. This
can be done, for example, by comparing the set of reported LSPs and
their last-reported state, or by observing the state synchronization
procedures of <xref target="RFC8231"/>.</t>
      <t>As described in the Overloaded PCE section, a PCC that throttles or
holds PCRpt messages toward an overloaded PCE should log that it is
doing so, applying thresholding to the rate of log generation, so that
an operator can determine what is happening.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <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="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>
      <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="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="RFC4655">
        <front>
          <title>A Path Computation Element (PCE)-Based Architecture</title>
          <author fullname="A. Farrel" initials="A." surname="Farrel"/>
          <author fullname="J.-P. Vasseur" initials="J.-P." surname="Vasseur"/>
          <author fullname="J. Ash" initials="J." surname="Ash"/>
          <date month="August" year="2006"/>
          <abstract>
            <t>Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks. Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
            <t>This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space. This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4655"/>
        <seriesInfo name="DOI" value="10.17487/RFC4655"/>
      </reference>
    </references>
    <?line 653?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Adrian Farrel for a thorough review on this document
and Tom Petch and Boris Hassanov for useful review and feedback.</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+1dW3Mbx7F+n18xRT9ESgAcXWzHZkpVAkHKZiJRLJI+PqlU
KjXYHQBrLnaQnV3CSOz89tO3mZ1dgBKVk9g5ifyQiMDuXHq6v75Md2M8Hqum
aEp7rI8uZ2eX+u3G1qYpXGVKPStNXSyKjP4+UmY+r+2dPDh+e3l2Nb05f3sx
fX2k4BG7dPXuWBfVwimVu6wyaxg0r82iGRe2WYw3mR27bvTxk+fKt/N14T38
3ew28PT52c0rVbXrua2PVQ5jHuu/nk5vzn5Umau8rXzrj3VTt1bBMp4rU1sD
yzlSW1ffLmvXbnBxplnpmVtv2oZm0melXduqOVLKtM3Kwch6rDT8t2jLklf5
pri1+neuzHfZyt7Rl65emqr4Cw1xrGeFrQyMWm8cr5+esWtTlMd6fctvvtzU
rnHVZG33Z7gu7gz9z9yUpvrQGYBE9ObLDJ+aZG59YIZVuymqpb601fLA+F+3
ZmsLfWOzVeVKtyysT2fYwFueR3i5okcPz3JawDnrabYyd6Y8MM2Fuy1MOnCO
L0wMv/Cywq8Pj/w18BqcQVMVB4b9bVsVwDr6wjZ41n6kz6ssnWZ1i2++/I6f
m1S22Z9hWuW13eprOCP7kKUben7i8flk5apy9RreubPH9PTVq9kXz54/7f74
/Mtfxz+eP3vyZfzjs08/fZK880X3zqeff/bZsVIoPHFspcbjsTZz39Qma5S6
WRVeg2C1yM06Y9m0Xme2bkxR6US29NwCvQtXa+M3Nmu8dgvVrKy+TzjwszXQ
jkVdXyIjZ67Uj1DUH0/0zcqiCDb4qFvopreUlfEwoa00UGdTlDbXc+Phf2Eg
b+9gUSWgQmNrt1H2e1tnhbceh0zHyB3spHKNXhsQRVPtdLtBAICV1xpQp0CQ
8LpxCr8jpMKdRXQCjigq31iT66LRIIh3RQ4vmzwvhCSRtiBajdOmgCcrjUSh
xW1qKySh/Tlv4+L8RM5iXeR5aZX6BLivqV3eZjSaOm0trAxYfbGwNe6mP6Ln
Ia0suwG+MnXu1R+EJf440n8QJor//CL+E7gJ/gnv0J/IT/An7HFrvFq4Fj5v
VgamXG/4KOOUcFhwNDmuzOTftb7BNRR1xxtFpVydg1TBE3JAyEGWjltnbV3z
ycgReVvfWTwC4b2dCpzXMRlvER6hY4RVWuMLnmFDBLPJTHOg5f6yaYjJkN0f
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

-->

</rfc>
