<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-pce-hierarchy-extensions-11" indexInclude="true" ipr="trust200902" number="8685" prepTime="2019-12-12T15:10:01" scripts="Common,Latin" sortRefs="false" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-pce-hierarchy-extensions-11" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8685" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="PCEP Extensions for H-PCE">Path Computation Element Communication Protocol (PCEP) Extensions for the Hierarchical Path Computation Element (H-PCE) Architecture</title>
    <seriesInfo name="RFC" value="8685" stream="IETF"/>
    <author fullname="Fatai Zhang" initials="F." surname="Zhang">
      <organization showOnFrontPage="true">Huawei</organization>
      <address>
        <postal>
          <street>Huawei Base, Bantian, Longgang District</street>
          <region>Shenzhen</region>
          <code>518129</code>
          <country>China</country>
        </postal>
        <email>zhangfatai@huawei.com</email>
      </address>
    </author>
    <author fullname="Quintin Zhao" initials="Q." surname="Zhao">
      <organization showOnFrontPage="true">Huawei</organization>
      <address>
        <postal>
          <street>125 Nagog Technology Park</street>
          <city>Acton</city>
          <region>MA</region>
          <code>01719</code>
          <country>United States of America</country>
        </postal>
        <email>quintinzhao@gmail.com</email>
      </address>
    </author>
    <author fullname="Oscar Gonzalez de Dios" initials="O." surname="Gonzalez de Dios">
      <organization showOnFrontPage="true">Telefonica I+D</organization>
      <address>
        <postal>
          <street>Don Ramon de la Cruz 82-84</street>
          <city>Madrid</city>
          <code>28045</code>
          <country>Spain</country>
        </postal>
        <email>oscar.gonzalezdedios@telefonica.com</email>
      </address>
    </author>
    <author fullname="Ramon Casellas" initials="R." surname="Casellas">
      <organization showOnFrontPage="true">CTTC</organization>
      <address>
        <postal>
          <street>Av. Carl Friedrich Gauss n.7</street>
          <city>Castelldefels</city>
          <region>Barcelona</region>
          <country>Spain</country>
        </postal>
        <email>ramon.casellas@cttc.es</email>
      </address>
    </author>
    <author fullname="Daniel King" initials="D." surname="King">
      <organization showOnFrontPage="true">Old Dog Consulting</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <country>United Kingdom</country>
        </postal>
        <email>daniel@olddog.co.uk</email>
      </address>
    </author>
    <date month="12" year="2019"/>
    <keyword>Traffic Engineering, Inter-domain, Multi-domain</keyword>
    <abstract pn="section-abstract">
      <t pn="section-abstract-1">
   The Hierarchical Path Computation Element (H-PCE) architecture is
   defined in RFC 6805.  It provides a mechanism to derive an optimum
   end-to-end path in a multi-domain environment by using a hierarchical
   relationship between domains to select the optimum sequence of
   domains and optimum paths across those domains.</t>
      <t pn="section-abstract-2">
   This document defines extensions to the Path Computation Element
   Communication Protocol (PCEP) to support H-PCE procedures.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8685" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t pn="section-boilerplate.2-1">
            Copyright (c) 2019 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-scope">Scope</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" format="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.3">
                <t keepWithNext="true" pn="section-toc.1-1.1.2.3.1"><xref derivedContent="1.3" format="counter" sectionFormat="of" target="section-1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-for-the-h-pce-">Requirements for the H-PCE Architecture</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-path-computation-requests">Path Computation Requests</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2.1.2">
                  <li pn="section-toc.1-1.2.2.1.2.1">
                    <t keepWithNext="true" pn="section-toc.1-1.2.2.1.2.1.1"><xref derivedContent="2.1.1" format="counter" sectionFormat="of" target="section-2.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-qualification-of-pcep-reque">Qualification of PCEP Requests</xref></t>
                  </li>
                  <li pn="section-toc.1-1.2.2.1.2.2">
                    <t keepWithNext="true" pn="section-toc.1-1.2.2.1.2.2.1"><xref derivedContent="2.1.2" format="counter" sectionFormat="of" target="section-2.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multi-domain-objective-func">Multi-domain Objective Functions</xref></t>
                  </li>
                  <li pn="section-toc.1-1.2.2.1.2.3">
                    <t keepWithNext="true" pn="section-toc.1-1.2.2.1.2.3.1"><xref derivedContent="2.1.3" format="counter" sectionFormat="of" target="section-2.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multi-domain-metrics">Multi-domain Metrics</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-parent-pce-capability-adver">Parent PCE Capability Advertisement</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.3">
                <t keepWithNext="true" pn="section-toc.1-1.2.2.3.1"><xref derivedContent="2.3" format="counter" sectionFormat="of" target="section-2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pce-domain-identification">PCE Domain Identification</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.4">
                <t keepWithNext="true" pn="section-toc.1-1.2.2.4.1"><xref derivedContent="2.4" format="counter" sectionFormat="of" target="section-2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-domain-diversity">Domain Diversity</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-extensions">PCEP Extensions</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-applicability-to-pcc-pce-co">Applicability to PCC-PCE Communications</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-open-object">OPEN Object</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2">
                  <li pn="section-toc.1-1.3.2.2.2.1">
                    <t keepWithNext="true" pn="section-toc.1-1.3.2.2.2.1.1"><xref derivedContent="3.2.1" format="counter" sectionFormat="of" target="section-3.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-h-pce-capability-tlv">H-PCE-CAPABILITY TLV</xref></t>
                    <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2.1.2">
                      <li pn="section-toc.1-1.3.2.2.2.1.2.1">
                        <t keepWithNext="true" pn="section-toc.1-1.3.2.2.2.1.2.1.1"><xref derivedContent="3.2.1.1" format="counter" sectionFormat="of" target="section-3.2.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-backwards-compatibility">Backwards Compatibility</xref></t>
                      </li>
                    </ul>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.2">
                    <t keepWithNext="true" pn="section-toc.1-1.3.2.2.2.2.1"><xref derivedContent="3.2.2" format="counter" sectionFormat="of" target="section-3.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-domain-id-tlv">Domain-ID TLV</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rp-object">RP Object</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.3.2">
                  <li pn="section-toc.1-1.3.2.3.2.1">
                    <t keepWithNext="true" pn="section-toc.1-1.3.2.3.2.1.1"><xref derivedContent="3.3.1" format="counter" sectionFormat="of" target="section-3.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-h-pce-flag-tlv">H-PCE-FLAG TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.3.2.2">
                    <t keepWithNext="true" pn="section-toc.1-1.3.2.3.2.2.1"><xref derivedContent="3.3.2" format="counter" sectionFormat="of" target="section-3.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-domain-id-tlv-2">Domain-ID TLV</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.4">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-objective-functions">Objective Functions</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.4.2">
                  <li pn="section-toc.1-1.3.2.4.2.1">
                    <t keepWithNext="true" pn="section-toc.1-1.3.2.4.2.1.1"><xref derivedContent="3.4.1" format="counter" sectionFormat="of" target="section-3.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-of-codes">OF Codes</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.4.2.2">
                    <t keepWithNext="true" pn="section-toc.1-1.3.2.4.2.2.1"><xref derivedContent="3.4.2" format="counter" sectionFormat="of" target="section-3.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-of-object">OF Object</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.5">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.5.1"><xref derivedContent="3.5" format="counter" sectionFormat="of" target="section-3.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-metric-object">METRIC Object</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.6">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.6.1"><xref derivedContent="3.6" format="counter" sectionFormat="of" target="section-3.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-svec-object">SVEC Object</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.7">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.7.1"><xref derivedContent="3.7" format="counter" sectionFormat="of" target="section-3.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-error-object">PCEP-ERROR Object</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.7.2">
                  <li pn="section-toc.1-1.3.2.7.2.1">
                    <t keepWithNext="true" pn="section-toc.1-1.3.2.7.2.1.1"><xref derivedContent="3.7.1" format="counter" sectionFormat="of" target="section-3.7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hierarchical-pce-error-type">Hierarchical PCE Error-Type</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.8">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.8.1"><xref derivedContent="3.8" format="counter" sectionFormat="of" target="section-3.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-no-path-object">NO-PATH Object</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t keepWithNext="true" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-h-pce-procedures">H-PCE Procedures</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-open-procedure-between-chil">OPEN Procedure between Child PCE and Parent PCE</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-procedure-for-obtaining-the">Procedure for Obtaining the Domain Sequence</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t keepWithNext="true" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-error-handling">Error Handling</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t keepWithNext="true" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-manageability-consideration">Manageability Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-control-of-function-and-pol">Control of Function and Policy</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2.1.2">
                  <li pn="section-toc.1-1.6.2.1.2.1">
                    <t keepWithNext="true" pn="section-toc.1-1.6.2.1.2.1.1"><xref derivedContent="6.1.1" format="counter" sectionFormat="of" target="section-6.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-child-pce">Child PCE</xref></t>
                  </li>
                  <li pn="section-toc.1-1.6.2.1.2.2">
                    <t keepWithNext="true" pn="section-toc.1-1.6.2.1.2.2.1"><xref derivedContent="6.1.2" format="counter" sectionFormat="of" target="section-6.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-parent-pce">Parent PCE</xref></t>
                  </li>
                  <li pn="section-toc.1-1.6.2.1.2.3">
                    <t keepWithNext="true" pn="section-toc.1-1.6.2.1.2.3.1"><xref derivedContent="6.1.3" format="counter" sectionFormat="of" target="section-6.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-policy-control">Policy Control</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-information-and-data-models">Information and Data Models</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.3">
                <t keepWithNext="true" pn="section-toc.1-1.6.2.3.1"><xref derivedContent="6.3" format="counter" sectionFormat="of" target="section-6.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-liveness-detection-and-moni">Liveness Detection and Monitoring</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.4">
                <t keepWithNext="true" pn="section-toc.1-1.6.2.4.1"><xref derivedContent="6.4" format="counter" sectionFormat="of" target="section-6.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-verifying-correct-operation">Verifying Correct Operations</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.5">
                <t keepWithNext="true" pn="section-toc.1-1.6.2.5.1"><xref derivedContent="6.5" format="counter" sectionFormat="of" target="section-6.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-on-other-proto">Requirements on Other Protocols</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.6">
                <t keepWithNext="true" pn="section-toc.1-1.6.2.6.1"><xref derivedContent="6.6" format="counter" sectionFormat="of" target="section-6.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-impact-on-network-operation">Impact on Network Operations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t keepWithNext="true" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-tlv-type-indicators">PCEP TLV Type Indicators</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-h-pce-capability-tlv-flags">H-PCE-CAPABILITY TLV Flags</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.3">
                <t keepWithNext="true" pn="section-toc.1-1.7.2.3.1"><xref derivedContent="7.3" format="counter" sectionFormat="of" target="section-7.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-domain-id-tlv-domain-type">Domain-ID TLV Domain Type</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.4">
                <t keepWithNext="true" pn="section-toc.1-1.7.2.4.1"><xref derivedContent="7.4" format="counter" sectionFormat="of" target="section-7.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-h-pce-flag-tlv-flags">H-PCE-FLAG TLV Flags</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.5">
                <t keepWithNext="true" pn="section-toc.1-1.7.2.5.1"><xref derivedContent="7.5" format="counter" sectionFormat="of" target="section-7.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-of-codes-2">OF Codes</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.6">
                <t keepWithNext="true" pn="section-toc.1-1.7.2.6.1"><xref derivedContent="7.6" format="counter" sectionFormat="of" target="section-7.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-metric-object-types">METRIC Object Types</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.7">
                <t keepWithNext="true" pn="section-toc.1-1.7.2.7.1"><xref derivedContent="7.7" format="counter" sectionFormat="of" target="section-7.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-pcep-error-types-and-va">New PCEP Error-Types and Values</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.8">
                <t keepWithNext="true" pn="section-toc.1-1.7.2.8.1"><xref derivedContent="7.8" format="counter" sectionFormat="of" target="section-7.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-no-path-vector-tlv-bit-">New NO-PATH-VECTOR TLV Bit Flag</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.9">
                <t keepWithNext="true" pn="section-toc.1-1.7.2.9.1"><xref derivedContent="7.9" format="counter" sectionFormat="of" target="section-7.9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-svec-flag">SVEC Flag</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t keepWithNext="true" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t keepWithNext="true" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t keepWithNext="true" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t keepWithNext="true" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t keepWithNext="true" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="sec-1" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t pn="section-1-1">
   The Path Computation Element Communication Protocol (PCEP) provides
   a mechanism for Path Computation Elements (PCEs) and Path Computation
   Clients (PCCs) to exchange requests for path computation and
   responses that provide computed paths.</t>
      <t pn="section-1-2">
   The capability to compute the routes of end-to-end inter-domain MPLS
   Traffic Engineering (MPLS-TE) and GMPLS Label Switched Paths (LSPs)
   is expressed as requirements in <xref target="RFC4105" format="default" sectionFormat="of" derivedContent="RFC4105"/> and <xref target="RFC4216" format="default" sectionFormat="of" derivedContent="RFC4216"/>.  This
   capability may be realized by a PCE <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/>.  The methods for
   establishing and controlling inter-domain MPLS-TE and GMPLS LSPs are
   documented in <xref target="RFC4726" format="default" sectionFormat="of" derivedContent="RFC4726"/>.</t>
      <t pn="section-1-3"><xref target="RFC6805" format="default" sectionFormat="of" derivedContent="RFC6805"/> describes a Hierarchical Path Computation
   Element (H-PCE) architecture that can be used for computing end-to-end
   paths for inter-domain MPLS-TE and GMPLS LSPs.</t>
      <t pn="section-1-4">In the H-PCE architecture, the parent PCE is used to compute a
   multi-domain path based on the domain connectivity
   information.  A child PCE may be responsible for single or multiple
   domains and is used to compute the intra-domain path based on its
   own domain topology information.</t>
      <t pn="section-1-5">
   The H-PCE end-to-end domain path computation procedure is described
   below:

      </t>
      <ul spacing="normal" bare="false" empty="false" pn="section-1-6">
        <li pn="section-1-6.1">A PCC sends the inter-domain 
    Path Computation Request (PCReq) messages <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> to the
    child PCE responsible for its domain.</li>
        <li pn="section-1-6.2">The child PCE forwards the request to the parent PCE.</li>
        <li pn="section-1-6.3">The parent PCE computes the likely domain paths from the ingress
      domain to the egress domain.</li>
        <li pn="section-1-6.4">The parent PCE sends the intra-domain PCReq messages
      (between the domain border nodes) to the child PCEs that are
      responsible for the domains along the domain path.</li>
        <li pn="section-1-6.5">The child PCEs return the intra-domain paths to the parent PCE.</li>
        <li pn="section-1-6.6">The parent PCE constructs the end-to-end inter-domain path based
      on the intra-domain paths.</li>
        <li pn="section-1-6.7">The parent PCE returns the inter-domain path to the child PCE.</li>
        <li pn="section-1-6.8">The child PCE forwards the inter-domain path to the PCC.</li>
      </ul>
      <t pn="section-1-7">
   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) path computation
   <xref target="RFC5152" format="default" sectionFormat="of" derivedContent="RFC5152"/> and Backward-Recursive PCE-Based Computation (BRPC)
   <xref target="RFC5441" format="default" sectionFormat="of" derivedContent="RFC5441"/>, may be used.</t>
      <t pn="section-1-8">
   This document defines the PCEP extensions for the purpose of
   implementing H-PCE procedures, which are described in
   <xref target="RFC6805" format="default" sectionFormat="of" derivedContent="RFC6805"/>.</t>
      <section anchor="sec-1.1" numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-scope">Scope</name>
        <t pn="section-1.1-1">
   The following functions are out of scope for this document:

