Skip to main content

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

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.
Authors Cyril Margaria , Oscar Gonzalez de Dios , Fatai Zhang
Last updated 2019-03-20 (Latest revision 2019-01-30)
Replaces draft-margaria-pce-gmpls-pcep-extensions
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state Submitted to IESG for Publication
Document shepherd Julien Meuric
Shepherd write-up Show Last changed 2018-10-01
IESG IESG state Became RFC 8779 (Proposed Standard)
Consensus boilerplate Yes
Telechat date (None)
Needs a YES. Needs 9 more YES or NO OBJECTION positions to pass.
Responsible AD Deborah Brungard
Send notices to Julien Meuric <julien.meuric@orange.com>
IANA IANA review state Version Changed - Review Needed
draft-ietf-pce-gmpls-pcep-extensions-13
Network Working Group                                   C. Margaria, Ed.
Internet-Draft                                                   Juniper
Intended status: Standards Track                O. Gonzalez de Dios, Ed.
Expires: August 3, 2019            Telefonica Investigacion y Desarrollo
                                                           F. Zhang, Ed.
                                                     Huawei Technologies
                                                        January 30, 2019

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

Abstract

   The Path Computation Element (PCE) provides path computation
   functions for Multiprotocol Label Switching (MPLS) and Generalized
   MPLS (GMPLS) networks.  Additional requirements for GMPLS are
   identified in RFC7025.

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

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 https://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 3, 2019.

Copyright Notice

   Copyright (c) 2019 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

Margaria, et al.         Expires August 3, 2019                 [Page 1]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
     1.2.  PCEP Requirements for GMPLS . . . . . . . . . . . . . . .   3
     1.3.  Requirements Applicability  . . . . . . . . . . . . . . .   4
       1.3.1.  Requirements on Path Computation Request  . . . . . .   4
       1.3.2.  Requirements on Path Computation Response . . . . . .   6
     1.4.  GMPLS Support and Limitation of Base
           PCEP Objects  . . . . . . . . . . . . . . . . . . . . . .   6
   2.  PCEP Objects and Extensions . . . . . . . . . . . . . . . . .   8
     2.1.  GMPLS Capability Advertisement  . . . . . . . . . . . . .   9
       2.1.1.  GMPLS Computation TLV in the Existing PCE Discovery
               Protocol  . . . . . . . . . . . . . . . . . . . . . .   9
       2.1.2.  OPEN Object Extension GMPLS-CAPABILITY TLV  . . . . .   9
     2.2.  RP Object Extension . . . . . . . . . . . . . . . . . . .   9
     2.3.  BANDWIDTH Object Extensions . . . . . . . . . . . . . . .  10
     2.4.  LOAD-BALANCING Object Extensions  . . . . . . . . . . . .  12
     2.5.  END-POINTS Object Extensions  . . . . . . . . . . . . . .  14
       2.5.1.  Generalized Endpoint Object Type  . . . . . . . . . .  15
       2.5.2.  END-POINTS TLV Extensions . . . . . . . . . . . . . .  18
     2.6.  IRO Extension . . . . . . . . . . . . . . . . . . . . . .  21
     2.7.  XRO Extension . . . . . . . . . . . . . . . . . . . . . .  21
     2.8.  LSPA Extensions . . . . . . . . . . . . . . . . . . . . .  23
     2.9.  NO-PATH Object Extension  . . . . . . . . . . . . . . . .  23
       2.9.1.  Extensions to NO-PATH-VECTOR TLV  . . . . . . . . . .  24
   3.  Additional Error-Types and Error-Values Defined . . . . . . .  24
   4.  Manageability Considerations  . . . . . . . . . . . . . . . .  26
     4.1.  Control of Function through Configuration and Policy  . .  26
     4.2.  Information and Data Models . . . . . . . . . . . . . . .  26
     4.3.  Liveness Detection and Monitoring . . . . . . . . . . . .  26
     4.4.  Verifying Correct Operation . . . . . . . . . . . . . . .  27
     4.5.  Requirements on Other Protocols and Functional Components  27
     4.6.  Impact on Network Operation . . . . . . . . . . . . . . .  27
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  27
     5.1.  PCEP Objects  . . . . . . . . . . . . . . . . . . . . . .  27
     5.2.  END-POINTS Object, Object Type Generalized Endpoint . . .  28
     5.3.  New PCEP TLVs . . . . . . . . . . . . . . . . . . . . . .  29
     5.4.  RP Object Flag Field  . . . . . . . . . . . . . . . . . .  29
     5.5.  New PCEP Error Codes  . . . . . . . . . . . . . . . . . .  30
     5.6.  New NO-PATH-VECTOR TLV Fields . . . . . . . . . . . . . .  31

Margaria, et al.         Expires August 3, 2019                 [Page 2]
Internet-Draft             PCEP Ext for GMPLS               January 2019

     5.7.  New Subobject for the Include Route Object  . . . . . . .  31
     5.8.  New Subobject for the Exclude Route Object  . . . . . . .  31
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  32
   7.  Contributing Authors  . . . . . . . . . . . . . . . . . . . .  33
   8.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  34
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  35
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  35
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  38
   Appendix A.  LOAD-BALANCING Usage for SDH Virtual Concatenation .  39
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  39

1.  Introduction

   Although [RFC4655] defines the PCE architecture and framework for
   both MPLS and GMPLS networks, most preexisting 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 fully described in [RFC7025] and
   [RFC7449].

1.1.  Terminology

   This document uses terminologies from the PCE architecture document
   [RFC4655], the PCEP documents including [RFC5440], [RFC5521],
   [RFC5541], [RFC5520], [RFC7025] and [RFC7449], and the GMPLS
   documents such as [RFC3471], [RFC3473] and so on.  Note that it is
   expected the reader is familiar with these documents.

   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.

