Skip to main content

PCEP extensions for GMPLS
draft-ietf-pce-gmpls-pcep-extensions-09

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 8779.
Expired & archived
Authors Cyril Margaria , Oscar Gonzalez de Dios , Fatai Zhang
Last updated 2014-08-17 (Latest revision 2014-02-13)
Replaces draft-margaria-pce-gmpls-pcep-extensions
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Consensus: Waiting for Write-Up
Document shepherd (None)
IESG IESG state Became RFC 8779 (Proposed Standard)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-pce-gmpls-pcep-extensions-09
Network Working Group                                   C. Margaria, Ed.
Internet-Draft
Intended status: Standards Track                O. Gonzalez de Dios, Ed.
Expires: August 17, 2014           Telefonica Investigacion y Desarrollo
                                                           F. Zhang, Ed.
                                                     Huawei Technologies
                                                       February 13, 2014

                       PCEP extensions for GMPLS
                draft-ietf-pce-gmpls-pcep-extensions-09

Abstract

   This memo provides extensions for the Path Computation Element
   communication Protocol (PCEP) for the support of GMPLS control plane.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 17, 2014.

Copyright Notice

   Copyright (c) 2014 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
   (http://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.

Margaria, et al.         Expires August 17, 2014                [Page 1]
Internet-Draft             PCEP Ext for GMPLS              February 2014

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Contributing Authors  . . . . . . . . . . . . . . . . . .   3
     1.2.  PCEP requirements for GMPLS . . . . . . . . . . . . . . .   3
     1.3.  Current GMPLS support and limitation of existing PCEP
           objects . . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.4.  Requirements Language . . . . . . . . . . . . . . . . . .   5
   2.  PCEP objects and extensions . . . . . . . . . . . . . . . . .   5
     2.1.  GMPLS capability advertisement  . . . . . . . . . . . . .   6
       2.1.1.  GMPLS Computation TLV in the Existing PCE Discovery
               Protocol  . . . . . . . . . . . . . . . . . . . . . .   6
       2.1.2.  OPEN Object extension GMPLS-CAPABILITY TLV  . . . . .   6
     2.2.  RP object extension . . . . . . . . . . . . . . . . . . .   6
     2.3.  Traffic parameters encoding, BANDWIDTH object extensions    7
     2.4.  Traffic parameters encoding, LOAD-BALANCING . . . . . . .   9
     2.5.  END-POINTS Object extensions  . . . . . . . . . . . . . .  12
       2.5.1.  Generalized Endpoint Object Type  . . . . . . . . . .  12
       2.5.2.  END-POINTS TLVs extensions  . . . . . . . . . . . . .  15
     2.6.  IRO extension . . . . . . . . . . . . . . . . . . . . . .  19
     2.7.  XRO extension . . . . . . . . . . . . . . . . . . . . . .  19
     2.8.  LSPA extensions . . . . . . . . . . . . . . . . . . . . .  21
     2.9.  NO-PATH Object Extension  . . . . . . . . . . . . . . . .  22
       2.9.1.  Extensions to NO-PATH-VECTOR TLV  . . . . . . . . . .  22
   3.  Additional Error Type and Error Values Defined  . . . . . . .  23
   4.  Manageability Considerations  . . . . . . . . . . . . . . . .  24
     4.1.  Control of Function through Configuration and Policy  . .  24
     4.2.  Information and Data Models . . . . . . . . . . . . . . .  25
     4.3.  Liveness Detection and Monitoring . . . . . . . . . . . .  25
     4.4.  Verifying Correct Operation . . . . . . . . . . . . . . .  25
     4.5.  Requirements on Other Protocols and Functional Components  26
     4.6.  Impact on Network Operation . . . . . . . . . . . . . . .  26
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  26
     5.1.  PCEP Objects  . . . . . . . . . . . . . . . . . . . . . .  26
     5.2.  END-POINTS object, Object Type Generalized Endpoint . . .  27
     5.3.  New PCEP TLVs . . . . . . . . . . . . . . . . . . . . . .  27
     5.4.  RP Object Flag Field  . . . . . . . . . . . . . . . . . .  28
     5.5.  New PCEP Error Codes  . . . . . . . . . . . . . . . . . .  28
     5.6.  New  NO-PATH-VECTOR TLV Fields  . . . . . . . . . . . . .  29
     5.7.  New Subobject for the Include Route Object  . . . . . . .  30
     5.8.  New Subobject for the Exclude Route Object  . . . . . . .  30
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  30
   7.  Contributing Authors  . . . . . . . . . . . . . . . . . . . .  30
   8.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  32
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  32
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  32
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  34
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  35

Margaria, et al.         Expires August 17, 2014                [Page 2]
Internet-Draft             PCEP Ext for GMPLS              February 2014

1.  Introduction

   Although [RFC4655] defines the PCE architecture and framework for
   both MPLS and GMPLS networks, current PCEP RFCs [RFC5440], [RFC5521],
   [RFC5541], [RFC5520] are focused on MPLS networks, and do not cover
   the wide range of GMPLS networks.  This document complements these
   RFCs by addressing the extensions required for GMPLS applications and
   routing requests, for example for OTN and WSON networks.

   The functional requirements to be considered by the PCEP extensions
   to support those application are described in [RFC7025] and
   [I-D.ietf-pce-wson-routing-wavelength].

1.1.  Contributing Authors

   Elie Sfeir, Franz Rambach (Nokia Siemens Networks) Francisco Javier
   Jimenez Chico (Telefonica Investigacion y Desarrollo) Suresh BR,
   Young Lee, SenthilKumar S, Jun Sun (Huawei Technologies), Ramon
   Casellas (CTTC)

1.2.  PCEP requirements for GMPLS

   The document [RFC7025] describes the set of PCEP requirements to
   support GMPLS TE-LSPs.  When a PCC requests a PCE to perform a path
   computation (by means of a PCReq message), the PCC should be able to
   indicate the following additional information:

   o  Which data flow is switched by the LSP: a combination of Switching
      Type (for instance L2SC or TDM), Switching Encoding (e.g.,
      Ethernet, SONET/SDH) and sometimes the Signal Type (e.g. in case
      of TDM/LSC switching capability)

   o  Data flow specific traffic parameters, which are technology
      specific.  For instance, in SDH/SONET and G.709 OTN networks the
      Concatenation Type and the Concatenation Number have an influence
      on the switched data and on which link it can be supported

   o  Support for asymmetric bandwidth requests.

   o  Support for unnumbered interface identifiers, as defined in
      [RFC3477]

   o  Label information and technology specific label(s) such as
      wavelength labels as defined in [RFC6205].  A PCC should also be
      able to specify a Label restriction similar to the one supported
      by RSVP.

Margaria, et al.         Expires August 17, 2014                [Page 3]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   o  Ability to indicate the requested granularity for the path ERO:
      node, link or label.  This is to allow the use of the explicit
      label control feature of RSVP-TE.

   We describe in this document a set of PCEP protocol extensions,
   including new objects, TLVs, encodings, error codes and procedures,
   in order to fulfill the aforementioned requirements.

1.3.  Current GMPLS support and limitation of existing PCEP objects

   PCEP as of [RFC5440], [RFC5521] and [I-D.ietf-pce-inter-layer-ext],
   supports the following objects, included in requests and responses
   related to the described requirements.

   From [RFC5440]:

   o  ENDPOINTS: only numbered endpoints are considered.  The context
      specifies whether they are node identifiers or numbered
      interfaces.

   o  BANDWIDTH: the data rate is encoded in the bandwidth object (as
      IEEE 32 bit float).  [RFC5440] does not include the ability to
      convey an encoding proper to any GMPLS networks.

   o  ERO : Unnumbered endpoints are supported.

   o  LSPA: LSP attributes (setup and holding priorities)

   From [RFC5521] :

   o  XRO object :

      *  This object allows excluding (strict or not) resources, and
         includes the requested diversity (node, link or SRLG).

      *  When the F bit is set, the request indicates that the existing
         route has failed and the resources present in the RRO can be
         reused.

   From [I-D.ietf-pce-inter-layer-ext]:

   o  INTER-LAYER : indicates whether inter-layer computation is allowed

   o  SWITCH-LAYER : indicates which layer(s) should be considered, can
      be used to represent the RSVP-TE generalized label request

Margaria, et al.         Expires August 17, 2014                [Page 4]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   o  REQ-ADAP-CAP : indicates the adaptation capabilities requested,
      can also be used for the endpoints in case of mono-layer
      computation

   The shortcomings of the existing PCEP object are:

      The BANDWIDTH and LOAD-BALANCING objects do not describe the
      details of the traffic request (for example NVC, multiplier) in
      the context of GMPLS networks, for instance TDM or OTN networks.

      The END-POINTS object does not allow specifying an unnumbered
      interface, nor potential label restrictions on the interface.
      Those parameters are of interest in case of switching constraints.

      The IRO/XRO objects do not allow the inclusion/exclusion of labels

   Current attributes do not allow expressing the requested link
   protection level and/or the end-to-end protection attributes.

   The covered PCEP extensions are:

      A new object type are introduced for the BANDWIDTH object
      (Generalized-Bandwidth, Generalized Bandwidth of existing TE-LSP)

      A new object type is introduced for the LOAD-BALANCING object
      (Generalized bandwidth),

      A new object type is introduced for the END-POINTS object
      (GENERALIZED-ENDPOINT),

      A new TLV is added to the LSPA object.

      A new TLV type for label is allowed in IRO and XRO objects.

      In order to indicate the used routing granularity in the response,
      a new flag in the RP object is added.

1.4.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

2.  PCEP objects and extensions

   This section describes the required PCEP objects and extensions.  The
   PCReq and PCRep messages are defined in [RFC5440].  This document
   does not change the existing grammars

Margaria, et al.         Expires August 17, 2014                [Page 5]
Internet-Draft             PCEP Ext for GMPLS              February 2014

2.1.  GMPLS capability advertisement

2.1.1.  GMPLS Computation TLV in the Existing PCE Discovery Protocol

   IGP-based PCE Discovery (PCED) is defined in [RFC5088] and [RFC5089]
   for the OSPF and IS-IS protocols.  Those documents define bit 0 of
   the PCED TLV for Path computation with GMPLS link constraints.  This
   capability can be used to detect GMPLS-capable PCEs.

2.1.2.  OPEN Object extension GMPLS-CAPABILITY TLV

   In addition to the IGP advertisement, a PCEP speaker should be able
   to discover the other peer GMPLS capabilities during the Open message
   exchange.  This capability is also useful to avoid misconfigurations.
   This document defines a new optional GMPLS-CAPABILITY TLV for use in
   the OPEN object to negotiate the GMPLS capability.  The inclusion of
   this TLV in the OPEN message indicates that the PCC/PCE support the
   PCEP extensions defined in the document.  A PCE that is able to
   support the GMPLS extensions defined in this document SHOULD include
   the GMPLS-CAPABILITY TLV on the OPEN message.  If the PCE does not
   include the GMPLS-CAPABILITY TLV in the OPEN message and PCC does
   include the TLV, it is RECOMMENDED that the PCC indicates a mismatch
   of capabilities.  Moreover , in case that the PCC does not receive
   the GMPLS-CAPABILITY TLV it is RECOMMENDED that the PCC does not make
   use of the objects and TLVs defined in this document.

   IANA has allocated value 14 from the "PCEP TLV Type Indicators" sub-
   registry, as documented in Section Section 5.3 ("New PCEP TLVs").
   The description is "GMPLS capable".  Its format is shown in the
   following figure.

    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=14       |             Length              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                             Flags                             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   No Flags are defined in this document, they are reserved for future
   use.

2.2.  RP object extension

   Explicit label control (ELC) is a procedure supported by RSVP-TE,
   where the outgoing label(s) is(are) encoded in the ERO.  In
   consequence, the PCE may be able to provide such label(s) directly in
   the path ERO.  The PCC, depending on policies or switching layer, may

Margaria, et al.         Expires August 17, 2014                [Page 6]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   be required to use explicit label control or expect explicit link,
   thus it need to indicate in the PCReq which granularity it is
   expecting in the ERO.  This correspond to requirement 12 of [RFC7025]
   The possible granularities can be node, link or label.  The
   granularities are inter-dependent, in the sense that link granularity
   implies the presence of node information in the ERO; similarly, a
   label granularity implies that the ERO contains node, link and label
   information.

   A new 2-bit routing granularity (RG) flag is defined in the RP
   object.  The values are defined as follows

                               0 : reserved
                               1 : node
                               2 : link
                               3 : label

   The flag in the RP object indicates the requested route granularity.
   The PCE MAY try to follow this granularity and MAY return a NO-PATH
   if the requested granularity cannot be provided.  The PCE MAY return
   any granularity it likes on the route based on its policy.  The PCC
   can decide if the ERO is acceptable based on its content.

   If a PCE honored the requested routing granularity for a request, it
   MUST indicate the selected routing granularity in the RP object
   included in the response.  The PCE MAY use the reserved RG to leave
   the check of the ERO to the PCC.  The RG flag is backward-compatible
   with [RFC5440]: the value sent by an implementation (PCC or PCE) not
   supporting it will indicate a reserved value.

2.3.  Traffic parameters encoding, BANDWIDTH object extensions

   From [RFC5440] the object carrying the request size for the TE-LSP is
   the BANDWIDTH object.  The object types 1 and 2 defined in [RFC5440]
   do not describe enough information to describe the TE-LSP bandwidth
   in GMPLS networks.  The BANDWIDTH object encoding should be extended
   to allow to express the bandwidth as described in[RFC7025].  RSVP-TE
   extensions for GMPLS provide a set of encoding allowing such
   representation in an unambiguous way, this is encoded in the RSVP-TE
   TSpec and FlowSpec objects.  This document extends the BANDWIDTH
   object with new object types reusing the RSVP-TE encoding.

   The following possibilities should be supported by the new encoding :

   o  Asymmetric bandwidth (different bandwidth in forward and reverse
      direction), as described in [RFC6387]

   o  GMPLS (SDH/SONET, G.709, ATM, MEF etc) parameters.

Margaria, et al.         Expires August 17, 2014                [Page 7]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   This correspond to requirement 3,4,5 and 11 of [RFC7025].

   This document defines two OT for the BANDWIDTH object:

   3  Requested generalized bandwidth

   4  Generalized bandwidth of an existing TE LSP for which a re-
      optimization is requested

   The definitions below apply for Object Type 3 and 4.  The payload is
   as follows:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Bandwidth Spec Length      | Rev. Bandwidth Spec Length    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Bw Spec Type  |   Reserved                                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      ~                     generalized bandwidth                     ~
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      ~          Optional : reverse generalized bandwidth             ~
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      ~                       Optional TLVs                           ~
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The BANDWIDTH object type 3 and 4 have a variable length.  The 16 bit
   bandwidth spec length field indicates the length of the bandwidth
   spec field.  The bandwidth spec length MUST be strictly greater than
   0.  The 16 bit reverse bandwidth spec length field indicates the
   length of the reverse bandwidth spec field.  The reverse bandwidth
   spec length MAY be equal to 0.

   The Bw Type field determines which type of bandwidth is represented
   by the object.

   The Bw Type types correspond to the RSVPT-TE SENDER_TSPEC (Object
   Class 12) C-Types

   The encoding of the field generalized bandwidth and reverse
   generalized bandwidth is the same as in RSVP-TE, it can be found in
   the following references.

Margaria, et al.         Expires August 17, 2014                [Page 8]
Internet-Draft             PCEP Ext for GMPLS              February 2014

                      Object Type Name      Reference

                      2           Intserv   [RFC2210]
                      4           SONET/SDH [RFC4606]
                      5           G.709     [RFC4328]
                      6           Ethernet  [RFC6003]

                        Traffic Spec field encoding

   , When a PCC requests a bi-directional path with symmetric bandwidth,
   is MUST specify the generalized bandwidth field, MUST NOT specify the
   reverse generalized bandwidth and MUST set the Reverse Bandwidth Spec
   Length to 0.  When a PCC needs to request a bi-directional path with
   asymmetric bandwidth, it SHOULD specify the different bandwidth in
   the forward and reverse directions with a generalized bandwidth and
   reverse generalized bandwidth fields.

   The procedures described in [RFC5440] for the PCRep is unchanged, a
   PCE MAY include the BANDWIDTH objects in the response to indicate the
   BANDWIDTH of the path

   As specified i [RFC5440] in the case of the re-optimization of a TE
   LSP, the bandwidth of the existing TE LSP MUST also be included in
   addition to the requested bandwidth if and only if the two values
   differ.  The Object Type 4 MAY be used instead of object type 2 to
   indicate the existing TE-LSP bandwidth.  A PCC that requested a path
   with a BANDWIDTH object of with object type 1 SHOULD use object type
   2 to represent the existing TE-LSP BANDWIDTH.

   Optional TLVs may be included within the object body to specify more
   specific bandwidth requirements.  No TLVs for the Object Type 3 and 4
   are defined by this document.

2.4.  Traffic parameters encoding, LOAD-BALANCING

   The LOAD-BALANCING object [RFC5440] is used to request a set of
   maximum Max-LSP TE-LSP having in total the bandwidth specified in
   BANDWIDTH, each TE-LSP having a minimum of bandwidth.  The LOAD-
   BALANCING follows the bandwidth encoding of the BANDWIDTH object, and
   thus the existing definition from [RFC5440] does not describe enough
   details for the bandwidth specification expected by GMPLS.  A PCC
   should be allowed to request a set of TE-LSP also in case of GMPLS
   bandwidth specification.

   The LOAD-BALANCING has the same limitation as the BANDWIDTH for GMPLS
   networks.  Similarly to the BANDWIDTH object a new object type is
   defined to allow a PCC to represent the bandwidth types supported by
   GMPLS networks.

Margaria, et al.         Expires August 17, 2014                [Page 9]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   This document defines the generalized load balancing object type 2
   for the LOAD-BALANCING object,

   The generalized load balancing object type has a variable length.

   The format of the generalized load balancing object type is as
   follows:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Bandwidth spec length      | Reverse Bandwidth spec length |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | BW Spec Type  |  Max-LSP      | Reserved                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Min  Bandwidth Spec                                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Min reverse Bandwidth Spec (optional)                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      ~                Optional   TLVs                                ~
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Bandwidth spec length (16 bits): the total length of the min
   bandwidth specification.  It should be noted that the RSVP traffic
   specification may also include TLV different than the PCEP TLVs.  The
   length MUST be strictly greater than 0.

   Reverse bandwidth spec length (16 bits): the total length of the
   reverse min bandwidth specification.  It MAY be equal to 0.

   BW Spec Type (8 bits) : the bandwidth specification type, it
   correspond to the RSVPT-TE SENDER_TSPEC (Object Class 12) C-Types

   Max-LSP (8 bits): maximum number of TE LSPs in the set.

   Min Bandwidth spec (variable): Specifies the minimum bandwidth spec
   of each element of the set of TE LSPs.

   Min Reverse Bandwidth spec (variable): Specifies the minimum reverse
   bandwidth spec of each element of the set of TE LSPs.

   The encoding of the field Min Bandwidth Spec and Min Reverse
   Bandwidth spec is the same as in RSVP-TE SENDER_TSPEC object, it can
   be found in the following references.

Margaria, et al.         Expires August 17, 2014               [Page 10]
Internet-Draft             PCEP Ext for GMPLS              February 2014

                      Object Type Name      Reference

                      2           Intserv   [RFC2210]
                      4           SONET/SDH [RFC4606]
                      5           G.709     [RFC4328]
                      6           Ethernet  [RFC6003]

                        Traffic Spec field encoding

   .  When a PCC requests a bi-directional path with symmetric bandwidth
   while specifying load balancing constraints is MUST specify the min
   Bandwidth spec field, MUST NOT specify the min reverse bandwidth and
   MUST set the Reverse Bandwidth spec length to 0.  When a PCC needs to
   request a bi-directional path with asymmetric bandwidth while
   specifying load balancing constraints, it SHOULD specify the
   different bandwidth in forward and reverse directions through a min
   Bandwidth spec and min reverse bandwidth fields.

   Optional TLVs may be included within the object body to specify more
   specific bandwidth requirements.  No TLVs for the generalized load
   balancing object type are defined by this document.

   The semantic of the LOAD-BALANCING object is not changed.  If a PCC
   requests the computation of a set of TE LSPs so that the total of
   their generalized bandwidth is X, the maximum number of TE LSPs is N,
   and each TE LSP must at least have a bandwidth of B, it inserts a
   BANDWIDTH object specifying X as the required bandwidth and a LOAD-
   BALANCING object with the Max-LSP and Min-traffic spec fields set to
   N and B, respectively.

   For example a request for one co-signaled n x VC-4 TE-LSP will not
   use the LOAD-BALANCING.  In case the V4 components can use different
   paths, the BANDWIDTH with object type 3 will contain a traffic
   specification indicating the complete n x VC4 traffic specification
   and the LOAD-BALANCING the minimum co-signaled VC4.  For a SDH
   network, a request to have a TE-LSP group with 10 VC4 container, each
   path using at minimum 2VC4 container, can be represented with a
   BANDWIDTH object with OT=3, Bandwidth spec type set to 4, the content
   of the bandwidth specification is ST=6,RCC=0,NCC=0,NVC=10,MT=1.  The
   LOAD-BALANCING, OT=2 with Bandwidth spec set to 4,Max-LSP=5, min
   Traffic spec is (ST=6,RCC=0,NCC=0,NVC=2,MT=1).  The PCE can respond
   with a response with maximum 5 path, each of them having a BANDWIDTH
   OT=3 and traffic spec matching the minimum traffic spec from the
   LOAD-BALANCING object of the corresponding request.

Margaria, et al.         Expires August 17, 2014               [Page 11]
Internet-Draft             PCEP Ext for GMPLS              February 2014

2.5.  END-POINTS Object extensions

   The END-POINTS object is used in a PCEP request message to specify
   the source and the destination of the path for which a path
   computation is requested.  From [RFC5440] the source IP address and
   the destination IP address are used to identify those.  A new Object
   Type is defined to address the following possibilities:

   o  Different source and destination endpoint types.

   o  Label restrictions on the endpoint.

   o  Specification of unnumbered endpoints type as seen in GMPLS
      networks.

   The Object encoding is described in the following sections.

   In path computation within a GMPLS context the endpoints can:

   o  Be unnumbered as described in [RFC3477].

   o  Have label(s) associated to them, specifying a set of constraints
      in the allocation of labels.

   o  May have different switching capabilities

   The IPv4 and IPv6 endpoints are used to represent the source and
   destination IP addresses.  The scope of the IP address (Node or
   numbered Link) is not explicitly stated.  It is also possible to
   request a Path between a numbered link and an unnumbered link, or a
   P2MP path between different type of endpoints.

   This new C-Type also supports the specification of constraints on the
   endpoint label to be use.  The PCE might know the interface
   restrictions but this is not a requirement.  This corresponds to
   requirements 6 and 10 of [RFC7025].

2.5.1.  Generalized Endpoint Object Type

   The Generalized Endpoint object type format consists of a body and a
   list of TLVs scoped to this object type object.  The TLVs give the
   details of the endpoints and are described in Section 2.5.2.  For
   each endpoint type, a different grammar is defined.  The TLVs defined
   to describe an endpoint are:

   1.  IPv4 address endpoint.

   2.  IPv6 address endpoint.

Margaria, et al.         Expires August 17, 2014               [Page 12]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   3.  Unnumbered endpoint.

   4.  Label set restriction.

   5.  Suggested label set restriction.

   The Label Set and Suggested label set TLVs are used to restrict the
   label allocation in the PCE.  Those TLVs express the set of
   restrictions provided by signaling.  Label restriction support can be
   an explicit value (Label set describing one label), mandatory range
   restrictions (Label set), optional range restriction (suggested label
   set) and single suggested value is using the suggested label set.
   Endpoints label restriction may not be part of the RRO or IRO, they
   may be included when following [RFC4003] in signaling for egress
   endpoint, but ingress endpoint properties may be local to the PCC and
   not signaled.  To support this case the label set allows to indicate
   which label are used in case of re-optimization.  The label range
   restrictions are valid in GMPLS networks, either by PCC policy or
   depending on the switching technology used, for instance on given
   Ethernet or ODU equipment having limited hardware capabilities
   restricting the label range.  Label set restriction also applies to
   WSON networks where the optical sender and receivers are limited in
   their frequency tunability ranges, restricting then in GMPLS the
   possible label ranges on the interface.  The END-POINTS Object with
   Generalized Endpoint object type is encoded as follow:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      Reserved                                 | endpoint type |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      ~                           TLVs                                ~
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Reserved bits should be set to 0 when a message is sent and ignored
   when the message is received

   the endpoint type is defined as follow:

Margaria, et al.         Expires August 17, 2014               [Page 13]
Internet-Draft             PCEP Ext for GMPLS              February 2014

         Value   Type                Meaning

         0       Point-to-Point
         1       Point-to-Multipoint New leaves to add
         2                           Old leaves to remove
         3                           Old leaves whose path can be
                                     modified/reoptimized
         4                           Old leaves whose path must be
                                     left unchanged
         5-244   Reserved
         245-255 Experimental range

   The endpoint type is used to cover both point-to-point and different
   point-to-multipoint endpoints.  Endpoint type 0 MAY be accepted by
   the PCE, other endpoint type MAY be supported if the PCE
   implementation supports P2MP path calculation.  A PCE not supporting
   a given endpoint type MUST respond with a PCErr with error code "Path
   computation failure", error type "Unsupported endpoint type in END-
   POINTS Generalized Endpoint object type".  The TLVs present in the
   request object body MUST follow the following grammar:

     <generalized-endpoint-tlvs>::=
       <p2p-endpoints> | <p2mp-endpoints>

     <p2p-endpoints> ::=
       <source-endpoint>
       <destination-endpoint>

     <source-endpoint> ::=
       <endpoint>
       [<endpoint-restriction-list>]

     <destination-endpoint> ::=
       <endpoint>
       [<endpoint-restriction-list>]

     <p2mp-endpoints> ::=
       <endpoint> [<endpoint-restriction-list>]
       [<endpoint> [<endpoint-restriction-list>]]...

   For endpoint type Point-to-Multipoint several endpoint objects may be
   present in the message and represent a leave, exact meaning depend on
   the endpoint type defined of the object.

   An endpoint is defined as follows:

Margaria, et al.         Expires August 17, 2014               [Page 14]
Internet-Draft             PCEP Ext for GMPLS              February 2014

    <endpoint>::=<IPV4-ADDRESS>|<IPV6-ADDRESS>|<UNNUMBERED-ENDPOINT>
    <endpoint-restriction-list> ::=               <endpoint-restriction>
                 [<endpoint-restriction-list>]

    <endpoint-restriction> ::=
                     <LABEL-REQUEST><label-restriction-list>

    <label-restriction-list> ::= <label-restriction>
                                 [<label-restriction-list>]
    <label-restriction> ::=  <LABEL-SET>|
                             <SUGGESTED-LABEL-SET>

   The different TLVs are described in the following sections.  A PCE
   MAY support IPV4-ADDRESS,IPV6-ADDRESS or UNNUMBERED-ENDPOINT TLV.  A
   PCE not supporting one of those TLV in a PCReq MUST respond with a
   PCRep with NO-PATH with the bit "Unknown destination" or "Unknown
   source" in the NO-PATH-VECTOR TLV, the response SHOULD include the
   ENDPOINT object in the response with only the TLV it did not
   understood.

   A PCE MAY support LABEL-REQUEST, LABEL-SET or SUGGESTED-LABEL-SET
   TLV.  If a PCE finds a non-supported TLV in the END-POINTS the PCE
   MUST respond with a PCErr message with error type="Path computation
   failure" error value="Unsupported TLV present in END-POINTS
   Generalized Endpoint object type" and the message SHOULD include the
   ENDPOINT object in the response with only the endpoint and endpoint
   restriction TLV it did not understand.  A PCE supporting those TLVs
   but not being able to fulfill the label restriction MUST send a
   response with a NO-PATH object which has the bit "No endpoint label
   resource" or "No endpoint label resource in range" set in the NO-
   PATH- VECTOR TLV.  The response SHOULD include an ENDPOINT object
   containing only the TLV where the PCE could not meet the constraint.

2.5.2.  END-POINTS TLVs extensions

   All endpoint TLVs have the standard PCEP TLV header as defined in
   [RFC5440] section 7.1.  In this object type the order of the TLVs
   MUST be followed according to the object type definition.

2.5.2.1.  IPV4-ADDRESS

   This TLV represent a numbered endpoint using IPv4 numbering, the
   format of the IPv4-ADDRESS TLV value (TLV-Type=TBA) is as follows:

Margaria, et al.         Expires August 17, 2014               [Page 15]
Internet-Draft             PCEP Ext for GMPLS              February 2014

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          IPv4 address                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   This TLV MAY be ignored, in which case a PCRep with NO-PATH should be
   responded, as described in Section 2.5.1.

2.5.2.2.  IPV6-ADDRESS TLV

   This TLV represent a numbered endpoint using IPV6 numbering, the
   format of the IPv6-ADDRESS TLV value (TLV-Type=TBA) is as follows:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              IPv6 address (16 bytes)                          |
     |                                                               |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   This TLV MAY be ignored, in which case a PCRep with NO-PATH should be
   responded, as described in Section 2.5.1.

2.5.2.3.  UNNUMBERED-ENDPOINT TLV

   This TLV represent an unnumbered interface.  This TLV has the same
   semantic as in [RFC3477] The TLV value is encoded as follow (TLV-
   Type=TBA)

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          LSR's Router ID                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Interface ID (32 bits)                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   This TLV MAY be ignored, in which case a PCRep with NO-PATH should be
   responded, as described in Section 2.5.1.

2.5.2.4.  LABEL-REQUEST TLV

   The LABEL-REQUEST TLV indicates the switching capability and encoding
   type of the following label restriction list for the endpoint.  Its
   format is the same as described in [RFC3471] Section 3.1 Generalized

Margaria, et al.         Expires August 17, 2014               [Page 16]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   label request.  The LABEL-REQUEST TLV use TLV-Type=TBA.  The fields
   are encoded as in the RSVP-TE.  The Encoding Type indicates the
   encoding type, e.g., SONET/SDH/GigE etc., that will be used with the
   data associated.  The Switching type indicates the type of switching
   that is being requested on the endpoint.  G-PID identifies the
   payload.  This TLV and the following one are introduced to satisfy
   requirement 13 for the endpoint.  It is not directly related to the
   TE-LSP label request, which is expressed by the SWITCH-LAYER object.

   On the path calculation request only the Tspec and switch layer need
   to be coherent, the endpoint labels could be different (supporting a
   different Tspec).  Hence the label restrictions include a Generalized
   label request in order to interpret the labels.  This TLV MAY be
   ignored, in which case a PCRep with NO-PATH should be responded, as
   described in Section 2.5.1.

2.5.2.5.  Labels TLV

   Label or label range restrictions may be specified for the TE-LSP
   endpoints.  Those are encoded using the LABEL-SET TLV.  The label
   value need to be interpreted with a description on the Encoding and
   switching type.  The REQ-ADAP-CAP object from
   [I-D.ietf-pce-inter-layer-ext] can be used in case of mono-layer
   request, however in case of multi-layer it is possible to have in the
   future more than one object, so it is better to have a dedicated TLV
   for the label and label request (the scope is then more clear).
   Those TLV MAY be ignored, in which case a response with NO-PATH
   should be responded, as described in Section 2.5.1.  TLVs are encoded
   as follow (following [RFC5440]) :

   o  LABEL-SET TLV, Type=TBA.  The TLV Length is variable, Encoding
      follows [RFC3471] Section 3.5 "Label set" with the addition of a U
      bit and O Bit. The U bit is set for upstream direction in case of
      bidirectional LSP and the O bit is used to represent an old label.

Margaria, et al.         Expires August 17, 2014               [Page 17]
Internet-Draft             PCEP Ext for GMPLS              February 2014

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |    Action     |    Reserved   |O|U|        Label Type         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Subchannel 1                         |
     |                              ...                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     :                               :                               :
     :                               :                               :
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Subchannel N                         |
     |                              ...                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   o  SUGGESTED-LABEL-SET TLV Set, Type=TBA.  The TLV length is variable
      and its encoding is as LABEL-SET TLV.  The 0 bit SHOULD be set to
      0.

   A LABEL-SET TLV represents a set of possible labels that can be used
   on an interface.  The label allocated on the first link SHOULD be
   within the label set range.  The action parameter in the Label set
   indicates the type of list provided.  Those parameters are described
   by [RFC3471] section 3.5.1 A SUGGESTED-LABEL-SET TLV has the same
   encoding as the LABEL-SET TLV, it indicates to the PCE a set of
   preferred (ordered) set of labels to be used.  The PCE MAY use those
   labels for label allocation.

   The U and 0 bits have the following meaning:

   U: Upstream direction: set when the label or label set is in the
      reverse direction
   O: Old Label: set when the TLV represent the old label in case of re-
      optimization. This Bit SHOULD be set to 0 in a SUGGESTED-LABEL-SET
      TLV Set and ignored on receipt. This Label MAY be reused. The R
      bit of the RP object MUST be set. When this bit is set the Action
      field MUST be set to 0 (Inclusive List) and the Label Set MUST
      contain one subchannel.

   Several LABEL_SET TLVs MAY be present with the 0 bit cleared.  At
   most 2 LABEL_SET TLV SHOULD be present with the 0 bit set, at most
   one with the U bit set and at most one with the U bit cleared.  For a
   given U bit value if more than one LABEL_SET TLV with the O bit set
   is present, the first TLV SHOULD be processed and the following TLV
   with the same U and O bit SHOULD be ignored.

Margaria, et al.         Expires August 17, 2014               [Page 18]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   A SUGGESTED-LABEL-SET TLV with the O bit set MUST trigger a PCErr
   message with error type="Reception of an invalid object" error
   value="Wrong LABEL-SET or SUGGESTED-LABEL-SET TLV present with 0 bit
   set".

   A LABEL-SET TLV with the O bit set and an Action Field not set to 0
   (Inclusive list) or containing more than one subchannel MUST trigger
   a PCErr message with error type="Reception of an invalid object"
   error value="Wrong LABEL-SET or SUGGESTED-LABEL-SET TLV present with
   0 bit set".

   If a LABEL-SET TLV is present with O bit set, the R bit of the RP
   object MUST be set or a PCErr message with error type="Reception of
   an invalid object" error value="LABEL-SET TLV present with 0 bit set
   but without R bit set in RP".

2.6.  IRO extension

   The IRO as defined in [RFC5440] is used to include specific objects
   in the path.  RSVP allows to include label definition, in order to
   fulfill requirement 13 the IRO should support the new subobject type
   as defined in [RFC3473]:

                              Type Sub-object
                              3    LABEL

   The L bit of such sub-object has no meaning within an IRO.

   The Label subobject MUST follow a subobject identifying a link,
   currently an IP address subobject (Type 1 or 2) or an interface id
   (type 4) subobject.  IP address subobject MUST be a link subobject.
   More than one label suboject MAY follow each link subobject.  The
   procedure associated with this subobject is as follow

   If the PCE allocates labels (e.g via explicit label control) the PCE
   MUST allocate one label of from within the set of label values for
   the given link.  If the PCE does not assign labels a response with a
   NO-PATH and a NO-PATH-VECTOR-TLV with the bit .'No label resource in
   range' set.

2.7.  XRO extension

   The XRO as defined in [RFC5521] is used to exclude specific objects
   in the path.  RSVP allows to exclude labels ([RFC6001], in order to
   fulfill requirement 13 of [RFC7025] section 4.1, the XRO should
   support a new subobject to support label exclusion.

Margaria, et al.         Expires August 17, 2014               [Page 19]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   The encoding of the XRO Label subobject follows the encoding of the
   Label ERO subobject defined in [RFC3473] and XRO subobject defined in
   [RFC5521].  The XRO Label subobject represent one Label and is
   defined as follows:

   XRO Subobject Type 3: Label Subobject.

   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |X|  Type=3     |    Length     |U|   Reserved  |   C-Type      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             Label                             |
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      X (1 bit)

         As per [RFC5521].  The X-bit indicates whether the exclusion is
         mandatory or desired.  0 indicates that the resource specified
         MUST be excluded from the path computed by the PCE.  1
         indicates that the resource specified SHOULD be excluded from
         the path computed by the PCE, but MAY be included subject to
         PCE policy and the absence of a viable path that meets the
         other constraints and excludes the resource.

      Type (7 bits)

         The Type of the XRO Label subobject is 3.

      Length (8 bits)

         See [RFC5521],The total length of the subobject in bytes
         (including the Type and Length fields).  The Length is always
         divisible by 4.

      U (1 bit)

         See [RFC3471].

Margaria, et al.         Expires August 17, 2014               [Page 20]
Internet-Draft             PCEP Ext for GMPLS              February 2014

      C-Type (8 bits)

         The C-Type of the included Label Object as defined in
         [RFC3471].

      Label

         See [RFC3471].

   XRO Label subobjects MUST follow the numbered or unnumbered interface
   subobjects to which they refer.  Each subobject represent one label,
   several XRO Labels subobject MAY be present for each link.

                              Type Sub-object
                              3    LABEL

   The L bit of such sub-object has no meaning within an XRO.

2.8.  LSPA extensions

   The LSPA carries the LSP attributes.  In the end-to-end protection
   context this also includes the protection state information.  This
   object is introduced to fulfill requirement 7 of [RFC7025] section
   4.1 and requirement 3 of [RFC7025] section 4.2.  This object contains
   the the value of the PROTECTION object defined by [RFC4872]  and may
   be used as a policy input.  The LSPA object MAY carry a PROTECTION-
   ATTRIBUTE TLV defined as : Type TBA: PROTECTION-ATTRIBUTE

      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                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |S|P|N|O|  Reserved | LSP Flags |     Reserved      | Link Flags|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |I|R|   Reserved    | Seg.Flags |           Reserved            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The content is as defined in [RFC4872], [RFC4873].

   LSP (protection) Flags or Link flags field can be used by
   implementation for routing policy input.  The other attributes are
   only meaningful for a stateful PCE.

Margaria, et al.         Expires August 17, 2014               [Page 21]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   This TLV is optional and MAY be ignored by the PCE, in which case it
   MUST NOT include the TLV in the LSPA, if present, of the response.
   When the TLV is used by the PCE, a LSPA object and the PROTECTION-
   ATTRIBUTE TLV MUST be included in the response.  Fields that were not
   considered MUST be set to 0.

2.9.  NO-PATH Object Extension

   The NO-PATH object is used in PCRep messages in response to an
   unsuccessful path computation request (the PCE could not find a path
   satisfying the set of constraints).  In this scenario, PCE MUST
   include a NO-PATH object in the PCRep message.  The NO-PATH object
   may carries the NO-PATH-VECTOR TLV that specifies more information on
   the reasons that led to a negative reply.  In case of GMPLS networks
   there could be some more additional constraints that led to the
   failure like protection mismatch, lack of resources, and so on.  Few
   new flags have been introduced in the 32-bit flag field of the NO-
   PATH-VECTOR TLV and no modifications have been made in the NO-PATH
   object.

2.9.1.  Extensions to NO-PATH-VECTOR TLV

   The modified NO-PATH-VECTOR TLV carrying the additional information
   is as follows:

      Bit number TBA - Protection Mismatch (1-bit).  Specifies the
      mismatch of the protection type in the PROTECTION-ATTRIBUTE TLV in
      the request.

      Bit number TBA - No Resource (1-bit).  Specifies that the
      resources are not currently sufficient to provide the path.

      Bit number TBA - Granularity not supported (1-bit).  Specifies
      that the PCE is not able to provide a route with the requested
      granularity.

      Bit number TBA - No endpoint label resource (1-bit).  Specifies
      that the PCE is not able to provide a route because of the
      endpoint label restriction.

      Bit number TBA - No endpoint label resource in range (1-bit).
      Specifies that the PCE is not able to provide a route because of
      the endpoint label set restriction.

      Bit number TBA - No label resource in range (1-bit).  Specifies
      that the PCE is not able to provide a route because of the label
      set restriction.

Margaria, et al.         Expires August 17, 2014               [Page 22]
Internet-Draft             PCEP Ext for GMPLS              February 2014

3.  Additional Error Type and Error Values Defined

   A PCEP-ERROR object is used to report a PCEP error and is
   characterized by an Error-Type that specifies the type of error while
   Error-value that provides additional information about the error.  An
   additional error type and few error values are defined to represent
   some of the errors related to the newly identified objects related to
   GMPLS networks.  For each PCEP error, an Error-Type and an Error-
   value are defined.  Error-Type 1 to 10 are already defined in
   [RFC5440].  Additional Error- values are defined for Error-Type 10
   and A new Error-Type is introduced (value TBA).

Margaria, et al.         Expires August 17, 2014               [Page 23]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   Error-Type Error-value

       10     Reception of an
              invalid object
              value=TBA:        Bad Bandwidth Object type 3 or 4 value.
              value=TBA:        Bad Bandwidth Object type 3 or 4 not
                                supported.
              value=TBA:        Unsupported LSP Protection Type in
                                PROTECTION-ATTRIBUTE TLV.
              value=TBA:        Unsupported LSP Protection Flags in
                                PROTECTION-ATTRIBUTE TLV.
              value=TBA:        Unsupported Secondary LSP Protection
                                Flags in PROTECTION-ATTRIBUTE TLV.
              value=TBA:        Unsupported Link Protection Type in
                                PROTECTION-ATTRIBUTE TLV.
              value=TBA:        Unsupported Link Protection Type in
                                PROTECTION-ATTRIBUTE TLV.
              value=TBA:        LABEL-SET TLV present with 0 bit set but
                                without R bit set in RP.
              value=TBA:        Wrong LABEL-SET or
                                SUGGESTED-LABEL-SET TLV present with
                                0 bit set.
      TBA     Path computation
              failure
              value=TBA:        Unacceptable request message.
              value=TBA:        Generalized bandwidth value not
                                supported.
              value=TBA:        Label Set constraint could not be
                                met.
              value=TBA:        Label constraint could not be
                                met.
              value=TBA:        Unsupported endpoint type in
                                END-POINTS Generalized Endpoint
                                object type.
              value=TBA:        Unsupported TLV present in END-POINTS
                                Generalized Endpoint object type.
              value=TBA:        Unsupported granularity in the RP object
                                flags.

4.  Manageability Considerations

   This section follows the guidance of [RFC6123].

4.1.  Control of Function through Configuration and Policy

   This document makes no change to the basic operation of PCEP and so
   the requirements described in [RFC5440]  Section 8.1. also apply to
   this document.  In addition to those requirements a PCEP

Margaria, et al.         Expires August 17, 2014               [Page 24]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   implementation MAY allow the configuration of the following
   parameters:

      Accepted RG in the RP object.

      Default RG to use (overriding the one present in the PCReq)

      Accepted BANDWIDTH object type 3 and 4 parameters in request,
      default mapping to use when not specified in the request

      Accepted LOAD-BALANCING object type 3 and 4 parameters in request.

      Accepted endpoint type in END-POINTS object type Generalized
      Endpoint and allowed TLVs

      Accepted range for label restrictions in label restriction in END-
      POINTS, or IRO or XRO objects

      PROTECTION-ATTRIBUTE TLV acceptance and suppression.

   Those parameters configuration are applicable to the different
   sessions as described in [RFC5440]  Section 8.1 (by default, per PCEP
   peer, ..etc).

4.2.  Information and Data Models

   This document makes no change to the basic operation of PCEP and so
   the requirements described in [RFC5440]  Section 8.2. also apply to
   this document.  This document does not introduces new ERO sub object,
   ERO information model is already covered in [RFC4802].

4.3.  Liveness Detection and Monitoring

   This document makes no change to the basic operation of PCEP and so
   there are no changes to the requirements for liveness detection and
   monitoring set out in [RFC4657] and [RFC5440]  Section 8.3.

4.4.  Verifying Correct Operation

   This document makes no change to the basic operations of PCEP and
   considerations described in [RFC5440]  Section 8.4.  New errors
   introduced by this document should be covered by the requirement to
   log error events.

Margaria, et al.         Expires August 17, 2014               [Page 25]
Internet-Draft             PCEP Ext for GMPLS              February 2014

4.5.  Requirements on Other Protocols and Functional Components

   No new Requirements on Other Protocols and Functional Components are
   made by this document.  This document does not require ERO object
   extensions.  Any new ERO subobject defined in CCAMP working group can
   be adopted without modifying the operations defined in this document.

4.6.  Impact on Network Operation

   This document makes no change to the basic operations of PCEP and
   considerations described in [RFC5440]  Section 8.6.  In addition to
   the limit on the rate of messages sent by a PCEP speaker, a limit MAY
   be placed on the size of the PCEP messages.

5.  IANA Considerations

   IANA assigns values to the PCEP protocol objects and TLVs.  IANA is
   requested to make some allocations for the newly defined objects and
   TLVs introduced in this document.  Also, IANA is requested to manage
   the space of flags that are newly added in the TLVs.

5.1.  PCEP Objects

   As described in Section 2.3, Section 2.4 and Section 2.5.1 new
   Objects types are defined IANA is requested to make the following
   Object-Type allocations from the "PCEP Objects" sub-registry.

   Object      5
   Class
   Name        BANDWIDTH
   Object-Type 3: Generalized bandwidth
               4: Generalized bandwidth of an existing TE LSP for which
               a reoptimization is requested
               6-15: Unassigned
   Reference   This document (section Section 2.3)

             Object Class 14
             Name         LOAD-BALANCING
             Object-Type  2: Generalized load balancing
                          3-15: Unassigned
             Reference    This document (section Section 2.4)

             Object Class 4
             Name         END-POINTS
             Object-Type  5: Generalized Endpoint
                          6-15: unassigned
             Reference    This document (section Section 2.3)

Margaria, et al.         Expires August 17, 2014               [Page 26]
Internet-Draft             PCEP Ext for GMPLS              February 2014

5.2.  END-POINTS object, Object Type Generalized Endpoint

   IANA is requested to create a registry to manage the endpoint type
   field of the END-POINTS object, Object Type Generalized Endpoint and
   manage the code space.

   New endpoint type in the Reserved range may be allocated by an IETF
   consensus action.  Each endpoint type should be tracked with the
   following qualities:

   o  endpoint type

   o  Description

   o  Defining RFC

   New endpoint type in the Experimental range are for experimental use;
   these will not be registered with IANA and MUST NOT be mentioned by
   RFCs.

   The following values have been defined by this document.
   (Section 2.5.1, Table 4):

         Value   Type                Meaning

         0       Point-to-Point
         1       Point-to-Multipoint New leaves to add
         2                           Old leaves to remove
         3                           Old leaves whose path can be
                                     modified/reoptimized
         4                           Old leaves whose path must be
                                     left unchanged
         5-244   Reserved
         245-255 Experimental range

5.3.  New PCEP TLVs

   IANA manages the PCEP TLV code point registry (see [RFC5440]).  This
   is maintained as the "PCEP TLV Type Indicators" sub-registry of the
   "Path Computation Element Protocol (PCEP) Numbers" registry.  This
   document defines new PCEP TLVs, to be carried in the END-POINTS
   object with Generalized Endpoint object Type.  IANA is requested to
   do the following allocation.  The values here are suggested for use
   by IANA.

Margaria, et al.         Expires August 17, 2014               [Page 27]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   Value Meaning                   Reference

     7   IPv4 endpoint             This document (section Section
                                   2.5.2.1)
     8   IPv6 endpoint             This document (section Section
                                   2.5.2.2)
     9   Unnumbered endpoint       This document (section Section
                                   2.5.2.3)
     10  Label request             This document (section Section
                                   2.5.2.4)
     11  Requested GMPLS Label Set This document (section Section
                                   2.5.2.5)
     12  Suggested GMPLS Label Set This document (section Section
                                   2.5.2.5)
     13  LSP Protection            This document (section Section 2.8)
         Information
     14  GMPLS-CAPABILITY          This document (section Section 2.1.2)

5.4.  RP Object Flag Field

   As described in Section 2.2 new flag are defined in the RP Object
   Flag IANA is requested to make the following Object-Type allocations
   from the "RP Object Flag Field" sub-registry.  The values here are
   suggested for use by IANA.

          Bit    Description              Reference

       bit 17-16 routing granularity (RG) This document, Section 2.2

5.5.  New PCEP Error Codes

   As described in Section Section 3, new PCEP Error-Type and Error
   Values are defined.  IANA is requested to make the following
   allocation in the "PCEP-ERROR Object Error Types and Values"
   registry.  The values here are suggested for use by IANA.

Margaria, et al.         Expires August 17, 2014               [Page 28]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   Error     name                                          Reference

   Type=10   Reception of an invalid object                [RFC5440]
   Value=2:  Bad Bandwidth Object type 3 or 4.             This Document
   Value=3:  Bandwidth Object type 3 or 4 not supported.   This Document
   Value=4:  Unsupported LSP Protection Type in            This Document
             PROTECTION-ATTRIBUTE TLV.
   Value=5:  Unsupported LSP Protection Flags in           This Document
             PROTECTION-ATTRIBUTE TLV.
   Value=6:  Unsupported Secondary LSP Protection Flags in This Document
             PROTECTION-ATTRIBUTE TLV.
   Value=7:  Unsupported Link Protection Type in           This Document
             PROTECTION-ATTRIBUTE TLV.
   Value=8:  Unsupported Link Protection Type in           This Document
             PROTECTION-ATTRIBUTE TLV.
   Value=9:  LABEL-SET TLV present with 0 bit set but      This Document
             without R bit set in RP.
   Value=q0: Wrong LABEL-SET or SUGGESTED-LABEL-SET TLV    This Document
             present with 0 bit set.
   Type=14   Path computation failure                      This Document
   Value=1:  Unacceptable request message.                 This Document
   Value=2:  Generalized bandwidth value not supported.    This Document
   Value=3:  Label Set constraint could not be met.        This Document
   Value=4:  Label constraint could not be met.            This Document
   Value=5:  Unsupported endpoint type in END-POINTS       This Document
             Generalized Endpoint object type
   Value=6:  Unsupported TLV present in END-POINTS         This Document
             Generalized Endpoint object type
   Value=7:  Unsupported granularity in the RP object      This Document
             flags

5.6.  New NO-PATH-VECTOR TLV Fields

   As described in Section Section 2.9.1, new NO-PATH-VECTOR TLV Flag
   Fields have been defined.  IANA is requested to do the following
   allocations in the "NO-PATH-VECTOR TLV Flag Field" sub-registry.  The
   values here are suggested for use by IANA.

      Bit number 23 - Protection Mismatch (1-bit).  Specifies the
      mismatch of the protection type of the PROTECTION-ATTRIBUTE TLV in
      the request.

      Bit number 22 - No Resource (1-bit).  Specifies that the resources
      are not currently sufficient to provide the path.

      Bit number 21 - Granularity not supported (1-bit).  Specifies that
      the PCE is not able to provide a route with the requested
      granularity.

Margaria, et al.         Expires August 17, 2014               [Page 29]
Internet-Draft             PCEP Ext for GMPLS              February 2014

      Bit number 20 - No endpoint label resource (1-bit).  Specifies
      that the PCE is not able to provide a route because of the
      endpoint label restriction.

      Bit number 19 - No endpoint label resource in range (1-bit).
      Specifies that the PCE is not able to provide a route because of
      the endpoint label set restriction.

      Bit number 18 - No label resource in range (1-bit).  Specifies
      that the PCE is not able to provide a route because of the label
      set restriction.

5.7.  New Subobject for the Include Route Object

   The "PCEP Parameters" registry contains a subregistry "PCEP Objects"
   with an entry for the Include Route Object (IRO).

   IANA is requested to add a further subobject that can be carried in
   the IRO as follows:

                    Subobject type           Reference

                    3         Label suboject [RFC3473]

5.8.  New Subobject for the Exclude Route Object

   The "PCEP Parameters" registry contains a subregistry "PCEP Objects"
   with an entry for the XRO object (Exclude Route Object).

   IANA is requested to add a further subobject that can be carried in
   the XRO as follows:

                    Subobject type           Reference

                    3         Label suboject [RFC3473]

6.  Security Considerations

   None.

7.  Contributing Authors

   Nokia Siemens Networks:

      Elie Sfeir
      St Martin Strasse 76
      Munich, 81541
      Germany

Margaria, et al.         Expires August 17, 2014               [Page 30]
Internet-Draft             PCEP Ext for GMPLS              February 2014

      Phone: +49 89 5159 16159
      Email: elie.sfeir@nsn.com

      Franz Rambach
      St Martin Strasse 76
      Munich, 81541
      Germany

      Phone: +49 89 5159 31188
      Email: franz.rambach@nsn.com

   Francisco Javier Jimenez Chico
   Telefonica Investigacion y Desarrollo
   C/ Emilio Vargas 6
   Madrid, 28043
   Spain

   Phone: +34 91 3379037
   Email: fjjc@tid.es

   Huawei Technologies

      Suresh BR
      Shenzhen
      China
      Email: sureshbr@huawei.com

      Young Lee
      1700 Alma Drive, Suite 100
      Plano, TX 75075
      USA

      Phone: (972) 509-5599 (x2240)
      Email: ylee@huawei.com

      SenthilKumar S
      Shenzhen
      China
      Email: senthilkumars@huawei.com

      Jun Sun
      Shenzhen
      China

Margaria, et al.         Expires August 17, 2014               [Page 31]
Internet-Draft             PCEP Ext for GMPLS              February 2014

      Email: johnsun@huawei.com

   CTTC - Centre Tecnologic de Telecomunicacions de Catalunya

      Ramon Casellas
      PMT Ed B4 Av.  Carl Friedrich Gauss 7
      08860 Castelldefels (Barcelona)
      Spain
      Phone: (34) 936452916
      Email: ramon.casellas@cttc.es

8.  Acknowledgments

   The research of Ramon Casellas, Francisco Javier Jimenez Chico, Oscar
   Gonzalez de Dios, Cyril Margaria, and Franz Rambach leading to these
   results has received funding from the European Community's Seventh
   Framework Program FP7/2007-2013 under grant agreement no 247674.

   The authors would like to thank Lyndon Ong, Giada Lander and Jonathan
   Hardwick for their useful comments to the document.

9.  References

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2210]  Wroclawski, J., "The Use of RSVP with IETF Integrated
              Services", RFC 2210, September 1997.

   [RFC3471]  Berger, L., "Generalized Multi-Protocol Label Switching
              (GMPLS) Signaling Functional Description", RFC 3471,
              January 2003.

   [RFC3473]  Berger, L., "Generalized Multi-Protocol Label Switching
              (GMPLS) Signaling Resource ReserVation Protocol-Traffic
              Engineering (RSVP-TE) Extensions", RFC 3473, January 2003.

   [RFC3477]  Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links
              in Resource ReSerVation Protocol - Traffic Engineering
              (RSVP-TE)", RFC 3477, January 2003.

   [RFC4003]  Berger, L., "GMPLS Signaling Procedure for Egress
              Control", RFC 4003, February 2005.

Margaria, et al.         Expires August 17, 2014               [Page 32]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   [RFC4328]  Papadimitriou, D., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Extensions for G.709 Optical
              Transport Networks Control", RFC 4328, January 2006.

   [RFC4606]  Mannie, E. and D. Papadimitriou, "Generalized Multi-
              Protocol Label Switching (GMPLS) Extensions for
              Synchronous Optical Network (SONET) and Synchronous
              Digital Hierarchy (SDH) Control", RFC 4606, August 2006.

   [RFC4802]  Nadeau, T. and A. Farrel, "Generalized Multiprotocol Label
              Switching (GMPLS) Traffic Engineering Management
              Information Base", RFC 4802, February 2007.

   [RFC4872]  Lang, J., Rekhter, Y., and D. Papadimitriou, "RSVP-TE
              Extensions in Support of End-to-End Generalized Multi-
              Protocol Label Switching (GMPLS) Recovery", RFC 4872, May
              2007.

   [RFC4873]  Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel,
              "GMPLS Segment Recovery", RFC 4873, May 2007.

   [RFC5088]  Le Roux, JL., Vasseur, JP., Ikejiri, Y., and R. Zhang,
              "OSPF Protocol Extensions for Path Computation Element
              (PCE) Discovery", RFC 5088, January 2008.

   [RFC5089]  Le Roux, JL., Vasseur, JP., Ikejiri, Y., and R. Zhang,
              "IS-IS Protocol Extensions for Path Computation Element
              (PCE) Discovery", RFC 5089, January 2008.

   [RFC5440]  Vasseur, JP. and JL. Le Roux, "Path Computation Element
              (PCE) Communication Protocol (PCEP)", RFC 5440, March
              2009.

   [RFC5520]  Bradford, R., Vasseur, JP., and A. Farrel, "Preserving
              Topology Confidentiality in Inter-Domain Path Computation
              Using a Path-Key-Based Mechanism", RFC 5520, April 2009.

   [RFC5521]  Oki, E., Takeda, T., and A. Farrel, "Extensions to the
              Path Computation Element Communication Protocol (PCEP) for
              Route Exclusions", RFC 5521, April 2009.

   [RFC5541]  Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of
              Objective Functions in the Path Computation Element
              Communication Protocol (PCEP)", RFC 5541, June 2009.

Margaria, et al.         Expires August 17, 2014               [Page 33]
Internet-Draft             PCEP Ext for GMPLS              February 2014

   [RFC6001]  Papadimitriou, D., Vigoureux, M., Shiomoto, K., Brungard,
              D., and JL. Le Roux, "Generalized MPLS (GMPLS) Protocol
              Extensions for Multi-Layer and Multi-Region Networks (MLN/
              MRN)", RFC 6001, October 2010.

   [RFC6003]  Papadimitriou, D., "Ethernet Traffic Parameters", RFC
              6003, October 2010.

   [RFC6205]  Otani, T. and D. Li, "Generalized Labels for Lambda-
              Switch-Capable (LSC) Label Switching Routers", RFC 6205,
              March 2011.

   [RFC6387]  Takacs, A., Berger, L., Caviglia, D., Fedyk, D., and J.
              Meuric, "GMPLS Asymmetric Bandwidth Bidirectional Label
              Switched Paths (LSPs)", RFC 6387, September 2011.

9.2.  Informative References

   [I-D.ietf-pce-inter-layer-ext]
              Oki, E., Takeda, T., Farrel, A., and F. Zhang, "Extensions
              to the Path Computation Element communication Protocol
              (PCEP) for Inter-Layer MPLS and GMPLS Traffic
              Engineering", draft-ietf-pce-inter-layer-ext-08 (work in
              progress), January 2014.

   [I-D.ietf-pce-wson-routing-wavelength]
              Lee, Y., Bernstein, G., Martensson, J., Takeda, T.,
              Tsuritani, T., and O. Dios, "PCEP Requirements for WSON
              Routing and Wavelength Assignment", draft-ietf-pce-wson-
              routing-wavelength-10 (work in progress), December 2013.

   [RFC4655]  Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
              Element (PCE)-Based Architecture", RFC 4655, August 2006.

   [RFC4657]  Ash, J. and J. Le Roux, "Path Computation Element (PCE)
              Communication Protocol Generic Requirements", RFC 4657,
              September 2006.

   [RFC6123]  Farrel, A., "Inclusion of Manageability Sections in Path
              Computation Element (PCE) Working Group Drafts", RFC 6123,
              February 2011.

   [RFC7025]  Otani, T., Ogaki, K., Caviglia, D., Zhang, F., and C.
              Margaria, "Requirements for GMPLS Applications of PCE",
              RFC 7025, September 2013.

Margaria, et al.         Expires August 17, 2014               [Page 34]
Internet-Draft             PCEP Ext for GMPLS              February 2014

Authors' Addresses

   Cyril Margaria (editor)
   SabenerStr. 44
   Munich  81547
   Germany

   Email: cyril.margaria@gmail.com

   Oscar Gonzalez de Dios (editor)
   Telefonica Investigacion y Desarrollo
   C/ Emilio Vargas 6
   Madrid  28043
   Spain

   Phone: +34 91 3374013
   Email: ogondio@tid.es

   Fatai Zhang (editor)
   Huawei Technologies
   F3-5-B R&D Center, Huawei Base
   Bantian, Longgang District
   Shenzhen    518129
   P.R.China

   Email: zhangfatai@huawei.com

Margaria, et al.         Expires August 17, 2014               [Page 35]