</t>
        <ul spacing="normal" bare="false" empty="false" pn="section-1.1-2">
          <li pn="section-1.1-2.1">
            <t pn="section-1.1-2.1.1">Determination of the destination domain (<xref target="RFC6805" sectionFormat="of" section="4.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6805#section-4.5" derivedContent="RFC6805"/>):
            </t>
            <ul spacing="normal" bare="false" empty="false" pn="section-1.1-2.1.2">
              <li pn="section-1.1-2.1.2.1">via a collection of reachability information from child domains,</li>
              <li pn="section-1.1-2.1.2.2">via requests to the child PCEs to discover if they contain the
    destination node, or</li>
              <li pn="section-1.1-2.1.2.3">via any other methods.</li>
            </ul>
          </li>
          <li pn="section-1.1-2.2">
            <t pn="section-1.1-2.2.1">Parent Traffic Engineering Database (TED) methods (<xref target="RFC6805" sectionFormat="of" section="4.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6805#section-4.4" derivedContent="RFC6805"/>), although suitable mechanisms include:
            </t>
            <ul spacing="normal" bare="false" empty="false" pn="section-1.1-2.2.2">
              <li pn="section-1.1-2.2.2.1">YANG-based management interfaces.</li>
              <li pn="section-1.1-2.2.2.2">BGP - Link State (BGP-LS) <xref target="RFC7752" format="default" sectionFormat="of" derivedContent="RFC7752"/>.</li>
              <li pn="section-1.1-2.2.2.3">Future extensions to PCEP (for example, see
        <xref target="I-D.dhodylee-pce-pcep-ls" format="default" sectionFormat="of" derivedContent="PCEP-LS"/>).</li>
            </ul>
          </li>
          <li pn="section-1.1-2.3">
            <t pn="section-1.1-2.3.1">Learning of domain connectivity and border node addresses.
    Methods to achieve this function include:
            </t>
            <ul spacing="normal" bare="false" empty="false" pn="section-1.1-2.3.2">
              <li pn="section-1.1-2.3.2.1">YANG-based management interfaces.</li>
              <li pn="section-1.1-2.3.2.2">BGP-LS <xref target="RFC7752" format="default" sectionFormat="of" derivedContent="RFC7752"/>.</li>
              <li pn="section-1.1-2.3.2.3">Future extensions to PCEP (for example, see
      <xref target="I-D.dhodylee-pce-pcep-ls" format="default" sectionFormat="of" derivedContent="PCEP-LS"/>).</li>
            </ul>
          </li>
          <li pn="section-1.1-2.4">Stateful PCE operations. (Refer to <xref target="I-D.ietf-pce-stateful-hpce" format="default" sectionFormat="of" derivedContent="STATEFUL-HPCE"/>.)</li>
          <li pn="section-1.1-2.5">
            <t pn="section-1.1-2.5.1">Applicability of the H-PCE model to large multi-domain
    environments.
            </t>
            <ul spacing="normal" bare="false" empty="false" pn="section-1.1-2.5.2">
              <li pn="section-1.1-2.5.2.1">The hierarchical relationship model is described in <xref target="RFC6805" format="default" sectionFormat="of" derivedContent="RFC6805"/>.  It is applicable to environments with small groups
      of domains where visibility from the ingress Label Switching Routers
      (LSRs) is limited.
  As highlighted in <xref target="RFC7399" format="default" sectionFormat="of" derivedContent="RFC7399"/>, applying
      the H-PCE model to very large groups of domains, such as the Internet,
      is not considered feasible or desirable.</li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="sec-1.2" numbered="true" toc="include" removeInRFC="false" pn="section-1.2">
        <name slugifiedName="name-terminology">Terminology</name>
        <t pn="section-1.2-1">
   This document uses the terminology defined in <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/> and
   <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, and the additional terms defined in
   <xref target="RFC6805" sectionFormat="of" section="1.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6805#section-1.4" derivedContent="RFC6805"/>.</t>
      </section>
      <section anchor="sec-1.3" numbered="true" toc="include" removeInRFC="false" pn="section-1.3">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t pn="section-1.3-1">The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>",
    "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>",
    "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
    to be interpreted as described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/>
          <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals,
    as shown here.</t>
      </section>
    </section>
    <section anchor="sec-2" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-requirements-for-the-h-pce-">Requirements for the H-PCE Architecture</name>
      <t pn="section-2-1">
   This section compiles the set of requirements for the PCEP extensions
   to support the H-PCE architecture and procedures.
   <xref target="RFC6805" format="default" sectionFormat="of" derivedContent="RFC6805"/> identifies high-level requirements for PCEP
   extensions that are required for supporting the H-PCE model.</t>
      <section anchor="sec-2.1" numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-path-computation-requests">Path Computation Requests</name>
        <t pn="section-2.1-1">
   The PCReq messages <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> are used by a PCC or a 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:

        </t>
        <ul spacing="normal" bare="false" empty="false" pn="section-2.1-2">
          <li pn="section-2.1-2.1">Qualification of PCE requests
    (<xref target="RFC6805" sectionFormat="of" section="4.8.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6805#section-4.8.1" derivedContent="RFC6805"/>).</li>
          <li pn="section-2.1-2.2">Multi-domain Objective Functions (OFs).</li>
          <li pn="section-2.1-2.3">Multi-domain metrics.</li>
        </ul>
        <section anchor="sec-2.1.1" numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1">
          <name slugifiedName="name-qualification-of-pcep-reque">Qualification of PCEP Requests</name>
          <t pn="section-2.1.1-1">
   As described in <xref target="RFC6805" sectionFormat="of" section="4.8.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6805#section-4.8.1" derivedContent="RFC6805"/>, the H-PCE
   architecture introduces new request qualifications, which are as follows:

          </t>
          <ul spacing="normal" bare="false" empty="false" pn="section-2.1.1-2">
            <li pn="section-2.1.1-2.1">The ability for a child PCE to indicate that a
   PCReq message sent 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 PD path computation per <xref target="RFC5152" format="default" sectionFormat="of" derivedContent="RFC5152"/> or a BRPC procedure <xref target="RFC5441" format="default" sectionFormat="of" derivedContent="RFC5441"/>.</li>
            <li pn="section-2.1.1-2.2">As stated in <xref target="RFC6805" sectionFormat="comma" section="4.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6805#section-4.5" derivedContent="RFC6805"/>, if a PCC knows
    the egress domain, it can supply this information as part of the PCReq
message.  The PCC may also want to specify the destination
    domain information in a PCEP request, if it is known.</li>
            <li pn="section-2.1.1-2.3">An inter-domain path computed by a parent PCE should be capable of
      disallowing re-entry into a specified domain.</li>
          </ul>
        </section>
        <section anchor="sec-2.1.2" numbered="true" toc="include" removeInRFC="false" pn="section-2.1.2">
          <name slugifiedName="name-multi-domain-objective-func">Multi-domain Objective Functions</name>
          <t pn="section-2.1.2-1">For H-PCE inter-domain path computation, there are three new
    OFs defined in this document:

          </t>
          <ul spacing="normal" bare="false" empty="false" pn="section-2.1.2-2">
            <li pn="section-2.1.2-2.1">Minimize the number of Transit Domains (MTD)</li>
            <li pn="section-2.1.2-2.2">Minimize the number of Border Nodes (MBN)</li>
            <li pn="section-2.1.2-2.3">Minimize the number of Common Transit Domains (MCTD)</li>
          </ul>
          <t pn="section-2.1.2-3">
   The PCC may specify the multi-domain OF code to
   use when requesting inter-domain path computation. It may also
   include intra-domain OFs, such as Minimum Cost Path (MCP) <xref target="RFC5541" format="default" sectionFormat="of" derivedContent="RFC5541"/>, which must be considered by participating child
   PCEs.</t>
        </section>
        <section anchor="sec-2.1.3" numbered="true" toc="include" removeInRFC="false" pn="section-2.1.3">
          <name slugifiedName="name-multi-domain-metrics">Multi-domain Metrics</name>
          <t pn="section-2.1.3-1">
   For inter-domain path computation, there are two path metrics of
   interest.</t>
          <ul spacing="normal" bare="false" empty="false" pn="section-2.1.3-2">
            <li pn="section-2.1.3-2.1">Domain Count (number of domains crossed).</li>
            <li pn="section-2.1.3-2.2">Border Node Count.</li>
          </ul>
          <t pn="section-2.1.3-3">
   A PCC may be able to limit the number of domains crossed by applying
   a limit on these metrics.  See <xref target="sec-3.4" format="default" sectionFormat="of" derivedContent="Section 3.4"/> for
   details.</t>
        </section>
      </section>
      <section anchor="sec-2.2" numbered="true" toc="include" removeInRFC="false" pn="section-2.2">
        <name slugifiedName="name-parent-pce-capability-adver">Parent PCE Capability Advertisement</name>
        <t pn="section-2.2-1">
   A PCEP speaker (parent PCE or child PCE) that supports and wishes
   to use the procedures described in this document must advertise
   this fact and negotiate its role with its PCEP peers. It does this
   using the "H-PCE Capability" TLV, as described in <xref target="sec-3.2.1" format="default" sectionFormat="of" derivedContent="Section 3.2.1"/>, in the OPEN object <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> to
   advertise its support for PCEP extensions for the H-PCE capability.</t>
        <t pn="section-2.2-2">
   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.</t>
      </section>
      <section anchor="sec-2.3" numbered="true" toc="include" removeInRFC="false" pn="section-2.3">
        <name slugifiedName="name-pce-domain-identification">PCE Domain Identification</name>
        <t pn="section-2.3-1">
   A PCE domain is a single domain with an associated PCE, although it
   is possible for a PCE to manage multiple domains simultaneously.  The
   PCE domain could be an IGP area or Autonomous System (AS).</t>
        <t pn="section-2.3-2">
   The PCE domain identifiers <bcp14>MAY</bcp14> be provided during the PCEP session
   establishment procedure.</t>
      </section>
      <section anchor="sec-2.4" numbered="true" toc="include" removeInRFC="false" pn="section-2.4">
        <name slugifiedName="name-domain-diversity">Domain Diversity</name>
        <t pn="section-2.4-1">"Domain diversity" in the context of a multi-domain environment
    is defined in <xref target="RFC6805" format="default" sectionFormat="of" derivedContent="RFC6805"/> and described as follows:
        </t>
        <blockquote pn="section-2.4-2">
     A pair of paths are domain-diverse if
     they do not transit any of the same domains.  A pair of paths that
     share a common ingress and egress are domain-diverse if they only
     share the same domains at the ingress and egress (the ingress and
     egress domains).  Domain diversity may be maximized for a pair of
     paths by selecting paths that have the smallest number of shared
     domains.
        </blockquote>
        <t pn="section-2.4-3">The main motivation behind domain diversity is to avoid