1.2.  PCEP Requirements for GMPLS

   The document [RFC7025] describes the set of PCEP requirements to
   support GMPLS TE-LSPs.  This document assumes a significant
   familiarity with [RFC7025] and existing PCEP extension.  As a short
   overview, those requirements can be broken down in the following
   categories.

Margaria, et al.         Expires August 3, 2019                 [Page 3]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   o  Which data flow is switched by the LSP: a combination of Switching
      type (for instance L2SC or TDM), LSP Encoding type (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-TE (Resource Reservation Protocol - Traffic Engineering).

   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.

   The requirements of [RFC7025] apply to several objects conveyed by
   PCEP, this is described in Section 1.3.  Some of the requirements of
   [RFC7025] are already supported in existing documents, as described
   in Section 1.4.

   This document describes a set of PCEP extensions, including new
   object types, TLVs, encodings, error codes and procedures, in order
   to fulfill the aforementioned requirements not covered in existing
   RFCs.

1.3.  Requirements Applicability

   This section follows the organization of [RFC7025] Section 3 and
   indicates, for each requirement, the affected piece of information
   carried by PCEP and its scope.

1.3.1.  Requirements on Path Computation Request

   (1)   Switching capability/type: as described in [RFC3471] this piece
         of information is used with the Encoding Type and Signal Type
         to fully describe the switching technology and data carried by
         the TE-LSP.  This is applicable to the TE-LSP itself and also
         to the TE-LSP endpoint (Carried in the END-POINTS object for
         MPLS networks in [RFC5440]) when considering multiple network

Margaria, et al.         Expires August 3, 2019                 [Page 4]
Internet-Draft             PCEP Ext for GMPLS               January 2019

         layers.  Inter-layer path computation requirements are
         addressed in in [RFC8282] which addressing the TE-LSP itself,
         but the TE-LSP endpoints are not addressed.

   (2)   Encoding type: see (1).

   (3)   Signal type: see (1).

   (4)   Concatenation type: this parameter and the Concatenation Number
         (5) are specific to some TDM (SDH and ODU) switching
         technology.  They MUST be described together and are used to
         derive the requested resource allocation for the TE-LSP.  Its
         scoped to the TE-LSP and is related to the BANDWIDTH object in
         MPLS networks.

   (5)   Concatenation number: see (4).

   (6)   Technology-specific label(s): as described in [RFC3471] the
         GMPLS Labels are specific to each switching technology.  They
         can be specified on each link and also on the TE-LSP endpoints
         , in WSON networks for instance, as described in [RFC6163].
         The label restriction can apply to endpoints and on each hop,
         the related PCEP objects are END-POINTS, IRO, XRO and RRO.

   (7)   End-to-End (E2E) path protection type: as defined in [RFC4872],
         this is applicable to the TE-LSP.  In MPLS networks the related
         PCEP object is LSPA (carrying local protection information).

   (8)   Administrative group: as defined in [RFC3630], this information
         is already carried in the LSPA object.

   (9)   Link protection type: as defined in [RFC4872], this is
         applicable to the TE-LSP and is carried in association with the
         E2E path protection type.

   (10)  Support for unnumbered interfaces: as defined in [RFC3477].
         Its scope and related objects are the same as labels

   (11)  Support for asymmetric bandwidth requests: as defined
         [RFC6387], the scope is similar to (4)

   (12)  Support for explicit label control during the path computation.
         This affects the TE-LSP and amount of information returned in
         the ERO.

   (13)  Support of label restrictions in the requests/responses: This
         is described in (6).

Margaria, et al.         Expires August 3, 2019                 [Page 5]
Internet-Draft             PCEP Ext for GMPLS               January 2019

1.3.2.  Requirements on Path Computation Response

   (1)  Path computation with concatenation: This is related to Path
        Computation request requirement (4).  In addition there is a
        specific type of concatenation called virtual concatenation that
        allows different routes to be used between the endpoints.  Its
        similar to the semantic and scope of the LOAD-BALANCING in MPLS
        networks.

   (2)  Label constraint: The PCE should be able to include Labels in
        the path returned to the PCC, the related object is the ERO
        object.

   (3)  Roles of the routes: as defined in [RFC4872], this is applicable
        to the TE-LSP and is carried in association with the E2E path
        protection type.

1.4.  GMPLS Support and Limitation of Base PCEP Objects

   The support for requirements [RFC7025] is summarized in Table 1 and
   Table 2

    Req. Name                                           Support
    1    Switching capability/type                      SWITCH-LAYER
                                                        (RFC8282)
    2    Encoding type                                  SWITCH-LAYER
                                                        (RFC8282)
    3    Signal type                                    SWITCH-LAYER
                                                        (RFC8282)
    4    Concatenation type                             No
    5    Concatenation number                           No
    6    Technology-specific label                      (Partial) ERO
                                                        (RFC5440)
    7    End-to-End (E2E) path protection type          No
    8    Administrative group                           LSPA (RFC5440)
    9    Link protection type                           No
    10   Support for unnumbered interfaces              (Partial) ERO
                                                        (RFC5440)
    11   Support for asymmetric bandwidth requests      No
    12   Support for explicit label control during the  No
         path computation
    13   Support of label restrictions in the           No
         requests/responses

             Table 1: RFC7025 Section 3.1 requirements support

Margaria, et al.         Expires August 3, 2019                 [Page 6]
Internet-Draft             PCEP Ext for GMPLS               January 2019

            Req.  Name                                 Support
            1     Path computation with concatenation  No
            2     Label constraint                     No
            3     Roles of the routes                  No

             Table 2: RFC7025 Section 3.2 requirements support

   As described in Section 1.3 PCEP as of [RFC5440], [RFC5521] and
   [RFC8282], supports the following objects, included in requests and
   responses, related to the described requirements.

   From [RFC5440]:

   o  END-POINTS: related to requirements (1, 2, 3, 6, 10 and 13).  The
      object only supports numbered endpoints.  The context specifies
      whether they are node identifiers or numbered interfaces.

   o  BANDWIDTH: related to requirements (4, 5 and 11).  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 all GMPLS-controlled networks.

   o  ERO: related to requirements (6, 10, 12 and 13).  The ERO content
      is defined in RSVP and supports all the requirements already.

   o  LSPA: related to requirements (7, 8 and 9).  The requirement 8
      (setup and holding priorities) is already supported.

   From [RFC5521]:

   o  XRO object:

      *  This object allows excluding (strict or not) resources and is
         related to requirements (6, 10 and 13).  It also includes the
         requested diversity (node, link or SRLG).

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

   From [RFC8282]:

   o  SWITCH-LAYER: address requirements (1, 2 and 3) for the TE-LSP and
      indicates which layer(s) should be considered, can be used to
      represent the RSVP-TE generalized label request.  It does not
      address the endpoints case of requirements (1, 2 and 3).

Margaria, et al.         Expires August 3, 2019                 [Page 7]
Internet-Draft             PCEP Ext for GMPLS               January 2019

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

   The gaps in functional coverage of the base PCEP objects are:

      The BANDWIDTH and LOAD-BALANCING objects do not describe the
      details of the traffic request (requirements 4 and 5, 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
      (requirements 6, 10 and 13).  Those parameters are of interest in
      case of switching constraints.

      The Include/eXclude Route Objects (IRO/XRO) do not allow the
      inclusion/exclusion of labels (requirements 6, 10 and 13).

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

   The PCEP extensions defined later in this document to cover the gap
   are:

      Two new object types are introduced for the BANDWIDTH object
      (Generalized bandwidth, Generalized bandwidth of existing TE-LSP
      for which a reoptimization is requested).

      A new object type is introduced for the LOAD-BALANCING object
      (Generalized Load Balancing).

      A new object type is introduced for the END-POINTS object
      (Generalized Endpoint).

      A new TLV is added to the OPEN message for capability negotiation.

      A new TLV is added to the LSPA object.

      The Label TLV is now allowed in the IRO and XRO objects.

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

2.  PCEP Objects and Extensions

   This section describes the necessary 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 3, 2019                 [Page 8]
Internet-Draft             PCEP Ext for GMPLS               January 2019

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 have defined bit 0
   in PCE-CAP-FLAGS Sub-TLV of the PCED TLV as "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 the 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 TBA-1 from the "PCEP TLV Type Indicators"
   sub-registry, as documented in Section 5.3 ("New PCEP TLVs").  The
   description is "GMPLS-CAPABILITY".  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 labels are encoded in the ERO.  As a consequence,
   the PCE can provide such labels directly in the path ERO.  Depending

Margaria, et al.         Expires August 3, 2019                 [Page 9]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   on policies or switching layer, it can be necessary for the PCC to
   use explicit label control or expect explicit link, thus it needs to
   indicate in the PCReq which granularity it is expecting in the ERO.
   This corresponds 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 (Bits TBA-13) is defined in
   the RP object.  The values are defined as follows

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

                             Table 3: RG flag

   The flag in the RP object indicates the requested route granularity.
   The PCE SHOULD follow this granularity and MAY return a NO-PATH if
   the requested granularity cannot be provided.  The PCE MAY return any
   granularity 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.  Otherwise, the PCE MUST 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.  BANDWIDTH Object Extensions

   From [RFC5440] the object carrying the requested 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 has to 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 are supported by the extended encoding:

Margaria, et al.         Expires August 3, 2019                [Page 10]
Internet-Draft             PCEP Ext for GMPLS               January 2019

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

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

   This corresponds to requirements 3, 4, 5 and 11 of [RFC7025] section
   3.1.

   This document defines two Object Types for the BANDWIDTH object:

   TBA-2  Generalized bandwidth

   TBA-3  Generalized bandwidth of an existing TE-LSP for which a
      reoptimization is requested

   The definitions below apply for Object Type TBA-2 and TBA-3.  The
   body 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 TBA-2 and TBA-3 have a variable length.
   The 16-bit Bandwidth Spec Length field indicates the length of the
   Generalized Bandwidth 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 Generalized Bandwidth
   field.  The Reverse Bandwidth Spec Length MAY be equal to 0.

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

Margaria, et al.         Expires August 3, 2019                [Page 11]
Internet-Draft             PCEP Ext for GMPLS               January 2019

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

   The encoding of the fields Generalized Bandwidth and Reverse
   Generalized Bandwidth is the same as the Traffic Parameters carried
   in RSVP-TE, it can be found in the following references.

                      Object Type Name      Reference

                      2           Intserv   [RFC2210]
                      4           SONET/SDH [RFC4606]
                      5           G.709     [RFC4328]
                      6           Ethernet  [RFC6003]
                      7           OTN-TDM   [RFC7139]
                      8           SSON      [RFC7792]

     Table 4: Generalized Bandwidth and Reverse Generalized Bandwidth
                              field encoding

   When a PCC requests a bi-directional path with symmetric bandwidth,
   it SHOULD only specify the Generalized Bandwidth field, and 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 procedure 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 in [RFC5440] in the case of the reoptimization 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 TBA-3 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 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 TBA-2
   and TBA-3 are defined by this document.

2.4.  LOAD-BALANCING Object Extensions

   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

Margaria, et al.         Expires August 3, 2019                [Page 12]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   thus the existing definition from [RFC5440] does not describe enough
   details for the bandwidth specification expected by GMPLS.

   Similarly to the BANDWIDTH object, a new object type is defined to
   allow a PCC to represent the bandwidth types supported by GMPLS
   networks.

   This document defines the Generalized Load Balancing object type
   TBA-4 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 Spec field.  It is to be noted that the RSVP-TE traffic
   specification MAY also include TLV different from the PCEP TLVs.  The
   length MUST be strictly greater than 0.

   Reverse Bandwidth Spec Length (16 bits): the total length of the Min
   Reverse Bandwidth Spec field.  It MAY be equal to 0.

   Bw Spec Type (8 bits): the bandwidth specification type, it
   corresponds to the RSVP-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
   specification of each element of the TE-LSP set.

   Min Reverse Bandwidth Spec (variable): specifies the minimum reverse
   bandwidth specification of each element of the TE-LSP set.

Margaria, et al.         Expires August 3, 2019                [Page 13]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   The encoding of the fields Min Bandwidth Spec and Min Reverse
   Bandwidth Spec is the same as in RSVP-TE SENDER_TSPEC object, it can
   be found in Table 4 from Section 2.3.

   When a PCC requests a bi-directional path with symmetric bandwidth
   while specifying load balancing constraints it SHOULD specify the Min
   Bandwidth Spec field, and 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 MUST
   specify the different bandwidth in forward and reverse directions
   through a Min Bandwidth Spec and Min Reverse Bandwidth Spec 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 Bandwidth Spec fields set
   to N and B, respectively.

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 labels associated to them, specifying a set of constraints in
      the allocation of labels.

Margaria, et al.         Expires August 3, 2019                [Page 14]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   o  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 document defines the Generalized Endpoint object type TBA-5 for
   the END-POINTS object.  This new type also supports the specification
   of constraints on the endpoint label to be used.  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.  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.

   3.  Unnumbered endpoint.

   4.  Label request.

   5.  Label set.

   The Label set TLV is used to restrict or suggest the label allocation
   in the PCE.  This TLVs express the set of restrictions which may
   apply to signaling.  Label restriction support can be an explicit or
   a suggested value (Label set describing one label, with the L bit
   respectively cleared or set), mandatory range restrictions (Label set
   with L bit cleared) and optional range restriction (Label set with L
   bit set).  Endpoints label restriction may not be part of the RRO or
   IRO, they can be included when following [RFC4003] in signaling for
   egress endpoint, but ingress endpoint properties can 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 reoptimization.  The label
   range restrictions are valid in GMPLS-controlled 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 senders and receivers are

Margaria, et al.         Expires August 3, 2019                [Page 15]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   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:

        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 has to be
                                    left unchanged
        5-244   Reserved
        245-255 Experimental range

               Table 5: Generalized Endpoint endpoint types

   The Endpoint Type is used to cover both point-to-point and different
   point-to-multipoint endpoints.  A PCE may accept only Endpoint Type
   0: Endpoint Types 1-4 apply if the PCE implementation supports P2MP
   path calculation.  A PCE not supporting a given Endpoint Type SHOULD
   respond with a PCErr with Error Type 4, Value TBD "Unsupported
   endpoint type in END-POINTS Generalized Endpoint object type".  As
   per [RFC5440], a PCE unable to process Generalized Endpoints may
   respond with Error Type 3 or 4, Value 2.  The TLVs present in the
   request object body MUST follow the following [RFC5511] grammar:

Margaria, et al.         Expires August 3, 2019                [Page 16]
Internet-Draft             PCEP Ext for GMPLS               January 2019

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

     <p2p-endpoints> ::=
       <endpoint> [<endpoint-restriction-list>]
       <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 each represents a leave, exact meaning
   depend on the endpoint type defined of the object.

   An endpoint is defined as follows:

    <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>

   The different TLVs are described in the following sections.  A PCE
   MAY support any or all of IPV4-ADDRESS, IPV6-ADDRESS, and UNNUMBERED-
   ENDPOINT TLVs.  When receiving a PCReq, a PCE unable to resolve the
   identifier in one of those TLVs MUST respond using a PCRep with NO-
   PATH and set the bit "Unknown destination" or "Unknown source" in the
   NO-PATH-VECTOR TLV.  The response SHOULD include the END-POINTS
   object with only the unsupported TLV(s).

   A PCE MAY support either or both of the LABEL-REQUEST and LABEL-SET
   TLVs.  If a PCE finds a non-supported TLV in the END-POINTS the PCE
   MUST respond with a PCErr message with Error Type 4 error
   value="Unsupported TLV present in END-POINTS Generalized Endpoint
   object type" and the message SHOULD include the END-POINTS 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 fulfil 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

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

   SHOULD include an END-POINTS object containing only the TLV(s)
   related to the constraints the PCE could not meet.

2.5.2.  END-POINTS TLV 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 TLV

   This TLV represents a numbered endpoint using IPv4 numbering, the
   format of the IPv4-ADDRESS TLV value (TLV-Type=TBA-6) 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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          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 represents a numbered endpoint using IPV6 numbering, the
   format of the IPv6-ADDRESS TLV value (TLV-Type=TBA-7) 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 represents an unnumbered interface.  This TLV has the same
   semantic as in [RFC3477].  The TLV value is encoded as follow (TLV-
   Type=TBA-8)

Margaria, et al.         Expires August 3, 2019                [Page 18]
Internet-Draft             PCEP Ext for GMPLS               January 2019

      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 and encoding is the same as described in [RFC3471] Section 3.1
   Generalized label request.  The LABEL-REQUEST TLV use TLV-Type=TBA-9.
   The Encoding Type indicates the encoding type, e.g., SONET/SDH/GigE
   etc., of the LSP with which the data is 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 of [RFC7025] 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 can 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 [RFC8282] can be used
   in case of mono-layer request, however in case of multilayer it is
   possible to have more than one object, so it is better to have a
   dedicated TLV for the label and label request.  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-10.  The TLV Length is variable, Encoding
      follows [RFC3471] Section 3.5 "Label set" with the addition of a U
      bit, O bit and L bit.  The L bit is used to represent a suggested

Margaria, et al.         Expires August 3, 2019                [Page 19]
Internet-Draft             PCEP Ext for GMPLS               January 2019

      set of label, following the semantic of SUGGESTED_LABEL defined by
      [RFC3471].  The U bit is set for upstream direction in case of
      bidirectional LSP and the O bit is used to represent a previously
      allocated label.

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

   A LABEL-SET TLV represents a set of possible labels that can be used
   on an interface.  If the L bit is cleared, the label allocated on the
   first endpoint MUST 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.

   The U, O and L 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.  The R bit of the RP object MUST be set to 1. If the
      L bit is set, this bit SHOULD be set to 0 and ignored on receipt.
      When this bit is set, the Action field MUST be set to 0 (Inclusive
      List) and the Label Set MUST contain one subchannel.
   L: Loose Label: set when the TLV indicates to the PCE a set of
      preferred (ordered) labels to be used. The PCE MAY use those
      labels for label allocation.

                              Labels TLV bits

   Several LABEL_SET TLVs MAY be present with the O bit cleared,
   LABEL_SET TLVs with L bit set can be combined with a LABEL_SET TLV
   with L bit cleared.  At most 2 LABEL_SET TLVs MUST be present with
   the O 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 MUST be

Margaria, et al.         Expires August 3, 2019                [Page 20]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   processed and the following TLVs with the same U and O bit MUST be
   ignored.

   A LABEL-SET TLV with the O and L bit set MUST trigger a PCErr message
   with error type="Reception of an invalid object" error value="Wrong
   LABEL-SET TLV present with O and L 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 TLV present with O bit and wrong
   format".

   If a LABEL-SET TLV is present with O bit set, the R bit of the RP
   object MUST be set, otherwise a PCErr message MUST be sent with error
   type="Reception of an invalid object" error value="LABEL-SET TLV
   present with O 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-TE allows to include label definition, in order to
   fulfill requirement 13 of [RFC7025] the IRO needs to support the new
   subobject type as defined in [RFC3473]:

                             Type   Sub-object
                             TBA-38 LABEL

   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.  If an IP address subobject is used, then the
   given IP address MUST be associated with a link.  More than one label
   subobject MAY follow each link subobject.  The procedure associated
   with this subobject is as follows.

   If the PCE is able to allocate labels (e.g. via explicit label
   control) the PCE MUST allocate one label from within the set of label
   values for the given link.  If the PCE does not assign labels, then
   it sends a response with a NO-PATH object, containing 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-TE allows to exclude labels ([RFC6001]), in order
   to fulfill requirement 13 of [RFC7025] section 3.1, the PCEP's XRO
   needs to support a new subobject to enable label exclusion.

Margaria, et al.         Expires August 3, 2019                [Page 21]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   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 TBA-39: 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=TBA-39 |    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 TBA-39,
      suggested value 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].

      C-Type (8 bits): the C-Type of the included Label Object as
      defined in [RFC3471].

      Label: see [RFC3471].

   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.  If an IP address subobject is used, then the
   given IP address MUST be associated with a link.  More than one label
   subobject MAY follow each link subobject.

                              Type Sub-object
                              3    LABEL

Margaria, et al.         Expires August 3, 2019                [Page 22]
Internet-Draft             PCEP Ext for GMPLS               January 2019

2.8.  LSPA Extensions

   The LSPA carries the LSP attributes.  In the end-to-end recovery
   context, this also includes the protection state information.  This
   object is introduced to fulfill requirement 7 of [RFC7025] section
   3.1 and requirement 3 of [RFC7025] section 3.2.  This object contains
   the information of the PROTECTION object defined by [RFC4872] and can
   be used as a policy input.  The LSPA object MAY carry a PROTECTION-
   ATTRIBUTE TLV defined as: Type TBA-12: 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 a PCE
   implementation for routing policy input.  The other attributes are
   only meaningful for a stateful PCE.

   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 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.

Margaria, et al.         Expires August 3, 2019                [Page 23]
Internet-Draft             PCEP Ext for GMPLS               January 2019

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-32 - Protection Mismatch (1-bit).  Specifies the
      mismatch of the protection type in the PROTECTION-ATTRIBUTE TLV in
      the request.

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

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

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

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

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

3.  Additional Error-Types 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-Types 4
   and 10.  A new Error-Type is introduced (value TBA-27).

Margaria, et al.         Expires August 3, 2019                [Page 24]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   Error-Type Error-value

       4      Not supported
              object
              value=TBA-14: Bandwidth Object type TBA-2 or TBA-3 not
                            supported.
              value=TBA-15: Unsupported endpoint type in
                            END-POINTS Generalized Endpoint
                            object type.
              value=TBA-16: Unsupported TLV present in END-POINTS
                            Generalized Endpoint object type.
              value=TBA-17: Unsupported granularity in the RP object
                            flags.
       10     Reception of
              an invalid
              object
              value=TBA-18: Bad Bandwidth Object type TBA-2(Generalized
                            bandwidth) or TBA-3( Generalized bandwidth
                            of existing TE-LSP for which a
                            reoptimization is requested).
              value=TBA-20: Unsupported LSP Protection Flags in
                            PROTECTION-ATTRIBUTE TLV.
              value=TBA-21: Unsupported Secondary LSP Protection Flags
                            in PROTECTION-ATTRIBUTE TLV.
              value=TBA-22: Unsupported Link Protection Type in
                            PROTECTION-ATTRIBUTE TLV.
              value=TBA-24: LABEL-SET TLV present with 0 bit set but
                            without R bit set in RP.
              value=TBA-25: Wrong LABEL-SET
                            TLV present with
                            0 and L bit set.
              value=TBA-26: Wrong LABEL-SET with O bit set and wrong
                            format.
     TBA-27   Path
              computation
              failure
              value=0:      Unassigned.
              value=TBA-28: Unacceptable request message.
              value=TBA-29: Generalized bandwidth value not supported.
              value=TBA-30: Label Set constraint could not be
                            met.
              value=TBA-31: Label constraint could not be
                            met.

Margaria, et al.         Expires August 3, 2019                [Page 25]
Internet-Draft             PCEP Ext for GMPLS               January 2019

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
   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 TBA-2 and TBA-3 parameters in
      request, default mapping to use when not specified in the request

      Accepted LOAD-BALANCING object type TBA-4 parameters in request.

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

      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.

Margaria, et al.         Expires August 3, 2019                [Page 26]
Internet-Draft             PCEP Ext for GMPLS               January 2019

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.

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 the TEAS or 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 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.

Margaria, et al.         Expires August 3, 2019                [Page 27]
Internet-Draft             PCEP Ext for GMPLS               January 2019

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

    Object      14
    Class
    Name        LOAD-BALANCING
    Object-Type TBA-4: Generalized Load Balancing

    Reference   This document (section Section 2.4)
    Object      4
    Class
    Name        END-POINTS
    Object-Type TBA-5: Generalized Endpoint
    Reference   This document (section Section 2.5)

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 are assigned by Standards
   Action [RFC8126].  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 5):

