Network Working Group                                           F. Zhang
Internet-Draft                                                   Q. Zhao
Intended status: Experimental Standards Track                                  Huawei
Expires: July, 2015 January 8, 2017                             O. Gonzalez de Dios
                                                          Telefonica I+D
                                                             R. Casellas
                                                                    CTTC
                                                                 D. King
                                                      Old Dog Consulting
                                                        January 27, 2015
                                                            July 7, 2016

Extensions to Path Computation Element Communication Protocol (PCEP) for
              Hierarchical Path Computation Elements (PCE)
                 draft-ietf-pce-hierarchy-extensions-02
                 draft-ietf-pce-hierarchy-extensions-03

Abstract

   The Hierarchical Path Computation Element (H-PCE) architecture, architecture (RFC
   6805), provides a mechanism to allow the optimum sequence of domains
   to be
   selected,and selected, and the optimum end-to-end path to be derived through
   the use of a hierarchical relationship between domains.

   This document defines the Path Computation Element Protocol (PCEP)
   extensions for the purpose of implementing necessary Hierarchical PCE
   procedures which are described in the aforementioned document. These
   extensions are experimental and published for examination,
   discussion, implementation, and evaluation. protocol extensions.

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 in July, 2015. January 8, 2017.

Copyright Notice

   Copyright (c) 2015 2016 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.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 .3
     1.1.  Scope  . . . . . . . . . . . . . . . . . . . . . . . . . . 3 .4
     1.2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . 4 .4
     1.3.  Requirements Language  . . . . . . . . . . . . . . . . . . 4 .4
   2.  Requirements for H-PCE . . . . . . . . . . . . . . . . . . . . 4 .4
     2.1.  PCEP Requests  . . . . . . . . . . . . . . . . . . . . . . 4 .5
       2.1.1.  Qualification of PCEP Requests . . . . . . . . . . . . 4 .5
       2.1.2.  Multi-domain Objective Functions . . . . . . . . . . . 5 .5
       2.1.3.  Multi-domain Metrics . . . . . . . . . . . . . . . . . 6 .6
     2.2.  Parent PCE Capability Discovery  . . . . . . . . . . . . . 6 .6
     2.3.  PCE Domain and PCE ID Discovery  . . . . . . . . . . . . . 6 .6
   3.  PCEP Extensions (Encoding) . . . . . . . . . . . . . . . . . . 6 .6
     3.1.  OPEN Object  . . . . . . . . . . . . . . . . . . . . . . . 6 .7
       3.1.1.  OF Codes  H-PCE capability TLV . . . . . . . . . . . . . . . . .7
       3.1.2.  Domain-ID TLV  . . . . . . . . 6
       3.1.2.  OPEN Object Flags . . . . . . . . . . . .8
   3.2.  RP object  . . . . . . . 7
       3.1.3.  Domain-ID TLV . . . . . . . . . . . . . . . . . .9
       3.2.1.  H-PCE-FLAG TLV . . . 7
       3.1.4.  PCE-ID TLV . . . . . . . . . . . . . . . . .9
       3.2.2.  Domain-ID TLV  . . . . . . 9
     3.2.  RP object . . . . . . . . . . . . . .9
     3.3.  Objective Function . . . . . . . . . . . 9
       3.2.1.  RP Object Flags . . . . . . . . .10
       3.3.1.  OF Codes . . . . . . . . . . . 9
       3.2.2.  Domain-ID TLV . . . . . . . . . . . .10
       3.3.2.  OF Object  . . . . . . . . . 9
     3.3. . . . . . . . . . . . . .11
     3.4.  Metric Object  . . . . . . . . . . . . . . . . . . . . . .10
     3.4. .11
     3.5.  PCEP-ERROR Object  . . . . . . . . . . . . . . . . . . . .10
       3.4.1. .12
       3.5.1.  Hierarchy PCE Error-Type . . . . . . . . . . . . . . .10
     3.5. .12
     3.6.  NO-PATH Object . . . . . . . . . . . . . . . . . . . . . .10 .12
   4.  H-PCE Procedures . . . . . . . . . . . . . . . . . . . . . . .10 .13
     4.1.  OPEN Procedure between Child PCE and Parent PCE  . . . . .10 .13
     4.2.  Procedure to Obtain Domain Sequence  . . . . . . . . . . .11 .13
   5.  Error Handling . . . . . . . . . . . . . . . . . . . . . . . .11 .14
   6.  Manageability Considerations . . . . . . . . . . . . . . . . .12 .14
     6.1.  Control of Function and Policy . . . . . . . . . . . . . .12 .15
       6.1.1.  Child PCE  . . . . . . . . . . . . . . . . . . . . . .12 .15
       6.1.2.  Parent PCE . . . . . . . . . . . . . . . . . . . . . .13 .15
       6.1.3.  Policy Control . . . . . . . . . . . . . . . . . . . .13 .15
     6.2.  Information and Data Models  . . . . . . . . . . . . . . .13 .15
     6.3.  Liveness Detection and Monitoring  . . . . . . . . . . . .13 .16
     6.4.  Verifying Correct Operation  . . . . . . . . . . . . . . .13 .16
     6.5.  Impact on Network Operation  . . . . . . . . . . . . . . .14 .16
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .14
   8.  Security Considerations .16
     7.1.  PCEP TLV . . . . . . . . . . . . . . . . . . .14
   9.  Implementation Status . . . . . . .16
     7.2.  H-PCE-CAPABILITY TLV Flags . . . . . . . . . . . . . .15
   10.  Contributing Authors . . .17
     7.3.  Domain-ID TLV Domain Type  . . . . . . . . . . . . . . . .17
     7.4.  H-PCE-FLAG TLV Flags . . .16
   11. Acknowledgments . . . . . . . . . . . . . . . . .17
     7.5.  OF Codes . . . . . . .16
   12. References . . . . . . . . . . . . . . . . . . .18
     7.6.  METRIC Types . . . . . . . .17
   12.1 Normative References . . . . . . . . . . . . . . . .18
     7.7.  New PCEP Error-Types and Values  . . . . .17
   12.2 Informative References . . . . . . . . .19
     7.8.  New NO-PATH-VECTOR TLV Bit Flag  . . . . . . . . . . .17
   Authors' Addresses . . .19
   8.  Security Considerations . . . . . . . . . . . . . . . . . . . 20
   9.  Implementation Status  . . .18

1.  Introduction

   [RFC6805] describes a Hierarchical PCE (H-PCE) architecture which can
   be used for computing end-to-end paths for inter-domain MPLS Traffic
   Engineering (TE) and GMPLS Label Switched Paths (LSPs).

   Within the hierarchical PCE architecture, the parent PCE is used to
   compute a multi-domain path based on . . . . . . . . . . . . . . . . . .20
     9.1. Inter-layer traffic engineering with H-PCE. . . . . . . . .21
     9.2. Telefonica Netphony (Open Source PCE) . . . . . . . . . . .21
     9.3. H-PCE Proof of Concept developed by Huawei. . . . . . . . .23
   10.  Contributing Authors  . . . . . . . . . . . . . . . . . . . .23
   11.  Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . 23
   12.  References . . . . . . . . . . . . . . . . . . . . . . . . . 23
     12.1. Normative References. . . . . . . . . . . . . . . . . . . 23
     12.2. Informative References. . . . . . . . . . . . . . . . . . 24

