<?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.26 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-koldychev-pce-operational-09" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="PCEP-OPERATIONAL">PCEP Operational Clarification</title>
    <seriesInfo name="Internet-Draft" value="draft-koldychev-pce-operational-09"/>
    <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>Routing</area>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
      <?line 51?>

<t>This document clarifies certain aspects of
the PCEP protocol.  The content of this document has been compiled
based on several interop exercises.</t>
    </abstract>
  </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 <bcp14>MUST</bcp14> be
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.  To represent an empty ERO object, i.e., without any
subobjects, we use the notation "ERO={}".  To represent an ERO
object containing some given sequence of subobjects, we use the
notation "ERO={A}".</t>
    </section>
    <section anchor="pcep-lsp-database">
      <name>PCEP LSP Database</name>
      <t>We use the concept of the LSP-DB, as a database of actual LSP state
in the network, to illustrate the internal state of PCEP speakers in
response to various PCEP messages.</t>
      <t>Note that the term "LSP", which stands for "Label Switched Path", if
taken too literally would restrict our discussion to MPLS dataplane
only.  We take the term "LSP" to apply to non-MPLS paths as well, to
avoid changing the name.  Alternatively, we could rename LSP to
"Instance".</t>
      <section anchor="structure">
        <name>Structure</name>
        <t>LSP-DB contains two types of objects: LSPs and Tunnels.  An LSP is
identified by the LSP-IDENTIFIERS TLV.  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 be an actual tunnel on the router.  For
example, working and protect paths can be implemented as a single
tunnel interface, but in PCEP we would refer to them as two different
Tunnels, because they would have different PLSP-IDs.</t>
        <t>An LSP can be thought of as a instance of a Tunnel.  In steady-state,
a Tunnel has only one LSP, but during make-before-break (see
<xref target="RFC3209"/>) it can have multiple LSPs, to represent both new and old
instances that exist simultaneously for a time.</t>
      </section>
      <section anchor="synchronization">
        <name>Synchronization</name>
        <t>Both PCE and PCC maintain their separate copies of the LSP-DB.  The
PCE LSP-DB is only modified by PCRpt messages, no other PCEP message
may modify the PCE LSP-DB.  The PCC LSP-DB is built from actual
forwarding state that PCC has installed.  PCC uses PCRpt messages to
synchronize its local LSP-DB to the PCE.</t>
        <t>The PCE <bcp14>MUST</bcp14> always act on the latest state of the PCE LSP DB.  Note
that this does not mean that the PCE cannot use information from
outside of LSP-DB.  For example, the PCE can use other mechanisms to
collect traffic statistics and use them in the computation.  However,
these traffic statistics are not part of the LSP-DB, but only
reference it.</t>
        <t>The LSP-DB on both the PCC and the PCE only stores the actual state
in the network, it does not store the desired state.  For example,
consider the case of PCE Initiated LSP, configured on the PCE.  When
the operator modifies the configuration of this LSP, that is a change
in desired state.  The actual state has not yet changed, so LSP-DB is
not modified yet.  The LSP-DB is only modified after the PCE sends
PCInit/PCUpd message to the PCC and the PCC decides to act on that
message.  When the PCC acts on a message from a PCE, it would update
its own PCC LSP DB and send a PCRpt to the PCE(s) to synchronize the
change.  When the PCE receives the PCRpt msg, it updates its own PCE
LSP DB.  After this, the PCC LSP-DB and PCE LSP-DB are in sync.</t>
      </section>
      <section anchor="successful-mbb">
        <name>Successful MBB</name>
        <t>Below we give an example of doing MBB to switch the Tunnel from one
path to another.  We represent the path encoded into the ERO object
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 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 anchor="pcep-association-database">
      <name>PCEP Association Database</name>
      <t>PCEP Association is a group of zero or more LSPs.</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.  The Association parameters contain many
fields, so for convenience we will group all the fields into a single
value.  We will use ASSO_PARAM=A, ASSO_PARAM=B, to refer to different
PCEP Associations: A and B, respectively.</t>
      <section anchor="lsps-in-same-association">
        <name>LSPs in same Association</name>
        <t>Below, we give an example to illustrate 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, the PCC is NOT <bcp14>REQUIRED</bcp14> 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                                         |