Margaria, et al.         Expires August 3, 2019                [Page 28]
Internet-Draft             PCEP Ext for GMPLS               January 2019

        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 has to 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.

    Value  Meaning              Reference

    TBA-6  IPV4-ADDRESS         This document (section Section 2.5.2.1)
    TBA-7  IPV6-ADDRESS         This document (section Section 2.5.2.2)
    TBA-8  UNNUMBERED-ENDPOINT  This document (section Section 2.5.2.3)
    TBA-9  LABEL-REQUEST        This document (section Section 2.5.2.4)
    TBA-10 LABEL-SET            This document (section Section 2.5.2.5)
    TBA-12 PROTECTION-ATTRIBUTE This document (section Section 2.8)
    TBA-1  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

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

Margaria, et al.         Expires August 3, 2019                [Page 29]
Internet-Draft             PCEP Ext for GMPLS               January 2019

5.5.  New PCEP Error Codes

   As described in Section 3, new PCEP Error-Types 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.

   Error         name                                      Reference

   Type=4        Not supported object                      [RFC5440]
   Value=TBA-14: Bandwidth Object type TBA-2 or TBA-3 not  This Document
                 supported.
   Value=TBA-15: Unsupported endpoint type in END-POINTS   This Document
                 Generalized Endpoint object type
   Value=TBA-16: Unsupported TLV present in END-POINTS     This Document
                 Generalized Endpoint object type
   Value=TBA-17: Unsupported granularity in the RP object  This Document
                 flags
   Type=10       Reception of an invalid object            [RFC5440]
   Value=TBA-18: Bad Bandwidth Object type                 This Document
                 TBA-2(Generalized bandwidth) or
                 TBA-3(Generalized bandwidth of existing
                 TE-LSP for which a reoptimization is
                 requested).
   Value=TBA-20: Unsupported LSP Protection Flags in       This Document
                 PROTECTION-ATTRIBUTE TLV.
   Value=TBA-21: Unsupported Secondary LSP Protection      This Document
                 Flags in PROTECTION-ATTRIBUTE TLV.
   Value=TBA-22: Unsupported Link Protection Type in       This Document
                 PROTECTION-ATTRIBUTE TLV.
   Value=TBA-24: LABEL-SET TLV present with 0 bit set but  This Document
                 without R bit set in RP.
   Value=TBA-25: Wrong LABEL-SET TLV present with 0 and L  This Document
                 bit set.
   Value=TBA-26: Wrong LABEL-SET with O bit set and wrong  This Document
                 format.
   Type=TBA-27   Path computation failure                  This Document
   Value=0       Unassigned.                               This Document
   Value=TBA-28: Unacceptable request message.             This Document
   Value=TBA-29: Generalized bandwidth value not           This Document
                 supported.
   Value=TBA-30: Label Set constraint could not be met.    This Document
   Value=TBA-31: Label constraint could not be met.        This Document