1.  Introduction

   [RFC6805] describes a Hierarchical PCE (H-PCE) architecture which can
   be used for computing end-to-end paths for inter-domain MPLS Traffic
   Engineering (TE) and GMPLS Label Switched Paths (LSPs).

   Within the hierarchical PCE architecture, the parent PCE is used to
   compute a multi-domain path based on the domain connectivity
   information.
   information .  A child PCE may be responsible for a single domain or
   multiple domains, it is used to compute the intra-domain path based
   on its own domain topology information.
   The H-PCE end-to-end domain path computation procedure is described
   below:

   o  A path computation client (PCC) sends the inter-domain path
      computation requests to the child PCE responsible for its domain;

   o  The child PCE forwards the request to the parent PCE;

   o  The parent PCE computes the likely domain paths from the ingress
      domain to the egress domain;

   o  The parent PCE sends the intra-domain path computation requests
      (between the domain border nodes) to the child PCEs which are
      responsible for the domains along the domain path;

   o  The child PCEs return the intra-domain paths to the parent PCE;
   o  The parent PCE constructs the end-to-end inter-domain path based
      on the intra-domain paths;

   o  The parent PCE returns the inter-domain path to the child PCE;

   o  The child PCE forwards the inter-domain path to the PCC.

   In addition, the parent PCE may be requested to provide only the
   sequence of domains to a child PCE so that alternative inter-domain
   path computation procedures, including Per Domain (PD) [RFC5152] and
   Backwards Recursive Path Computation (BRPC) [RFC5441] may be used.

   This document defines the PCEP extensions for the purpose of
   implementing Hierarchical PCE procedures, which are described in
   [RFC6805].

1.1.  Scope

   The following functions are out of scope of this document.

   o  Finding end point addresses;  Determination of Destination Domain (section 4.5 of [RFC6805])

     - via collection of reachability information from child domain;

     - via requests to the child PCEs to discover if they contain the
       destination node;

     - or any other methods.

   o  Parent Traffic Engineering Database (TED) methods; methods (section 4.4 of
      [RFC6805])

   o  Learning of Domain connectivity;

   The document also uses a number of [editor notes] to describe options
   and alternative solutions.  These options and notes will be removed
   before publication once agreement is reached.

1.2.  Terminology

   This connectivity and boundary nodes (BN) addresses.

1.2.  Terminology

   This document uses the terminology defined in [RFC4655], [RFC5440]
   and the additional terms defined in section 1.4 of [RFC6805].

1.3.  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 [RFC2119].

2.  Requirements for H-PCE

   This section compiles the set of requirements of the PCEP protocol to
   support the H-PCE architecture and procedures.

   [RFC6805] identifies high-level requirements of PCEP extensions
   required to support the hierarchical PCE model.

2.1.  PCEP Requests  Path Computation Request

   The PCReq Path Computation Request (PCReq) messages are used by a PCC or
   PCE to make a path computation request to a PCE.  In order to achieve
   the full functionality of the H-PCE procedures, the PCReq message
   needs to include:

   o  Qualification of PCE Requests;

   o  Multi-domain Objective Functions (OF);

   o  Multi-domain Metrics.

2.1.1.  Qualification of PCEP Requests

   As described in section 4.8.1 of [RFC6805], the H-PCE architecture
   introduces new request qualifications, which are:

   o  It MUST be possible for a child PCE to indicate that a request it
      sends to a parent PCE should be satisfied by a domain sequence
      only, that is, not by a full end-to-end path.  This allows the
      child PCE to initiate a per-domain (PD) [RFC5152] or a backward
      recursive path computation (BRPC) [RFC5441].

   o  As stated in [RFC6805], section 4.5, if a PCC knows the egress
      domain, it can supply this information as the path computation
      request.  It SHOULD be possible to specify the destination domain
      information in a PCEP request, if it is known.

   o  It MAY be possible to indicate that the inter domain path computed
      by parent PCE should disallow domain re-entry.

2.1.2.  Multi-domain Objective Functions

   For inter-domain path computation, there are two is one new objective
   functions
   Function which are is defined in section 1.3.1 and 4.1 of [RFC6805]:

   o  Minimize the number of domains crossed.  A domain can be either an
      Autonomous System (AS) or an Internal Gateway Protocol (IGP) area
      depending on the type of multi-domain network hierarchical PCE is
      applied to.

   o  Disallow domain re-entry.[Editor's note: Disallow domain re-entry
      may not be an objective function, but an option in the request].

   During the PCEP session establishment procedure, the parent PCE needs
   to be capable of indicating the Objective Functions (OF) [RFC5541]
   capability in the Open message.  This capability information may then
   be announced by child PCEs, and used for selecting the PCE when a PCC
   wants a path that satisfies one or multiple inter-domain objective
   functions.

   When a PCC requests a PCE to compute an inter-domain path, the PCC
   needs also to be capable of indicating the new objective functions
   for inter-domain path.  Note that a given child PCE may also act as a
   parent PCE.

   For the reasons described previously, new OF codes need to be defined
   for the new inter-domain objective functions.  Then the PCE can
   notify its new inter-domain objective functions to the PCC by
   carrying them in the OF-list TLV which is carried in the OPEN object.
   The PCC can specify which objective function code to use, which is
   carried in the OF object when requesting a PCE to compute an inter-
   domain path.

   The proposed solution may need to differentiate between the OF code
   that is requested at the parent level, and the OF code that is
   requested at the intra-domain (child domain).

   A parent PCE MUST be capable of ensuring homogeneity, across domains,
   when applying OF codes for strict OF intra-domain requests. requests .

2.1.3.  Multi-domain Metrics

   For inter-domain path computation, there are several path metrics of
   interest [Editor's note: Current framework only mentions metric
   objectives.  The metric itself should be also defined]:
   Interest.

   o  Domain count (number of domains crossed);

   o  Border Node count.

   A PCC may be able to limit the number of domains crossed by applying
   a limit on these metrics. Details in section 3.3.

2.2.  Parent PCE Capability Discovery Advertisement

   Parent and child PCE relationships are likely to be configured.
   However, as mentioned in [RFC6805], it would assist network operators
   if the child and parent PCE PCEs could indicate their H-PCE capabilities.

   During the PCEP session establishment procedure, the child PCE needs
   to be capable of indicating to the parent PCE whether it requests the
   parent PCE capability or not.  Also, during the PCEP session
   establishment procedure, the parent PCE needs to be capable of
   indicating whether its parent capability can be provided or not.

   A PCEP Speaker (Parent PCE or Child PCE or PCC) includes the "H-PCE
   Capability" TLV, described in Section 3.1.1, in the OPEN Object to
   advertise its support for PCEP extensions for H-PCE Capability.

2.3.  PCE Domain and PCE ID Discovery
   A PCE domain is a single domain with an associated PCE.  Although it
   is possible for a PCE to manage multiple domains.  The PCE domain may
   be an IGP area or AS.

   The PCE ID is an IPv4 and/or IPv6 address that is used to reach the
   parent/child PCE.  It is RECOMMENDED to use an address that is always
   reachable if there is any connectivity to the PCE.

   The PCE ID information and PCE domain identifiers may be provided during the PCEP session
   establishment procedure or the domain
   connectivity information collection procedure.

3.  PCEP Extensions (Encoding)

   This section defines PCEP extensions to ([RFC5440]) so as to
   support the H-PCE procedures.

3.1.  OPEN object

3.1.1.  OF Codes

   This H-PCE experiment will

   Two new TLVs are defined in this document to be carried out using within an
   OPEN object. This way, during PCEP session establishment, the following OF
   codes:

   o  MTD

      *  Name: Minimize H-PCE
   capability and Domain information can be advertised.