+-----------------+---------------------------------------------+
| ASSO_PARAM=A    |                                             |
+---------------------------------------------------------------+

                Figure 11: Content of PCE ASSO DB
]]></artwork>
      </section>
      <section anchor="switch-association-during-mbb">
        <name>Switch Association during MBB</name>
        <t>Below, we give an example to illustrate 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>For any PCEP object that does not have an explicit removal flag, the
absence of that object indicates removal of the constraint specified
by that object.  For example, suppose the first state-report contains
an LSPA object with some affinity constraints.  Then if a subsequent
state-report 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, this document clarifies that it is <bcp14>RECOMMENDED</bcp14>
a PCC send a PcReq to a backup PCE instead if the primary PCE is overloaded.</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 <bcp14>MAY</bcp14> 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 <bcp14>MAY</bcp14> return the delegation to the PCC.</t>
      <t>This document clarifies that a PCC <bcp14>MUST</bcp14> continue to send PcRpt messages to a PCE in overload state otherwise
the 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 482?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Adrian Farrel for useful review
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+1c63Ybx5H+30/RS/+wlACMKCmxzRMlAkHIYpa3Jan10fHR
yWnMNIA2B9PI9AxhxJafZZ8lT5b6qnouIECJysXKJuIPCZjpS3Vdvqrqrka/
31elKzO7r3fOh6NzfbawhSmdz02mh5kp3MQl/H1HmfG4sDexYf/sfHQxuDo6
Ox0c7yhqYqe+WO1rl0+8UqlPcjOnQdPCTMr+tc/SVTKzN/1FYvu+naL/6CsV
qvHchUDfy9WCuhyNrl6ovJqPbbGvUhp4X/9wOLgavVWJz4PNQxX2dVlUVhEt
T5QprCGaLnxVuny6o5a+uJ4WvloIofob+k4v9Nd4tqOUqcqZp5F1X2n6m1RZ
JqSeuGur/7umlF/6Ympy92cmdl8Pnc2NHvpi4YV+bmPnxmX7eh7X+HxR+NLn
u3O7OcOluzH8z9hkJv/QGYhF3PN5gla7iZ9vmWFWLbDYc5tPt4z/sjJL6/SV
TWa5z/zU2dCdYUG9gozwfMZNt89y6EjYepDMzI3Jtkxz6q+d6Q6cosOukQ7P
c7zePvJLUjiSQZm7LcP+ocodqY4+tSWEHHr6KE+608yu0fP5d9JuN7fl5gyD
PC3sUl+SjOx9SDfcfjegfYdylftiTn1u7D63vngxfLy391Xz5cu9L562Xx4/
2Wu//OarL5ovTx4/oj4KRtMMp1S/39dmHMrCJKVSVzMXNBlUNbd5qROxSRt0
YovSuFybsLBJGbSfqHJmNVsxK2His12tr+gZGU6Jzn6iy7XRZibosbU5tZgv
XGZTNTbBptrnOtgbMtOMDLq0hV9o+70tEhds2I0Uzl2aZlapz0gMZeHTKmGN
VYeV1aUnmU8mtsAkPMKisCXzGIQKkaEk5poiJUG6Ui+JlImv8pRINKVy80Vm
QWPTiVZA9KYY26TfVaGkhtYVRD+plfMFzUPCTElBSq8i1QAaWzOhKpicZvHB
FjfERxpPmLq6zVJVU0pN5obQgci0JjieAjymNVvdTjXO6NsG3QpD7IJPF/ZP
lSv4bdDHJp9WZmohYKuv7UqTUqdB75y8urza6cn/+vSMP1+M/ufV0cXoEJ8v
Xw6Oj5sPKra4fHn26viw/dT2HJ6dnIxOD6UzPdVrj9TOyeA1vSFR6J2z8wjo
4OW6phDMYtFj24qT9MQEldqQFG5MX6jPwfD8L/+391T/8MN/RYt4+zZ+gUXQ
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

-->

</rfc>