Margaria, et al.         Expires August 3, 2019                [Page 30]
Internet-Draft             PCEP Ext for GMPLS               January 2019

5.6.  New NO-PATH-VECTOR TLV Fields

   As described in 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 TBA-32 - Protection Mismatch (1-bit).  Specifies the
      mismatch of the protection type of the PROTECTION-ATTRIBUTE TLV in
      the request.

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

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

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

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

      Bit number TBA-37 - No label resource in range (1-bit).  Specifies
      that the PCE is not able to provide a path 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

            TBA-38, suggested value 3 Label subobject [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).

Margaria, et al.         Expires August 3, 2019                [Page 31]
Internet-Draft             PCEP Ext for GMPLS               January 2019

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

            Subobject                 type            Reference

            TBA-39, suggested value 3 Label subobject [RFC3473]

6.  Security Considerations

   GMPLS controls multiple technologies and types of network elements.
   The LSPs that are established using GMPLS, whose paths can be
   computed using the PCEP extensions to support GMPLS described in this
   document, can carry a high amount of traffic and can be a critical
   part of a network infrastructure.  The PCE can then play a key role
   in the use of the resources and in determining the physical paths of
   the LSPs and thus it is important to ensure the identity of PCE and
   PCC, as well as the communication channel.  In many deployments there
   will be a completely isolated network where an external attack is of
   very low probability.  However, there are other deployment cases in
   which the PCC-PCE communication can be more exposed and there could
   be more security considerations.  Three main situations in case of an
   attack in the GMPLS PCE context could happen:

   o  PCE Identity theft: A legitimate PCC could request a path for a
      GMPLS LSP to a malicious PCE, which poses as a legitimate PCE.
      The answer can make that the LSP traverses some geographical place
      known to the attacker where some sniffing devices could be
      installed.  Also, the answer can omit constraints given in the
      requests (e.g. excluding certain fibers, avoiding some SRLGs)
      which could make that the LSP which will be later set-up can look
      perfectly fine, but will be in a risky situation.  Also, the
      answer can lead to provide a LSP that does not provide the desired
      quality and gives less resources than necessary.

   o  PCC Identity theft: A malicious PCC, acting as a legitimate PCC,
      requesting LSP paths to a legitimate PCE can obtain a good
      knowledge of the physical topology of a critical infrastructure.
      It could get to know enough details to plan a later physical
      attack.

   o  Message inspection: As in the previous case, knowledge of an
      infrastructure can be obtained by sniffing PCEP messages.

   The security mechanisms can provide authentication and
   confidentiality for those scenarios where the PCC-PCE communication
   cannot be completely trusted.  [RFC8253] provides origin
   verification, message integrity and replay protection, and ensures
   that a third party cannot decipher the contents of a message.