3.1.1.  H-PCE capability TLV

   The H-PCE-CAPABILITY TLV is an optional TLV associated with the number OPEN
   Object [RFC5440] to exchange H-PCE capability of Transit Domains

      *  Objective Function Code

      *  Description: Find a path P such that it passes through PCEP speakers.

   Its format is shown in the
         number of transit domains

   o  MBN

      *  Name: Minimize the number of border nodes.

      *  Objective Function Code

      *  Description: Find a path P such that it passes through the
         least number of border nodes

   o  DDR

      *  Name: Disallow Domain Re-entry (DDR)

      *  Objective Function Code

      *  Description: Find a path P such that does not entry a domain
         more than once

3.1.2.  OPEN Object Flags

   This H-PCE experiment will also require two OPEN object flags:

   o  Parent PCE Request bit (to be assigned by IANA, recommended bit
      0): if set, it would signal that the child PCE wishes to use the
      peer PCE as a parent PCE.

   o  Parent PCE Indication bit (to be assigned by IANA, recommended bit
      1): if set, it would signal that the PCE can be used as a parent
      PCE by the peer PCE.

3.1.3.  Domain-ID TLV

   The Domain-ID TLV for this H-PCE experiment is defined below: 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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Domain Type               Type= TBD1      |            Reserved            Length=4           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Domain ID                               |
      //                                                             //
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                         Flags                             |I|R|
     +---------------------------------------------------------------+
              Figure 1: Domain-ID H-PCE-CAPABILITY TLV

   Domain Type (8 bits): Indicates the domain type.  Two types format

   The type of domain
   are currently defined:

   o  Type=1: the Domain ID field carries an IGP Area ID.

   o  Type=2: the Domain ID field carries an AS number.

   Domain ID (variable): Indicates an IGP Area ID or AS number.  It can TLV is TBD1 (to be 2 bytes, assigned by IANA) and it has a
   fixed length of 4 bytes or 8 bytes long depending on the domain
   identifier used.

   [Editor's note: draft-dhody-pce-pcep-domain-sequence, section 3.2
   deals with octets.

   The value comprises a single field - Flags (32 bits):

   R (Parent PCE Request bit): if set, will signal that the encoding of domain sequences, using ERO-subobjects.
   Work is ongoing child
   PCE wishes to define domain identifiers for OSPF-TE areas, IS-IS
   area (which use the peer PCE as a parent PCE.

   I (Parent PCE Indication bit): if set, will signal that the PCE can
   be used as a parent PCE by the peer PCE.

   The inclusion of this TLV in an OPEN object indicate that the H-PCE
   extensions are variable sized), 2-byte supported by the PCEP speaker. The PCC MAY include
   this TLV to indicate that it understands the H-PCE extensions. The
   Child PCE MUST include this TLV and 4-byte AS number, set the R flag (and unset the I
   flag) on the PCEP session towards the Parent PCE. The Parent PCE MUST
   include this TLV and any
   other domain that may set the I flag and unset the R flag on the
   PCEP session towards the child PCE. The parent-child PCEP session is
   set to be defined established only when this capability is advertised.

   If such capability is not exchanged and the parent PCE receive a "H-
   PCE path computation request", it MUST send a PCErr message with
   Error-Type=TBD8 (H-PCE error) and Error-Value=1 (Parent PCE
   Capability not advertised).

3.1.2.  Domain-ID TLV

   The Domain-ID TLV when used in OPEN object identify the future.  It domain(s)
   served by the PCE. The child PCE uses RSVP-TE
   subobject discriminators, rather than new type 1/ type 2.  A this mechanism to inform the
   domain
   sequence may be encoded as a route object.  The "VALUE" part of information to the parent PCE.

   The Domain-ID TLV could follow common RSVP-TE subobject format: is defined below:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |0|    Type
     |     Length               Type= TBD2      |         Reserved            Length             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          AS Id (4 bytes) Domain Type   |                  Reserved                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |0|    Type
     |     Length                       Domain ID                               |
     //                                                             //
     |  AS Id (2 bytes)                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Figure 2: Alternative Domain-ID TLV

3.1.4.  PCE-ID TLV format

   The type of PCE-ID the TLV for this H-PCE experiment is defined below:

       0                   1                   2                   3
       0 1 2 TBD2 (to be assigned by IANA) and it has a
   variable Length of the value portion. The value part comprises of -

   Domain Type (8 bits): Indicates the domain type.  Four types of
   domain are currently defined:

   o  Type=1: the Domain ID field carries a 2-byte AS number. Padded
      with trailing zeroes to a 4-byte boundary.

   o  Type=2: the Domain ID field carries a 4-byte AS number.

   o  Type=3: the Domain ID field carries an 4-byte OSPF area ID.

   o  Type=4: the Domain ID field carries <2-byte Area-Len, variable
      length IS-IS area ID>. Padded with trailing zeroes to a 4-byte
      boundary.

   Reserved:  Zero at transmission; ignored at receipt.

   Domain ID (variable): Indicates an IGP Area ID or AS number.  It can
   be 2 bytes, 4 bytes or variable length depending on the domain
   identifier used. It is padded with trailing zeroes to a 4-byte
   boundary .

   In case a PCE serves more than one domain, multiple Domain-ID TLV is
   included for each domain it serves.

3.2.  RP object

3.2.1.  H-PCE-FLAG TLV

   The H-PCE-FLAG TLV is an optional TLV associated with the RP Object
   [RFC5440] to indicate the H-PCE path computation request and
   options..

   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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Address Type               Type= TBD3      |            Reserved             Length=4          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
      //                     PCE IP Address                          //
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                         Flags                             |D|S|
     +---------------------------------------------------------------+
                       Figure 3: PCE-ID H-PCE-FLAG TLV

   Address Type (16 bits): Indicates the address format

   The type of PCE IP Address.
   1 means IPv4 address type, 2 means IPv6 address type.

   PCE IP Address: Indicates the reachable address of a PCE.

   [Editor's note: [RFC5886] already defines the PCE-ID object.  If a
   semantically equivalent PCE-ID TLV is needed TBD3 (to avoid modifying
   message grammars to include the object), be assigned by IANA) and it can align with the PCEP
   object: in any case, the has a
   fixed length (4 / 16 bytes) can be used of 4 octets.

   The value comprises a single field - Flags (32 bits):

   S (Domain Sequence bit): if set, will signal that the child PCE
   wishes to know
   whether it is an IPv4 or an IPv6 PCE, the address type is not
   needed.]

3.2.  RP object

3.2.1.  RP Object Flags

   The following RP object flags are defined for this H-PCE experiment:

   o  Domain Path Request bit: if set, it means the child PCE wishes to
      get get only the domain sequence;

   o  Destination sequence in the path computation reply.

   D (Disallow Domain Query bit: Re-entry bit): if set, it means the parent PCE
      wishes to get will signal that the destination
   computed path does not enter a domain ID. more than once.

3.2.2.  Domain-ID TLV

   The format usage of this TLV is defined in Section 3.1.3.  This Domain-ID TLV can be carried in an OPEN object is used to
   indicate a (list of) managed domains, or domains and is described in section
   3.1.2. This TLV when carried in a RP object to indicate object, indicates the
   destination domain ID when ID.  If a
   child PCE responds to PCC knows the parent PCE's destination domain query egress domain, it can
   supply this information in the PCReq message.  The format of this
   TLV is defined in Section 3.1.2.

