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

-->

</rfc>