Margaria, et al.         Expires August 3, 2019                [Page 32]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   In order to protect against against the malicious PCE case the PCC
   SHOULD have policies in place to accept or not the path provided by
   the PCE.  Those policies can verify if the path follows the provided
   constraints.  In addition Technology specific data plane mechanism
   can be used (following [RFC5920] Section 5.8) to verify the data
   plane connectivity and deviation from constraints.

   The document [RFC8253] describes the usage of Transport Layer
   Security (TLS) to enhance PCEP security.  The document describes the
   initiation of the TLS procedures, the TLS handshake mechanisms, the
   TLS methods for peer authentication, the applicable TLS ciphersuites
   for data exchange, and the handling of errors in the security checks.

   Finally, as mentioned by [RFC7025] the PCEP extensions to support
   GMPLS should be considered under the same security as current PCE
   work and this extension will not change the underlying security
   issues.  However, given the critical nature of the network
   infrastructures under control by GMPLS, the security issues described
   above should be seriously considered when deploying a GMPLS-PCE based
   control plane for such networks.  For more information on the
   security considerations on a GMPLS control plane, not only related to
   PCE/PCEP, [RFC5920] provides an overview of security vulnerabilities
   of a GMPLS control plane.

7.  Contributing Authors

   Elie Sfeir
   Coriant
   St Martin Strasse 76
   Munich, 81541
   Germany

   Email: elie.sfeir@coriant.com

   Franz Rambach
   Nockherstrasse 2-4,
   Munich 81541
   Germany

   Phone: +49 178 8855738
   Email: franz.rambach@cgi.com

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