3.3.  Objective Functions

3.3.1.  OF Codes

   [RFC5541] defines a mechanism to specify an objective function that
   is used by a
   PCRep message.

   [Editors note.  In some cases, the Parent PCE may need to allocate when it computes a
   node which is not necessarily the destination node.]

3.3.  Metric Object

   There are two path. Two new metrics objective functions
   are defined in this document for H-PCE: the H-PCE experiment.

   o  Domain count (number  MTD

      *  Name: Minimize the number of Transit Domains (MTD)

      *  Objective Function Code - TBD4 (to be assigned by IANA)

      *  Description: Find a path P such that it passes through the
         least number of transit domains.

   Objective functions are formulated using the following terminology:

   - A network comprises a set of N domains crossed); {Di, (i=1...N)}.

   - A path P passes through K domains {Dpi,(i=1...K)}.

   Find a path P such that the value of K is minimized.

   o  Border Node Count (number  MBN

      *  Name: Minimize the number of border nodes crossed).

3.4.  PCEP-ERROR object

3.4.1.  Hierarchy PCE Error-Type nodes.

      *  Objective Function Code - TBD5 (to be assigned by IANA)

      *  Description: Find a path P such that it passes through the
         least number of border nodes.

      Objective functions are formulated using the following
      terminology:

   - A new PCEP Error-Type is used for this H-PCE experiment and network comprises a set of N nodes {Ni, (i=1...N)}.

   - A path P is
   defined below:

   +------------+------------------------------------------------------+
   | Error-Type | Meaning                                              |
   +------------+------------------------------------------------------+
   | 19         | H-PCE error Error-value=1: parent PCE capability     |
   |            | cannot be provided                                   |
   +------------+------------------------------------------------------+

                             H-PCE error table

3.5.  NO-PATH Object

   To communicate a list of K nodes {Npi,(i=1...K)}.

   - B(N) if a function that determine if the reason(s) for node is a border node.
     B(Ni) = 1 if Ni is border node; B(Nk) = 0 if Nk is not being able to find a multi-
   domain border
     node.

   - The number of border node in a path or domain sequence, the NO-PATH P is denoted by B(P), where
     B(P) = sum{B(Npi),(i=1...K)}.

     Find a path P such that B(P) is minimized.

3.3.2.  OF Object
   The OF (Objective Function) object can be used in [RFC5541] is carried within a
   PCReq message so as to indicate the
   PCRep message.  [RFC5440] defines desired/required objective
   function to be applied by the format PCE during path computation. As per
   section 3.2 of the NO-PATH object.
   The [RFC5541] a single OF object may contain a NO-PATH-VECTOR TLV to provide additional
   information about why be included in
   a (domain) path computation has failed.

   Three request.

   The new bit flags OF code described in section 3.3.1 are defined applicable at the
   inter-domain level (parent), it is also necessary to specify the OF
   code that may be carried in applied at the Flags field in intra-domain (child) path computation
   level. To accommodate this, the NO-PATH-VECTOR OF-List TLV carried (described in section
   2.1. of [RFC5541]) is included in the NO-PATH Object.

   o  Bit 23: OF object as an optional TLV.

   OF-List TLV allow encoding of multiple OF codes. When set, the parent PCE indicates that destination domain
      unknown;

   o  Bit 22: When set, this TLV is
   included inside the parent PCE indicates unresponsive child
      PCE(s);

   o  Bit 21: When set, OF object, only the parent PCE indicates no available resource
      available first OF-code in one or more domain(s).

4.  H-PCE Procedures

4.1.  OPEN Procedure between Child PCE and Parent PCE
   If a child PCE wants to use the peer PCE as a parent, it can set the OF-LIST
   TLV is considered. The parent PCE request bit would use this OF code in the OPEN OF
   object carried in the Open message
   during the PCEP session creation procedure.  If the peer PCE does not
   want to provide the parent function to when sending the child PCE, it must send a
   PCErr message intra domain path computation request to the
   child PCE and clear the parent PCE indication
   bit in the OPEN object. .

   If the parent PCE can provide the parent function to the peer objective functions defined in this document are unknown/
   unsupported by a PCE, it
   may set then the parent PCE indication bit procedure as defined in the OPEN [RFC5541] is
   followed.

3.4.  Metric Object

   The METRIC object carried is defined in section 7.8 of [RFC5440], comprising
   metric-value, metric-type (T field) and flags.  This document defines
   the Open message during following types for the PCEP session creation procedure.

   The PCE may also report its PCE ID and list METRIC object for H-PCE:

   o  T=TBD6: Domain count metric (number of domains crossed);

   o  T=TBD7: Border Node count metric (number of border nodes crossed).

   The domain ID to count metric type of the peer
   PCE by specifying them in METRIC object encodes the PCE-ID TLV and List number
   of Domain-ID TLVs domain crossed in the OPEN path. The border node count metric type of
   the METRIC object carried in encodes the Open message during number of border nodes in the PCEP
   session creation procedure.

   The OF codes defined in this document can be carried path.

   A PCC or child PCE MAY use these metric in PCReq message an inter-
   domain path meeting the OF-list
   TLV number of domain or border nodes requirement.
   In this case, the OPEN object.  If the OF-list TLV carries B bit MUST be set to suggest a bound (a maximum)
   for the OF codes, it
   means metric that the PCE is capable of implementing the corresponding
   objective functions.  This information can must not be used exceeded for selecting a
   proper parent PCE when a child PCE wants the PCC to get a consider the
   computed path that satisfies
   a certain objective function.

   When a specific as acceptable.

   A PCC or child PCE sends a PCReq MAY also use this metric to a peer PCE that requires
   parental activity and ask the peer PCE does not want to act as
   optimize the parent
   for it, metric during inter-domain path computation.  In this
   case, the peer B flag MUST be cleared.

   The Parent PCE should send MAY use these metric in a PCErr PCRep message to the child PCE and
   specify the error-type (IANA) and error-value (1) along with a
   NO-PATH object in the PCEP-ERROR
   object.

4.2.  Procedure to obtain Domain Sequence

   If a child PCE only wants to get case where the domain sequence for PCE cannot compute a multi-
   domain path computation from a parent PCE, it can set the Domain Path
   Request bit in
   meeting this constraint.  A PCE MAY also use this metric to send the RP object carried
   computed end to end metric in a PCReq reply message.  The parent

3.5.  PCEP-ERROR object

3.5.1.  Hierarchy PCE which receives the PCReq message tries to compute a domain
   sequence Error-Type

   A new PCEP Error-Type is used for it.  If the domain path computation succeeds the parent
   PCE sends a PCRep message which carries the domain sequence in this H-PCE experiment and is
   defined below:

   +------------+------------------------------------------------------+
   | Error-Type | Meaning                                              |
   +------------+------------------------------------------------------+
   | TBD8       | H-PCE error                                          |
   |            | Error-value=1: parent PCE capability                 |
   |            | was not advertised                                   |
   |            | Error-value=2: parent PCE capability                 |
   |            | cannot be provided                                   |
   +------------+------------------------------------------------------+

                             Figure 4: H-PCE error

3.6.  NO-PATH Object

   To communicate the
   ERO reason(s) for not being able to the child PCE.  The find a multi-
   domain sequence is specified as AS or AREA
   ERO sub-objects (type 32 for AS [RFC3209] path or a to-be-defined IGP area
   type).  Otherwise it sends a PCReq message which carries domain sequence, the NO-PATH object to can be used in the child PCE.