fate-sharing. However, domain diversity may also be requested to avoid
specific transit domains due to security, geopolitical, and commercial reasons.
  For
example, a pair of paths should choose different transit ASes because of
certain policy considerations.</t>
        <t pn="section-2.4-4">In the case when full domain diversity could not be achieved, it is
   helpful to minimize the commonly shared domains.  Also, it is
   interesting to note that other domain-diversity techniques (node, link,
   Shared Risk Link Group (SRLG), etc.) can still be applied inside the
   commonly shared domains.</t>
      </section>
    </section>
    <section anchor="sec-3" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-pcep-extensions">PCEP Extensions</name>
      <t pn="section-3-1">
   This section defines extensions to PCEP <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> to support
   the H-PCE procedures.</t>
      <section anchor="sec-3.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-applicability-to-pcc-pce-co">Applicability to PCC-PCE Communications</name>
        <t pn="section-3.1-1">
   Although the extensions defined in this document are intended
   primarily for use between a child PCE and a parent PCE, they are
   also applicable for communications between a PCC and its PCE.</t>
        <t pn="section-3.1-2">
   Thus, the information that may be encoded in a PCReq can be sent
   from a PCC towards the child PCE. This includes the
   Request Parameters (RP) object (<xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> and <xref target="sec-3.3" format="default" sectionFormat="of" derivedContent="Section 3.3"/>), the OF codes 
   (<xref target="sec-3.4.1" format="default" sectionFormat="of" derivedContent="Section 3.4.1"/>), and the OF object
   (<xref target="sec-3.4.2" format="default" sectionFormat="of" derivedContent="Section 3.4.2"/>). A PCC and a child PCE
   could also exchange the H-PCE capability (<xref target="sec-3.2.1" format="default" sectionFormat="of" derivedContent="Section 3.2.1"/>) during
   its session.</t>
        <t pn="section-3.1-3">
   This allows a PCC to request paths that transit multiple
   domains utilizing the capabilities defined in this document.</t>
      </section>
      <section anchor="sec-3.2" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-open-object">OPEN Object</name>
        <t pn="section-3.2-1">
   This document defines two new TLVs to be carried in an
   OPEN object.  This way, during the PCEP session establishment, the
   H-PCE capability and domain information can be advertised.</t>
        <section anchor="sec-3.2.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.1">
          <name slugifiedName="name-h-pce-capability-tlv">H-PCE-CAPABILITY TLV</name>
          <t pn="section-3.2.1-1">
   The H-PCE-CAPABILITY TLV is an optional TLV associated with the
   OPEN object <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> to exchange the H-PCE capability of
   PCEP speakers.</t>
          <t pn="section-3.2.1-2">Its format is shown in the following figure:</t>
          <figure anchor="ref-h-pce-capability-tlv-format" align="left" suppress-title="false" pn="figure-1">
            <name slugifiedName="name-h-pce-capability-tlv-format">H-PCE-CAPABILITY TLV Format</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.2.1-3.1">
 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=13         |            Length=4           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Flags                               |P|
+---------------------------------------------------------------+ </artwork>
          </figure>
          <t pn="section-3.2.1-4">The type of the TLV is 13, and it has a fixed length of
    4 octets.</t>
          <t pn="section-3.2.1-5">The value comprises a single field -- Flags (32 bits):</t>
          <ul empty="true" bare="false" spacing="normal" pn="section-3.2.1-6">
            <li pn="section-3.2.1-6.1">
              <dl newline="true" spacing="normal" pn="section-3.2.1-6.1.1">
                <dt pn="section-3.2.1-6.1.1.1">P (Parent PCE Request bit):</dt>
                <dd pn="section-3.2.1-6.1.1.2">If set, will signal that the child
    PCE wishes to use the peer PCE as a parent PCE.</dd>
              </dl>
            </li>
          </ul>
          <t pn="section-3.2.1-7">Unassigned bits <bcp14>MUST</bcp14> be set to 0 on transmission and <bcp14>MUST</bcp14> be ignored
   on receipt.</t>
          <t pn="section-3.2.1-8">The inclusion of this TLV in an OPEN object indicates that the H-PCE
   extensions are supported by the PCEP speaker.  The child PCE <bcp14>MUST</bcp14>
   include this TLV and set the P-flag.  The parent PCE <bcp14>MUST</bcp14> include
   this TLV and unset the P-flag.</t>
          <t pn="section-3.2.1-9">The setting of the P-flag (Parent PCE Request bit) would mean that
   the PCEP speaker wants the peer to be a parent PCE, so in the case
   of a PCC-to-child-PCE relationship, neither entity would set the
   P-flag.</t>
          <t pn="section-3.2.1-10">If both peers attempt to set the P-flag, then the session establishment
   <bcp14>MUST</bcp14> fail, and the PCEP speaker <bcp14>MUST</bcp14> respond with a PCErr message using
   Error-Type 1 (PCEP session establishment failure) as per <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.</t>
          <t pn="section-3.2.1-11">If the PCE understands the H-PCE PCReq message but did not
   advertise its H-PCE capability, it <bcp14>MUST</bcp14> send a PCErr message with
   Error-Type=28 (H-PCE Error) and Error-Value=1
   (H-PCE Capability not advertised).</t>
          <section anchor="sec-3.2.1.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.1.1">
            <name slugifiedName="name-backwards-compatibility">Backwards Compatibility</name>
            <t pn="section-3.2.1.1-1"><xref target="RFC5440" sectionFormat="of" section="7.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5440#section-7.1" derivedContent="RFC5440"/> specifies the following
   requirement: "Unrecognized TLVs <bcp14>MUST</bcp14> be ignored."</t>
            <t pn="section-3.2.1.1-2">The OPEN object <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> contains the necessary PCEP
    information between the PCE entities, including session information and PCE
    capabilities via TLVs (including if H-PCE is supported). If the PCE does
    not support this document but receives an Open message containing an OPEN
    object that includes an H-PCE-CAPABILITY TLV, it will ignore that TLV
    and continue to attempt to establish a PCEP session.
 However, it will not include
   the TLV in the Open message that it sends, so the H-PCE relationship
   will not be created.</t>
            <t pn="section-3.2.1.1-3">
   If a PCE does not support the extensions defined in this document but
   receives them in a PCEP message (notwithstanding the fact that the
   session was not established as supporting an H-PCE relationship), the
   receiving PCE will ignore the H-PCE related parameters because they
   are all encoded in TLVs in standard PCEP objects.</t>
          </section>
        </section>
        <section anchor="sec-3.2.2" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.2">
          <name slugifiedName="name-domain-id-tlv">Domain-ID TLV</name>
          <t pn="section-3.2.2-1">
   The Domain-ID TLV, when used in the OPEN object, identifies the
   domains served by the PCE.  The child PCE uses this mechanism to
   provide the domain information to the parent PCE.</t>
          <t pn="section-3.2.2-2">The Domain-ID TLV is defined below:</t>
          <figure anchor="ref-domain-id-tlv-format" align="left" suppress-title="false" pn="figure-2">
            <name slugifiedName="name-domain-id-tlv-format">Domain-ID TLV Format</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.2.2-3.1">
 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             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Domain Type   |                  Reserved                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
//                          Domain ID                          //
|                                                               | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ </artwork>
          </figure>
          <t pn="section-3.2.2-4">
   The type of the TLV is 14, and it has a variable Length of the value
   portion.  The value part comprises the following:

</t>
          <ul empty="true" bare="false" spacing="normal" pn="section-3.2.2-5">
            <li pn="section-3.2.2-5.1">
              <dl newline="false" spacing="normal" pn="section-3.2.2-5.1.1">
                <dt pn="section-3.2.2-5.1.1.1">Domain Type (8 bits):</dt>
                <dd pn="section-3.2.2-5.1.1.2">
                  <t pn="section-3.2.2-5.1.1.2.1">Indicates the domain type.  Four
         types of domains are currently defined:</t>
                  <dl newline="false" spacing="normal" indent="10" pn="section-3.2.2-5.1.1.2.2">
                    <dt pn="section-3.2.2-5.1.1.2.2.1">Type=1:</dt>
                    <dd pn="section-3.2.2-5.1.1.2.2.2">The Domain ID field carries a 2-byte AS number.
      Padded with trailing zeros to a 4-byte boundary.</dd>
                    <dt pn="section-3.2.2-5.1.1.2.2.3">Type=2:</dt>
                    <dd pn="section-3.2.2-5.1.1.2.2.4">The Domain ID field carries a 4-byte AS number.</dd>
                    <dt pn="section-3.2.2-5.1.1.2.2.5">Type=3:</dt>
                    <dd pn="section-3.2.2-5.1.1.2.2.6">The Domain ID field carries a 4-byte OSPF area ID.</dd>
                    <dt pn="section-3.2.2-5.1.1.2.2.7">Type=4:</dt>
                    <dd pn="section-3.2.2-5.1.1.2.2.8">The Domain ID field carries a 2-byte Area-Len and a
               variable-length IS-IS area ID.  Padded with trailing zeros to
               a 4-byte boundary.</dd>
                  </dl>
                </dd>
                <dt pn="section-3.2.2-5.1.1.3">Reserved:</dt>
                <dd pn="section-3.2.2-5.1.1.4">Zero at transmission; ignored on receipt.</dd>
                <dt pn="section-3.2.2-5.1.1.5">Domain ID (variable):</dt>
                <dd pn="section-3.2.2-5.1.1.6">Indicates an IGP area ID or AS number as
      per the Domain Type field.  It can be 2 bytes, 4 bytes, or
      variable length, depending on the domain identifier used.  It is
      padded with trailing zeros to a 4-byte boundary.  In the case of
      IS-IS, it includes the Area-Len as well.</dd>
              </dl>
            </li>
          </ul>
          <t pn="section-3.2.2-6">In the case where a PCE serves more than one domain, multiple
    Domain-ID TLVs are included for each domain it serves.</t>
        </section>
      </section>
      <section anchor="sec-3.3" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-rp-object">RP Object</name>
        <section anchor="sec-3.3.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.3.1">
          <name slugifiedName="name-h-pce-flag-tlv">H-PCE-FLAG TLV</name>
          <t pn="section-3.3.1-1">
   The H-PCE-FLAG TLV is an optional TLV associated with the RP object
   <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> to indicate the H-PCE PCReq message and
   options.</t>
          <t pn="section-3.3.1-2">Its format is shown in the following figure:</t>
          <figure anchor="ref-h-pce-flag-tlv-format" align="left" suppress-title="false" pn="figure-3">
            <name slugifiedName="name-h-pce-flag-tlv-format">H-PCE-FLAG TLV Format</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.3.1-3.1">
 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=15         |             Length=4          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Flags                             |D|S|
+---------------------------------------------------------------+ </artwork>
          </figure>
          <t pn="section-3.3.1-4">
   The type of the TLV is 15, and it has a fixed length of 4 octets.</t>
          <t pn="section-3.3.1-5"> The value comprises a single field -- Flags (32 bits):