Margaria, et al.         Expires August 3, 2019                [Page 33]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   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
      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

Margaria, et al.         Expires August 3, 2019                [Page 34]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   Framework Program FP7/2007-2013 under grant agreement no 247674 and
   no 317999.

   The authors would like to thank Julien Meuric, Lyndon Ong, Giada
   Lander, Jonathan Hardwick, Diego Lopez, David Sinicrope, Vincent Roca
   and Tianran Zhou for their review and 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,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC2210]  Wroclawski, J., "The Use of RSVP with IETF Integrated
              Services", RFC 2210, DOI 10.17487/RFC2210, September 1997,
              <https://www.rfc-editor.org/info/rfc2210>.

   [RFC3471]  Berger, L., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Functional Description",
              RFC 3471, DOI 10.17487/RFC3471, January 2003,
              <https://www.rfc-editor.org/info/rfc3471>.

   [RFC3473]  Berger, L., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Resource ReserVation Protocol-
              Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
              DOI 10.17487/RFC3473, January 2003,
              <https://www.rfc-editor.org/info/rfc3473>.

   [RFC3477]  Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links
              in Resource ReSerVation Protocol - Traffic Engineering
              (RSVP-TE)", RFC 3477, DOI 10.17487/RFC3477, January 2003,
              <https://www.rfc-editor.org/info/rfc3477>.

   [RFC3630]  Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering
              (TE) Extensions to OSPF Version 2", RFC 3630,
              DOI 10.17487/RFC3630, September 2003,
              <https://www.rfc-editor.org/info/rfc3630>.

   [RFC4003]  Berger, L., "GMPLS Signaling Procedure for Egress
              Control", RFC 4003, DOI 10.17487/RFC4003, February 2005,
              <https://www.rfc-editor.org/info/rfc4003>.