5.  Error Handling

   A PCE that is capable
   PCRep message.  [RFC5440] defines the format of acting as the NO-PATH object.
   The object may contain a parent PCE might not be
   configured or willing NO-PATH-VECTOR TLV to act as the parent for provide additional
   information about why a specific child PCE.

   This fact could path computation has failed.

   Three new bit flags are defined to be determined when carried in the child sends a PCReq that
   requires parental activity (such as querying other child PCEs), and
   could result Flags field in a negative response
   the NO-PATH-VECTOR TLV carried in a PCEP Error (PCErr) message
   and indicate the hierarchy PCE error types.

   Additionally, NO-PATH Object.

   o  Bit number TBD9: When set, the parent PCE may fail to find the multi-domain path
   or indicates that
   destination domain sequence due to one or more of the following reasons: unknown;

   o  A child PCE cannot find a suitable path to  Bit number TBD10: When set, the egress;

   o  The parent PCE do not hear from a indicates unresponsive
   child PCE for a specified time; PCE(s);

   o  The objective functions specified in the path request cannot be
      met.

   In this case,  Bit number TBD11: When set, the parent PCE MAY need to send indicates no available
   resource available in one or more domain(s).

4.  H-PCE Procedures

4.1.  OPEN Procedure between Child PCE and Parent PCE

   If a negative path
   computation reply specifying child PCE wants to use the reason.  This peer PCE as a parent, it can be achieved by
   including NO-PATH set the
   R (parent PCE request flag) in the H-PCE-CAPABILITY TLV inside the
   OPEN object carried in the PCRep message.  Extension Open message
   during the PCEP session creation procedure.

   If the parent PCE can provide the parent function to NO-PATH the peer PCE, it
   may set the I (parent PCE indication flag) in the H-PCE-CAPABILITY
   TLV inside the OPEN object is needed carried in
   the Open message during the PCEP session creation procedure.

   The PCE may also report its list of domain IDs to include the aforementioned reasons.

6.  Manageability Considerations

   General peer
   PCE and PCEP management considerations are discussed by specifying them in
   [RFC4655] and [RFC5440]. There are additional management
   considerations for H-PCE which are described the Domain-ID TLVs in [RFC6805], and
   repeated the OPEN object
   carried in this section. the Open message during the PCEP session creation
   procedure.

   The administrative entity responsible for OF codes defined in this document can be carried in the management OF-list
   TLV of the
   parent PCEs must be determined for OPEN object.  If the following cases:

   o multi-domains (e.g., IGP areas or multiple ASes) within a single
   service provider network, OF-list TLV carries the management responsibility for OF codes, it
   means that the
   parent PCE would most likely be handled by is capable of implementing the service provider,

   o multiple ASes within different service provider networks, it may corresponding
   objective functions.  This information can be necessary used for selecting a third party to manage the
   proper parent PCEs according PCE when a child PCE wants to commercial and policy agreements from each of the participating
   service providers.

   [To be discussed further.]

6.1.  Control of Function and Policy

   [To be discussed further.]

6.1.1.  Child get a path that satisfies
   a certain objective function.

   When a specific child PCE

   Support of sends a PCReq to a peer PCE that requires
   parental activity and H-PCE capability flags were not set in the hierarchical
   session establishment procedure will be controlled by as described above, the peer PCE
   should send a PCErr message to the
   management organization responsible for each child PCE. A child PCE must be configured with and
   specify the address of its parent error-type=TBD (H-PCE error) and error-value=1 (parent
   PCE capability was not advertised) in order
   for it to interact with its parent PCE.  The the PCEP-ERROR object.

   When a specific child PCE must also
   be authorized sends a PCReq to a peer with the parent PCE.

6.1.2.  Parent PCE

   The parent that requires
   parental activity and the peer PCE must only accept path computation requests from
   authorized child PCEs.  If a does not want to act as the parent PCE receives requests from an
   unauthorized child PCE,
   for it, the request peer PCE should be dropped. This means
   that send a parent PCErr message to the child PCE must be configured with and
   specify the identities error-type=TBD (H-PCE error) and
   security credentials of all of its child PCEs, or there must be
   some form of shared secret that allows an unknown child error-value=2 (parent
   PCE to capability cannot be
   authorized by provided) in the parent PCE.

6.1.3.  Policy Control

   It may be necessary PCEP-ERROR object.

4.2.  Procedure to maintain obtain Domain Sequence

   If a policy module on child PCE only wants to get the domain sequence for a multi-
   domain path computation from a parent PCE
   [RFC5394].  This would allow PCE, it can set the Domain Path
   Request bit in the H-PCE FlagH-PCE-FLAG TLV in the RP object carried
   in a PCReq message.  The parent PCE which receives the PCReq message
   tries to apply commercially
   relevant constraints such as SLAs, security, peering preferences, and
   monetary costs.

   It may also be necessary compute a domain sequence for it.  If the domain path
   computation succeeds the parent PCE sends a PCRep message which
   carries the domain sequence in the ERO to limit end-to-end path
   selection by including or excluding specific domains based on
   commercial relationships, security implications, and reliability.

6.2.  Information and Data Models

   A PCEP MIB module is defined the child PCE.  Refer
   [RFC7897] for more details about domain sub-objects in [RFC7420] the ERO.

   Otherwise it sends a PCReq message which carries the NO-PATH object
   to the child PCE.

5.  Error Handling

   A PCE that describes managed
   objects for modeling is capable of PCEP communication.  A H-PCE MIB module,
   or additional data model will acting as a parent PCE might not be required
   configured or willing to report act as the parent PCE
   and for a specific child PCE information, including:

   o  parent PCE configuration and status,

   o PCE.

   This fact could be determined when the child PCE configuration sends a PCReq that
   requires parental activity, and information,

   o  notifications to indicate session changes between parent PCEs could result in a negative response
   in a PCEP Error (PCErr) message and
      child PCEs, indicate the hierarchy PCE error-
   type=TBD8 (H-PCE error) and

   o  notification of suitable error-value. (section 3.5.1)

   Additionally, the parent PCE TED updates and changes.

6.3.  Liveness Detection and Monitoring

   The hierarchical procedure requires interaction with multiple PCEs.
   Once a may fail to find the multi-domain path
   or domain sequence due to one or more of the following reasons:

   o  A child PCE requests an end-to-end path, cannot find a sequence of events
   occurs that requires interaction between suitable path to the egress;

   o  The parent PCE and each
   child PCE.  If do not hear from a child PCE for a specified time;

   o  The objective functions specified in the path request cannot be
      met.

   In this case, the parent PCE MAY need to send a negative path
   computation reply specifying the reason.  This can be achieved by
   including NO-PATH object in the PCRep message.  Extension to NO-PATH
   object is not operational, needed to include the aforementioned reasons described in
   section 3.6.

6.  Manageability Considerations

   General PCE and an alternate
   transit domain is not available, then a failure PCEP management considerations are discussed in
   [RFC4655] and [RFC5440]. There are additional management
   considerations for H-PCE which are described in [RFC6805], and
   repeated in this section.

   The administrative entity responsible for the management of the
   parent PCEs must be reported.

6.4.  Verifying Correct Operation

   Verifying determined for the correct operation of following cases:

   o multi-domains (e.g., IGP areas or multiple ASes) within a single
   service provider network, the management responsibility for the
   parent PCE can would most likely be performed handled by
   monitoring the service provider,

   o multiple ASes within different service provider networks, it may
   be necessary for a set third party to manage the parent PCEs according
   to commercial and policy agreements from each of the participating
   service providers.

