Ability for a stateful Path Computation Element (PCE) to request and obtain control of a LSPAT&T200 S Laurel AevenueMiddletownNJ07748USAar2521@att.comAT&T200 S Laurel AevenueMiddletownNJ07748USAag6941@att.comAT&T200 S Laurel AevenueMiddletownNJ07748USAcy098d@att.comCisco Systems, Inc.125 High StreetBostonMassachusetts02110USAjakarthi@cisco.comCisco Systems, Inc.2000 Innovation DriveKanataOntarioK2K 3E8Canadamsiva@cisco.comCisco Systems, Inc.2000 Innovation DriveKanataOntarioK2K 3E8Canadajdparker@cisco.comHuawei TechnologiesDivyashree Techno Park, WhitefieldBangaloreKarnataka560066Indiadhruv.ietf@gmail.comPCE Working GroupThe stateful Path Computation Element (PCE) communication Protocol (PCEP) extensions provide stateful control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSP) via PCEP, for a model where a Path Computation Client (PCC) delegates control over one or more locally configured LSPs to a stateful PCE. There are use-cases in which a stateful PCE may wish to request and obtain control of one or more LSPs from a PCC. This document describes a simple extension to stateful PCEP to achieve such an objective.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 when, and only when, they
appear in all capitals, as shown here.Stateful PCEP extensions specifies a set of extensions to PCEP to enable stateful control of TE LSPs between and across PCEP sessions in compliance with . It includes mechanisms to effect LSP state synchronization between PCCs and PCEs, delegation of control of LSPs to PCEs, and PCE control of timing and sequence of path computations within and across PCEP sessions. The stateful PCEP defines the following two useful network operations:
Delegation: As per , an operation to grant a PCE temporary rights to modify a
subset of LSP parameters on one or more LSPs of a PCC. LSPs are
delegated from a PCC to a PCE and are referred to as "delegated"
LSPs.Revocation: As per , an operation performed by a PCC on a previously
delegated LSP. Revocation revokes the rights granted to the PCE
in the delegation operation.For Redundant Stateful PCEs (section 5.7.4. of ), during a PCE failure, one of the redundant PCE could request to take control over an LSP. The redundant PCEs MAY use a local policy or a proprietary election mechanism to decide which PCE would take control. In this case, a mechanism is needed for a stateful PCE to request control of one or more LSPs from a PCC, so that a newly elected primary PCE can request to take over control.In case of virtualized PCEs (vPCE) running as virtual network function (VNF), as the computation load in the network increases, a new instance of vPCE could be instantiated to balance the current load. The PCEs could use proprietary algorithm to decide which LSPs to be assigned to the new vPCE. Thus having a mechanism for the PCE to request control of some LSPs is needed.In some deployments, the operator would like to use stateful PCE for global optimization algorithms but would still like to keep the control of the LSP at the PCC. In such cases, a stateful PCE could request to take control during the global optimization and return the delegation once done.Note that specify a mechanism for a PCC to delegate an orphaned LSP to another PCE. The mechanism defined in this document can be used in conjunction to . Ultimately, it is the PCC that decides which PCE to delegate the orphaned LSP.This specification provides a simple extension, by using this a PCE can request control of one or more LSPs from any PCC over the stateful PCEP session. The procedures for granting and relinquishing control of the LSPs are specified in accordance with the specification . The following terminologies are used in this document:
Path Computation Client.Path Computation ElementPath Computation Element communication Protocol.Path Computation State Report message.Path Computation Update Request message.A PCEP-specific identifier for the LSP.The Stateful PCE Request Parameters (SRP) object is defined in , it includes a Flags field. defines a R (LSP-REMOVE) flag.A new flag, the "LSP Control Request Flag" (C), is introduced in the SRP object. On a PCUpd message, a PCE sets the C Flag to 1 to indicate that, it wishes to gain control of LSP(s). The LSP is identified by the LSP object. A PLSP-ID of value other than 0 and 0xFFFFF is used to identify the LSP for which the PCE requests control. The PLSP-ID value of 0 indicates that the PCE is requesting control of all LSPs originating from the PCC that it wishes to delegate. The flag has no meaning in the PCRpt and PCInitiate message and MUST be set to 0 on transmission and MUST be ignored on receipt.During normal operation, a PCC that wishes to delegate the control of an LSP sets the D Flag (delegate) to 1 in all PCRpt messages pertaining to the LSP. The PCE confirms the delegation by setting D Flag to 1 in all PCUpd messages pertaining to the LSP. The PCC revokes the control of the LSP from the PCE by setting D Flag to 0 in PCRpt messages pertaining to the LSP. If the PCE wishes to relinquish the control of the LSP, it sets D Flag to 0 in all PCUpd messages pertaining to the LSP.If a PCE wishes to gain control over an LSP, it sends a PCUpd message with C Flag set to 1 in SRP object. The LSP for which the PCE requests control is identified by the PLSP-ID. The PLSP-ID of 0 indicates that the PCE wants control over all LSPs originating from the PCC. If the LSP(s) is/are already delegated to the PCE making the request, the PCC ignores the C Flag. A PCC can decide to delegate the control of the LSP at its own discretion. If the PCC grants or denies the control, it sends PCRpt message with D Flag set to 1 and 0 respectively in accordance with according with stateful PCEP . If the PCC does not grant the control, it MAY choose to not respond, and the PCE may choose to retry requesting the control preferably using exponentially increasing timer. A PCE ignores the C Flag on the PCRpt message. Note that, the PCUpd message with C flag set is received for a currently non-delegated LSP (for which the PCE is requesting delegation), this MUST NOT trigger the error handling as specified in (a PCErr with Error-type=19 (Invalid Operation)
and error-value 1 (Attempted LSP Update Request for a non-delegated
LSP)).In case multiple PCEs request control over an LSP, and if the PCC is willing to grant the control, the LSP MUST be delegated to only one PCE chosen by the PCC based on its local policy.It should be noted that a legacy implementation of PCC, that does not understand the C flag in PCUpd message, would simply ignore the flag (and the request to grant control over the LSP). At the same time it would trigger the error condition as specified in (a PCErr with Error-type=19 (Invalid Operation)
and error-value 1 (Attempted LSP Update Request for a non-delegated
LSP)). describes the setup,
maintenance and teardown of PCE-initiated LSPs under the stateful PCE
model. It also specify how a PCE MAY obtain control over an orphaned LSP
that was PCE-initiated. A PCE implementation can apply the mechanism described
in this document in conjunction with those in .The security considerations listed in and
apply to this document as well. However, this document also
introduces a new attack vectors. An
attacker may flood the PCC with request to delegate all its LSPs
at a rate which exceeds the PCC's ability to process them, either by
spoofing messages or by compromising the PCE itself. The PCC can
simply ignore these messages with no extra actions.
Securing the PCEP session using mechanism like Transport Layer Security
(TLS) is RECOMMENDED.This document requests IANA actions to allocate code points for the protocol elements defined in this document.The SRP object is defined in and the registry to manage the Flag field of the SRP object is requested in .
IANA is requested to make the following allocation in the aforementioned registry.BitDescriptionReferenceTBDLSP Control Request Flag (c-bit)This document
All manageability requirements and considerations listed in
and
apply to PCEP protocol extensions defined in this document. In addition, requirements and considerations listed in this section apply.
A PCE or PCC implementation SHOULD allow the operator to configure the policy based on which it honor the request to control the LSPs. Further, the operator MAY be to be allowed to trigger the LSP control request at the PCE.
The PCEP YANG module could be extended to include mechanism to trigger the LSP control request.
Mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in .
Mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in
and .
Mechanisms defined in this document do not imply any new requirements on other protocols.
Mechanisms defined in
and
also apply to PCEP extensions defined in this document.
Further, the mechanism described in this document can help the operator to request control of the LSPs at a particular PCE.Thanks to Jonathan Hardwick to remind the authors to not use suggested values in IANA section.