Margaria, et al.         Expires August 3, 2019                [Page 35]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   [RFC4328]  Papadimitriou, D., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Extensions for G.709 Optical
              Transport Networks Control", RFC 4328,
              DOI 10.17487/RFC4328, January 2006,
              <https://www.rfc-editor.org/info/rfc4328>.

   [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,
              DOI 10.17487/RFC4606, August 2006,
              <https://www.rfc-editor.org/info/rfc4606>.

   [RFC4802]  Nadeau, T., Ed. and A. Farrel, Ed., "Generalized
              Multiprotocol Label Switching (GMPLS) Traffic Engineering
              Management Information Base", RFC 4802,
              DOI 10.17487/RFC4802, February 2007,
              <https://www.rfc-editor.org/info/rfc4802>.

   [RFC4872]  Lang, J., Ed., Rekhter, Y., Ed., and D. Papadimitriou,
              Ed., "RSVP-TE Extensions in Support of End-to-End
              Generalized Multi-Protocol Label Switching (GMPLS)
              Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007,
              <https://www.rfc-editor.org/info/rfc4872>.

   [RFC4873]  Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel,
              "GMPLS Segment Recovery", RFC 4873, DOI 10.17487/RFC4873,
              May 2007, <https://www.rfc-editor.org/info/rfc4873>.

   [RFC5088]  Le Roux, JL., Ed., Vasseur, JP., Ed., Ikejiri, Y., and R.
              Zhang, "OSPF Protocol Extensions for Path Computation
              Element (PCE) Discovery", RFC 5088, DOI 10.17487/RFC5088,
              January 2008, <https://www.rfc-editor.org/info/rfc5088>.

   [RFC5089]  Le Roux, JL., Ed., Vasseur, JP., Ed., Ikejiri, Y., and R.
              Zhang, "IS-IS Protocol Extensions for Path Computation
              Element (PCE) Discovery", RFC 5089, DOI 10.17487/RFC5089,
              January 2008, <https://www.rfc-editor.org/info/rfc5089>.

   [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>.

Margaria, et al.         Expires August 3, 2019                [Page 36]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   [RFC5520]  Bradford, R., Ed., Vasseur, JP., and A. Farrel,
              "Preserving Topology Confidentiality in Inter-Domain Path
              Computation Using a Path-Key-Based Mechanism", RFC 5520,
              DOI 10.17487/RFC5520, April 2009,
              <https://www.rfc-editor.org/info/rfc5520>.

   [RFC5521]  Oki, E., Takeda, T., and A. Farrel, "Extensions to the
              Path Computation Element Communication Protocol (PCEP) for
              Route Exclusions", RFC 5521, DOI 10.17487/RFC5521, April
              2009, <https://www.rfc-editor.org/info/rfc5521>.

   [RFC5541]  Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of
              Objective Functions in the Path Computation Element
              Communication Protocol (PCEP)", RFC 5541,
              DOI 10.17487/RFC5541, June 2009,
              <https://www.rfc-editor.org/info/rfc5541>.

   [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, DOI 10.17487/RFC6001, October 2010,
              <https://www.rfc-editor.org/info/rfc6001>.

   [RFC6003]  Papadimitriou, D., "Ethernet Traffic Parameters",
              RFC 6003, DOI 10.17487/RFC6003, October 2010,
              <https://www.rfc-editor.org/info/rfc6003>.

   [RFC6205]  Otani, T., Ed. and D. Li, Ed., "Generalized Labels for
              Lambda-Switch-Capable (LSC) Label Switching Routers",
              RFC 6205, DOI 10.17487/RFC6205, March 2011,
              <https://www.rfc-editor.org/info/rfc6205>.

   [RFC6387]  Takacs, A., Berger, L., Caviglia, D., Fedyk, D., and J.
              Meuric, "GMPLS Asymmetric Bandwidth Bidirectional Label
              Switched Paths (LSPs)", RFC 6387, DOI 10.17487/RFC6387,
              September 2011, <https://www.rfc-editor.org/info/rfc6387>.

   [RFC7139]  Zhang, F., Ed., Zhang, G., Belotti, S., Ceccarelli, D.,
              and K. Pithewan, "GMPLS Signaling Extensions for Control
              of Evolving G.709 Optical Transport Networks", RFC 7139,
              DOI 10.17487/RFC7139, March 2014,
              <https://www.rfc-editor.org/info/rfc7139>.

Margaria, et al.         Expires August 3, 2019                [Page 37]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   [RFC7792]  Zhang, F., Zhang, X., Farrel, A., Gonzalez de Dios, O.,
              and D. Ceccarelli, "RSVP-TE Signaling Extensions in
              Support of Flexi-Grid Dense Wavelength Division
              Multiplexing (DWDM) Networks", RFC 7792,
              DOI 10.17487/RFC7792, March 2016,
              <https://www.rfc-editor.org/info/rfc7792>.

   [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>.

   [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>.

   [RFC8253]  Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody,
              "PCEPS: Usage of TLS to Provide a Secure Transport for the
              Path Computation Element Communication Protocol (PCEP)",
              RFC 8253, DOI 10.17487/RFC8253, October 2017,
              <https://www.rfc-editor.org/info/rfc8253>.

   [RFC8282]  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", RFC 8282, DOI 10.17487/RFC8282, December
              2017, <https://www.rfc-editor.org/info/rfc8282>.

9.2.  Informative References

   [RFC4655]  Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
              Element (PCE)-Based Architecture", RFC 4655,
              DOI 10.17487/RFC4655, August 2006,
              <https://www.rfc-editor.org/info/rfc4655>.

   [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>.

   [RFC5920]  Fang, L., Ed., "Security Framework for MPLS and GMPLS
              Networks", RFC 5920, DOI 10.17487/RFC5920, July 2010,
              <https://www.rfc-editor.org/info/rfc5920>.

   [RFC6123]  Farrel, A., "Inclusion of Manageability Sections in Path
              Computation Element (PCE) Working Group Drafts", RFC 6123,
              DOI 10.17487/RFC6123, February 2011,
              <https://www.rfc-editor.org/info/rfc6123>.

Margaria, et al.         Expires August 3, 2019                [Page 38]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   [RFC6163]  Lee, Y., Ed., Bernstein, G., Ed., and W. Imajuku,
              "Framework for GMPLS and Path Computation Element (PCE)
              Control of Wavelength Switched Optical Networks (WSONs)",
              RFC 6163, DOI 10.17487/RFC6163, April 2011,
              <https://www.rfc-editor.org/info/rfc6163>.

   [RFC7025]  Otani, T., Ogaki, K., Caviglia, D., Zhang, F., and C.
              Margaria, "Requirements for GMPLS Applications of PCE",
              RFC 7025, DOI 10.17487/RFC7025, September 2013,
              <https://www.rfc-editor.org/info/rfc7025>.

   [RFC7449]  Lee, Y., Ed., Bernstein, G., Ed., Martensson, J., Takeda,
              T., Tsuritani, T., and O. Gonzalez de Dios, "Path
              Computation Element Communication Protocol (PCEP)
              Requirements for Wavelength Switched Optical Network
              (WSON) Routing and Wavelength Assignment", RFC 7449,
              DOI 10.17487/RFC7449, February 2015,
              <https://www.rfc-editor.org/info/rfc7449>.

Appendix A.  LOAD-BALANCING Usage for SDH Virtual Concatenation

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

Authors' Addresses

   Cyril Margaria (editor)
   Juniper
   1133 Innovation Way,
   Sunnyvale, CA  94089
   USA

   Email: cmargaria@juniper.net

Margaria, et al.         Expires August 3, 2019                [Page 39]
Internet-Draft             PCEP Ext for GMPLS               January 2019

   Oscar Gonzalez de Dios (editor)
   Telefonica Investigacion y Desarrollo
   C/ Ronda de la Comunicacion
   Madrid  28050
   Spain

   Phone: +34 91 4833441
   Email: oscar.gonzalezdedios@telefonica.com

   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 3, 2019                [Page 40]