6.1.  Control of Function and Policy

   Control and function will need to be carefully managed in a H-PCE
   network. A child PCE will need to be configured with the
   address of its parent PCE. It is expected that there will only be
   one or two parents of any child.

   The parent PCE also needs to be aware of the child PCEs for all child
   domains that it can see.  This information is most likely to be
   configured (as part of the administrative definition of each domain).

   Discovery of the relationships between parent PCEs and child PCEs
   does not form part of the hierarchical PCE architecture.  Mechanisms
   that rely on advertising or querying PCE locations across domain or
   provider boundaries are undesirable for security, scaling,
   commercial, and confidentiality reasons.
   Specific behavior of the child and parent PCE are described in the
   following sub-sections.

6.1.1.  Child PCE

   Support of the hierarchical procedure will be controlled by the
   management organization responsible for each child PCE. A child
   PCE must be configured with the address of its parent PCE in order
   for it to interact with its parent PCE.  The child PCE must also
   be authorized to peer with the parent PCE.

6.1.2.  Parent PCE

   The parent PCE must only accept path computation requests from
   authorized child PCEs.  If a parent PCE receives requests from an
   unauthorized child PCE, the request should be dropped. This means
   that a parent PCE must be configured with the identities and
   security credentials of all of its child PCEs, or there must be
   some form of shared secret that allows an unknown child PCE to be
   authorized by the parent PCE.

6.1.3.  Policy Control

   It may be necessary to maintain a policy module on the parent PCE
   [RFC5394].  This would allow the parent PCE to apply commercially
   relevant constraints such as SLAs, security, peering preferences, and
   monetary costs.

   It may also be necessary for the parent PCE to limit end-to-end path
   selection by including or excluding specific domains based on
   commercial relationships, security implications, and reliability.

6.2.  Information and Data Models
   A MIB module for PCEP was published as RFC 7420 [RFC7420] that
   describes managed objects for modeling of PCEP communication. A
   YANG module for PCEP has also been proposed [I-D.pkd-pce-pcep-yang].

   A H-PCE MIB module, or additional data model, will be required to
   report parent PCE and child PCE information, including:

   o  parent PCE configuration and status,

   o  child PCE configuration and information,

   o  notifications to indicate session changes between parent PCEs and
      child PCEs, and

   o  notification of parent PCE TED updates and changes.

6.3.  Liveness Detection and Monitoring

   The hierarchical procedure requires interaction with multiple PCEs.
   Once a child PCE requests an end-to-end path, a sequence of events
   occurs that requires interaction between the parent PCE and each
   child PCE.  If a child PCE is not operational, and an alternate
   transit domain is not available, then a failure must be reported.

6.4.  Verifying Correct Operation

   Verifying the correct operation of a parent PCE can be performed by
   monitoring a set of parameters.  The parent PCE implementation should
   provide the following parameters monitored by the parent PCE:

   o  number of child PCE requests,

   o  number of successful hierarchical PCE procedures completions on a
      per-PCE-peer basis,

   o  number of hierarchical PCE procedure completion failures on a per-
      PCE-peer basis, and

   o  number of hierarchical PCE procedure requests from unauthorized
      child PCEs.

6.5.  Impact on Network Operation

   The hierarchical PCE procedure is a multiple-PCE path computation
   scheme.  Subsequent requests to and from the child and parent PCEs do
   not differ from other path computation requests and should not have
   any significant impact on network operations.

7.  IANA Considerations

7.1. PCEP TLV
   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 three new PCEP TLVs. IANA is requested to make
   the following allocation:

      Type      TLV name                  References
      -----------------------------------------------
      TBD1      H-PCE-CAPABILITY TLV      This I-D
      TBD2      Domain-ID TLV             This I-D
      TBD3      H-PCE-FLAG TLV            This I-D

7.2. H-PCE-CAPABILITY TLV Flags

   This document requests that a new sub-registry, named " H-PCE-
   CAPABILITY TLV Flag Field", is created within the "Path Computation
   Element Protocol (PCEP) Numbers" registry to manage the Flag field in
   the H-PCE-CAPABILITY TLV of the PCEP OPEN object (class = 1).

   New values are to be assigned by Standards Action [RFC5226].  Each
   bit should be tracked with the following qualities:

   o  Bit number (counting from bit 0 as the most significant bit)

   o  Capability description

   o  Defining RFC

   The following values are defined in this document:

      Bit     Description                      Reference
      --------------------------------------------------
      31      R (Parent PCE Request bit)       This I.D.
      30      I  (Parent PCE Indication bit)   This I.D.

7.3. Domain-ID TLV Domain type

   This document requests that a new sub-registry, named " Domain-ID TLV
   Domain type", is created within the "Path Computation Element
   Protocol (PCEP) Numbers" registry to manage the Domain-Type
   field of the Domain-ID TLV.

      Value     Meaning
      -----------------------------------------------
       1        2-byte AS number
       2        4-byte AS number
       3        4-byte OSPF area ID
       4        Variable length IS-IS area ID

7.4. H-PCE-FLAG TLV Flags
   This document requests that a new sub-registry, named "H-PCE-FLAGS

   TLV Flag Field", is created within the "Path Computation Element
   Protocol (PCEP) Numbers" registry to manage the Flag field in
   the H-PCE-FLAGS TLV of the PCEP OPEN object (class = 1). New values
   are to be assigned by Standards Action [RFC5226].  Each bit should be
   tracked with the following qualities:

   o  Bit number (counting from bit 0 as the most significant bit)

   o  Capability description

   o  Defining RFC

   The following values are defined in this document:

      Bit     Description           Reference
      -----------------------------------------------
      31      S (Domain             This I.D.
                 Sequence bit)
      30      D (Disallow Domain    This I.D.
                 Re-entry bit)

7.5. OF Codes

   IANA maintains registry of parameters.  The parent PCE implementation should
   provide Objective Function (described in
   [RFC5541]) at the following parameters monitored by sub-registry "Objective Function".  Two new
   Objective Functions have been defined in this document.

   IANA is requested to make the parent PCE:

   o following allocations:

    Code
    Point    Name                           Reference
    ------------------------------------------------------
    TBD4     Minimum number of child PCE requests,

   o Transit      This I.D.
             Domains (MTD)
    TBD5     Minimize number of successful hierarchical PCE procedures completions on Border      This I.D.
             Nodes (MBN)

7.6. METRIC Types

   IANA maintains one sub-registry for "METRIC object T field".  Two new
   metric types are defined in this document for the METRIC object
   (specified in [RFC5440]).

   IANA is requested to make the following allocations:

    Value    Description                    Reference
    ----------------------------------------------------------
    TBD6     Domain Count metric            This I.D.
    TBD7     Border Node Count metric       This I.D.

7.7. New PCEP Error-Types and Values

   IANA maintains a
      per-PCE-peer basis,

   o  number registry of hierarchical PCE procedure completion failures on a per-
      PCE-peer basis, Error-Types and

   o  number Error-values for use in
   PCEP messages.  This is maintained as the "PCEP-ERROR Object Error
   Types and Values" sub-registry of hierarchical PCE procedure requests from unauthorized
      child PCEs.