</t>
          <ul empty="true" bare="false" spacing="normal" pn="section-3.3.1-6">
            <li pn="section-3.3.1-6.1">
              <dl newline="true" spacing="normal" pn="section-3.3.1-6.1.1">
                <dt pn="section-3.3.1-6.1.1.1">D (Disallow Domain Re-entry bit):</dt>
                <dd pn="section-3.3.1-6.1.1.2">If set, will signal that the
   computed path does not enter a domain more than once.</dd>
                <dt pn="section-3.3.1-6.1.1.3">S (Domain Sequence bit):</dt>
                <dd pn="section-3.3.1-6.1.1.4">If set, will signal that the child PCE
   wishes to get only the domain sequence in the 
   Path Computation Reply (PCRep) message <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.  Refer to
   <xref target="RFC7897" sectionFormat="of" section="3.7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7897#section-3.7" derivedContent="RFC7897"/> for details.</dd>
              </dl>
            </li>
          </ul>
          <t pn="section-3.3.1-7"> Unassigned bits <bcp14>MUST</bcp14> be set to 0 on transmission and <bcp14>MUST</bcp14> be ignored
   on receipt.</t>
          <t pn="section-3.3.1-8">
   The presence of the TLV indicates that the H-PCE-based path
   computation is requested as per this document.</t>
        </section>
        <section anchor="sec-3.3.2" numbered="true" toc="include" removeInRFC="false" pn="section-3.3.2">
          <name slugifiedName="name-domain-id-tlv-2">Domain-ID TLV</name>
          <t pn="section-3.3.2-1">
   The Domain-ID TLV, carried in an OPEN object, is used to indicate a
   managed domain (or a list of managed domains) and is described in <xref target="sec-3.2.2" format="default" sectionFormat="of" derivedContent="Section 3.2.2"/>. This TLV, when carried in an RP object,
   indicates the destination domain ID. If a PCC knows the egress domain, it
   can supply this information in the PCReq message.  <xref target="sec-3.2.2" format="default" sectionFormat="of" derivedContent="Section 3.2.2"/> also defines the format for this TLV and the
   procedure for using it.</t>
          <t pn="section-3.3.2-2">If a Domain-ID TLV is used in the RP object and the destination is
   not actually in the indicated domain, then the parent PCE should
   respond with a NO-PATH object and the NO-PATH-VECTOR TLV should be used.
   A new bit number is assigned to indicate "Destination is not found in the
   indicated domain" (see <xref target="sec-3.8" format="default" sectionFormat="of" derivedContent="Section 3.8"/>).</t>
        </section>
      </section>
      <section anchor="sec-3.4" numbered="true" toc="include" removeInRFC="false" pn="section-3.4">
        <name slugifiedName="name-objective-functions">Objective Functions</name>
        <section anchor="sec-3.4.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.4.1">
          <name slugifiedName="name-of-codes">OF Codes</name>
          <t pn="section-3.4.1-1"><xref target="RFC5541" format="default" sectionFormat="of" derivedContent="RFC5541"/> defines a mechanism to specify an
   OF that is used by a PCE when it computes a path.
   Three new OFs are defined for the H-PCE model; these are:</t>
          <ul spacing="normal" bare="false" empty="false" pn="section-3.4.1-2">
            <li pn="section-3.4.1-2.1">
              <t pn="section-3.4.1-2.1.1">MTD</t>
              <dl spacing="normal" newline="false" pn="section-3.4.1-2.1.2">
                <dt pn="section-3.4.1-2.1.2.1">Name:</dt>
                <dd pn="section-3.4.1-2.1.2.2">Minimize the number of Transit Domains (MTD)</dd>
                <dt pn="section-3.4.1-2.1.2.3">OF code:</dt>
                <dd pn="section-3.4.1-2.1.2.4">12</dd>
                <dt pn="section-3.4.1-2.1.2.5">Description:</dt>
                <dd pn="section-3.4.1-2.1.2.6">Find a path P such that it passes through the least
number of transit domains.</dd>
              </dl>
              <ul bare="false" empty="false" spacing="normal" pn="section-3.4.1-2.1.3">
                <li pn="section-3.4.1-2.1.3.1">
                  <t pn="section-3.4.1-2.1.3.1.1">OFs are formulated using the following
       terminology:</t>
                  <ul spacing="normal" bare="false" empty="false" pn="section-3.4.1-2.1.3.1.2">
                    <li pn="section-3.4.1-2.1.3.1.2.1">A network comprises a set of N domains {Di, (i=1...N)}.</li>
                    <li pn="section-3.4.1-2.1.3.1.2.2">A path P passes through K unique domains {Dpi, (i=1...K)}.</li>
                    <li pn="section-3.4.1-2.1.3.1.2.3">Find a path P such that the value of K is minimized.</li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
          <ul spacing="normal" bare="false" empty="false" pn="section-3.4.1-3">
            <li pn="section-3.4.1-3.1">
              <t pn="section-3.4.1-3.1.1">MBN</t>
              <dl spacing="normal" newline="false" pn="section-3.4.1-3.1.2">
                <dt pn="section-3.4.1-3.1.2.1">Name:</dt>
                <dd pn="section-3.4.1-3.1.2.2">Minimize the number of Border Nodes (MBN)</dd>
                <dt pn="section-3.4.1-3.1.2.3">OF code:</dt>
                <dd pn="section-3.4.1-3.1.2.4">13</dd>
                <dt pn="section-3.4.1-3.1.2.5">Description:</dt>
                <dd pn="section-3.4.1-3.1.2.6">Find a path P such that it passes through the least
number of border nodes.</dd>
              </dl>
              <ul bare="false" empty="false" spacing="normal" pn="section-3.4.1-3.1.3">
                <li pn="section-3.4.1-3.1.3.1">
                  <t pn="section-3.4.1-3.1.3.1.1">OFs are formulated using the following terminology:</t>
                  <ul spacing="normal" bare="false" empty="false" pn="section-3.4.1-3.1.3.1.2">
                    <li pn="section-3.4.1-3.1.3.1.2.1">A network comprises a set of N links {Li, (i=1...N)}.</li>
                    <li pn="section-3.4.1-3.1.3.1.2.2">A path P is a list of K links {Lpi, (i=1...K)}.</li>
                    <li pn="section-3.4.1-3.1.3.1.2.3">D(Lpi) is a function that determines if the links Lpi and
           Lpi+1 belong to different domains. D(Li) = 1 if link Li and
           Li+1 belong to different domains; D(Lk) = 0 if link Lk and
           Lk+1 belong to the same domain.</li>
                    <li pn="section-3.4.1-3.1.3.1.2.4">The number of border nodes in a path P is denoted by B(P),
           where B(P) = sum{D(Lpi), (i=1...K-1)}.</li>
                    <li pn="section-3.4.1-3.1.3.1.2.5">Find a path P such that B(P) is minimized.</li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
          <t pn="section-3.4.1-4">There is one OF that applies to a set of
   synchronized PCReq messages to increase the domain diversity:
          </t>
          <ul spacing="normal" bare="false" empty="false" pn="section-3.4.1-5">
            <li pn="section-3.4.1-5.1">
              <t pn="section-3.4.1-5.1.1">MCTD</t>
              <dl spacing="normal" newline="false" pn="section-3.4.1-5.1.2">
                <dt pn="section-3.4.1-5.1.2.1">Name:</dt>
                <dd pn="section-3.4.1-5.1.2.2">Minimize the number of Common Transit Domains (MCTD)</dd>
                <dt pn="section-3.4.1-5.1.2.3">OF code:</dt>
                <dd pn="section-3.4.1-5.1.2.4">14</dd>
                <dt pn="section-3.4.1-5.1.2.5">Description:</dt>
                <dd pn="section-3.4.1-5.1.2.6">Find a set of paths such that it passes through the
