summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8281.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc8281.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc8281.txt')
-rw-r--r--doc/rfc/rfc8281.txt1123
1 files changed, 1123 insertions, 0 deletions
diff --git a/doc/rfc/rfc8281.txt b/doc/rfc/rfc8281.txt
new file mode 100644
index 0000000..62f30bd
--- /dev/null
+++ b/doc/rfc/rfc8281.txt
@@ -0,0 +1,1123 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) E. Crabbe
+Request for Comments: 8281 Individual Contributor
+Category: Standards Track I. Minei
+ISSN: 2070-1721 Google, Inc.
+ S. Sivabalan
+ Cisco Systems, Inc.
+ R. Varga
+ Pantheon Technologies SRO
+ December 2017
+
+
+ Path Computation Element Communication Protocol (PCEP) Extensions for
+ PCE-Initiated LSP Setup in a Stateful PCE Model
+
+Abstract
+
+ 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.
+
+ 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.
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc8281.
+
+
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 1]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+Copyright Notice
+
+ Copyright (c) 2017 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 2]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 5
+ 3. Architectural Overview . . . . . . . . . . . . . . . . . . . 5
+ 3.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . 5
+ 3.2. Operation Overview . . . . . . . . . . . . . . . . . . . 6
+ 4. Support of PCE-Initiated LSPs . . . . . . . . . . . . . . . . 7
+ 4.1. STATEFUL-PCE-CAPABILITY TLV . . . . . . . . . . . . . . . 8
+ 5. PCE-Initiated LSP Instantiation and Deletion . . . . . . . . 8
+ 5.1. The LSP Initiate Request . . . . . . . . . . . . . . . . 8
+ 5.2. The R Flag in the SRP Object . . . . . . . . . . . . . . 10
+ 5.3. LSP Instantiation . . . . . . . . . . . . . . . . . . . . 10
+ 5.3.1. The Create Flag . . . . . . . . . . . . . . . . . . . 12
+ 5.3.2. The SPEAKER-ENTITY-ID TLV . . . . . . . . . . . . . . 13
+ 5.4. LSP Deletion . . . . . . . . . . . . . . . . . . . . . . 13
+ 6. LSP Delegation and Cleanup . . . . . . . . . . . . . . . . . 14
+ 7. LSP State Synchronization . . . . . . . . . . . . . . . . . . 15
+ 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
+ 8.1. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . 15
+ 8.2. LSP Object . . . . . . . . . . . . . . . . . . . . . . . 15
+ 8.3. SRP object . . . . . . . . . . . . . . . . . . . . . . . 16
+ 8.4. STATEFUL-PCE-CAPABILITY TLV . . . . . . . . . . . . . . . 16
+ 8.5. PCEP-Error Object . . . . . . . . . . . . . . . . . . . . 17
+ 9. Security Considerations . . . . . . . . . . . . . . . . . . . 18
+ 9.1. Malicious PCE . . . . . . . . . . . . . . . . . . . . . . 18
+ 9.2. Malicious PCC . . . . . . . . . . . . . . . . . . . . . . 18
+ 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
+ 10.1. Normative References . . . . . . . . . . . . . . . . . . 19
+ 10.2. Informative References . . . . . . . . . . . . . . . . . 19
+ Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 20
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 3]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+1. Introduction
+
+ [RFC5440] describes the Path Computation Element Communication
+ Protocol (PCEP). PCEP defines the communication between a Path
+ Computation Client (PCC) and a Path Computation Element (PCE), or
+ between PCE and PCE, enabling computation of Multiprotocol Label
+ Switching (MPLS) for Traffic Engineering Label Switched Path (TE LSP)
+ characteristics.
+
+ [RFC8231] specifies a set of extensions to PCEP to enable stateful
+ control of TE LSPs between and across PCEP sessions in compliance
+ with [RFC4657]. It includes:
+
+ o mechanisms to effect LSP State Synchronization between PCCs and
+ PCEs
+
+ o delegation of control of LSPs to PCEs
+
+ o PCE control of timing and sequence of path computations within and
+ across PCEP sessions
+
+ It focuses on a model where LSPs are configured on the PCC, and
+ control over them is delegated to the PCE.
+
+ This document describes the setup, maintenance, and teardown of
+ PCE-initiated LSPs under the stateful PCE model, without the need for
+ local configuration on the PCC, thus allowing for a dynamic network
+ that is centrally controlled and deployed.
+
+2. Terminology
+
+ This document uses the following terms defined in [RFC5440]: PCC,
+ PCE, and PCEP Peer.
+
+ This document uses the following terms defined in [RFC8051]: Stateful
+ PCE and Delegation.
+
+ This document uses the following terms defined in [RFC8231]:
+ Redelegation Timeout Interval, State Timeout Interval, LSP State
+ Report, and LSP Update Request.
+
+ The following terms are defined in this document:
+
+ PCE-initiated LSP: LSP that is instantiated as a result of a request
+ from the PCE.
+
+ The message formats in this document are specified using Routing
+ Backus-Naur Form (RBNF) encoding as specified in [RFC5511].
+
+
+
+Crabbe, et al. Standards Track [Page 4]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+2.1. Requirements Language
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described in
+ BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
+ capitals, as shown here.
+
+3. Architectural Overview
+
+3.1. Motivation
+
+ [RFC8231] provides active control over LSPs that are locally
+ configured on the PCC. This model relies on the Label Edge Router
+ (LER) taking an active role in delegating locally configured LSPs to
+ the PCE and is well suited in environments where the LSP placement is
+ fairly static. However, in environments where the LSP placement
+ needs to change in response to application demands, it is useful to
+ support dynamic creation and teardown of LSPs. The ability for a PCE
+ to trigger the creation of LSPs on demand can be seamlessly
+ integrated into a controller-based network architecture, where
+ intelligence in the controller can determine when and where to set up
+ paths.
+
+ A possible use case is a software-defined network, where applications
+ request network resources and paths from the network infrastructure.
+ For example, an application can request a path with certain
+ constraints between two Label Switching Routers (LSRs) by contacting
+ the PCE. The PCE can compute a path satisfying the constraints, and
+ instruct the head end LSR to instantiate and signal it. When the
+ path is no longer required by the application, the PCE can request
+ its teardown.
+
+ Another use case is dynamically adjusting aggregate bandwidth between
+ two points in the network using multiple LSPs. This functionality is
+ very similar to auto-bandwidth, but it allows for providing the
+ desired capacity through multiple LSPs. This approach overcomes two
+ of the limitations auto-bandwidth can experience: 1) growing the
+ capacity between the endpoints beyond the capacity of individual
+ links in the path and 2) achieving good bin packing through use of
+ several small LSPs instead of a single large one. The number of LSPs
+ varies based on the demand, and LSPs are created and deleted
+ dynamically to satisfy the bandwidth requirements.
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 5]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+ Another use case is demand engineering, where a PCE with visibility
+ into both the network state and the demand matrix can anticipate and
+ optimize how traffic is distributed across the infrastructure. Such
+ optimizations may require creating new paths across the
+ infrastructure.
+
+3.2. Operation Overview
+
+ This document defines the new I flag in the STATEFUL-PCE-CAPABILITY
+ TLV to indicate that the sender supports PCE-initiated LSPs (see
+ details in Section 4.1). A PCC or PCE sets this flag in the Open
+ message during the PCEP initialization phase to indicate that it
+ supports the procedures of this document.
+
+ This document defines a new PCEP message, the LSP Initiate Request
+ (PCInitiate) message, which a PCE can send to a PCC to request the
+ initiation or deletion of an LSP. The decision when to instantiate
+ or delete a PCE-initiated LSP is out of the scope of this document.
+
+ The PCE sends a PCInitiate message to the PCC to request the
+ initiation of an LSP. The PCC creates the LSP using the attributes
+ communicated by the PCE and local values for any unspecified
+ parameters. The PCC generates a Path Computation State Report
+ (PCRpt) for the LSP, carrying a newly assigned PLSP-ID for the LSP
+ and delegating the LSP to the PCE via the Delegate flag in the LSP
+ object.
+
+ The PCE can update the attributes of the LSP by sending subsequent
+ Path Computation Update Request (PCUpd) messages. Subsequent PCRpt
+ and PCUpd messages that the PCC and PCE, respectively, send for the
+ LSP will carry the PCC-assigned PLSP-ID, which uniquely identifies
+ the LSP. See details in Section 5.3.
+
+ The PCE sends a PCInitiate message to the PCC to request the deletion
+ of an LSP. To indicate a delete operation, this document defines the
+ new R flag in the Stateful PCE Request Parameter (SRP) object in the
+ PCInitiate message, as described in Section 5.2. As a result of the
+ deletion request, the PCC removes the LSP and sends a PCRpt for the
+ removed state. See details in Section 5.4.
+
+ Figure 1 illustrates these message exchanges.
+
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 6]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+ +-+-+ +-+-+
+ |PCC| |PCE|
+ +-+-+ +-+-+
+ | |
+ |<--PCInitiate-------------------| (Initiate LSP)
+ | |
+ |---PCRpt, PLSP_ID=1, D=1------->| (Confirm initiation)
+ | . |
+ | . |
+ | |
+ |<--PCUpd, PLSP_ID=1-------------| (Update LSP)
+ | |
+ |---PCRpt, PLSP_ID=1, D=1------->| (Confirm update)
+ | . |
+ | . |
+ | |
+ |<--PCInitiate, PLSP_ID=1, R=1---| (Delete LSP)
+ | |
+ |---PCRpt, PLSP_ID=1, R=1------->| (Confirm delete)
+
+ Figure 1: PCE-Initiated LSP Life Cycle
+
+4. Support of PCE-Initiated LSPs
+
+ A PCEP speaker indicates its ability to support PCE-initiated LSPs
+ during the PCEP initialization phase, as follows. When the PCEP
+ session is created, it sends an Open message with an OPEN object that
+ contains the STATEFUL-PCE-CAPABILITY TLV, as defined in [RFC8231]. A
+ new flag, the I (LSP-INSTANTIATION-CAPABILITY) flag, is introduced to
+ this TLV to indicate support for instantiation of PCE-initiated LSPs.
+ A PCE can initiate LSPs only for PCCs that advertised this
+ capability. A PCC will follow the procedures described in this
+ document only on sessions where the PCE advertised the I flag.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 7]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+4.1. STATEFUL-PCE-CAPABILITY TLV
+
+ The format of the STATEFUL-PCE-CAPABILITY TLV is defined in [RFC8231]
+ and included here for easy reference with the addition of the new I
+ flag.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length=4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flags |I|S|U|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+
+
+ Figure 2: STATEFUL-PCE-CAPABILITY TLV Format
+
+ A new flag is defined to indicate the sender's support for LSP
+ instantiation by a PCE:
+
+ I (LSP-INSTANTIATION-CAPABILITY -- 1 bit): If set to 1 by a PCC, the
+ I flag indicates that the PCC allows instantiation of an LSP by a
+ PCE. If set to 1 by a PCE, the I flag indicates that the PCE
+ supports instantiating LSPs. The LSP-INSTANTIATION-CAPABILITY
+ flag must be set by both the PCC and PCE in order to enable
+ PCE-initiated LSP instantiation.
+
+5. PCE-Initiated LSP Instantiation and Deletion
+
+ To initiate an LSP, a PCE sends a PCInitiate message to a PCC. The
+ message format, objects, and TLVs are discussed separately below for
+ the creation and the deletion cases.
+
+5.1. The LSP Initiate Request
+
+ An LSP Initiate Request (PCInitiate) message is a PCEP message sent
+ by a PCE to a PCC to trigger LSP instantiation or deletion. The
+ Message-Type field of the PCEP common header for the PCInitiate
+ message is set to 12. The PCInitiate message MUST include the SRP
+ and the LSP objects and MAY contain other objects, as discussed later
+ in this section.
+
+
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 8]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+ The format of a PCInitiate message is as follows:
+
+ <PCInitiate Message> ::= <Common Header>
+ <PCE-initiated-lsp-list>
+ Where:
+ <Common Header> is defined in RFC 5440
+
+ <PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request>
+ [<PCE-initiated-lsp-list>]
+
+ <PCE-initiated-lsp-request> ::= (<PCE-initiated-lsp-instantiation>|
+ <PCE-initiated-lsp-deletion>)
+
+ <PCE-initiated-lsp-instantiation> ::= <SRP>
+ <LSP>
+ [<END-POINTS>]
+ <ERO>
+ [<attribute-list>]
+
+ <PCE-initiated-lsp-deletion> ::= <SRP>
+ <LSP>
+
+ Where:
+ <attribute-list> is defined in RFC 5440 and extended by
+ PCEP extensions.
+
+ The LSP object is defined in [RFC8231]. The END-POINTS and Explicit
+ Route Objects (EROs) are defined in [RFC5440].
+
+ The SRP object is defined in [RFC8231]. The SRP object contains an
+ SRP-ID-number that is unique within a PCEP session. The PCE
+ increments the last-used SRP-ID-number before it sends each
+ PCInitiate message. The PCC MUST echo the value of the SRP-ID-number
+ in PCEP Error (PCErr) and PCRpt messages that it sends as a result of
+ the PCInitiate; this allows the PCE to correlate them with the
+ corresponding PCInitiate message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 9]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+5.2. The R Flag in the SRP Object
+
+ The format of the SRP object is defined in [RFC8231] and included
+ here for easy reference with the addition of the new R flag.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flags |R|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SRP-ID-number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ // Optional TLVs //
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 3: The SRP Object Format
+
+ A new flag is defined to indicate a delete operation initiated by the
+ PCE:
+
+ R (LSP-REMOVE -- 1 bit): If set to 0, it indicates a request to
+ create an LSP. If set to 1, it indicates a request to remove an
+ LSP.
+
+5.3. LSP Instantiation
+
+ The LSP is instantiated by sending a PCInitiate message. The LSP is
+ set up using RSVP-TE. Extensions for other setup methods are outside
+ the scope of this document.
+
+ The PCInitiate message, when used to instantiate an LSP, MUST contain
+ an LSP object with the reserved PLSP-ID 0. The LSP object MUST
+ include the SYMBOLIC-PATH-NAME TLV, which is used to correlate
+ between the PCC-assigned PLSP-ID and the LSP.
+
+ The PCInitiate message, when used to instantiate an LSP, MUST contain
+ an ERO for the LSP.
+
+ For an instantiation request of an RSVP-signaled LSP, the destination
+ address may be needed. The PCC MAY determine it from a provided
+ object (e.g., ERO) or a local decision. Alternatively, the
+ END-POINTS object MAY be included to explicitly convey the
+ destination addresses to be used in the RSVP-TE signaling. The
+ source address MUST be either specified or left for the PCC to choose
+ by setting it to "0.0.0.0" (if the destination is an IPv4 address) or
+ "::" (if the destination is an IPv6 address).
+
+
+
+Crabbe, et al. Standards Track [Page 10]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+ The PCE MAY include various attributes as per [RFC5440]. The PCC
+ MUST use these values in the LSP instantiation and local values for
+ unspecified parameters. After the LSP setup, the PCC MUST send a
+ PCRpt to the PCE, reflecting these values. The SRP object in the
+ PCRpt message MUST echo the value of the PCInitiate message that
+ triggered the setup. LSPs that were instantiated as a result of a
+ PCInitiate message MUST have the Create flag (Section 5.3.1) set in
+ the LSP object.
+
+ If the PCC receives a PCInitiate message with a non-zero PLSP-ID and
+ the R flag in the SRP object set to zero, then it MUST send a PCErr
+ message with Error-type=19 (Invalid Operation) and Error-value=8
+ (Non-zero PLSP-ID in the LSP Initiate Request).
+
+ If the PCC receives a PCInitiate message without an ERO and the R
+ flag in the SRP object set to zero, then it MUST send a PCErr message
+ with Error-type=6 (Mandatory Object missing) and Error-value=9 (ERO
+ object missing).
+
+ If the PCC receives a PCInitiate message without a SYMBOLIC-PATH-NAME
+ TLV, then it MUST send a PCErr message with Error-type=10 (Reception
+ of an invalid object) and Error-value=8 (SYMBOLIC-PATH-NAME TLV
+ missing).
+
+ The PCE MUST NOT provide a symbolic path name that conflicts with the
+ symbolic path name of any existing LSP in the PCC. (Existing LSPs
+ may be either statically configured or initiated by another PCE.) If
+ there is a conflict with the symbolic path name of an existing LSP,
+ the PCC MUST send a PCErr message with Error-type=23 (Bad Parameter
+ value) and Error-value=1 (SYMBOLIC-PATH-NAME in use). The only
+ exception to this rule is for LSPs for which the State Timeout
+ Interval timer is running (see Section 6).
+
+ If the PCC determines that the LSP parameters proposed in the
+ PCInitiate message are unacceptable, it MUST send a PCErr message
+ with Error-type=24 (PCE instantiation error) and Error-value=1
+ (Unacceptable instantiation parameters). If the PCC encounters an
+ internal error during the processing of the PCInitiate message, it
+ MUST send a PCErr message with Error-type=24 (PCE instantiation
+ error) and Error-value=2 (Internal error).
+
+ A PCC MUST relay errors it encounters in the setup of a PCE-initiated
+ LSP to the PCE by sending a PCErr message with Error-type=24 (PCE
+ instantiation error) and Error-value=3 (Signaling error). The PCErr
+ message MUST echo the SRP-ID-number of the PCInitiate message. The
+ PCEP-ERROR object SHOULD include the RSVP_ERROR_SPEC TLV (if an RSVP
+ ERROR_SPEC object was returned to the PCC by a downstream node).
+
+
+
+
+Crabbe, et al. Standards Track [Page 11]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+ After the LSP is set up, errors in RSVP signaling are reported in
+ PCRpt messages, as described in [RFC8231].
+
+ On successful completion of the LSP instantiation, the PCC MUST send
+ a PCRpt message. The LSP object message MUST contain a non-zero
+ PLSP-ID that uniquely identifies the LSP within this PCC and MUST
+ have the Create flag (Section 5.3.1) and Delegate flag set. The SRP
+ object MUST contain an SRP-ID-number that echoes the value from the
+ PCInitiate message that triggered the setup. The PCRpt MUST include
+ the attributes that the PCC used to instantiate the LSP.
+
+ A PCC SHOULD be able to place a limit on either the number of LSPs or
+ the percentage of resources that are allocated to honor PCE-initiated
+ LSP requests. As soon as that limit is reached, the PCC MUST send a
+ PCErr message with Error-type=19 (Invalid Operation) and
+ Error-value=6 (PCE-initiated LSP limit reached) and is free to drop
+ any incoming PCInitiate messages without additional processing.
+
+ Similarly, the PCE SHOULD be able to place a limit on either the
+ number of PCInitiate messages pending for a particular PCC or the
+ time it waits for a response (positive or negative) to a PCInitiate
+ message from a PCC, and it MAY take further action (such as closing
+ the session or removing all its LSPs) if this limit is reached.
+
+5.3.1. The Create Flag
+
+ The LSP object is defined in [RFC8231] and included here for easy
+ reference with the addition of the new Create (C) flag.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | PLSP-ID |Flags |C| O |A|R|S|D|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // TLVs //
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 4: The LSP Object Format
+
+ A new flag, the C flag, is introduced. On a PCRpt message, the C
+ flag set to 1 indicates that this LSP was created via a PCInitiate
+ message. The C flag MUST be set to 1 on each PCRpt message for the
+ LSP's duration of existence. The C flag allows PCEs to be aware of
+ which LSPs were PCE initiated (a state that would otherwise only be
+ known by the PCC and the PCE that initiated them).
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 12]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+5.3.2. The SPEAKER-ENTITY-ID TLV
+
+ The optional SPEAKER-ENTITY-ID TLV defined in [RFC8232] MAY be
+ included in the LSP object in a PCRpt message as an optional TLV for
+ LSPs for which the C flag is 1. The SPEAKER-ENTITY-ID TLV identifies
+ the PCE that initiated the creation of the LSP on all PCEP sessions,
+ a state that would otherwise only be known by the PCC and the PCE
+ that initiated the LSP. If the TLV appears in a PCRpt for an LSP for
+ which the C flag is 0, the LSP MUST be ignored, and the PCE MUST send
+ a PCErr message with Error-type=23 (Bad parameter value) and
+ Error-value=2 (Speaker identity included for an LSP that is not PCE
+ initiated).
+
+5.4. LSP Deletion
+
+ A PCE can initiate the removal of a PCE-initiated LSP by sending a
+ PCInitiate message with an LSP object carrying the PLSP-ID of the LSP
+ to be removed and an SRP object with the R flag set (see
+ Section 5.2). A PLSP-ID of zero removes all LSPs with the C flag set
+ to 1 (in their LSP object) that are delegated to the PCE.
+
+ If the PLSP-ID is unknown, the PCC MUST send a PCErr message with
+ Error-type=19 (Invalid Operation) and Error-value=3 (Unknown PLSP-ID)
+ [RFC8231].
+
+ If the PLSP-ID specified in the PCInitiate message is not delegated
+ to the PCE, the PCC MUST send a PCErr message with Error-type=19
+ (Invalid operation) and Error-value=1 (LSP is not delegated)
+ [RFC8231].
+
+ If the PLSP-ID specified in the PCInitiate message was not created by
+ a PCE, the PCC MUST send a PCErr message with Error-type=19 (Invalid
+ operation) and Error-value=9 (LSP is not PCE initiated).
+
+ Following the removal of the LSP, the PCC MUST send a PCRpt as
+ described in [RFC8231]. The SRP object in the PCRpt MUST include the
+ SRP-ID-number from the PCInitiate message that triggered the removal.
+ The R flag in the SRP object MUST be set.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 13]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+6. LSP Delegation and Cleanup
+
+ The PCC MUST delegate PCE-initiated LSPs to the PCE upon
+ instantiation. The PCC MUST set the delegation bit to 1 in the PCRpt
+ that includes the assigned PLSP-ID.
+
+ The PCC MUST NOT revoke the delegation for a PCE-initiated LSP on an
+ active PCEP session. Therefore, all PCRpt messages from the PCC to
+ the PCE that owns the delegation MUST have the delegation bit set to
+ 1. If the PCE that owns the delegation receives a PCRpt message with
+ the delegation bit set to 0, then it MUST send a PCErr message with
+ Error-type=19 (Invalid Operation) and Error-value=7 (Delegation for
+ PCE-initiated LSP cannot be revoked). The PCE MAY further react by
+ closing the session.
+
+ Control over a PCE-initiated LSP can revert to the PCC in two ways.
+ A PCE MAY return a delegation to the PCC to allow for LSP transfer
+ between PCEs. Alternatively, the PCC gains control of an LSP if the
+ PCEP session that it was delegated on fails and the Redelegation
+ Timeout Interval timer expires. In both cases, the LSP becomes an
+ orphan until the expiration of the State Timeout Interval timer
+ [RFC8231].
+
+ The PCC MAY attempt to redelegate an orphaned LSP by following the
+ procedures of [RFC8231]. Alternatively, if the orphaned LSP was
+ PCE-initiated, then a PCE MAY obtain control over it, as follows.
+
+ A PCE (either the original or one of its backups) sends a PCInitiate
+ message that includes just the SRP and LSP objects and carries the
+ PLSP-ID of the LSP it wants to take control of. If the PCC receives
+ a PCInitiate message with a PLSP-ID pointing to an orphaned
+ PCE-initiated LSP, then it MUST redelegate that LSP to the PCE. Any
+ other non-zero PLSP-ID MUST result in the generation of a PCErr
+ message using the rules described in Section 5.4. The State Timeout
+ Interval timer for the LSP is stopped upon the redelegation. After
+ obtaining control of the LSP, the PCE may remove it using the
+ procedures described in this document.
+
+ The State Timeout Interval timer ensures that a PCE crash does not
+ result in automatic and immediate disruption for the services using
+ PCE-initiated LSPs. PCE-initiated LSPs are not removed immediately
+ upon PCE failure. Instead, they are cleaned up on the expiration of
+ this timer. This allows for network cleanup without manual
+ intervention. The PCC MUST support removal of PCE-initiated LSPs as
+ one of the behaviors applied on expiration of the State Timeout
+ Interval timer. The behavior MUST be picked based on local policy
+ and can result in either LSP removal or reverting to operator-defined
+ default parameters.
+
+
+
+Crabbe, et al. Standards Track [Page 14]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+7. LSP State Synchronization
+
+ LSP State Synchronization procedures are described in Section 5.6 of
+ [RFC8231]. During State Synchronization, a PCC reports the state of
+ its LSPs to the PCE using PCRpt messages, setting the SYNC flag in
+ the LSP object. For PCE-initiated LSPs, the PCC MUST also set the
+ Create flag in the LSP object and MAY include the SPEAKER-ENTITY-ID
+ TLV identifying the PCE that requested the LSP creation. At the end
+ of State Synchronization, the PCE SHOULD send a PCInitiate message to
+ initiate any missing LSPs and/or remove any LSPs that are not wanted.
+ Under some circumstances, depending on the deployment, it might be
+ preferable for a PCE not to send this PCInitiate immediately, or at
+ all. For example, the PCC may be a slow device, or the operator
+ might prefer not to disrupt active flows.
+
+8. IANA Considerations
+
+ As detailed below, IANA has allocated code points for the protocol
+ elements defined in this document.
+
+8.1. PCEP Messages
+
+ IANA has registered the following message type within the "PCEP
+ Messages" subregistry of the PCEP Numbers registry. (Note that the
+ early allocation for this message type was called "Initiate"; it has
+ been changed as follows.)
+
+ Value Meaning Reference
+ ----- -------------------- -------------
+ 12 LSP Initiate Request RFC 8281
+
+8.2. LSP Object
+
+ [RFC8231] defines the LSP object; per that RFC, IANA created a
+ registry to manage the value of the LSP object's Flag field. IANA
+ has allocated a new bit in the "LSP Object Flag Field" subregistry,
+ as follows:
+
+ Bit Description Reference
+ --- ----------- -------------
+
+ 4 Create RFC 8281
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 15]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+8.3. SRP object
+
+ IANA has created a new subregistry, named "SRP Object Flag Field",
+ within the "Path Computation Element Protocol (PCEP) Numbers"
+ registry, to manage the Flag field of the SRP object. New values are
+ to be assigned by Standards Action [RFC8126]. Each bit is tracked
+ with the following qualities: bit number (counting from bit 0 as the
+ most significant bit), description, and defining RFC.
+
+ The following values are defined in this document:
+
+ Bit Description Reference
+ --- ----------- -------------
+
+ 31 LSP-Remove RFC 8281
+
+8.4. STATEFUL-PCE-CAPABILITY TLV
+
+ [RFC8231] defines the STATEFUL-PCE-CAPABILITY TLV; per that RFC, IANA
+ created a registry to manage the value of the STATEFUL-PCE-CAPABILITY
+ TLV's Flag field. IANA has allocated a new bit in the STATEFUL-PCE-
+ CAPABILITY TLV Flag Field registry, as follows:
+
+ Bit Description Reference
+ --- -------------------------------- -------------
+
+ 29 LSP-INSTANTIATION-CAPABILITY (I) RFC 8281
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 16]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+8.5. PCEP-Error Object
+
+ IANA has registered the following error types and error values within
+ the "PCEP-ERROR Object Error Types and Values" subregistry of the
+ PCEP Numbers registry.
+
+ Error-Type Meaning
+ ---------- --------------
+ 10 Reception of an invalid object
+
+ Error-value=8: SYMBOLIC-PATH-NAME TLV missing
+
+ 19 Invalid Operation
+
+ Error-value=6: PCE-initiated LSP limit reached
+ Error-value=7: Delegation for PCE-initiated LSP cannot
+ be revoked
+ Error-value=8: Non-zero PLSP-ID in LSP Initiate Request
+ Error-value=9: LSP is not PCE initiated
+ Error-value=10: PCE-initiated operation-frequency limit
+ reached
+
+ 23 Bad parameter value
+
+ Error-value=1: SYMBOLIC-PATH-NAME in use
+ Error-value=2: Speaker identity included for an LSP
+ that is not PCE initiated
+
+ 24 LSP instantiation error
+
+ Error-value=1: Unacceptable instantiation parameters
+ Error-value=2: Internal error
+ Error-value=3: Signaling error
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 17]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+9. Security Considerations
+
+ The security considerations described in [RFC8231] apply to the
+ extensions described in this document. Additional considerations
+ related to a malicious PCE are introduced.
+
+9.1. Malicious PCE
+
+ The LSP instantiation mechanism described in this document allows a
+ PCE to generate state on the PCC and throughout the network. As a
+ result, it introduces a new attack vector: an attacker may flood the
+ PCC with LSP instantiation requests and consume network and LSR
+ resources by either spoofing messages or compromising the PCE itself.
+
+ A PCC can protect itself from such an attack by imposing a limit on
+ either the number of LSPs or the percentage of resources that are
+ allocated to honor PCE-initiated LSP requests. As soon as that limit
+ is reached, the PCC MUST send a PCErr message with Error-type=19
+ (Invalid Operation) and Error-value=6 (PCE-initiated LSP limit
+ reached) and is free to drop any incoming PCInitiate messages for LSP
+ initiation without additional processing.
+
+ Rapid flaps triggered by the PCE can also be an attack vector. A PCC
+ can protect itself from such an attack by imposing a limit on the
+ number of flaps per unit of time that it allows a PCE to generate.
+ As soon as that limit is reached, a PCC MUST send a PCErr message
+ with Error-type=19 (Invalid Operation) and Error-value=10
+ (PCE-initiated operation-frequency limit reached) and is free to
+ treat the session as having reached the limit in terms of resources
+ allocated to honor PCE-initiated LSP requests, either permanently or
+ for a locally-defined cool-off period.
+
+9.2. Malicious PCC
+
+ The LSP instantiation mechanism described in this document requires
+ the PCE to keep state for LSPs that it instantiates and relies on the
+ PCC responding (with either a state report or an error message) to
+ requests for LSP instantiation. A malicious PCC or one that reached
+ the limit of the number of PCE-initiated LSPs can ignore PCE requests
+ and consume PCE resources. A PCE can protect itself by imposing a
+ limit on the number of requests pending or by setting a timeout, and
+ it MAY take further action such as closing the session or removing
+ all the LSPs it initiated.
+
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 18]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+10. References
+
+10.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <https://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
+ Element (PCE) Communication Protocol (PCEP)", RFC 5440,
+ DOI 10.17487/RFC5440, March 2009,
+ <https://www.rfc-editor.org/info/rfc5440>.
+
+ [RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax
+ Used to Form Encoding Rules in Various Routing Protocol
+ Specifications", RFC 5511, DOI 10.17487/RFC5511, April
+ 2009, <https://www.rfc-editor.org/info/rfc5511>.
+
+ [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+ 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+ May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
+ [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path
+ Computation Element Communication Protocol (PCEP)
+ Extensions for Stateful PCE", RFC 8231,
+ DOI 10.17487/RFC8231, September 2017,
+ <https://www.rfc-editor.org/info/rfc8231>.
+
+ [RFC8232] Crabbe, E., Minei, I., Medved, J., Varga, R., Zhang, X.,
+ and D. Dhody, "Optimizations of Label Switched Path State
+ Synchronization Procedures for a Stateful PCE", RFC 8232,
+ DOI 10.17487/RFC8232, September 2017,
+ <https://www.rfc-editor.org/info/rfc8232>.
+
+10.2. Informative References
+
+ [RFC4657] Ash, J., Ed. and J. Le Roux, Ed., "Path Computation
+ Element (PCE) Communication Protocol Generic
+ Requirements", RFC 4657, DOI 10.17487/RFC4657, September
+ 2006, <https://www.rfc-editor.org/info/rfc4657>.
+
+ [RFC8051] Zhang, X., Ed. and I. Minei, Ed., "Applicability of a
+ Stateful Path Computation Element (PCE)", RFC 8051,
+ DOI 10.17487/RFC8051, January 2017,
+ <https://www.rfc-editor.org/info/rfc8051>.
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 19]
+
+RFC 8281 PCE-Initiated LSPs in Stateful PCE December 2017
+
+
+ [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
+ Writing an IANA Considerations Section in RFCs", BCP 26,
+ RFC 8126, DOI 10.17487/RFC8126, June 2017,
+ <https://www.rfc-editor.org/info/rfc8126>.
+
+Acknowledgments
+
+ We would like to thank Jan Medved, Ambrose Kwong, Ramon Casellas,
+ Cyril Margaria, Dhruv Dhody, Raveendra Trovi, and Jon Hardwick for
+ their contributions to this document.
+
+Authors' Addresses
+
+ Edward Crabbe
+ Individual Contributor
+
+ Email: edward.crabbe@gmail.com
+
+
+ Ina Minei
+ Google, Inc.
+ 1600 Amphitheatre Parkway
+ Mountain View, CA 94043
+ United States of America
+
+ Email: inaminei@google.com
+
+
+ Siva Sivabalan
+ Cisco Systems, Inc.
+ 170 West Tasman Dr.
+ San Jose, CA 95134
+ United States of America
+
+ Email: msiva@cisco.com
+
+
+ Robert Varga
+ Pantheon Technologies SRO
+ Mlynske Nivy 56
+ Bratislava 821 05
+ Slovakia
+
+ Email: robert.varga@pantheon.tech
+
+
+
+
+
+
+
+Crabbe, et al. Standards Track [Page 20]
+