6.5.  Impact on Network Operation

   The hierarchical PCE procedure the "Path Computation Element
   Protocol (PCEP) Numbers" registry.

   IANA is a multiple-PCE path computation
   scheme.  Subsequent requests requested to and from make the child following allocations:

    Error-Type    Meaning and parent PCEs do error values  Reference
    ------------------------------------------------------
    TBD8     H-PCE Error                    This I.D.

             Error-value=1 Parent PCE
             Capability not differ from other path computation requests and should advertised

             Error-value=2 Parent PCE
             Capability not have
   any significant impact on network operations.

7. supported

7.8. New NO-PATH-VECTOR TLV Bit Flag

   IANA Considerations

   Due to the experimental nature maintains a registry of this draft no bit flags carried in the PCEP NO-PATH-
   VECTOR TLV in the PCEP NO-PATH object as defined in [RFC5440].  IANA requests are
   made.
   Is requested to assign three new bit flag as follows:

   Bit Number      Name Flag                   Reference
   ------------------------------------------------------
   TBD9            Destination Domain unknown  This I.D.
   TBD10           Unresponsive child PCE(s)   This I.D.
   TBD11           No available resource in    This I.D.
                   one or more domain

8.  Security Considerations

   The hierarchical PCE procedure relies on PCEP and inherits the
   security requirements defined in [RFC5440]. As PCEP operates
   over TCP, it may also make use of TCP security mechanisms,
   including Transport Layer Security (TLS). such as
   TCP-AO or [I-D.ietf-pce-pceps].

   H-PCE operation also relies on information used to build the TED.
   Attacks on a parent or child PCE may be achieved by falsifying
   or impeding this flow of information. If the child PCE listens to
   the IGP or BGP-LS for populating the TED, then normal IGP or BGP-LS
   security measures may be applied, and it should be noted that an IGP
   routing system is generally assumed to be a trusted domain such that
   router subversion is not a risk. The parent PCE TED is constructed as
   described in this document and may involve:

   o multiple parent-child relationships using PCEP

   o the parent PCE listening to child domain IGPs (with the same
     security features as a child PCE listening to its IGP)

   o an external mechanism (such as [BGP-LS]), [RFC7752]), which will need to be
     authorized and secured.

   Any multi-domain operation necessarily involves the exchange of
   information across domain boundaries.  This is bound to represent a
   significant security and confidentiality risk especially when the
   child domains are controlled by different commercial concerns.  PCEP
   allows individual PCEs to maintain confidentiality of their domain
   path information using path-keys [RFC5520], and the H-PCE
   architecture is specifically designed to enable as much isolation of
   domain topology and capabilities information as is possible.

   For further considerations of the security issues related to inter-AS
   path computation, see [RFC5376].

   [To be discussed further.]

9.  Implementation Status

   The H-PCE architecture and protocol procedures describe in this I-D
   were implemented and tested for a variety of optical research
   applications.

9.1 Inter-layer traffic engineering with H-PCE

   This work was led by:

   o  Ramon Casellas <ramon.casellas@cttc.es>
   o  Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)

   The H-PCE instances (parent and child) were multi-threaded
   asynchronous processes. Implemented in C++11, using C++ Boost
   Libraries. The targeted system used to deploy and run H-PCE
   applications was a  POSIX system (Debian GNU/Linux operating
   system).

   Some parts of the software may require a Linux Kernel, the
   availability of a Routing Controller running collocated in the same
   host and the usage of libnetfilter / libipq and GNU/Linux
   firewalling capabilities. Most of the functionality, including
   algorithms is done by means of plugins (e.g., as shared libraries
   or .so files in Unix systems).

   The CTTC PCE supports the H-PCE architecture, but also supports
   stateful PCE with active capabilities, as an OpenFlow controller,
   and has dedicated plugins to support monitoring, BRPC, P2MP, path
   keys, back end PCEs. Management of the H-PCE entities was supported
   via HTTP and CLI via Telnet.

   Further details of the H-PCE prototyping and experimentation can be
   found in the following scientific papers:

   R. Casellas, R. Martinez, R. Munoz, L. Liu, T. Tsuritani, I.

   Morita, "Inter-layer traffic engineering with hierarchical-PCE in
   MPLS-TP over wavelength switched optical networks" , Optics
   Express, Vol. 20, No. 28, December 2012.

   R. Casellas, R. Martinez, R. Munoz, L. Liu, T. Tsuritani, I. Morita,
   M. Msurusawa, "Dynamic virtual link mesh topology aggregation in
   multi-domain translucent WSON with hierarchical-PCE", Optics Express
   Journal, Vol. 19, No. 26, December 2011.

   R. Casellas, R. Munoz, R. Martinez, R. Vilalta, L. Liu, T. Tsuritani,
   I. Morita, V. Lopez, O. Gonzalez de Dios, J. P. Fernandez-Palacios,
   "SDN based Provisioning Orchestration of OpenFlow/GMPLS Flexi-grid
   Networks with a Stateful Hierarchical PCE", in Proceedings of Optical
   Fiber Communication Conference and Exposition (OFC), 9-13 March,
   2014, San Francisco (EEUU). Extended Version to appear in Journal
   Of Optical Communications and Networking January 2015

   F. Paolucci, O. Gonzalez de Dios, R. Casellas, S. Duhovnikov, P.
   Castoldi, R. Munoz, R. Martinez, "Experimenting Hierarchical PCE
   Architecture in a Distributed Multi-Platform Control Plane Testbed" ,
   in Proceedings of Optical Fiber Communication Conference and
   Exposition (OFC) and The National Fiber Optic Engineers Conference
   (NFOEC), 4-8 March, 2012, Los Angeles, California (USA).

   R. Casellas, R. Martinez, R. Munoz, L. Liu, T. Tsuritani, I. Morita,
   M. Tsurusawa, "Dynamic Virtual Link Mesh Topology Aggregation in
   Multi-Domain Translucent WSON with Hierarchical-PCE", in
   Proceedings of 37th European Conference and Exhibition on Optical
   Communication (ECOC 2011), 18-22 September 2011, Geneve (
   Switzerland).

   R. Casellas, R. Munoz, R. Martinez, "Lab Trial of Multi-Domain Path
   Computation in GMPLS Controlled WSON Using a Hierarchical PCE", in
   Proceedings of OFC/NFOEC Conference (OFC2011), 10 March 2011, (OFC2011), 10 March 2011, Los
   Angeles (USA).