least number of common transit domains.</dd>
              </dl>
              <ul spacing="normal" bare="false" empty="false" pn="section-3.4.1-5.1.3">
                <li pn="section-3.4.1-5.1.3.1">A network comprises a set of N domains {Di, (i=1...N)}.</li>
                <li pn="section-3.4.1-5.1.3.2">A path P passes through K unique domains {Dpi, (i=1...K)}.</li>
                <li pn="section-3.4.1-5.1.3.3">A set of paths {P1...Pm} has L transit domains that are
       common to more than one path {Dpi, (i=1...L)}.</li>
                <li pn="section-3.4.1-5.1.3.4">Find a set of paths such that the value of L is minimized.</li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="sec-3.4.2" numbered="true" toc="include" removeInRFC="false" pn="section-3.4.2">
          <name slugifiedName="name-of-object">OF Object</name>
          <t pn="section-3.4.2-1">
   The OF object <xref target="RFC5541" format="default" sectionFormat="of" derivedContent="RFC5541"/> is carried in a
   PCReq message so as to indicate the desired/required OF
   to be applied by the PCE during path computation.  As per
   <xref target="RFC5541" sectionFormat="of" section="3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5541#section-3.2" derivedContent="RFC5541"/>, a single OF object may be
   included in a PCReq message.</t>
          <t pn="section-3.4.2-2">The new OF codes described in <xref target="sec-3.4.1" format="default" sectionFormat="of" derivedContent="Section 3.4.1"/> are
   applicable to the inter-domain path computation performed by the parent
   PCE. It is also necessary to specify the OF code that may be applied for the
   intra-domain path computation performed by the child PCE.  To
   accommodate this, the OF-List TLV (described in <xref target="RFC5541" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5541#section-2.1" derivedContent="RFC5541"/>) is included in the OF object as an
   optional TLV.</t>
          <t pn="section-3.4.2-3">The OF-List TLV allows the encoding of multiple OF codes.  When this TLV
   is included inside the OF object, only the first OF code in the
   OF-List TLV is considered.  The parent PCE <bcp14>MUST</bcp14> use this OF code in
   the OF object when sending the intra-domain PCReq message
   to the child PCE. If the OF-List TLV is included in the OF object,
   the OF code inside the OF object <bcp14>MUST</bcp14> include one of the H-PCE
   OFs defined in this document. The OF code inside the
   OF-List TLV <bcp14>MUST NOT</bcp14> include an H-PCE OF. If this
   condition is not met, the PCEP speaker <bcp14>MUST</bcp14> respond with a PCErr
   message with Error-Type=10 (Reception of an invalid object) and
   Error-Value=23 (Incompatible OF codes in H-PCE).</t>
          <t pn="section-3.4.2-4">If the OFs defined in this document are unknown or
   unsupported by a PCE, then the procedure as defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> is followed.</t>
        </section>
      </section>
      <section anchor="sec-3.5" numbered="true" toc="include" removeInRFC="false" pn="section-3.5">
        <name slugifiedName="name-metric-object">METRIC Object</name>
        <t pn="section-3.5-1">
   The METRIC object is defined in <xref target="RFC5440" sectionFormat="of" section="7.8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5440#section-7.8" derivedContent="RFC5440"/>
   and is comprised of the metric-value field, the metric type (the T field),
   and flags (the Flags field).  This document defines the following types for
   the METRIC object for the H-PCE model:

        </t>
        <ul empty="true" bare="false" spacing="normal" pn="section-3.5-2">
          <li pn="section-3.5-2.1">
            <dl newline="false" spacing="normal" pn="section-3.5-2.1.1">
              <dt pn="section-3.5-2.1.1.1">T=20:</dt>
              <dd pn="section-3.5-2.1.1.2">Domain Count metric (number of domains crossed).</dd>
              <dt pn="section-3.5-2.1.1.3">T=21:</dt>
              <dd pn="section-3.5-2.1.1.4">Border Node Count metric (number of border nodes crossed).</dd>
            </dl>
          </li>
        </ul>
        <t pn="section-3.5-3">The Domain Count metric type of the METRIC object encodes the number
   of domains crossed in the path.  The Border Node Count metric type of
   the METRIC object encodes the number of border nodes in the path. If
   a domain is re-entered, then the domain should be double counted.</t>
        <t pn="section-3.5-4">A PCC or child PCE <bcp14>MAY</bcp14> use the metric in a PCReq message for an
   inter-domain path computation, meeting the requirement for the number of
   domains or border nodes being crossed. As per <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, in
   this case, the B-bit is set to suggest a bound (a maximum) for the
   metric that must not be exceeded for the PCC to consider the computed path
   acceptable.</t>
        <t pn="section-3.5-5">A PCC or child PCE <bcp14>MAY</bcp14> also use this metric to ask the PCE to
   optimize the metric during inter-domain path computation.  In this
   case, the B-flag is cleared, and the C-flag is set.</t>
        <t pn="section-3.5-6">The parent PCE <bcp14>MAY</bcp14> use the metric in a PCRep message along with a
   NO-PATH object in the case where the PCE cannot compute a path that
   meets this constraint.  A PCE <bcp14>MAY</bcp14> also use this metric to send the computed
   end-to-end metric value in a reply message.</t>
      </section>
      <section anchor="sec-3.6" numbered="true" toc="include" removeInRFC="false" pn="section-3.6">
        <name slugifiedName="name-svec-object">SVEC Object</name>
        <t pn="section-3.6-1"><xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> defines the Synchronization Vector (SVEC) object,
   which includes flags for the potential dependency between the set of 
   PCReq messages (Link, Node, and SRLG diverse).  This document defines
   a new flag (the O-bit) for domain diversity.</t>
        <t pn="section-3.6-2">The following new bit is added to the Flags field:

        </t>
        <ul empty="true" bare="false" spacing="normal" pn="section-3.6-3">
          <li pn="section-3.6-3.1">
            <dl newline="true" spacing="normal" pn="section-3.6-3.1.1">
              <dt pn="section-3.6-3.1.1.1">Domain Diverse O-bit - 18:</dt>
              <dd pn="section-3.6-3.1.1.2">When set, this indicates that the
     computed paths corresponding to the requests specified by
     any RP objects that might be provided <bcp14>MUST NOT</bcp14> have any transit domains in common.</dd>
            </dl>
          </li>
        </ul>
        <t pn="section-3.6-4">The Domain Diverse O-bit can be used in H-PCE path
   computation to compute synchronized domain-diverse end-to-end
   paths or diverse domain sequences.</t>
        <t pn="section-3.6-5">When the Domain Diverse O-bit is set, it is applied to the transit
   domains.  The other bit in SVEC object L (Link diverse),
   N (Node diverse), S (SRLG diverse), etc. <bcp14>MAY</bcp14> be set
   and <bcp14>MUST</bcp14> still be applied in the ingress and egress shared domain.</t>
      </section>
      <section anchor="sec-3.7" numbered="true" toc="include" removeInRFC="false" pn="section-3.7">
        <name slugifiedName="name-pcep-error-object">PCEP-ERROR Object</name>
        <section anchor="sec-3.7.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.7.1">
          <name slugifiedName="name-hierarchical-pce-error-type">Hierarchical PCE Error-Type</name>
          <t pn="section-3.7.1-1">A new PCEP Error-Type <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> is used for the H-PCE
   extension as defined below:</t>
          <table anchor="tab-1" align="center" pn="table-1">
            <name slugifiedName="name-h-pce-error">H-PCE Error</name>
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Error-Type</th>
                <th align="left" colspan="1" rowspan="1">Meaning</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">28</td>
                <td align="left" colspan="1" rowspan="1">
                  <t pn="section-3.7.1-2.2.1.2.1">H-PCE Error</t>
                  <ul spacing="normal" empty="true" bare="false" pn="section-3.7.1-2.2.1.2.2">
                    <li pn="section-3.7.1-2.2.1.2.2.1">Error-Value=1: H-PCE Capability not advertised</li>
                    <li pn="section-3.7.1-2.2.1.2.2.2">Error-Value=2: Parent PCE Capability cannot be provided</li>
                  </ul>
                </td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="sec-3.8" numbered="true" toc="include" removeInRFC="false" pn="section-3.8">
        <name slugifiedName="name-no-path-object">NO-PATH Object</name>
        <t pn="section-3.8-1">
   To communicate the reason(s) for not being able to find a multi-domain
   path or domain sequence, the NO-PATH object can be used in the PCRep
   message.  <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> defines the format of the NO-PATH
   object.  The object may contain a NO-PATH-VECTOR TLV to provide additional
   information about why a path computation has failed.</t>
        <t pn="section-3.8-2">
   This document defines four new bit flags in the "NO-PATH-VECTOR TLV Flag
   Field" subregistry.  These flags are to be carried in the Flags field
   in the NO-PATH-VECTOR TLV carried in the NO-PATH object.  
        </t>
        <ul empty="true" bare="false" spacing="normal" pn="section-3.8-3">
          <li pn="section-3.8-3.1">
            <dl newline="false" spacing="normal" indent="16" pn="section-3.8-3.1.1">
              <dt pn="section-3.8-3.1.1.1">Bit number 22:</dt>
              <dd pn="section-3.8-3.1.1.2">When set, the parent PCE indicates that the
     destination domain is unknown.</dd>
              <dt pn="section-3.8-3.1.1.3">Bit number 21:</dt>
              <dd pn="section-3.8-3.1.1.4">When set, the parent PCE indicates that one or more
     child PCEs are unresponsive.</dd>
              <dt pn="section-3.8-3.1.1.5">Bit number 20:</dt>
              <dd pn="section-3.8-3.1.1.6">When set, the parent PCE indicates that no
     resources are available in one or more domains.</dd>
              <dt pn="section-3.8-3.1.1.7">Bit number 19:</dt>
              <dd pn="section-3.8-3.1.1.8">When set, the parent PCE indicates that
     the destination is not found in the indicated domain.</dd>
            </dl>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="sec-4" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-h-pce-procedures">H-PCE Procedures</name>
      <t pn="section-4-1">The H-PCE path computation procedure is described in <xref target="RFC6805" format="default" sectionFormat="of" derivedContent="RFC6805"/>.</t>
      <section anchor="sec-4.1" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-open-procedure-between-chil">OPEN Procedure between Child PCE and Parent PCE</name>
        <t pn="section-4.1-1">If a child PCE wants to use the peer PCE as a parent, it <bcp14>MUST</bcp14> set the
   P-flag (Parent PCE Request flag) in the H-PCE-CAPABILITY TLV inside the
   OPEN object carried in the Open message during the PCEP session
   initialization procedure.</t>
        <t pn="section-4.1-2">The child PCE <bcp14>MAY</bcp14> also report its list of domain IDs to the parent
   PCE by specifying them in the Domain-ID TLVs in the OPEN object.
   This object is carried in the Open message during the PCEP session
   initialization procedure.</t>
        <t pn="section-4.1-3">The OF codes defined in this document can be carried in the OF-List
   TLV of the OPEN object.  If the OF-List TLV carries the OF codes, it
   means that the PCE is capable of implementing the corresponding
   OFs.  This information can be used for selecting a
   proper parent PCE when a child PCE wants to get a path that satisfies
   a certain OF.</t>
        <t pn="section-4.1-4">When a child PCE sends a PCReq to a peer PCE that requires parental
 activity and the H-PCE-CAPABILITY TLV but these items were not
 taken into account in the session establishment procedure described
 above, the peer PCE <bcp14>SHOULD</bcp14> send a PCErr message to the child PCE and
 <bcp14>MUST</bcp14> specify Error-Type=28 (H-PCE Error) and Error-Value=1
 (H-PCE Capability not advertised) in the PCEP-ERROR object.</t>
        <t pn="section-4.1-5">When a specific child PCE sends a PCReq to a peer PCE that requires
   parental activity and the peer PCE does not want to act as the parent
   for it, the peer PCE <bcp14>SHOULD</bcp14> send a PCErr message to the child PCE and
   <bcp14>MUST</bcp14> specify Error-Type=28 (H-PCE Error) and Error-Value=2
   (Parent PCE Capability cannot be provided) in the PCEP-ERROR object.</t>
      </section>
      <section anchor="sec-4.2" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-procedure-for-obtaining-the">Procedure for Obtaining the Domain Sequence</name>
        <t pn="section-4.2-1">If a child PCE only wants to get the domain sequence for a
   multi-domain path computation from a parent PCE, it can set the Domain
   Path Request bit in the H-PCE-FLAG TLV in the RP object carried in a PCReq
   message. The parent PCE that receives the PCReq message tries to compute
   a domain sequence for it (instead of the end-to-end path). If the domain
   path computation succeeds, the parent PCE sends a PCRep message that
   carries the domain sequence in the Explicit Route Object (ERO) to the child
   PCE. Refer to <xref target="RFC7897" format="default" sectionFormat="of" derivedContent="RFC7897"/> for more details about domain
   subobjects in the ERO. Otherwise, it sends a PCReq message that carries
   the NO-PATH object to the child PCE.</t>
      </section>
    </section>
    <section anchor="sec-5" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-error-handling">Error Handling</name>
      <t pn="section-5-1">A PCE that is capable of acting as a parent PCE might not be
   configured or willing to act as the parent for a specific child PCE.
   When the child PCE sends a PCReq that requires parental activity,
   a negative response in the form of a PCEP Error (PCErr) message 
   that includes H-PCE Error-Type=28 (H-PCE Error) and
   an applicable Error-Value (<xref target="sec-3.7" format="default" sectionFormat="of" derivedContent="Section 3.7"/>) might result.
      </t>
      <t pn="section-5-2">Additionally, the parent PCE may fail to find the multi-domain path
   or domain sequence for one or more of the following reasons:

      </t>
      <ul spacing="normal" bare="false" empty="false" pn="section-5-3">
        <li pn="section-5-3.1">A child PCE cannot find a suitable path to the
    egress.</li>
        <li pn="section-5-3.2">The parent PCE does not hear from a child PCE for a specified
      time.</li>
        <li pn="section-5-3.3">The OFs specified in the path request cannot
    be met.</li>
      </ul>
      <t pn="section-5-4">In this case, the parent PCE <bcp14>MAY</bcp14> need to send a negative PCRep message
   specifying the reason for the failure.  This can be
   achieved by including the NO-PATH object in the PCRep message. 
   An extension to the NO-PATH object is needed in order to include the
   reasons defined in <xref target="sec-3.8" format="default" sectionFormat="of" derivedContent="Section 3.8"/>.</t>
    </section>
    <section anchor="sec-6" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-manageability-consideration">Manageability Considerations</name>
      <t pn="section-6-1">
   General PCE and PCEP management/manageability considerations are discussed
   in <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/> and <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.  There are
   additional management considerations for the H-PCE model; these are
   described in <xref target="RFC6805" format="default" sectionFormat="of" derivedContent="RFC6805"/> and repeated in this section.</t>
      <t pn="section-6-2">
   The administrative entity responsible for the management of the
   parent PCEs must be determined for the following cases:

      </t>
      <ul spacing="normal" bare="false" empty="false" pn="section-6-3">
        <li pn="section-6-3.1">Multiple domains (e.g., IGP areas or multiple
    ASes) in a single service provider network. The management responsibility
    for the parent PCE would most likely be handled by the service
    provider.</li>
        <li pn="section-6-3.2">Multiple ASes in different service provider networks. It may
      be necessary for a third party to manage the parent PCEs according
      to commercial and policy agreements from each of the participating
      service providers.</li>
      </ul>
      <section anchor="sec-6.1" numbered="true" toc="include" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-control-of-function-and-pol">Control of Function and Policy</name>
        <t pn="section-6.1-1">Control of H-PCE function will need to be carefully managed via
   configuration and interaction policies, which may be controlled via a policy
   module on the H-PCE. 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.</t>
        <t pn="section-6.1-2">
   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).</t>
        <t pn="section-6.1-3">
   Discovery of the relationships between parent PCEs and child PCEs
   does not form part of the H-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.  The specific behavior of
   the child and parent PCEs is described in the following subsections.</t>
        <section anchor="sec-6.1.1" numbered="true" toc="include" removeInRFC="false" pn="section-6.1.1">
          <name slugifiedName="name-child-pce">Child PCE</name>
          <t pn="section-6.1.1-1">
   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.</t>
        </section>
        <section anchor="sec-6.1.2" numbered="true" toc="include" removeInRFC="false" pn="section-6.1.2">
          <name slugifiedName="name-parent-pce">Parent PCE</name>
          <t pn="section-6.1.2-1">
   The parent PCE <bcp14>MUST</bcp14> only accept PCReq messages from
   authorized child PCEs.  If a parent PCE receives requests from an
   unauthorized child PCE, the request <bcp14>SHOULD</bcp14> be dropped.  This means
   that a parent PCE <bcp14>MUST</bcp14> be able to cryptographically authenticate
   requests from child PCEs.</t>
          <t pn="section-6.1.2-2">Multi-party shared key authentication schemes are not recommended for
   inter-domain relationships because of (1) the potential for
   impersonation and repudiation and (2) operational difficulties should
   revocation be required.</t>
          <t pn="section-6.1.2-3">The choice of authentication schemes to employ may be left to
   implementers of the H-PCE architecture and are not discussed further in
   this document.</t>
        </section>
        <section anchor="sec-6.1.3" numbered="true" toc="include" removeInRFC="false" pn="section-6.1.3">
          <name slugifiedName="name-policy-control">Policy Control</name>
          <t pn="section-6.1.3-1">It may be necessary to maintain H-PCE policy <xref target="RFC5394" format="default" sectionFormat="of" derivedContent="RFC5394"/>
   via a policy control module on the parent PCE.
   This would allow the parent PCE to apply
   commercially relevant constraints such as SLAs, security, peering
   preferences, and monetary costs.</t>
          <t pn="section-6.1.3-2">
   It may also be necessary for the parent PCE to limit the
   end-to-end path selection by including or excluding specific domains
   based on commercial relationships, security implications, and
   reliability.</t>
        </section>
      </section>
      <section anchor="sec-6.2" numbered="true" toc="include" removeInRFC="false" pn="section-6.2">
        <name slugifiedName="name-information-and-data-models">Information and Data Models</name>
        <t pn="section-6.2-1"><xref target="RFC7420" format="default" sectionFormat="of" derivedContent="RFC7420"/> provides a MIB module for PCEP and describes
   managed objects for the modeling of PCEP communication.  A
   YANG module for PCEP has also been proposed <xref target="PCEP-YANG" format="default" sectionFormat="of" derivedContent="PCEP-YANG"/>.</t>
        <t pn="section-6.2-2">An H-PCE MIB module or an additional data model will also be
   required for reporting parent PCE and child PCE information, including:

        </t>
        <ul spacing="normal" bare="false" empty="false" pn="section-6.2-3">
          <li pn="section-6.2-3.1">parent PCE configuration and status,</li>
          <li pn="section-6.2-3.2">child PCE configuration and information,</li>
          <li pn="section-6.2-3.3">notifications to indicate session changes between parent PCEs and
      child PCEs, and</li>
          <li pn="section-6.2-3.4">notification of parent PCE TED updates and changes.</li>
        </ul>
      </section>
      <section anchor="sec-6.3" numbered="true" toc="include" removeInRFC="false" pn="section-6.3">
        <name slugifiedName="name-liveness-detection-and-moni">Liveness Detection and Monitoring</name>
        <t pn="section-6.3-1">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 the failure must be reported.</t>
      </section>
      <section anchor="sec-6.4" numbered="true" toc="include" removeInRFC="false" pn="section-6.4">
        <name slugifiedName="name-verifying-correct-operation">Verifying Correct Operations</name>
        <t pn="section-6.4-1">
   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 at the parent PCE:

        </t>
        <ul spacing="normal" bare="false" empty="false" pn="section-6.4-2">
          <li pn="section-6.4-2.1">number of child PCE requests,</li>
          <li pn="section-6.4-2.2">number of successful H-PCE procedure completions on a
      per-PCE-peer basis,</li>
          <li pn="section-6.4-2.3">number of H-PCE procedure-completion failures on a per-PCE-peer basis,
    and</li>
          <li pn="section-6.4-2.4">number of H-PCE procedure requests from unauthorized child PCEs.</li>
        </ul>
      </section>
      <section anchor="sec-6.5" numbered="true" toc="include" removeInRFC="false" pn="section-6.5">
        <name slugifiedName="name-requirements-on-other-proto">Requirements on Other Protocols</name>
        <t pn="section-6.5-1">
   Mechanisms defined in this document do not imply any new requirements
   on other protocols.</t>
      </section>
      <section anchor="sec-6.6" numbered="true" toc="include" removeInRFC="false" pn="section-6.6">
        <name slugifiedName="name-impact-on-network-operation">Impact on Network Operations</name>
        <t pn="section-6.6-1">
   The H-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.</t>
      </section>
    </section>
    <section anchor="sec-7" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t pn="section-7-1">
   IANA maintains the "Path Computation Element Protocol (PCEP) Numbers"
   registry. IANA has allocated code points for the protocol elements
   defined in this document.</t>
      <section anchor="sec-7.1" numbered="true" toc="include" removeInRFC="false" pn="section-7.1">
        <name slugifiedName="name-pcep-tlv-type-indicators">PCEP TLV Type Indicators</name>
        <t pn="section-7.1-1">IANA maintains the "PCEP TLV Type Indicators"
   subregistry (see <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>) within the
	"Path Computation Element Protocol (PCEP) Numbers" registry.</t>
        <t pn="section-7.1-2">IANA has allocated the following three new PCEP TLVs:</t>
        <table anchor="tab-2" align="center" pn="table-2">
          <name slugifiedName="name-new-pcep-tlvs">New PCEP TLVs</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Type</th>
              <th align="left" colspan="1" rowspan="1">TLV Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">13</td>
              <td align="left" colspan="1" rowspan="1">H-PCE-CAPABILITY</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">14</td>
              <td align="left" colspan="1" rowspan="1">Domain-ID</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">15</td>
              <td align="left" colspan="1" rowspan="1">H-PCE-FLAG</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-7.2" numbered="true" toc="include" removeInRFC="false" pn="section-7.2">
        <name slugifiedName="name-h-pce-capability-tlv-flags">H-PCE-CAPABILITY TLV Flags</name>
        <t pn="section-7.2-1">IANA has created the "H-PCE-CAPABILITY TLV Flag Field" subregistry 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.</t>
        <t pn="section-7.2-2">New values are assigned by Standards Action <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.  Each registered bit should include the following information:
        </t>
        <ul spacing="normal" bare="false" empty="false" pn="section-7.2-3">
          <li pn="section-7.2-3.1">Bit number (counting from bit 0 as the most
    significant bit)</li>
          <li pn="section-7.2-3.2">Capability description</li>
          <li pn="section-7.2-3.3">Defining RFC</li>
        </ul>
        <t pn="section-7.2-4">The following value is defined in this document:</t>
        <table anchor="tab-3" align="center" pn="table-3">
          <name slugifiedName="name-parent-pce-request-bit">Parent PCE Request Bit</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">31</td>
              <td align="left" colspan="1" rowspan="1">P (Parent PCE Request bit)</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-7.3" numbered="true" toc="include" removeInRFC="false" pn="section-7.3">
        <name slugifiedName="name-domain-id-tlv-domain-type">Domain-ID TLV Domain Type</name>
        <t pn="section-7.3-1">
   IANA has created the "Domain-ID TLV Domain Type" subregistry
   within the "Path Computation Element Protocol (PCEP)
   Numbers" registry to manage the Domain Type field of
   the Domain-ID TLV. The allocation policy for this new subregistry is
   IETF Review <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.</t>
        <t pn="section-7.3-2">The following values are defined in this document:</t>
        <table anchor="tab-4" align="center" pn="table-4">
          <name slugifiedName="name-parameters-for-domain-id-tl">Parameters for Domain-ID TLV Domain Type</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">2-byte AS number</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">4-byte AS number</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3</td>
              <td align="left" colspan="1" rowspan="1">4-byte OSPF area ID</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">Variable-length IS-IS area ID</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">5-255</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-7.4" numbered="true" toc="include" removeInRFC="false" pn="section-7.4">
        <name slugifiedName="name-h-pce-flag-tlv-flags">H-PCE-FLAG TLV Flags</name>
        <t pn="section-7.4-1">
   IANA has created the "H-PCE-FLAG TLV Flag Field" subregistry within the
   "Path Computation Element Protocol (PCEP) Numbers" registry to manage the Flag field in the
   H-PCE-FLAG TLV of the PCEP RP object.
   New values are to be assigned by Standards Action <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.  Each registered bit should include the following
   information: 
        </t>
        <ul spacing="normal" bare="false" empty="false" pn="section-7.4-2">
          <li pn="section-7.4-2.1">Bit number (counting from bit 0 as the most
    significant bit)</li>
          <li pn="section-7.4-2.2">Capability description</li>
          <li pn="section-7.4-2.3">Defining RFC</li>
        </ul>
        <t pn="section-7.4-3">The following values are defined in this document:</t>
        <table anchor="tab-5" align="center" pn="table-5">
          <name slugifiedName="name-new-h-pce-flag-tlv-flag-fie">New H-PCE-FLAG TLV Flag Field Entries</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">30</td>
              <td align="left" colspan="1" rowspan="1">D (Disallow Domain Re-entry bit)</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">31</td>
              <td align="left" colspan="1" rowspan="1">S (Domain Sequence bit)</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-7.5" numbered="true" toc="include" removeInRFC="false" pn="section-7.5">
        <name slugifiedName="name-of-codes-2">OF Codes</name>
        <t pn="section-7.5-1">
   IANA maintains a list of OFs (described in
   <xref target="RFC5541" format="default" sectionFormat="of" derivedContent="RFC5541"/>) in the "Objective Function"
   subregistry within the "Path Computation Element Protocol (PCEP) Numbers" registry.</t>
        <t pn="section-7.5-2">IANA has allocated the following OFs:</t>
        <table anchor="tab-6" align="center" pn="table-6">
          <name slugifiedName="name-new-of-codes">New OF Codes</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Code Point</th>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">12</td>
              <td align="left" colspan="1" rowspan="1">Minimize the number of Transit Domains (MTD)</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">13</td>
              <td align="left" colspan="1" rowspan="1">Minimize the number of Border Nodes (MBN)</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">14</td>
              <td align="left" colspan="1" rowspan="1">Minimize the number of Common Transit Domains (MCTD)</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-7.6" numbered="true" toc="include" removeInRFC="false" pn="section-7.6">
        <name slugifiedName="name-metric-object-types">METRIC Object Types</name>
        <t pn="section-7.6-1">
   IANA maintains the "METRIC Object T Field" subregistry <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> within the "Path
   Computation Element Protocol (PCEP) Numbers" registry. </t>
        <t pn="section-7.6-2">The following two new metric types for the
	METRIC object are defined in this document:</t>
        <table anchor="tab-7" align="center" pn="table-7">
          <name slugifiedName="name-new-metric-object-types">New METRIC Object Types</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">20</td>
              <td align="left" colspan="1" rowspan="1">Domain Count metric</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">21</td>
              <td align="left" colspan="1" rowspan="1">Border Node Count metric</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-7.7" numbered="true" toc="include" removeInRFC="false" pn="section-7.7">
        <name slugifiedName="name-new-pcep-error-types-and-va">New PCEP Error-Types and Values</name>
        <t pn="section-7.7-1">IANA maintains a list of Error-Types and Error-Values for use in
    PCEP messages.  This list is maintained in the
    "PCEP-ERROR Object Error Types and Values" subregistry within the "Path
    Computation Element Protocol (PCEP) Numbers" registry.</t>
        <t pn="section-7.7-2">IANA has allocated the following:</t>
        <table anchor="tab-8" align="center" pn="table-8">
          <name slugifiedName="name-new-pcep-error-types-and-val">New PCEP Error-Types and Values</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Error-Type</th>
              <th align="left" colspan="1" rowspan="1">Meaning and Error Values</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">28</td>
              <td align="left" colspan="1" rowspan="1">
                <t pn="section-7.7-3.2.1.2.1">H-PCE Error</t>
                <ul spacing="normal" empty="true" bare="false" pn="section-7.7-3.2.1.2.2">
                  <li pn="section-7.7-3.2.1.2.2.1">Error-Value=1: H-PCE Capability not advertised</li>
                  <li pn="section-7.7-3.2.1.2.2.2">Error-Value=2: Parent PCE Capability cannot be provided</li>
                </ul>
              </td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">10</td>
              <td align="left" colspan="1" rowspan="1">
                <t pn="section-7.7-3.2.2.2.1">Reception of an invalid object</t>
                <ul spacing="normal" empty="true" bare="false" pn="section-7.7-3.2.2.2.2">
                  <li pn="section-7.7-3.2.2.2.2.1">Error-Value=23: Incompatible OF codes in H-PCE</li>
                </ul>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t pn="section-7.7-3.2.2.3.1">RFC 5440</t>
                <t pn="section-7.7-3.2.2.3.2">RFC 8685</t>
              </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-7.8" numbered="true" toc="include" removeInRFC="false" pn="section-7.8">
        <name slugifiedName="name-new-no-path-vector-tlv-bit-">New NO-PATH-VECTOR TLV Bit Flag</name>
        <t pn="section-7.8-1">IANA maintains the "NO-PATH-VECTOR TLV Flag Field" subregistry,
   which contains a list of bit flags carried in the PCEP NO-PATH-VECTOR TLV
   in the PCEP NO-PATH object as defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.</t>
        <t pn="section-7.8-2">IANA has allocated the following four new bit flags:</t>
        <table anchor="tab-9" align="center" pn="table-9">
          <name slugifiedName="name-pcep-no-path-object-flags">PCEP NO-PATH Object Flags</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit Number</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">22</td>
              <td align="left" colspan="1" rowspan="1">Destination domain unknown</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">21</td>
              <td align="left" colspan="1" rowspan="1">Unresponsive child PCE(s)</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">20</td>
              <td align="left" colspan="1" rowspan="1">No available resource in one or more domains</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">19</td>
              <td align="left" colspan="1" rowspan="1">Destination is not found in the indicated domain</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-7.9" numbered="true" toc="include" removeInRFC="false" pn="section-7.9">
        <name slugifiedName="name-svec-flag">SVEC Flag</name>
        <t pn="section-7.9-1">IANA maintains the "SVEC Object Flag Field" subregistry, which
   contains a list of bit flags carried in the PCEP SVEC object as defined
   in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>. </t>
        <t pn="section-7.9-2">IANA has allocated the following new bit flag:</t>
        <table anchor="tab-10" align="center" pn="table-10">
          <name slugifiedName="name-domain-diverse-o-bit">Domain Diverse O-Bit</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit Number</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">18</td>
              <td align="left" colspan="1" rowspan="1">Domain Diverse O-bit</td>
              <td align="left" colspan="1" rowspan="1">RFC 8685</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="sec-8" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t pn="section-8-1">
   The H-PCE procedure relies on PCEP and inherits the
   security considerations defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.  As PCEP
   operates over TCP, it may also make use of TCP security mechanisms, such as
   the TCP Authentication Option (TCP-AO) <xref target="RFC5925" format="default" sectionFormat="of" derivedContent="RFC5925"/> or
   Transport Layer Security (TLS) <xref target="RFC8253" format="default" sectionFormat="of" derivedContent="RFC8253"/>
        <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/>.</t>
      <t pn="section-8-2">
   Any multi-domain operation necessarily involves the exchange of
   information across domain boundaries.  This may represent a
   significant security and confidentiality risk, especially when the
   child domains are controlled by different commercial concerns.  PCEP
   allows individual PCEs to maintain the confidentiality of their
   domain path information using path-keys <xref target="RFC5520" format="default" sectionFormat="of" derivedContent="RFC5520"/>, and the
   H-PCE architecture is specifically designed to enable as much
   isolation of information related to domain topology and capabilities
   as possible.</t>
      <t pn="section-8-3">
   For further considerations regarding the security issues related to
   inter-AS path computation, see <xref target="RFC5376" format="default" sectionFormat="of" derivedContent="RFC5376"/>.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-pce-stateful-hpce" to="STATEFUL-HPCE"/>
    <displayreference target="I-D.dhodylee-pce-pcep-ls" to="PCEP-LS"/>
    <references pn="section-9">
      <name slugifiedName="name-references">References</name>
      <references pn="section-9.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC5440" target="https://www.rfc-editor.org/info/rfc5440" quoteTitle="true" derivedAnchor="RFC5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="March"/>
            <abstract>
              <t>This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs.  Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering.  PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5440"/>
          <seriesInfo name="DOI" value="10.17487/RFC5440"/>
        </reference>
        <reference anchor="RFC5541" target="https://www.rfc-editor.org/info/rfc5541" quoteTitle="true" derivedAnchor="RFC5541">
          <front>
            <title>Encoding of Objective Functions in the Path Computation Element Communication Protocol (PCEP)</title>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Lee" fullname="Y. Lee">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="June"/>
            <abstract>
              <t>The computation of one or a set of Traffic Engineering Label Switched Paths (TE LSPs) in MultiProtocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks is subject to a set of one or more specific optimization criteria, referred to as objective functions (e.g., minimum cost path, widest path, etc.).</t>
              <t>In the Path Computation Element (PCE) architecture, a Path Computation Client (PCC) may want a path to be computed for one or more TE LSPs according to a specific objective function.  Thus, the PCC needs to instruct the PCE to use the correct objective function. Furthermore, it is possible that not all PCEs support the same set of objective functions; therefore, it is useful for the PCC to be able to automatically discover the set of objective functions supported by each PCE.</t>
              <t>This document defines extensions to the PCE communication Protocol (PCEP) to allow a PCE to indicate the set of objective functions it supports.  Extensions are also defined so that a PCC can indicate in a path computation request the required objective function, and a PCE can report in a path computation reply the objective function that was used for path computation.</t>
              <t>This document defines objective function code types for six objective functions previously listed in the PCE requirements work, and provides the definition of four new metric types that apply to a set of synchronized requests.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5541"/>
          <seriesInfo name="DOI" value="10.17487/RFC5541"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references pn="section-9.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC4105" target="https://www.rfc-editor.org/info/rfc4105" quoteTitle="true" derivedAnchor="RFC4105">
          <front>
            <title>Requirements for Inter-Area MPLS Traffic Engineering</title>
            <author initials="J.-L." surname="Le Roux" fullname="J.-L. Le Roux" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J.-P." surname="Vasseur" fullname="J.-P. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Boyle" fullname="J. Boyle" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2005" month="June"/>
            <abstract>
              <t>This document lists a detailed set of functional requirements for the support of inter-area MPLS Traffic Engineering (inter-area MPLS TE). It is intended that solutions that specify procedures and protocol extensions for inter-area MPLS TE satisfy these requirements.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4105"/>
          <seriesInfo name="DOI" value="10.17487/RFC4105"/>
        </reference>
        <reference anchor="RFC4216" target="https://www.rfc-editor.org/info/rfc4216" quoteTitle="true" derivedAnchor="RFC4216">
          <front>
            <title>MPLS Inter-Autonomous System (AS) Traffic Engineering (TE) Requirements</title>
            <author initials="R." surname="Zhang" fullname="R. Zhang" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J.-P." surname="Vasseur" fullname="J.-P. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2005" month="November"/>
            <abstract>
              <t>This document discusses requirements for the support of inter-AS MPLS Traffic Engineering (MPLS TE).  Its main objective is to present a set of requirements and scenarios which would result in general guidelines for the definition, selection, and specification development for any technical solution(s) meeting these requirements and supporting the scenarios.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4216"/>
          <seriesInfo name="DOI" value="10.17487/RFC4216"/>
        </reference>
        <reference anchor="RFC4655" target="https://www.rfc-editor.org/info/rfc4655" quoteTitle="true" derivedAnchor="RFC4655">
          <front>
            <title>A Path Computation Element (PCE)-Based Architecture</title>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J.-P." surname="Vasseur" fullname="J.-P. Vasseur">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Ash" fullname="J. Ash">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="August"/>
            <abstract>
              <t>Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks.  Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
              <t>This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space.  This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4655"/>
          <seriesInfo name="DOI" value="10.17487/RFC4655"/>
        </reference>
        <reference anchor="RFC4726" target="https://www.rfc-editor.org/info/rfc4726" quoteTitle="true" derivedAnchor="RFC4726">
          <front>
            <title>A Framework for Inter-Domain Multiprotocol Label Switching Traffic Engineering</title>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J.-P." surname="Vasseur" fullname="J.-P. Vasseur">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Ayyangar" fullname="A. Ayyangar">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="November"/>
            <abstract>
              <t>This document provides a framework for establishing and controlling Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineered (TE) Label Switched Paths (LSPs) in multi-domain networks.</t>
              <t>For the purposes of this document, a domain is considered to be any collection of network elements within a common sphere of address management or path computational responsibility.  Examples of such domains include Interior Gateway Protocol (IGP) areas and Autonomous Systems (ASes).  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4726"/>
          <seriesInfo name="DOI" value="10.17487/RFC4726"/>
        </reference>
        <reference anchor="RFC5152" target="https://www.rfc-editor.org/info/rfc5152" quoteTitle="true" derivedAnchor="RFC5152">
          <front>
            <title>A Per-Domain Path Computation Method for Establishing Inter-Domain Traffic Engineering (TE) Label Switched Paths (LSPs)</title>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Ayyangar" fullname="A. Ayyangar" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Zhang" fullname="R. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="February"/>
            <abstract>
              <t>This document specifies a per-domain path computation technique for establishing inter-domain Traffic Engineering (TE) Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Label Switched Paths (LSPs).  In this document, a domain refers to a collection of network elements within a common sphere of address management or path computational responsibility such as Interior Gateway Protocol (IGP) areas and Autonomous Systems.</t>
              <t>Per-domain computation applies where the full path of an inter-domain TE LSP cannot be or is not determined at the ingress node of the TE LSP, and is not signaled across domain boundaries.  This is most likely to arise owing to TE visibility limitations.  The signaling message indicates the destination and nodes up to the next domain boundary.  It may also indicate further domain boundaries or domain identifiers.  The path through each domain, possibly including the choice of exit point from the domain, must be determined within the domain.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5152"/>
          <seriesInfo name="DOI" value="10.17487/RFC5152"/>
        </reference>
        <reference anchor="RFC5376" target="https://www.rfc-editor.org/info/rfc5376" quoteTitle="true" derivedAnchor="RFC5376">
          <front>
            <title>Inter-AS Requirements for the Path Computation Element Communication Protocol (PCECP)</title>
            <author initials="N." surname="Bitar" fullname="N. Bitar">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Zhang" fullname="R. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Kumaki" fullname="K. Kumaki">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="November"/>
            <abstract>
              <t>Multiprotocol Label Switching Traffic Engineered (MPLS TE) Label Switched Paths (LSPs) may be established wholly within an Autonomous System (AS) or may cross AS boundaries.</t>
              <t>The Path Computation Element (PCE) is a component that is capable of computing constrained paths for (G)MPLS TE LSPs.  The PCE Communication Protocol (PCECP) is defined to allow communication between Path Computation Clients (PCCs) and PCEs, as well as between PCEs. The PCECP is used to request constrained paths and to supply computed paths in response.  Generic requirements for the PCECP are set out in "Path Computation Element (PCE) Communication Protocol Generic Requirements", RFC 4657.  This document extends those requirements to cover the use of PCECP in support of inter-AS MPLS TE.  This memo provides  information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5376"/>
          <seriesInfo name="DOI" value="10.17487/RFC5376"/>
        </reference>
        <reference anchor="RFC5394" target="https://www.rfc-editor.org/info/rfc5394" quoteTitle="true" derivedAnchor="RFC5394">
          <front>
            <title>Policy-Enabled Path Computation Framework</title>
            <author initials="I." surname="Bryskin" fullname="I. Bryskin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Papadimitriou" fullname="D. Papadimitriou">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Berger" fullname="L. Berger">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Ash" fullname="J. Ash">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="December"/>
            <abstract>
              <t>The Path Computation Element (PCE) architecture introduces the concept of policy in the context of path computation.  This document provides additional details on policy within the PCE architecture and also provides context for the support of PCE Policy.  This document introduces the use of the Policy Core Information Model (PCIM) as a framework for supporting path computation policy.  This document also provides representative scenarios for the support of PCE Policy.  This memo  provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5394"/>
          <seriesInfo name="DOI" value="10.17487/RFC5394"/>
        </reference>
        <reference anchor="RFC5520" target="https://www.rfc-editor.org/info/rfc5520" quoteTitle="true" derivedAnchor="RFC5520">
          <front>
            <title>Preserving Topology Confidentiality in Inter-Domain Path Computation Using a Path-Key-Based Mechanism</title>
            <author initials="R." surname="Bradford" fullname="R. Bradford" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="April"/>
            <abstract>
              <t>Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering (TE) Label Switched Paths (LSPs) may be computed by Path Computation Elements (PCEs).  Where the TE LSP crosses multiple domains, such as Autonomous Systems (ASes), the path may be computed by multiple PCEs that cooperate, with each responsible for computing a segment of the path.  However, in some cases (e.g., when ASes are administered by separate Service Providers), it would break confidentiality rules for a PCE to supply a path segment to a PCE in another domain, thus disclosing AS-internal topology information.  This issue may be circumvented by returning a loose hop and by invoking a new path computation from the domain boundary Label Switching Router (LSR) during TE LSP setup as the signaling message enters the second domain, but this technique has several issues including the problem of maintaining path diversity.</t>
              <t>This document defines a mechanism to hide the contents of a segment of a path, called the Confidential Path Segment (CPS).  The CPS may be replaced by a path-key that can be conveyed in the PCE Communication Protocol (PCEP) and signaled within in a Resource Reservation Protocol TE (RSVP-TE) explicit route object.   [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5520"/>
          <seriesInfo name="DOI" value="10.17487/RFC5520"/>
        </reference>
        <reference anchor="RFC5441" target="https://www.rfc-editor.org/info/rfc5441" quoteTitle="true" derivedAnchor="RFC5441">
          <front>
            <title>A Backward-Recursive PCE-Based Computation (BRPC) Procedure to Compute Shortest Constrained Inter-Domain Traffic Engineering Label Switched Paths</title>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Zhang" fullname="R. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Bitar" fullname="N. Bitar">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="April"/>
            <abstract>
              <t>The ability to compute shortest constrained Traffic Engineering Label Switched Paths (TE LSPs) in Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks across multiple domains has been identified as a key requirement.  In this context, a domain is a collection of network elements within a common sphere of address management or path computational responsibility such as an IGP area or an Autonomous Systems.  This document specifies a procedure relying on the use of multiple Path Computation Elements (PCEs) to compute such inter-domain shortest constrained paths across a predetermined sequence of domains, using a backward-recursive path computation technique.  This technique preserves confidentiality across domains, which is sometimes required when domains are managed by different service providers.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5441"/>
          <seriesInfo name="DOI" value="10.17487/RFC5441"/>
        </reference>
        <reference anchor="RFC5925" target="https://www.rfc-editor.org/info/rfc5925" quoteTitle="true" derivedAnchor="RFC5925">
          <front>
            <title>The TCP Authentication Option</title>
            <author initials="J." surname="Touch" fullname="J. Touch">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Mankin" fullname="A. Mankin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Bonica" fullname="R. Bonica">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="June"/>
            <abstract>
              <t>This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5).  TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5.  TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints.  The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes.  TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously.  TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5925"/>
          <seriesInfo name="DOI" value="10.17487/RFC5925"/>
        </reference>
        <reference anchor="RFC6805" target="https://www.rfc-editor.org/info/rfc6805" quoteTitle="true" derivedAnchor="RFC6805">
          <front>
            <title>The Application of the Path Computation Element Architecture to the Determination of a Sequence of Domains in MPLS and GMPLS</title>
            <author initials="D." surname="King" fullname="D. King" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Farrel" fullname="A. Farrel" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2012" month="November"/>
            <abstract>
              <t>Computing optimum routes for Label Switched Paths (LSPs) across multiple domains in MPLS Traffic Engineering (MPLS-TE) and GMPLS networks presents a problem because no single point of path computation is aware of all of the links and resources in each domain.  A solution may be achieved using the Path Computation Element (PCE) architecture.</t>
              <t>Where the sequence of domains is known a priori, various techniques can be employed to derive an optimum path.  If the domains are simply connected, or if the preferred points of interconnection are also known, the Per-Domain Path Computation technique can be used.  Where there are multiple connections between domains and there is no preference for the choice of points of interconnection, the Backward-Recursive PCE-based Computation (BRPC) procedure can be used to derive an optimal path.</t>
              <t>This document examines techniques to establish the optimum path when the sequence of domains is not known in advance.  The document shows how the PCE architecture can be extended to allow the optimum sequence of domains to be selected, and the optimum end-to-end path to be derived through the use of a hierarchical relationship between domains.  This document is not an Internet Standards Track  specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6805"/>
          <seriesInfo name="DOI" value="10.17487/RFC6805"/>
        </reference>
        <reference anchor="RFC7399" target="https://www.rfc-editor.org/info/rfc7399" quoteTitle="true" derivedAnchor="RFC7399">
          <front>
            <title>Unanswered Questions in the Path Computation Element Architecture</title>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="King" fullname="D. King">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="October"/>
            <abstract>
              <t>The Path Computation Element (PCE) architecture is set out in RFC 4655.  The architecture is extended for multi-layer networking with the introduction of the Virtual Network Topology Manager (VNTM) in RFC 5623 and generalized to Hierarchical PCE (H-PCE) in RFC 6805.</t>
              <t>These three architectural views of PCE deliberately leave some key questions unanswered, especially with respect to the interactions between architectural components.  This document draws out those questions and discusses them in an architectural context with reference to other architectural components, existing protocols, and recent IETF efforts.</t>
              <t>This document does not update the architecture documents and does not define how protocols or components must be used.  It does, however, suggest how the architectural components might be combined to provide advanced PCE function.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7399"/>
          <seriesInfo name="DOI" value="10.17487/RFC7399"/>
        </reference>
        <reference anchor="RFC7420" target="https://www.rfc-editor.org/info/rfc7420" quoteTitle="true" derivedAnchor="RFC7420">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Management Information Base (MIB) Module</title>
            <author initials="A." surname="Koushik" fullname="A. Koushik">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Stephan" fullname="E. Stephan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Zhao" fullname="Q. Zhao">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="King" fullname="D. King">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Hardwick" fullname="J. Hardwick">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="December"/>
            <abstract>
              <t>This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling of the Path Computation Element Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between two PCEs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7420"/>
          <seriesInfo name="DOI" value="10.17487/RFC7420"/>
        </reference>
        <reference anchor="RFC7752" target="https://www.rfc-editor.org/info/rfc7752" quoteTitle="true" derivedAnchor="RFC7752">
          <front>
            <title>North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP</title>
            <author initials="H." surname="Gredler" fullname="H. Gredler" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Medved" fullname="J. Medved">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Ray" fullname="S. Ray">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="March"/>
            <abstract>
              <t>In a number of environments, a component external to a network is called upon to perform computations based on the network topology and current state of the connections within the network, including Traffic Engineering (TE) information.  This is information typically distributed by IGP routing protocols within the network.</t>
              <t>This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol.  This is achieved using a new BGP Network Layer Reachability Information (NLRI) encoding format.  The mechanism is applicable to physical and virtual IGP links.  The mechanism described is subject to policy control.</t>
              <t>Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7752"/>
          <seriesInfo name="DOI" value="10.17487/RFC7752"/>
        </reference>
        <reference anchor="RFC7897" target="https://www.rfc-editor.org/info/rfc7897" quoteTitle="true" derivedAnchor="RFC7897">
          <front>
            <title>Domain Subobjects for the Path Computation Element Communication Protocol (PCEP)</title>
            <author initials="D." surname="Dhody" fullname="D. Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="U." surname="Palle" fullname="U. Palle">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Casellas" fullname="R. Casellas">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="June"/>
            <abstract>
              <t>The ability to compute shortest constrained Traffic Engineering Label Switched Paths (TE LSPs) in Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks across multiple domains has been identified as a key requirement.  In this context, a domain is a collection of network elements within a common sphere of address management or path computational responsibility such as an Interior Gateway Protocol (IGP) area or an Autonomous System (AS).  This document specifies a representation and encoding of a domain sequence, which is defined as an ordered sequence of domains traversed to reach the destination domain to be used by Path Computation Elements (PCEs) to compute inter-domain constrained shortest paths across a predetermined sequence of domains.  This document also defines new subobjects to be used to encode domain identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7897"/>
          <seriesInfo name="DOI" value="10.17487/RFC7897"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8253" target="https://www.rfc-editor.org/info/rfc8253" quoteTitle="true" derivedAnchor="RFC8253">
          <front>
            <title>PCEPS: Usage of TLS to Provide a Secure Transport for the Path Computation Element Communication Protocol (PCEP)</title>
            <author initials="D." surname="Lopez" fullname="D. Lopez">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="O." surname="Gonzalez de Dios" fullname="O. Gonzalez de Dios">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Wu" fullname="Q. Wu">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Dhody" fullname="D. Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="October"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) defines the mechanisms for the communication between a Path Computation Client (PCC) and a Path Computation Element (PCE), or among PCEs. This document describes PCEPS -- the usage of Transport Layer Security (TLS) to provide a secure transport for PCEP.  The additional security mechanisms are provided by the transport protocol supporting PCEP; therefore, they do not affect the flexibility and extensibility of PCEP.</t>
              <t>This document updates RFC 5440 in regards to the PCEP initialization phase procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8253"/>
          <seriesInfo name="DOI" value="10.17487/RFC8253"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" quoteTitle="true" derivedAnchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="August"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="PCEP-YANG" target="https://tools.ietf.org/html/draft-ietf-pce-pcep-yang-13" quoteTitle="true" derivedAnchor="PCEP-YANG">
          <front>
            <title>A YANG Data Model for Path Computation Element Communications Protocol (PCEP)</title>
            <author initials="D" surname="Dhody" fullname="Dhruv Dhody" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Hardwick" fullname="Jonathan Hardwick">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V" surname="Beeram" fullname="Vishnu Beeram">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Tantsura" fullname="Jeff Tantsura">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" day="31" year="2019"/>
          </front>
          <seriesInfo name="Work in Progress, Internet-Draft," value="draft-ietf-pce-pcep-yang-13"/>
        </reference>
        <reference anchor="I-D.ietf-pce-stateful-hpce" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-pce-stateful-hpce-15" derivedAnchor="STATEFUL-HPCE">
          <front>
            <title>Hierarchical Stateful Path Computation Element (PCE)</title>
            <author initials="D" surname="Dhody" fullname="Dhruv Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y" surname="Lee" fullname="Young Lee">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Ceccarelli" fullname="Daniele Ceccarelli">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Shin" fullname="Jongyoon Shin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="King" fullname="Daniel King">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" day="20" year="2019"/>
            <abstract>
              <t>A Stateful Path Computation Element (PCE) maintains information on the current network state received from the Path Computation Clients (PCCs), including: computed Label Switched Path (LSPs), reserved resources within the network, and pending path computation requests. This information may then be considered when computing the path for a new traffic-engineered LSP or for any associated/dependent LSPs. The Path computation response from a PCE is helpful for the PCC to gracefully establish the computed LSP.  The Hierarchical Path Computation Element (H-PCE) architecture provides an architecture to allow the optimum sequence of inter-connected domains to be selected, and network policy to be applied if applicable, via the use of a hierarchical relationship between PCEs.  Combining the capabilities of Stateful PCE and the Hierarchical PCE would be advantageous. This document describes general considerations and use cases for the deployment of Stateful, and not Stateless, PCEs using the Hierarchical PCE architecture.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-stateful-hpce-15"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-pce-stateful-hpce-15.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.dhodylee-pce-pcep-ls" quoteTitle="true" target="https://tools.ietf.org/html/draft-dhodylee-pce-pcep-ls-14" derivedAnchor="PCEP-LS">
          <front>
            <title>PCEP Extension for Distribution of Link-State and TE Information.</title>
            <author initials="D" surname="Dhody" fullname="Dhruv Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y" surname="Lee" fullname="Young Lee">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Ceccarelli" fullname="Daniele Ceccarelli">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" day="21" year="2019"/>
            <abstract>
              <t>In order to compute and provide optimal paths, Path Computation Elements (PCEs) require an accurate and timely Traffic Engineering Database (TED).  Traditionally this TED has been obtained from a link state (LS) routing protocol supporting traffic engineering extensions.  This document extends the Path Computation Element Communication Protocol (PCEP) with Link-State and TE Information.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dhodylee-pce-pcep-ls-14"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-dhodylee-pce-pcep-ls-14.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t pn="section-appendix.a-1">
   The authors would like to thank <contact fullname="Mike McBride"/>,
   <contact fullname="Kyle Rose"/>, and <contact fullname="Roni Even"/>
   for their detailed review, comments, and suggestions, which helped
   improve this document.</t>
    </section>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <t pn="section-appendix.b-1">The following people contributed substantially to the content of this
   document and should be considered coauthors:</t>
      <contact fullname="Xian Zhang">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <email>zhang.xian@huawei.com</email>
        </address>
      </contact><contact fullname="Dhruv Dhody">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Divyashree Techno Park, Whitefield</street>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <code>560066</code>
            <country>India</country>
          </postal>
          <email>dhruv.ietf@gmail.com</email>
        </address>
      </contact></section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Fatai Zhang" initials="F." surname="Zhang">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <street>Huawei Base, Bantian, Longgang District</street>
            <region>Shenzhen</region>
            <code>518129</code>
            <country>China</country>
          </postal>
          <email>zhangfatai@huawei.com</email>
        </address>
      </author>
      <author fullname="Quintin Zhao" initials="Q." surname="Zhao">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <street>125 Nagog Technology Park</street>
            <city>Acton</city>
            <region>MA</region>
            <code>01719</code>
            <country>United States of America</country>
          </postal>
          <email>quintinzhao@gmail.com</email>
        </address>
      </author>
      <author fullname="Oscar Gonzalez de Dios" initials="O." surname="Gonzalez de Dios">
        <organization showOnFrontPage="true">Telefonica I+D</organization>
        <address>
          <postal>
            <street>Don Ramon de la Cruz 82-84</street>
            <city>Madrid</city>
            <code>28045</code>
            <country>Spain</country>
          </postal>
          <email>oscar.gonzalezdedios@telefonica.com</email>
        </address>
      </author>
      <author fullname="Ramon Casellas" initials="R." surname="Casellas">
        <organization showOnFrontPage="true">CTTC</organization>
        <address>
          <postal>
            <street>Av. Carl Friedrich Gauss n.7</street>
            <city>Castelldefels</city>
            <region>Barcelona</region>
            <country>Spain</country>
          </postal>
          <email>ramon.casellas@cttc.es</email>
        </address>
      </author>
      <author fullname="Daniel King" initials="D." surname="King">
        <organization showOnFrontPage="true">Old Dog Consulting</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <code/>
            <country>United Kingdom</country>
          </postal>
          <email>daniel@olddog.co.uk</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