9.2 Telefonica Netphony (Open Source PCE)

   The Telefonica Netphony PCE is an open source Java-based
   implementation of a Path Computation Element, with several flavours,
   and a Path Computation Client. The PCE follows a modular architecture
   and allows to add customized algorithms. The PCE has also stateful
   and remote initiation capabilities. In current version, three
   components can be built, a domain PCE (aka child PCE), a parent PCE
   (ready for the H-PCE architecture) and a PCC (path computation
   client).

   This work was led by:

   o  Oscar Gonzalez de Dios <oscar.gonzalezdedios@telefonica.com>
   o  Victor Lopez Alvarez <victor.lopezalvarez@telefonica.com>
   o  Telefonica I+D, Madrid, Spain

   The PCE code is publicly available in a GitHub repository:
      * https://github.com/telefonicaid/netphony-pce

   The PCEP protocol encodings are located in the following repository:
      * https://github.com/telefonicaid/netphony-network protocols

   The traffic engineering database and a BGP-LS speaker to fill the
   database is located in:
     * https://github.com/telefonicaid/netphony-topology

   The parent and child PCE are multi-threaded java applications. The
   path computation uses the jgrapht free Java class library (0.9.1)
   that provides mathematical graph-theory objects and algorithms.
   Current version of netphony PCE runs on java 1.7 and 1.8, and has
   been tested in GNU/Linux, Mac OS-X and Windows environments. The
   management of the parent and domain PCEs is supported though CLI via
   Telnet, and configured via XML files .

   Further details of the netphony H-PCE prototyping and experimentation
   can be found in the following research papers:

   O. Gonzalez de Dios, R. Casellas, F. Paolucci, A. Napoli, L. Gifre,
   A. Dupas, E, Hugues-Salas, R. Morro, S. Belotti, G. Meloni, T.
   Rahman, V.P Lopez, R. Martinez, F. Fresi, M. Bohn, S. Yan, L.
   Velasco, . Layec and J. P. Fernandez-Palacios: Experimental
   Demonstration of Multivendor and Multidomain EON With Data and
   Control Interoperability Over a Pan-European Test Bed, in Journal of
   Lightwave Technology, Dec. 2016, Vol. 34, Issue 7, pp. 1610-1617.

   O. Gonzalez de Dios, R. Casellas, R. Morro, F. Paolucci, V. Lopez,
   R. Martinez, R. Munoz, R. Villalta, P. Castoldi: "Multi-partner
   Demonstration of BGP-LS enabled multi-domain EON, in Journal of
   Optical Communications and Networking, Dec. 2015, Vol. 7, Issue 12,
   pp. B153-B162.

   F. Paolucci, O. Gonzalez de Dios, R. Casellas, S. Duhovnikov, P.
   Castoldi, R. Munoz, R. Martinez, "Experimenting Hierarchical PCE
   Architecture in a Distributed Multi-Platform Control Plane Testbed" ,
   in Proceedings of Optical Fiber Communication Conference and
   Exposition (OFC) and The National Fiber Optic Engineers Conference
   (NFOEC), 4-8 March, 2012, Los
   Angeles Angeles, California (USA).

   [Note

9.3 Implementation 3: H-PCE Proof of Concept developed by Huawei

   Huawei developed this H-PCE on the Huawei Versatile Routing Platform
   (VRP) to experiment with the RFC Editor - hierarchy of PCE. Both end to end path
   computation as well as computation for domain-sequence are supported.

   This section work was led by:

   o  Udayasree Pallee <udayasree.palle@huawei.com>
   o  Dhruv Dhody <dhruv.ietf@gmail.com>
   o  Huawei Technologies, Bangalore, India

   Further work on stateful H-PCE is intended to be removed
   before publication.] being carried out on ONOS.

10.  Contributing Authors

   Xian Zhang
   Huawei
   zhang.xian@huawei.com

   Dhruv Dhody
   Huawei Technologies
   Divyashree Techno Park, Whitefield
   Bangalore, Karnataka  560066
   India

   EMail: dhruv.ietf@gmail.com

11.  Acknowledgments

   The Internet-Draft and implementation has been partially funded by
   the European Commission under the project Industry-Driven Elastic and
   Adaptive Lambda Infrastructure for Service and Transport Networks
   (IDEALIST) of the Seventh Framework Program, with Grant Agreement
   Number: 317999.

12.  References

12.1 Normative References

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

   [RFC3209]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
              and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
              Tunnels", RFC 3209, December 2001.

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

   [RFC5152]  Vasseur, JP., Ayyangar, A., and R. Zhang, "A Per-Domain
              Path Computation Method for Establishing Inter-Domain
              Traffic Engineering (TE) Label Switched Paths (LSPs)",
              RFC 5152, February 2008.

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

   [RFC5441]  Vasseur, JP., Zhang, R., Bitar, N., and JL. Le Roux, "A
              Backward-Recursive PCE-Based Computation (BRPC) Procedure
              to Compute Shortest Constrained Inter-Domain Traffic
              Engineering Label Switched Paths", RFC 5441, April 2009.

   [RFC5886]  Vasseur, JP.,

   [RFC5541]  Le Roux, JL., Vasseur, JP., and Y. Ikejiri, "A Set Lee, "Encoding of
              Monitoring Tools for
              Objective Functions in the Path Computation Element (PCE)-Based
              Architecture",
              Communication Protocol (PCEP)", RFC 5886, 5541, June 2010.

   [RFC6805]  King, D. and A. 2009.

12.2 Informative References

   [RFC4655]  Farrel, "The Application of the A., Vasseur, J., and J. Ash, "A Path Computation
              Element Architecture to the Determination of a
              Sequence of Domains in MPLS (PCE)-Based Architecture", RFC 4655, August 2006.

   [RFC5226]  Narten, T. and GMPLS", H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 6805,
              November 2012.

12.2 Informative References 5226,
              DOI 10.17487/RFC5226, May 2008,

   [RFC5376]  Bitar, N., Zhang, R., and K. Kumaki, "Inter-AS
              Requirements for the Path Computation Element
              Communication Protocol (PCECP)", RFC 5376, November
              2008.

   [RFC5394]  Bryskin, I., Papadimitriou, D., Berger, L., and J. Ash,
              "Policy-Enabled Path Computation Framework", RFC 5394,
              December 2008.

   [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, April 2009.

   [RFC6805]  King, D. and A. Farrel, "The Application of the Path
              Computation Element Architecture to the Determination of a
              Sequence of Domains in MPLS and GMPLS", RFC 6805,
              November 2012.

   [RFC7420]  Koushik, A., Stephan, E., Zhao, Q., King, D., Hardwick,
              J., "Path Computation Element Communication Protocol
              (PCEP) Management Information Base (MIB) Module", RFC
              7420, December 2014.

   [BGP-LS]

   [RFC7752]   Gredler, H., Medved, J., Previdi, S., Farrel, A., and
              S. Ray, "North-Bound Distribution of Link-State and TE
              Information using BGP", Work in Progress, RFC 7752,
              March, 2016.

   [RFC7897]  Dhody, D., Palle, U., and R. Casellas, "Domain Subobjects
              for the Path Computation Element Communication Protocol
              (PCEP)", RFC 7897, DOI 10.17487/RFC7897, June 2016.

   [I-D.ietf-pce-pceps]
              Lopez, D., Dios, O., Wu, W., and D. Dhody, "Secure
              Transport for PCEP", draft-ietf-pce-pceps (work in
              progress), March 2016.

   [I-D.pkd-pce-pcep-yang]
              Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A
              YANG Data Model for Path Computation Element
              Communications Protocol (PCEP)", draft-pkd-pce-pcep-
              yang (work in progress), January 2015. 2016.

Authors' Addresses

   Fatai Zhang
   Huawei
   Huawei Base, Bantian, Longgang District
   Shenzhen,   518129
   China

   Phone: +86-755-28972912
   Email: zhangfatai@huawei.com

   Quintin Zhao
   Huawei
   125 Nagog Technology Park
   Acton, MA  01719
   US

   Phone:
   Email: qzhao@huawei.com

   Oscar Gonzalez de Dios
   Telefonica I+D
   Don Ramon de la Cruz 82-84
   Madrid,   28045
   Spain

   Phone: +34913128832
   Email: ogondio@tid.es

   Ramon Casellas
   CTTC
   Av. Carl Friedrich Gauss n.7
   Castelldefels,   Barcelona
   Spain

   Phone: +34 93 645 29 00
   Email: ramon.casellas@cttc.es

   Daniel King
   Old Dog Consulting
   UK

   Phone:
   Email: daniel@olddog.co.uk