<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
<!ENTITY nbsp    "&#160;">
<!ENTITY zwsp   "&#8203;">
<!ENTITY nbhy   "&#8209;">
<!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5357 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5357.xml">
<!ENTITY RFC5440 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml">
<!ENTITY RFC5925 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5925.xml">
<!ENTITY RFC6374 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6374.xml">
<!ENTITY RFC7420 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7420.xml">
<!ENTITY RFC7470 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7470.xml">
<!ENTITY RFC7471 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7471.xml">
<!ENTITY RFC7823 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7823.xml">
<!ENTITY RFC8126 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8231 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml">
<!ENTITY RFC8233 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8233.xml">
<!ENTITY RFC8253 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8253.xml">
<!ENTITY RFC8281 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8281.xml">
<!ENTITY RFC8570 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8570.xml">
<!ENTITY RFC8571 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8571.xml">
<!ENTITY RFC8664 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8664.xml">
<!ENTITY RFC8733 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8733.xml">
<!ENTITY RFC8762 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8762.xml">
<!ENTITY RFC9603 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9603.xml">
<!ENTITY RFC9826 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9826.xml">
<!ENTITY ieee-float PUBLIC '' "http://xml.resource.org/public/rfc/bibxml2/reference.IEEE.754.1985.xml">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" docName="draft-gandhi-pce-pm-10" category="std" ipr="trust200902" obsoletes="" consensus="true" updates="" xml:lang="en" symRefs="true" sortRefs="true" tocInclude="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <!-- Generated by id2xml 1.5.2 on 2025-10-30T16:44:01Z -->
    <front>
    <title abbrev="PCEP for LSP Performance Measurement">PCEP Extensions for Performance Measurements with Stateful PCE for MPLS-TE and SR-TE LSPs</title>
    <seriesInfo name="Internet-Draft" value="draft-gandhi-pce-pm-10"/>

    <author initials="R." surname="Gandhi" fullname="Rakesh Gandhi">
      <organization>Cisco Systems, Inc.</organization>
    <address>
    <postal><street>Canada</street>
    </postal>
        <email>rgandhi@cisco.com</email>
    </address>
    </author>

    <author initials="B." surname="Wen" fullname="Bin Wen">
      <organization>Comcast</organization>
      <address>
        <email>Bin_Wen@cable.comcast.com</email>
      </address>
    </author>

    <author initials="C." surname="Barth" fullname="Colby Barth">
      <organization>HPE</organization>
      <address>
        <email>jonathan.barth@hpe.com</email>
      </address>
    </author>

    <author initials="D." surname="Dhody" fullname="Dhruv Dhody">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>India</street>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>

    <date year="2025"/>
    <workgroup>PCE Working Group</workgroup>
    <abstract>

   <t>
   In certain networks, network performance data such as packet loss,
   delay and delay variation as well as bandwidth utilization
   are critical measures for Traffic Engineering (TE).  This data
   provides operators the characteristics of their networks for
   performance evaluation that is required to ensure the Service Level
   Agreements (SLAs). 
   </t>

   <t>
   The Path Computation Element Communication Protocol (PCEP) provides
   mechanisms for Path Computation Elements (PCEs) to perform path
   computations in response to Path Computation Clients (PCCs') requests.
   The Stateful PCE extensions allow Stateful control of 
   Traffic Engineering Paths using PCEP for RSVP and Segment Routing (SR).
   </t>

   <t>
   This document describes PCEP extensions for enabling and reporting 
   end-to-end performance measurements and liveness detection for both PCE-Initiated and PCC-Initiated LSPs 
   for RSVP-TE and SR-TE (for MPLS and IPv6 data planes) to an Active Stateful PCE.
   </t>

    </abstract>
  </front>
  <middle>

    <section anchor="sect-1" numbered="true" toc="default">
      <name>Introduction</name>
   <t>
   <xref target="RFC5440" format="default"/> describes the Path Computation Element Protocol (PCEP) as a
   communication mechanism between a Path Computation Client (PCC) and a
   Path Control Element (PCE), or between PCE and PCE, that enables
   computation of Traffic Engineering Label Switched Paths (TE LSPs).</t>

   <t>
   <xref target="RFC8231" format="default"/> specifies extensions to PCEP to enable stateful
   control of TE LSPs.  It describes two modes of operation - Passive
   Stateful PCE and Active Stateful PCE.  Further <xref target="RFC8281" format="default"/> 
   describes the setup, maintenance and teardown of PCE-Initiated
   LSPs for the Stateful PCE model.  In this document, the focus is on
   Active Stateful PCE where the LSPs are controlled by the PCE, for
   both PCE-Initiated and PCC-Initiated LSPs.</t>

   <t>
   PCEP Extensions for Segment Routing (SR) <xref target="RFC8664" format="default"/> specifies extensions to
   the Path Computation Element Protocol (PCEP) that allow a stateful
   PCE to compute and initiate Traffic Engineering (TE) paths, as well
   as a PCC to request a path subject to certain constraint(s) and
   optimization criteria for Segment Routing.  <xref target="RFC9603" format="default"/> 
   extends PCEP for Segment Routing for IPv6 data plane. 
   As specified in <xref target="RFC8664" format="default"/>, an LSP can be RSVP-TE LSP or SR-TE LSP based
   on the path setup type.
   As specified in <xref target="RFC9603" format="default"/>,
   the term "LSP" used in the PCEP specifications would be equivalent to an SRv6 path 
   (represented as a list of SRv6 segments) in the context of supporting SRv6 in PCEP using SRv6 path setup type.</t>

   <t>
   In certain networks, such as financial information networks, network
   performance data (e.g. packet loss, delay and delay variation,
   and bandwidth utilization) are critical measures for traffic
   engineering.  The protocol extensions have been defined to advertise
   link performance metrics, see <xref target="RFC7471" format="default"/>, 
   <xref target="RFC8570" format="default"/>, <xref target="RFC7823" format="default"/> and
   <xref target="RFC8571" format="default"/>.  This data provides operators the
   characteristics of their networks for performance evaluation that is
   required to ensure the Service Level Agreements (SLAs).</t>

   <t>
   <xref target="RFC8233" format="default"/> defines the PCEP extensions for TE LSP path
   computation using packet loss, delay and delay variation as path
   selection metrics.  Such path computations use link metrics for
   packet loss and delay and do not provide end-to-end metrics of the TE
   LSPs.  The end-to-end metrics of a TE LSP may be very different from 
   the path computation results due to many factors, such as queuing,
   etc.  There is a need to verify and monitor that the traffic sent
   over the established TE LSPs does not exceed the requested metric
   bounds (e.g. total end-to-end delay/loss).  The Stateful PCE may need
   to take some action (such as teardown or re-optimize the LSP) when
   the performance requirement is not met.
   <xref target="RFC8762" format="default"/> defines protocol extensions needed for measuring 
   packet loss, delay and delay variation and can be used for end-to-end performance measurement of TE LSPs.
   In the case of SR-TE LSPs, SR Paths include Segment Lists, Candidate-Paths, and SR Policies.</t>

   <t>
   This document describes PCEP extensions for enabling and reporting 
   end-to-end performance measurements (PM) such as packet loss, delay, delay variation,
   and bandwidth utilization as well as liveness detection for both PCE-Initiated and PCC-Initiated LSPs 
   for RSVP-TE and SR-TE (for MPLS and IPv6 Data planes) to an Active Stateful PCE.
   </t>

      <section anchor="sect-1.1" numbered="true" toc="default">
        <name>Use cases</name>
        <t>
   This section describes a non-exhaustive list of deployment use cases
   of PM for TE LSPs when deployed in a network with PCE. A Network Management System (NMS)
   may also be deployed in the network capable of receiving and processing "streaming telemetry"
   of PM metrics and may interact with PCC and PCE for the PM
   as described in use cases 3, 4 and 5.</t>

        <t>
   Use case 1: PCE Enables PM on PCC and PCC Takes Action</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
PCE -----> PCC
]]></artwork>

        <t>
   In this use case, the PCE sets the upper-bound threshold condition
   for TE LSPs at the PCC.  The PCC takes a local action when the
   condition is met.  The action could be based on a local policy or
   a policy set by the PCE.  The steps involved are -</t>
        <ul spacing="normal">
          <li>
            <t>PCE sends the PM attributes as part of the PCE-initiated LSPs
      including an upper-bound threshold (<xref target="sect-4.6" format="default"/> in this document) for
      the PM metrics using the PCEP extensions defined in this document.</t>
          </li>
          <li>
            <t>PCC takes actions when PM metrics exceed the upper-bound
      threshold, such actions could include bringing down the LSP, trigger
      protection switch-over, remove tunnel from IGP for some prefixes,
      or request a new path from the PCE (based on local policies that may
      be set by the PCE).  PCC may take these actions even when LSPs are
      delegated to the PCE as the upper-bound is set by the PCE.</t>
          </li>
          <li>
            <t>PCC does not report the PM metrics to PCE.</t>
          </li>
          <li>
            <t>PCC may install the new LSP in the routing table only if the PM metric
      is below the upper-bound; otherwise, the PCC may reject the LSP
      request and send an error to the PCE.</t>
          </li>
          <li>
            <t>The report interval should be set to 0 to disable reporting to
      PCE.  Only the upper-bound threshold should be set.</t>
          </li>
        </ul>

        <t>
   Use case 2: PCC Reports PM Metrics to PCE, PCE Takes Action</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
PCE <----- PCC
]]></artwork>

        <t>
   In this use case, the PCC reports the PM metrics and parameters to
   the PCE and the PCE may take an immediate local (reactive) action
   based on the PM metrics.  The steps involved are -</t>
        <ul spacing="normal">
          <li>
            <t>PCC sends the PM metrics and parameters to PCE using the PCEP
      extensions defined in this document and PCE takes an action;
      actions could be to correlate faults, invalidate LSP path, send new
      LSP path to PCC (trigger re-optimization), etc.</t>
          </li>
          <li>
            <t>If an upper-bound threshold is set, PCC only reports the PM metrics
      to PCE when the upper-bound is crossed.  Otherwise, the PCC reports the
      PM metrics to the PCE every report-interval.</t>
          </li>
          <li>
            <t>Optionally, the PCC may take an immediate local (reactive) action such
      as trigger a path protection switch-over when PM metrics exceed the upper-bound.</t>
          </li>
          <li>
            <t>The PCE has a global view due to PM metric reports received from
      various PCCs and hence can make a better decision about LSP
      placement in the network.</t>
          </li>
          <li>
            <t>The PCE can make proactive decisions based on PM metrics when metrics
      are reported before the crossing of the upper-bound as opposed to a 
      reactive action that the PCC could make.</t>
          </li>
          <li>
            <t>The report interval should be set to enable reporting by the PCC.
      Optionally, the upper-bound threshold may also be set.</t>
          </li>
        </ul>

        <t>
   Use case 3: PCE Enables PM on PCC, PCC Sends PM Metrics to NMS</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
PCE -----> PCC -----> NMS
]]></artwork>

    <t>
    The steps involved are -
    </t>
        <ul spacing="normal">
          <li>
            <t>An NMS may be used in a network that is capable of
      "streaming telemetry" for receiving data and Yang or XML based
      provisioning using a non-PCEP channel.  The NMS may interact
      with a PCE for LSP path computation using the PCEP channel.</t>
          </li>
          <li>
            <t>PCE sends the PM attributes as part of PCE-initiated LSPs using
      the PCEP extensions defined in this document.</t>
          </li>
          <li>
            <t>PCC reports the PM metrics to the NMS via "streaming telemetry".</t>
          </li>
          <li>
            <t>The NMS may request the PCE to take an action based on the PM metrics.</t>
          </li>
          <li>
            <t>The report interval should be set to  0 to disable reporting to
      the PCE.  The other PM attributes may be set and used for "streaming telemetry".</t>
          </li>
        </ul>

        <t>
   Use case 4: NMS Enables PM on PCC, PCC Sends PM Metrics to PCE</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
PCE <----- PCC <----- NMS
]]></artwork>

    <t>
    The steps involved are -
    </t>

        <ul spacing="normal">
          <li>
            <t>The NMS enables PM on PCC using a non-PCEP channel.</t>
          </li>
          <li>
            <t>The PCC then reports the PM metrics to the PCE using the PCEP extensions defined in this document.</t>
          </li>
          <li>
            <t>The PCE may take an action based on the PM metrics received from the PCC.</t>
          </li>
        </ul>

        <t>
   Use case 5: NMS Enables PM on PCC, PCC Sends PM Metrics to NMS</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
PCE ----> PCC <-----> NMS -----> PCE
]]></artwork>

    <t>
    The steps involved are -
    </t>

        <ul spacing="normal">
          <li>
            <t>The NMS enables PM on PCC using a non-PCEP channel.</t>
          </li>
          <li>
            <t>The PCC reports the PM metrics to the NMS via "streaming telemetry".</t>
          </li>
          <li>
            <t>The NMS may request PCE to take an action based on the PM metrics.</t>
          </li>
          <li>
            <t>The PCEP extensions defined in this document are not used in this use case.</t>
          </li>
        </ul>
      </section>

      <section anchor="sect-1.2" numbered="true" toc="default">
        <name>Dependencies and Considerations</name>
        <t>
   Note that the specification of the use of the reported
   packet loss, delay, delay variation and bandwidth utilization
   measurements by a Stateful PCE is outside the scope of this document.</t>
      </section>

      <section anchor="sect-1.3" numbered="true" toc="default">
          <name>Auto-bandwidth Considerations</name>
        <t>
   The auto-Bandwidth feature allows a head-end LSR (PCC) to automatically
   adjust the LSP bandwidth reservation based on the traffic demand of a
   TE LSP.  Auto-bandwidth requested bandwidth computation can be
   implemented on a PCC or a Stateful PCE.</t>

        <t>
   <xref target="RFC8733" format="default"/> describes the PCEP extensions for auto-
   bandwidth, where the requested bandwidth for the LSP is computed by
   the PCC and reported to the Stateful PCE.  There is a benefit in
   pushing the responsibility for deciding when auto-bandwidth
   adjustments are needed to the PCC as this distributes the load of
   monitoring the bandwidth utilization of the LSPs down to the PCCs and
   frees up the PCE for path computations.  In addition, it reduces the
   load on PCEP communications for reporting the bandwidth utilization
   of the LSP.</t>

   <t>
   However, exactly when to adjust an LSP bandwidth could be better left
   to a Stateful PCE.  That is, a PCE could be flexible in its
   interpretation of thresholds enabling it to trigger auto-bandwidth
   adjustment early if it believes there is a good reason (for example,
   doing a set of parallel path recomputations) or late (for example,
   when it knows that an adjustment would be disruptive to the network).
   When the auto-bandwidth computation is delegated to the PCC, the PCC
   cannot see the impact on other LSPs in the network, and the PCE
   cannot tell whether the request to adjust the LSP bandwidth is
   critical or not.  The bandwidth utilization reporting defined in this
   document can be used by the PCE to do computations to determine
   whether auto-bandwidth adjustments are needed and/or desirable before
   performing the path computations.
        </t>

      </section>
    </section>

    <section anchor="sect-2" numbered="true" toc="default">
      <name>Conventions Used in This Document</name>
      <section anchor="sect-2.1" numbered="true" toc="default">
        <name>Requirements Language</name>

        <t>
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
   NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
   "MAY", and "OPTIONAL" in this document are to be interpreted as
   described in BCP 14  <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/>
   when, and only when, they appear in all capitals, as shown here.
   </t>

      </section>

      <section anchor="sect-2.2" numbered="true" toc="default">
        <name>Terminology</name>
        <t>
   The reader is assumed to be familiar with the terminology defined in
   <xref target="RFC5440" format="default"/> and <xref target="RFC7471" format="default"/>.</t>
      </section>

      <section anchor="sect-2.3" numbered="true" toc="default">
        <name>Measurement Units</name>
        <t>
   The measurement unit for delay value is defined in <xref target="RFC7471" format="default"/>, Section 4.1.5.</t>
        <t>
   The measurement unit for loss value is defined in <xref target="RFC7471" format="default"/>, Section 4.4.5.</t>
        <t>
   The utilized bandwidth <xref target="RFC7471" format="default"/> is encoded in IEEE floating-point
   format in bytes per second (see <xref target="IEEE.754.1985" format="default"/>).</t>
        <t>
   All average values are calculated as rolling averages.</t>
      </section>
    </section>

    <section anchor="sect-3" numbered="true" toc="default">
      <name>Overview of the PCEP Extensions</name>
      <t>
   The high-level overview of the PCEP extensions defined in this
   document for requesting and reporting end-to-end performance
   measurements and bandwidth utilization for TE LSPs is shown in
   Figure 1.</t>

      <figure anchor="ure-overview-of-pcep-extensions">
        <name>Overview of PCEP Extensions</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
                        ---------
                       |         |
                       |   PCE   |
                       |         |
                        ---------
                          |    ^
  MEASUREMENT CAPABILITY  |    |  MEASUREMENT CAPABILITY
                          |    |
  MEASUREMENT ATTRIBUTES  |    |  MEASUREMENT ATTRIBUTES
                          |    |  (For delegated LSPs)
                          |    |
                          |    |  MEASUREMENT REPORTS
                          v    |
                        ---------
                       |         |
                       |   PCC   |
                       |         |
                        ---------
]]></artwork>
      </figure>

      <t>
   The following steps describe the PCEP extensions for reporting
   performance measurements and bandwidth utilization of TE LSPs:</t>
      <ul spacing="normal">
        <li>
          <t>The Stateful PCE and PCC (head-end of the LSP) advertise the
      capability of their support for the delay, loss and bandwidth-
      utilization measurements and reporting in the PCEP Open message
      (in the OPEN Object).</t>
        </li>
        <li>
          <t>The Stateful PCE enables a measurement of a feature and sends
      or updates the configuration parameters of the feature using the
      LSPA object to the PCC in PCInitiate and PCUpd messages respectively.</t>
        </li>
        <li>
          <t>The PCC reports the measured values of the feature to the Stateful
      PCE at the end of the specified report-interval or when measured
      values cross the specified report-threshold.  The periodic
      reporting can be used at the PCE to monitor the TE LSP metrics
      whereas report-threshold can be used to trigger an immediate
      action at the PCE on the TE LSP.</t>
        </li>
        <li>
          <t>In some cases, the periodic reporting of the measurements may be
      disabled and only an upper-bound threshold is set, which when
      exceeded, a local or PCE-set action may be taken.</t>
        </li>
        <li>
          <t>The PCE and PCC notify each other of their entering and clearing
      the overwhelmed state when operating under high LSP scale.</t>
        </li>
      </ul>

      <section anchor="sect-3.1" numbered="true" toc="default">
        <name>Report Thresholds</name>
        <t>
   When explicitly configured, a report threshold (absolute or percentage)
   parameter (along with the configured number of counts) is used to
   trigger an immediate reporting of the delay and loss measurements and
   bandwidth utilization, bypassing the report interval.  A threshold is
   used to detect a sudden change in the performance measurement metric
   of a TE LSP.  In order to detect that a measured value has crossed
   the threshold, the measured (delay/loss) metric is compared with the
   last reported value.  If the change (increase or decrease) in the
   value is above the threshold (absolute or percentage) consecutively
   for the given number of counts, the measurement from the current
   interval is reported immediately.  In case of bandwidth utilization,
   the last reported MaxSampleBw (see <xref target="RFC8733" format="default"/>) value is
   compared with the MaxSampleBW from the the current interval to detect
   the threshold crossing.  The delay and loss measurements are still
   reported at the end of the report interval even if they were reported
   due to the crossing of the threshold.  
   Refer to <xref target="RFC7471" format="default"/>, <xref target="sect-5" format="default"/>,
   for additional considerations.</t>

        <t>
   All thresholds in this document could be represented in both absolute
   values and percentages, and could be used together.  This is provided
   to accommodate the cases where the metric values may become very
   large or very small over time.  For example, an operator may use the
   percentage threshold to handle small to large metric values and
   absolute values to handle very large metric values.  The metrics are
   reported when either one of the two thresholds, the absolute or
   the percentage, is crossed.</t>

        <t>
   When using the percentage threshold, if the metric changes rapidly at
   very low values, it may trigger frequent reporting due to the
   crossing of the percentage threshold.  This can lead to unnecessary
   scale issues in the network.  This is suppressed by setting the
   minimum-threshold parameter along with the percentage threshold.  The
   metric value is only reported if the value crosses both the
   percentage threshold and the minimum-threshold parameters.</t>
      </section>

    </section>
    <section anchor="sect-4" numbered="true" toc="default">
      <name>Sub-TLVs for Measurement Attributes</name>
      <t>
    This section specifies the generic sub-TLVs that provide various
    configurable parameters for reporting measurements to a Stateful PCE.
    These sub-TLVs are carried in various measurement attributes TLVs
    defined in this document.
      </t>
      <t>
   The following sub-TLVs are defined:</t>

      <artwork name="" type="" align="left" alt=""><![CDATA[
 Type  Length  Name
 -------------------------------------------------------
 1     4       Measurement-Enable sub-TLV
 2     4       Transmit-Interval sub-TLV
 3     8       Measurement-Protocol sub-TLV
 4     4       Measurement-Interval sub-TLV
 5     8       Report-Threshold sub-TLV
 6     8       Report-Threshold-Percentage sub-TLV
 7     4       Report-Interval sub-TLV
 8     8       Report-Upper-Bound sub-TLV
]]></artwork>

      <t>
   The Measurement-Enable sub-TLV MUST be added to the LSPA Object when
   the measurement feature is enabled for the LSP.  All other sub-TLVs
   are optional and any unrecognized sub-TLV MUST be silently ignored.
   If a sub-TLV of the same type appears more than once, only the first
   occurrence is processed and all others MUST be ignored.  If sub-TLVs
   are not present, the default values based on the local policy are
   assumed.</t>

      <section anchor="sect-4.1" numbered="true" toc="default">
        <name>Measurement-Enable sub-TLV</name>
        <t>
   The Measurement-Enable sub-TLV specifies that the given measurement
   feature is enabled.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  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=1              |           Length=4            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                             Flags                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Measurement-Enable sub-TLV Format
]]></artwork>
        <t>
   The Type is 1, Length is 4 bytes, and the value comprises of flags
   (32 bits) for enabling various measurement features.</t>
        <t>
   Unassigned flags are considered reserved, they MUST be set to 0 when
   sent and MUST be ignored when received.
   The flags define various performance measurement types in this document.</t>

      </section>
      
      <section anchor="sect-4.7" numbered="true" toc="default">
        <name>Transmit-Interval sub-TLV</name>
        <t>
   The Transmit-Interval sub-TLV specifies a time interval in milli-seconds
   for the test packet transmission.</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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=7              |           Length=4            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                       Transmit-Interval                       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Transmit-Interval sub-TLV Format
]]></artwork>
        <t>
   The Type is 7, Length is 4 bytes, and the value comprises a 4-byte
   time interval, the valid range is from 1 to 604800, in milli-seconds. The
   default value is 1 second.  The Transmit-Interval MUST NOT be
   greater than the Measurement-Interval and Report-Interval.</t>
      </section>

     <section anchor="sect-4.8" numbered="true" toc="default">
        <name>Measurement-Protocol sub-TLV</name>
        <t>
   The Measurement-Protocol sub-TLV specifies that the given measurement
   protocol type and measurement mode are enabled.</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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=8              |           Length=8            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                    Measurement-Protocol                       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                    Measurement-Mode                           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Measurement-Protocol sub-TLV Format
]]></artwork>

        <t>
   The Type is 8, Length is 8 bytes, and the value comprises of 
   protocol type and measurement mode for performance measurement.</t>

   <t>
   Measurement protocol type value can be set to: 
   (1) STAMP protocol defined in <xref target="RFC8762" format="default"/>,
   or (2) TWAMP protocol defined in <xref target="RFC5357" format="default"/>, 
   or (3) MPLS-PM protocol defined in  <xref target="RFC6374" format="default"/>.
   </t>

   <t>
   Measurement mode value can be set to: (1) one-way, or (2) two-way, or (3) loopback mode. 
   </t>

      </section>

      <section anchor="sect-4.2" numbered="true" toc="default">
        <name>Measurement-Interval sub-TLV</name>
        <t>
   The Measurement-Interval sub-TLV specifies a time interval in seconds
   for the measurement.</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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=2              |           Length=4            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                    Measurement-Interval                       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Measurement-Interval sub-TLV Format
]]></artwork>
        <t>
   The Type is 2, Length is 4 bytes, and the value comprises a 4-byte
   time interval, the valid range is from 1 to 604800, in seconds.  The
   default value is 300 seconds.  The Measurement-Interval MUST NOT be
   greater than Report-Interval.</t>
      </section>

      <section anchor="sect-4.3" numbered="true" toc="default">
        <name>Report-Threshold sub-TLV</name>
        <t>
   The Report-Threshold sub-TLV specifies the threshold value used to
   trigger an immediate reporting of the measurements bypassing the
   report-interval.</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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=3              |           Length=8            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |         RESERVED                              |      Count    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                         Report-Threshold                      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Report-Threshold sub-TLV Format
]]></artwork>

        <t>
   The Type is 3, Length is 8 bytes, and the value comprises of -
   o  Report-Threshold:  32-bit absolute threshold value.</t>
        <ul spacing="normal">
          <li>
            <t>Count: 8-bit integer counter.  The number of consecutive
      measurement values MUST be above the threshold before reporting
      the measurement.  The value 0 is considered to be invalid.  By
      default, report-threshold is not set and threshold check based
      reporting is disabled.</t>
          </li>
          <li>
            <t>RESERVED: It MUST be set to zero when sent and MUST be ignored
      when received.</t>
          </li>
        </ul>
      </section>
      <section anchor="sect-4.4" numbered="true" toc="default">
        <name>Report-Threshold-Percentage sub-TLV</name>
        <t>
   The Report-Threshold-Percentage sub-TLV specifies the threshold value
   used to trigger an immediate reporting of the measurements bypassing
   the report-interval.</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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=4              |           Length=8            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  Percentage |          RESERVED               |     Count     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                        Minimum-Threshold                      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Report-Threshold-Percentage sub-TLV Format
]]></artwork>

     <t>
     The Type is 4, Length is 8 bytes, and the value comprises of -
     </t>

        <ul spacing="normal">
          <li>
            <t>Percentage: 7-bit threshold value, encoded in percentage (an integer from 1 to 100).</t>
          </li>
          <li>
            <t>Count: 8-bit integer counter.  The number of consecutive
      measurement values MUST be above the threshold before reporting the
      measurement.  The value 0 is considered to be invalid.  By
      default, report-threshold-percentage is not set and threshold
      check based reporting is disabled.</t>
          </li>
          <li>
            <t>RESERVED: It MUST be set to zero when sent and MUST be ignored when received.</t>
          </li>
          <li>
            <t>Minimum-Threshold: The 32-bit absolute Minimum-Threshold value.
      The increase or decrease should be at least or above this value.</t>
          </li>
        </ul>
      </section>

      <section anchor="sect-4.5" numbered="true" toc="default">
        <name>Report-Interval sub-TLV</name>
        <t>
   The Report-Interval sub-TLV specifies the time interval in seconds
   when measured values are to be reported.</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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=5              |           Length=4            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                         Report-Interval                       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Report-Interval sub-TLV Format
]]></artwork>
        <t>
   The Type is 5, Length is 4 bytes, and the value comprises a 4-byte
   time interval, the valid range is from 0 to 604800, in seconds.  The
   default value is 3600 seconds.  The value 0 is used to disable the
   periodic reporting of the measurements.</t>
      </section>

      <section anchor="sect-4.6" numbered="true" toc="default">
        <name>Report-Upper-Bound sub-TLV</name>
        <t>
   The Report-Upper-Bound sub-TLV specifies the upper-bound value used
   to trigger an immediate reporting of the measurements when crossed.
   This may also result in PCC taking an immediate local action on the LSP.
   Anomaly flag is set to true in the reported measurement when the upper-bound threshold is crossed.
    </t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  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=6              |           Length=8            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |         RESERVED                              |      Count    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                       Report-Upper-Bound                      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Report-Upper-Bound sub-TLV Format
]]></artwork>

    <t>
    The Type is 6, Length is 8 bytes, and the value comprises of -
    </t>

        <ul spacing="normal">
          <li>
            <t>Report-Upper-Bound:  32-bit absolute value.</t>
          </li>
          <li>
            <t>Count: 8-bit integer counter.  The number of consecutive
      measurement values MUST be above the upper-bound before reporting
      the measurement.  The value 0 is considered to be invalid.  By
      default, upper-bound is not set.</t>
          </li>
          <li>
            <t>RESERVED: It MUST be set to zero when sent and MUST be ignored when received.</t>
          </li>
        </ul>
      </section>

    </section>
    <section anchor="sect-5" numbered="true" toc="default">
      <name>PCEP Extensions for Delay Measurement</name>
      <section anchor="sect-5.1" numbered="true" toc="default">
        <name>Delay Measurement Capability Advertisement</name>
        <t>
   During PCEP Initialization Phase, PCEP Speakers (PCE or PCC)
   advertise their support for DELAY-MEASUREMENT.  A PCEP Speaker (PCE or
   PCC) includes the DELAY-MEASUREMENT-CAPABILITY TLV, in the OPEN
   Object to advertise its support for PCEP Delay-Measurement
   extensions.  The presence of the DELAY-MEASUREMENT-CAPABILITY TLV in
   the OPEN Object (in the Open message) indicates that the Delay
   Measurement capability is supported as described in this document.
   Additional procedure is defined as following:</t>
        <ul spacing="normal">
          <li>
            <t>The PCEP protocol extensions for Delay Measurement MUST NOT be
      used if one or both PCEP Speakers have not included the DELAY-
      MEASUREMENT-CAPABILITY TLV in their respective Open message.</t>
          </li>
          <li>
            <t>If the PCEP speaker that supports the extensions of this document
      but did not advertise this capability, then upon receipt of DELAY-
      MEASUREMENT-ATTRIBUTES TLV in the LSPA object, it SHOULD generate a
      PCErr with error-type 19 (Invalid Operation), error-value TBD7
      (Delay-Measurement capability was not advertised) and it will
      terminate the PCEP session.</t>
          </li>
          <li>
            <t>Similarly, the PCEP speaker SHOULD generate error-value TBD9
      (Two-Way Measurement capability was not advertised) and
      TBD10 (One-Way Measurement capability was not advertised)
      upon receipt of DELAY-MEASUREMENT-ATTRIBUTES TLV in the LSPA object
      with Two-Way and One-Way measurement request, repsectively, when it did not advertise this capability.</t>
          </li>
          <li>
            <t>If the PCEP speaker that supports the extensions of this document
      but did not advertise this capability, then upon receipt of DELAY-
      MEASUREMENT object, it SHOULD generate a PCErr with error-type 19
      (Invalid Operation), error-value TBD7 (Delay-Measurement
      capability was not advertised) and it will terminate the PCEP
      session.</t>
          </li>
        </ul>
        <section anchor="sect-5.1.1" numbered="true" toc="default">
          <name>DELAY-MEASUREMENT-CAPABILITY TLV</name>
          <t>
   The DELAY-MEASUREMENT-CAPABILITY TLV is an optional TLV for use in
   the OPEN Object for Delay Measurement via PCEP capability
   advertisement.  Its format is shown in the following figure:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
  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=TBD1       |           Length=4            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                             Flags                         |T|O|
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               DELAY-MEASUREMENT-CAPABILITY TLV Format
]]></artwork>

    <t>
    The Type of the TLV is TBD1 and it has a fixed length of 4 bytes.
    </t>
    <t>
    The value comprises a single field - Flags (32 bits):
    </t>
    <ul spacing="normal">
            <li>
              <t>O (One-way Delay Measurement - 1 bit): if set to 1 by a PCC, the O
      Flag indicates that the PCC allows reporting of one-way delay
      measurement information; if set to 1 by a PCE, the O Flag
      indicates that the PCE is capable of receiving one-way delay
      measurement information from the PCC.</t>
            </li>
            <li>
              <t>T (Two-way Delay Measurement - 1 bit): if set to 1 by a PCC, the T
      Flag indicates that the PCC allows reporting of two-way delay
      measurement information; if set to 1 by a PCE, the T Flag
      indicates that the PCE is capable of receiving two-way delay
      measurement information from the PCC.  
      </t>
            </li>
          </ul>
          <t>
   Unassigned bits are considered reserved.  They MUST be set to 0 when
   sent and MUST be ignored when received.</t>
          <t>
   Advertisement of the DELAY-MEASUREMENT-CAPABILITY TLV implies support
   for delay measurement, as well as the objects, TLVs and procedures
   defined in this document.  Either the O or T flag MUST be set in the TLV.</t>
        </section>
      </section>

      <section anchor="sect-5.2" numbered="true" toc="default">
        <name>DELAY-MEASUREMENT-ATTRIBUTES TLV</name>
        <t>
   The DELAY-MEASUREMENT-ATTRIBUTES TLV provides the configurable
   parameters of the delay measurement feature.</t>
        <t>
   The format of the DELAY-MEASUREMENT-ATTRIBUTES TLV is shown in the
   following figure:</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |       PCEP TLV Type=TBD4      |           Length              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 //                           sub-TLVs                          //
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               DELAY-MEASUREMENT-ATTRIBUTES TLV Format
]]></artwork>

<t>
PCEP TLV Type is defined as following:
</t>

<artwork name="" type="" align="left" alt=""><![CDATA[
 Type      Name
 ----------------------------------------------------------
 TBD4      DELAY-MEASUREMENT-ATTRIBUTES
]]></artwork>

        <t>
   Length: The Length field defines the length of the value portion in
   bytes as per <xref target="RFC5440" format="default"/>.</t>
        <t>
   Value: Comprises of one or more sub-TLVs as described in Section 4 of
   this document.</t>
        <t>
   The following sub-sections describe the parameters that are
   currently defined to be carried within this TLV.</t>

        <section anchor="sect-5.2.1" numbered="true" toc="default">
          <name>Delay Measurement Enable</name>
          <t>
   The Measurement-Enable sub-TLV specifies the delay measurement mode
   enabled using the following flags:</t>

          <artwork name="" type="" align="left" alt=""><![CDATA[
 Bit     Description
 ----------------------------------------------------------------
 31      One-Way Delay Measurement Enabled
 30      Two-Way Delay Measurement Enabled
 29      Loopback Delay Measurement Enabled
]]></artwork>

        </section>

        <section anchor="sect-5.2.2" numbered="true" toc="default">
          <name>Delay Measurement Interval</name>
          <t>
   The Measurement-Interval sub-TLV specifies a time interval in seconds
   for the delay measurement.</t>
        </section>
        <section anchor="sect-5.2.3" numbered="true" toc="default">
          <name>Delay Measurement Report Threshold</name>
          <t>
   The Report-Threshold sub-TLV specifies the threshold value used to
   trigger an immediate reporting of the delay measurements bypassing
   the report-interval.</t>
          <ul spacing="normal">
            <li>
              <t>Report-Threshold: Delay in microseconds, encoded as a 24-bit
      integer, as defined in <xref target="RFC7471" format="default"/>.</t>
            </li>
          </ul>
          <t>
   The same report-threshold is used for all delay measurement values.</t>
        </section>
        <section anchor="sect-5.2.4" numbered="true" toc="default">
          <name>Delay Measurement Report Threshold Percentage</name>
          <t>
   The Report-Threshold-Percentage sub-TLV specifies the threshold value
   used to trigger an immediate reporting of the measurements bypassing
   the report-interval.</t>
          <t>
   The same report-threshold-percentage is used for all delay measurement
   values.</t>
        </section>
        <section anchor="sect-5.2.5" numbered="true" toc="default">
          <name>Delay Measurement Report Interval</name>
          <t>
   The Report-Interval sub-TLV specifies the time interval in seconds
   when measured delay values are to be reported.</t>
        </section>

        <section anchor="sect-5.2.6" numbered="true" toc="default">
          <name>Delay Measurement Upper Bound</name>
          <t>
   The Report-Upper-Bound sub-TLV specifies the upper-bound value in
   microseconds, and is used to trigger an immediate reporting of the
   delay values when crossed.  This may also result in PCC taking an
   immediate local action on the LSP.</t>
        </section>
      </section>

      <section anchor="sect-5.3" numbered="true" toc="default">
        <name>DELAY-MEASUREMENT Object For Reporting</name>
        <t>
   The DELAY-MEASUREMENT Object with Object-Class (Value TBD16) is
   defined in this document to report the delay measurement of a TE LSP.</t>

        <t>
   When the LSP is enabled with the delay measurement feature, the PCC
   SHOULD include the DELAY-MEASUREMENT Object to report the measured
   delay values to the PCE in the PCRpt message.  The PCC SHOULD report
   (either one-way or two-way) average delay, min/max delay and delay
   variations to the PCE in the PCRpt message, as well as anomaly state in the Anomaly (A) flag.</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Class=TBD16   |   OT  |Res|P|I|   Object Length (bytes)       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 //                        (Object body)                        //
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 DELAY-MEASUREMENT Object Format
]]></artwork>

   <t>Object Length (16 bits):
   Specifies the total object length including the header, in bytes as per <xref target="RFC5440" format="default"/>.
   </t>

   <t>
   Object-Types (OT) are defined as follows:</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Object-Type  Length   Name
 ----------------------------------------------------------------
 1            8        Delay Measurement Status 
 2            8        One-Way Delay Measurement Value
 3            12       One-Way Delay Measurement Min/Max Values
 4            8        One-Way Delay Variation Measurement Value
 5            8        Two-Way Delay Measurement Value
 6            12       Two-Way Delay Measurement Min/Max Values
 7            8        Two-Way Delay Variation Measurement Value
 8            8        Loopback Delay Measurement Value
 9            12       Loopback Delay Measurement Min/Max Values
 10           8        Loopback Delay Variation Measurement Value
]]></artwork>

        <t>
   All delay values are reported in microseconds, encoded as a 24-bit
   integer, as defined in <xref target="RFC7471" format="default"/>.  When set to the maximum value
   16,777,215 (16.777215 sec), the delay is at least that value and may
   be larger.</t>

   <t>
   The object body formats are defined as following:
   </t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |     RESERVED                                  |  Status       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 DELAY-MEASUREMENT Object Body Format (Delay Measurement Status)
]]></artwork>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |A|   RESERVED  |            Delay Value Average                |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

DELAY-MEASUREMENT Object Body Format (One-Way, Two-Way and Loopback)
]]></artwork>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |A|   RESERVED  |            Delay Value Minimum                |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |A|   RESERVED  |            Delay Value Maximum                |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

DELAY-MEASUREMENT Object Body Format (One-Way, Two-Way and Loopback)
]]></artwork>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |A|   RESERVED  |            Delay Variation Value              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

DELAY-MEASUREMENT Object Body Format (One-Way, Two-Way and Loopback)
]]></artwork>

        <ul spacing="normal">
          <li>
            <t>One-way Delay Measurement Value: Average Delay of the LSP in one
      (forward) direction.</t>
          </li>
          <li>
            <t>One-way Delay Measurement Variation Value: Average Delay Variation
      of the LSP in one (forward) direction.</t>
          </li>
          <li>
            <t>One-Way Delay Measurement Value Minimum/Maximum: Minimum and
      Maximum values of the Delay of the LSP in one (forward) direction.
      </t>
          </li>

          <li>
            <t>Two-way Delay Measurement Value: Average Delay of the
      LSP in both (forward and reverse) directions.</t>
          </li>
          <li>
            <t>Two-way Delay Measurement Variation Value: Average Delay Variation
      of the LSP in both (forward and reverse) directions.</t>
          </li>
          <li>
            <t>Two-Way Delay Measurement Value Minimum/Maximum: Minimum and
      Maximum values of the Delay of the LSP in both (forward and reverse) directions.</t>
          </li>

          <li>
            <t>Loopback Delay Measurement Value: Average Delay of the
      LSP in both (forward and reverse) directions.</t>
          </li>
          <li>
            <t>Loopback Delay Measurement Variation Value: Average Delay Variation
      of the LSP in both (forward and reverse) directions.</t>
          </li>
          <li>
            <t>Loopback Delay Measurement Value Minimum/Maximum: Minimum and
      Maximum values of the Delay of the LSP in both (forward and reverse) directions.</t>
          </li>

          <li>
            <t>RESERVED: This field is reserved for future use.  It MUST be set
      to 0 when sent and MUST be ignored when received.</t>
          </li>

          <li>
            <t>Delay Measurement Status: Indicates the Status of Delay Measurement as: (1) Active, (2) Failed, (3) Errored.</t>
          </li>

        </ul>
      </section>
    </section>

    <section anchor="sect-6" numbered="true" toc="default">
      <name>PCEP Extensions for Loss Measurement</name>
      <section anchor="sect-6.1" numbered="true" toc="default">
        <name>Loss Measurement Capability Advertisement</name>
        <t>
   During PCEP Initialization Phase, PCEP Speakers (PCE or PCC)
   advertise their support for LOSS-MEASUREMENT.  A PCEP Speaker includes
   the LOSS-MEASUREMENT-CAPABILITY TLV, in the OPEN Object to advertise
   its support for PCEP Loss-Measurement extensions.  The presence of
   the LOSS-MEASUREMENT-CAPABILITY TLV in the OPEN Object (in the Open
   message) indicates that the Loss Measurement capability is supported
   as described in this document.  Additional procedure is defined as
   following:</t>
        <ul spacing="normal">
          <li>
            <t>The PCEP protocol extensions for Loss Measurement MUST NOT be used
      if one or both PCEP Speakers have not included the LOSS-MEASUREMENT-CAPABILITY TLV in their respective Open message.</t>
          </li>
          <li>
            <t>If the PCEP speaker that supports the extensions of this document
      but did not advertise this capability, then upon receipt of LOSS-MEASUREMENT-ATTRIBUTES TLV in the LSPA object, it SHOULD generate a
      PCErr with error-type 19 (Invalid Operation), error-value TBD8
      (Loss-Measurement capability was not advertised) and it will
      terminate the PCEP session.</t>
          </li>
          <li>
            <t>Similarly, the PCEP speaker SHOULD generate error-value TBD9
      (Two-Way Measurement capability was not advertised) and
      TBD10 (One-Way Measurement capability was not advertised)
      upon receipt of LOSS-MEASUREMENT-ATTRIBUTES TLV in the LSPA object
      with two-way measurement request and one-way measurement request,
      respectively, when it did not advertise this capability.</t>
          </li>
          <li>
            <t>Further, the PCEP speaker SHOULD generate error-value TBD11
      (Inferred Mode Loss Measurement capability was not advertised) and
      TBD12 (Direct Mode Loss Measurement capability was not advertised)
      upon receipt of LOSS-MEASUREMENT-ATTRIBUTES TLV in the LSPA object
      with Inferred Mode loss measurement request and Direct Mode loss
      measurement request, respectively, when it did not advertise this
      capability.</t>
          </li>
          <li>
            <t>If the PCEP speaker that supports the extensions of this document
      but did not advertise this capability, then upon receipt of LOSS-MEASUREMENT object, it SHOULD generate a PCErr with error-type 19
      (Invalid Operation), error-value TBD8 (Loss-Measurement capability
      was not advertised) and it will terminate the PCEP session.</t>
          </li>
        </ul>

        <section anchor="sect-6.1.1" numbered="true" toc="default">
          <name>LOSS-MEASUREMENT-CAPABILITY TLV</name>
          <t>
   The LOSS-MEASUREMENT-CAPABILITY TLV is an optional TLV for use in the
   OPEN Object for Loss Measurement via PCEP capability advertisement.
   Its format is shown in the following figure:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
  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=TBD2        |           Length=4            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                             Flags                     |N|I|B|U|
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             LOSS-MEASUREMENT-CAPABILITY TLV Format
]]></artwork>

<t>
The Type of the TLV is TBD2 and it has a fixed length of 4 bytes.
</t>

<t>
The value comprises a single field - Flags (32 bits):
</t>

      <ul spacing="normal">
            <li>
              <t>U (One-Way Measurement - 1 bit): if set to 1 by a PCC, the
      U Flag indicates that the PCC allows reporting of one-way 
      loss measurement information; if set to 1 by a PCE, the U Flag
      indicates that the PCE is capable of receiving one-way loss
      measurement information from the PCC.</t>
            </li>
            <li>
              <t>B (Two-Way Measurement - 1 bit): if set to 1 by a PCC, the B
      Flag indicates that the PCC allows reporting of two-way loss
      measurement information; if set to 1 by a PCE, the B Flag
      indicates that the PCE is capable of receiving two-way loss
      measurement information from the PCC. </t>
            </li>
            <li>
              <t>I (Inferred Loss Measurement Mode - 1 bit): if set to 1 by a PCC,
      the I Flag indicates that the PCC allows reporting of inferred
      mode loss measurement information; if set to 1 by a PCE,
      the I Flag indicates that the PCE is capable of receiving inferred
      mode loss measurement information from the PCC.</t>
            </li>
            <li>
              <t>N (Direct Loss Measurement Mode - 1 bit): if set to 1 by a PCC,
      the N Flag indicates that the PCC allows reporting of direct mode
      loss measurement information; if set to 1 by a PCE, the
      N Flag indicates that the PCE is capable of receiving direct mode
      loss measurement information from the PCC.</t>
            </li>
          </ul>

   <t>
   Unassigned bits are considered reserved.  They MUST be set to 0 when
   sent and MUST be ignored when received.</t>

   <t>
   Advertisement of the LOSS-MEASUREMENT-CAPABILITY TLV implies support
   for loss measurement, as well as the objects, TLVs and procedures
   defined in this document.  Either the U or B flag MUST be set in the TLV.
   Similarly, either the I or N flag MUST be set in the TLV.
   </t>

   </section>
    </section>

   <section anchor="sect-6.2" numbered="true" toc="default">
        <name>LOSS-MEASUREMENT-ATTRIBUTES TLV</name>

   <t>
   The LOSS-MEASUREMENT-ATTRIBUTES TLV provides the configurable
   parameters of the loss measurement feature.</t>

        <t>
   The format of the LOSS-MEASUREMENT-ATTRIBUTES TLV is shown in the following figure:</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |       PCEP TLV Type=TBD5      |           Length              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 //                           sub-TLVs                          //
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               LOSS-MEASUREMENT-ATTRIBUTES TLV Format
]]></artwork>

<t>
PCEP TLV Type is defined as following:
</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Type      Name
 ----------------------------------------------------------
 TBD5     LOSS-MEASUREMENT-ATTRIBUTES
]]></artwork>

        <t>
   Length: The Length field defines the length of the value portion in
   bytes as per <xref target="RFC5440" format="default"/>.</t>
        <t>
   Value: Comprises of one or more sub-TLVs as described in Section 4 of
   this document.</t>
        <t>
   The following sub-sections describe the parameters that are
   currently defined to be carried within this TLV.</t>

        <section anchor="sect-6.2.1" numbered="true" toc="default">
          <name>Loss Measurement Enable</name>
          <t>
   The Measurement-Enable sub-TLV specifies the loss measurement mode enabled using the following flags:</t>

          <artwork name="" type="" align="left" alt=""><![CDATA[
 Bit      Description
 -----------------------------------------------------------------
 28       One-Way Loss Measurement Enabled
 27       Two-Way Loss Measurement Enabled
 26       Inferred Loss Measurement Enabled
 25       Direct Loss Measurement Enabled
]]></artwork>

        </section>

        <section anchor="sect-6.2.2" numbered="true" toc="default">
          <name>Loss Measurement Interval</name>
          <t>
   The Measurement-Interval sub-TLV specifies a time interval in seconds for the loss measurement.</t>
        </section>

        <section anchor="sect-6.2.3" numbered="true" toc="default">
          <name>Loss Measurement Report Threshold</name>
          <t>
   The Report-Threshold sub-TLV specifies the threshold value used to
   trigger an immediate reporting of the loss measurements bypassing the
   report-interval.</t>
          <ul spacing="normal">
            <li>
              <t>Report-Threshold: This 24-bit field identifies the packet loss as
      a percentage of the total packets sent or received. The encoding
      is as per <xref target="RFC7471" format="default"/>.</t>
            </li>
          </ul>
          <t>
   The same report-threshold is used for all loss measurement values.</t>
        </section>

        <section anchor="sect-6.2.4" numbered="true" toc="default">
          <name>Loss Measurement Report Threshold Percentage</name>
          <t>
   The Report-Threshold-Percentage sub-TLV specifies the threshold value
   used to trigger an immediate reporting of the loss measurements
   bypassing the report-interval.</t>
          <t>
   The same report-threshold-percentage is used for all loss measurement values.</t>
        </section>

        <section anchor="sect-6.2.5" numbered="true" toc="default">
          <name>Loss Measurement Report Interval</name>
          <t>
   The Report-Interval sub-TLV specifies the time interval in seconds
   when measured loss values are to be reported.</t>
        </section>

        <section anchor="sect-6.2.6" numbered="true" toc="default">
          <name>Loss Measurement Upper Bound</name>
          <t>
   The Report-Upper-Bound sub-TLV specifies the upper-bound value in
   percentage packet loss, and is used to trigger an immediate reporting
   of the packet loss values when crossed.  This may also result in PCC
   taking an immediate local action on the LSP.</t>
        </section>
      </section>

      <section anchor="sect-6.3" numbered="true" toc="default">
        <name>LOSS-MEASUREMENT Object For Reporting</name>
        <t>
   The LOSS-MEASUREMENT Object with Object-Class (Value TBD17) is defined
   in this document to report the packet loss measurement of a TE LSP.</t>

        <t>
   When the LSP is enabled with the loss measurement feature, the PCC
   SHOULD include the LOSS-MEASUREMENT Object to report the measured
   packet loss to the PCE in the PCRpt message, as well as anomaly state in the Anomaly (A) flag.</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Class=TBD17   |   OT  |Res|P|I|   Object Length (bytes)       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 //                        (Object body)                        //
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 LOSS-MEASUREMENT Object Format
]]></artwork>

    <t>Object Length (16 bits):
    Specifies the total object length including the header, in bytes <xref target="RFC5440" format="default"/>.
    </t>

        <t>
   Object-Types (OT) are defined as following:</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Object-Type  Length   Name
 -------------------------------------------------------------
 1            8        Loss Measurement Status
 2            8        Tx Packets-Lost
 3            8        Rx Packets-Lost
 4            12       Total Packets-Sent-Received
]]></artwork>


<t>
The object body format for Loss Measurement Status is defined as following:
</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |     RESERVED                                  |  Status       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  LOSS-MEASUREMENT Object Body Format (Loss Measurement Status)
]]></artwork>

       <ul spacing="normal">
          <li>
        <t>Loss Measurement Status: Indicates the Status of Loss Measurement as: (1) Active, (2) Failed, (3) Errored.
            </t>
          </li>
          <li>
            <t>RESERVED: This field is reserved for future use.  It MUST be set
            to 0 when sent and MUST be ignored when received.</t>
          </li>
        </ul>

<t>
The object body format for Packets-Lost is defined as following:
</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |A|   RESERVED  |            Packets-Lost                       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     LOSS-MEASUREMENT Object Body Format (Lost Tx and Rx)
]]></artwork>

        <ul spacing="normal">
          <li>
            <t>Packets-Lost: This 24-bit field identifies the packet loss as a
      percentage of the total packets sent or received, encoded as per
      <xref target="RFC7471" format="default"/>.</t>
          </li>
          <li>
            <t>RESERVED: This field is reserved for future use.  It MUST be set
      to 0 when sent and MUST be ignored when received.</t>
          </li>
        </ul>

        <t>
   The Packets-Lost in the Rx direction is reported when two-way
   loss measurement is enabled.</t>

<t>
The object body format for Total Packets is defined as following:
</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                Total Packets Sent                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                Total Packets Received                         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     LOSS-MEASUREMENT Object Body Format (Total Tx and Rx)
]]></artwork>

       <ul spacing="normal">
          <li>
            <t>Total Packets Sent: This 32-bit field identifies the total packets sent. 
            </t>
          </li>
          <li>
            <t>Total Packets Received: This 32-bit field identifies the total packets received.
            </t>
          </li>
        </ul>

      </section>
    </section>



    <section anchor="sect-7" numbered="true" toc="default">
      <name>PCEP Extensions for Bandwidth Utilization</name>

      <section anchor="sect-7.1" numbered="true" toc="default">
        <name>Bandwidth Utilization Capability Advertisement</name>
        <t>
   During PCEP Initialization Phase, PCEP Speakers (PCE or PCC)
   advertise their support for bandwidth utilization reporting.  A PCEP
   Speaker includes the "BANDWIDTH-UTILIZATION-CAPABILITY" TLV, in the
   OPEN Object to advertise its support for PCEP extensions.  The
   presence of the "BANDWIDTH-UTILIZATION-CAPABILITY" TLV in the OPEN
   Object (in the Open message) indicates that the bandwidth utilization
   reporting is supported as described in this document.  Additional
   procedure is defined as following:</t>
        <ul spacing="normal">
          <li>
            <t>The PCEP protocol extensions for bandwidth utilization MUST NOT be
      used if one or both PCEP Speakers have not included the
      "BANDWIDTH-UTILIZATION-CAPABILITY" TLV in their respective Open
      message.</t>
          </li>
          <li>
            <t>If the PCEP speaker that supports the extensions of this document
      but did not advertise this capability, then upon receipt of
      BANDWIDTH-UTILIZATION-ATTRIBUTES TLV in the LSPA object, it SHOULD
      generate a PCErr with error-type 19 (Invalid Operation), error-
      value TBD13 (Bandwidth utilization capability was not advertised)
      and it will terminate the PCEP session.</t>
          </li>
          <li>
            <t>If the PCEP speaker that supports the extensions of this document
      but did not advertise this capability, then upon receipt of
      BANDWIDTH-UTILIZATION object of type TBD14, it SHOULD generate a PCErr with
      error-type 19 (Invalid Operation), error-value TBD13 (Bandwidth
      utilization capability was not advertised) and it will terminate
      the PCEP session.</t>
          </li>
        </ul>

        <section anchor="sect-7.1.1" numbered="true" toc="default">
          <name>BANDWIDTH-UTILIZATION-CAPABILITY TLV</name>
          <t>
   The BANDWIDTH-UTILIZATION-CAPABILITY TLV is an optional TLV for use
   in the OPEN Object for Bandwidth Utilization reporting via PCEP
   capability advertisement.  Its format is shown in the following
   figure:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
  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=TBD3       |            Length=4           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                             Flags                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          BANDWIDTH-UTILIZATION-CAPABILITY TLV Format
]]></artwork>

   <t>
   The Type of the TLV is TBD3 and it has a fixed length of 4 bytes.
   </t>

    <t>
   The value comprises a single field - Flags (32 bits).  Currently, no
   flags are defined for this TLV.</t>
   
          <t>
   Unassigned bits are considered reserved.  They MUST be set to 0 when
   sent and MUST be ignored when received.</t>

          <t>
   Advertisement of the BANDWIDTH-UTILIZATION-CAPABILITY TLV implies
   support for bandwidth utilization reporting, as well as the objects,
   TLVs and procedures defined in this document.</t>
        </section>

      </section>
      <section anchor="sect-7.2" numbered="true" toc="default">
        <name>BW-UTILIZATION-MEASUREMENT-ATTRIBUTES TLV</name>
        <t>
   The BW-UTILIZATION-MEASUREMENT-ATTRIBUTES TLV provides the
   configurable parameters of the bandwidth utilization feature.</t>
        <t>
   The format of the BW-UTILIZATION-MEASUREMENT-ATTRIBUTES TLV is shown
   in the following figure:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |       PCEP TLV Type=TBD6      |           Length              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 //                           sub-TLVs                          //
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          BW-UTILIZATION-MEASUREMENT-ATTRIBUTES TLV Format
]]></artwork>

    <t>
    PCEP TLV Type is defined as following:
    </t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Type      Name
 ----------------------------------------------------------
 TBD6     BW-UTILIZATION-MEASUREMENT-ATTRIBUTES
]]></artwork>

        <t>
   Length: The Length field defines the length of the value portion in
   bytes as per <xref target="RFC5440" format="default"/>.</t>
        <t>
   Value: Comprises of one or more sub-TLVs as described in Section 4 of
   this document.</t>
        <t>
   The following sub-sections describe the parameters that are
   currently defined to be carried within this TLV.</t>

        <section anchor="sect-7.2.1" numbered="true" toc="default">
          <name>Bandwidth Utilization Measurement Enable</name>
          <t>
   The Measurement-Enable sub-TLV specifies that the bandwidth
   utilization reporting is enabled using the following flag:</t>

          <artwork name="" type="" align="left" alt=""><![CDATA[
 Bit     Description
 ------------------------------------------------------------------
 24      Bandwidth Utilization Reporting Enabled
]]></artwork>

        </section>
        <section anchor="sect-7.2.2" numbered="true" toc="default">
          <name>Bandwidth Utilization Measurement Interval</name>
          <t>
   The Measurement-Interval sub-TLV specifies a time interval in seconds
   for the bandwidth samples collection interval.</t>
        </section>

        <section anchor="sect-7.2.3" numbered="true" toc="default">
          <name>Bandwidth Utilization Report Threshold</name>
          <t>
   The Report-Threshold sub-TLV is used to decide if the bandwidth
   samples collected so far should be immediately reported bypassing the
   report-interval.</t>
          <ul spacing="normal">
            <li>
              <t>Threshold: The absolute threshold bandwidth value in 32-bits,
      encoded in IEEE floating-point format (see <xref target="IEEE.754.1985" format="default"/>),
      expressed in bytes per second.</t>
            </li>
          </ul>
        </section>
        <section anchor="sect-7.2.4" numbered="true" toc="default">
          <name>Bandwidth Utilization Report Threshold Percentage</name>
          <t>
   The Report-Threshold-Percentage sub-TLV is used to decide if the
   bandwidth samples collected so far should be immediately reported
   bypassing the report-interval.</t>
        </section>
        <section anchor="sect-7.2.5" numbered="true" toc="default">
          <name>Bandwidth Utilization Report Interval</name>
          <t>
   The Report-Interval sub-TLV specifies a time interval in seconds when
   the collected bandwidth samples are to be reported to PCE.</t>
        </section>

        <section anchor="sect-7.2.6" numbered="true" toc="default">
          <name>Bandwidth Utilization Upper Bound</name>
          <t>
   The Report-Upper-Bound sub-TLV specifies the upper-bound bandwidth
   encoded in IEEE floating-point format (see <xref target="IEEE.754.1985" format="default"/>),
   expressed in bytes per second, and is used to trigger an immediate
   reporting when crossed.  This may also result in PCC taking an
   immediate local action on the LSP.</t>
        </section>
      </section>

      <section anchor="sect-7.3" numbered="true" toc="default">
        <name>BANDWIDTH Object For Reporting</name>
        <t>
   A new object-type for the existing BANDWIDTH Object (Object-Class 5) is defined to
   report the bandwidth utilization of a TE LSP.</t>

        <t>
   When the TE LSP is enabled with the bandwidth utilization reporting,
   the PCC SHOULD include the BANDWIDTH-UTILIZATION Object to report the
   bandwidth utilization of the TE LSP to the PCE in the PCRpt message.</t>

        <t>
   The object-type is TBD14, the object length is variable with
   multiples of 4 bytes.</t>

        <t>The object body format is defined as following:
        </t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                        BwSample1                              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                           ...                                 |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                        BwSampleN                              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
             BANDWIDTH-UTILIZATION Object Body Format
]]></artwork>

        <ul spacing="normal">
          <li>
            <t>BwSample: The utilized bandwidth, (the average BwSample collected at the
      end of each measurement-interval) encoded in IEEE floating-point
      format (see <xref target="IEEE.754.1985" format="default"/>), expressed in bytes per second.</t>
          </li>
        </ul>
      </section>
    </section>



    <section anchor="sect-66" numbered="true" toc="default">
      <name>PCEP Extensions for Liveness Detection Using PM</name>

      <section anchor="sect-66.1" numbered="true" toc="default">
        <name>Liveness Detection Using PM</name>

        <t>
   During PCEP Initialization Phase, PCEP Speakers (PCE or PCC)
   advertise their support for LIVENESS-DETECTION.  A PCEP Speaker includes
   the LIVENESS-DETECTION-CAPABILITY TLV, in the OPEN Object to advertise
   its support for PCEP Liveness-Detection extensions.  The presence of
   the LIVENESS-DETECTION-CAPABILITY TLV in the OPEN Object (in the Open
   message) indicates that the liveness detection capability is supported
   as described in this document.  Additional procedure is defined as
   following:</t>

        <ul spacing="normal">
          <li>
            <t>The PCEP protocol extensions for Liveness Detection MUST NOT be used
      if one or both PCEP Speakers have not included the LIVENESS-DETECTION-CAPABILITY TLV in their respective Open message.</t>
          </li>

          <li>
            <t>If the PCEP speaker that supports the extensions of this document
      but did not advertise this capability, then upon receipt of 
      LIVENESS-DETECTION-ATTRIBUTES TLV in the LSPA object, it SHOULD generate a
      PCErr with error-type 19 (Invalid Operation), error-value TBD21 
      (Liveness-Detection capability was not advertised) and it will
      terminate the PCEP session.</t>
          </li>

        </ul>

    <section anchor="sect-66.1.1" numbered="true" toc="default">
          <name>LIVENESS-DETECTION-CAPABILITY TLV</name>

          <t>
   The LIVENESS-DETECTION-CAPABILITY TLV is an optional TLV for use in the
   OPEN Object for Liveness Detection via PCEP capability advertisement.
   Its format is shown in the following figure:</t>

          <artwork name="" type="" align="left" alt=""><![CDATA[
  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=TBD19       |           Length=4            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                             Flags                             | 
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             LIVENESS-DETECTION-CAPABILITY TLV Format
]]></artwork>

   <t>
   The Type of the TLV is TBD19 and it has a fixed length of 4 bytes.
   </t>

   <t>
   The value comprises a single field - Flags (32 bits):
   </t>

   <t>
   Unassigned bits are considered reserved.  They MUST be set to 0 when
   sent and MUST be ignored when received.</t>

   <t>
   Advertisement of the LIVENESS-DETECTION-CAPABILITY TLV implies support
   for liveness detection, as well as the objects, TLVs and procedures
   defined in this document.     </t>

    </section>
    </section>

   <section anchor="sect-66.2" numbered="true" toc="default">
        <name>LIVENESS-DETECTION-ATTRIBUTES TLV</name>

   <t>
   The LIVENESS-DETECTION-ATTRIBUTES TLV provides the configurable
   parameters of the liveness detection feature.</t>

        <t>
   The format of the LIVENESS-DETECTION-ATTRIBUTES TLV is shown in the following figure:</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |       PCEP TLV Type=TBD20     |           Length              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 //                           sub-TLVs                          //
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               LIVENESS-DETECTION-ATTRIBUTES TLV Format
]]></artwork>

<t>
PCEP TLV Type is defined as following:
</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Type     Name
 ----------------------------------------------------------
 TBD20    LIVENESS-DETECTION-ATTRIBUTES
]]></artwork>

        <t>
   Length: The Length field defines the length of the value portion in
   bytes as per <xref target="RFC5440" format="default"/>.</t>
        <t>
   Value: Comprises of one or more sub-TLVs as described in Section 4 of
   this document.</t>
        <t>
   The following sub-sections describe the parameters that are
   currently defined to be carried within this TLV.</t>

        <section anchor="sect-66.2.1" numbered="true" toc="default">
          <name>Liveness Detection Enable</name>
          <t>
   The Measurement-Enable sub-TLV specifies the liveness detection enabled using the following flags:</t>

          <artwork name="" type="" align="left" alt=""><![CDATA[
 Bit      Description
 -----------------------------------------------------------------
 23       Liveness Detection Enabled
]]></artwork>

        </section>

        <section anchor="sect-66.2.2" numbered="true" toc="default">
          <name>Liveness Detection Interval</name>
          <t>
          The Measurement-Interval sub-TLV specifies a time interval in seconds for the liveness detection.</t>
        </section>

        <section anchor="sect-66.2.3" numbered="true" toc="default">
          <name>Liveness Detection Missed Count</name>
          <t>
      The Missed-Count sub-TLV specifies the number of consecutive packets not received to declare the liveness state as down.
          </t>
        </section>

      </section>

      <section anchor="sect-66.3" numbered="true" toc="default">
        <name>LIVENESS-DETECTION Object For Reporting</name>
        <t>
   The LIVENESS-DETECTION Object with Object-Class (Value TBD18) is defined
   in this document to report the liveness state of a TE LSP.</t>

        <t>
   When the LSP is enabled with the liveness detection feature, the PCC
   SHOULD include the LIVENESS-DETECTION Object to report the liveness state. 
   </t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Class=TBD18   |   OT  |Res|P|I|   Object Length (bytes)       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 //                        (Object body)                        //
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 LIVENESS-DETECTION Object Format
]]></artwork>

    <t>Object Length (16 bits):
    Specifies the total object length including the header, in bytes <xref target="RFC5440" format="default"/>.
    </t>

        <t>
   Object-Types (OT) are defined as following:</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Object-Type  Length   Name
 -------------------------------------------------------------
 1            8        Liveness State 
]]></artwork>

<t>
The object body format for Liveness Detection State is defined as following:
</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |     RESERVED                                  |  State        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          LIVENESS-DETECTION Object Body Format (State)
]]></artwork>

       <ul spacing="normal">
          <li>
        <t>Liveness Detection State: Indicates the State of Liveness Detection as: (1) Up, (2) Down, (3) Errored.
            </t>

          </li>
          <li>
            <t>RESERVED: This field is reserved for future use.  It MUST be set
            to 0 when sent and MUST be ignored when received.</t>
          </li>
        </ul>

    </section>
    </section>



    <section anchor="sect-8" numbered="true" toc="default">
      <name>PCEP Procedure</name>
      <t>
      The following procedure is defined for the extensions to different PCEP
      messages for reporting performance measurements and liveness detection.</t>
      <section anchor="sect-8.1" numbered="true" toc="default">
        <name>MEASUREMENT-ATTRIBUTES TLVs</name>
        <ul spacing="normal">
          <li>
            <t>For a PCE-Initiated LSP <xref target="RFC8281" format="default"/> with reporting
      features enabled, the corresponding MEASUREMENT-ATTRIBUTES TLV for
      each measurement MUST be included in the LSPA Object with the
      PCInitiate message.</t>
          </li>
          <li>
            <t>For a PCE-Initiated LSP <xref target="RFC8281" format="default"/> with reporting
      features enabled, the corresponding MEASUREMENT-ATTRIBUTES TLV for
      each measurement is carried in the PCUpd message in the LSPA
      Object in order to make updates to the attributes such as
      Report-Interval.</t>
          </li>
          <li>
            <t>For a PCC-Initiated LSP with reporting features enabled, when the
      LSP is delegated to the PCE, the corresponding MEASUREMENT-
      ATTRIBUTES TLV for each measurement MUST be included in the LSPA
      Object of the PCRpt message.</t>
          </li>
          <li>
            <t>The various MEASUREMENT-ATTRIBUTES TLVs are encoded in all PCEP
      messages for the LSP with reporting features enabled, the absence
      of the corresponding MEASUREMENT-ATTRIBUTES TLV indicates that the
      PCEP speaker wishes to disable the feature.</t>
          </li>
        </ul>
      </section>

      <section anchor="sect-8.2" numbered="true" toc="default">
        <name>MEASUREMENT Objects</name>
        <t>
   When a TE LSP is enabled with a measurement reporting feature, the
   PCC SHOULD include the corresponding MEASUREMENT Object to report the
   measured values to the PCE in the PCRpt message <xref target="RFC8231" format="default"/>.</t>
        <t>
   The format of the "actual_attribute-list" in the PCRpt message is
   modified as following:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
      <actual_attribute-list>::=[<BANDWIDTH>]
                                [<DELAY-MEASUREMENT>]
                                [<LOSS-MEASUREMENT>]
                                [<LIVENESS-DETECTION>]
                                [<metric-list>]
]]></artwork>

      </section>
    </section>

    <section anchor="sect-9" numbered="true" toc="default">
      <name>Scaling Considerations</name>
      <t>
   It should be noted that when measurement reporting is deployed under
   LSP scaling, it can lead to frequent reporting updates to the PCE.
   Operators are advised to set the values of various measurement
   reporting parameters appropriate for the deployed LSP scaling.</t>
      <t>
   If a PCE gets overwhelmed, it can notify the PCC to temporarily
   suspend the reporting of the measurements as described below.</t>
      <section anchor="sect-9.1" numbered="true" toc="default">
        <name>The PCNtf Message</name>
        <t>
   As per <xref target="RFC5440" format="default"/>, the PCEP Notification message (PCNtf) can be sent
   by a PCEP speaker to notify its peer of a specific event.  A PCEP
   speaker SHOULD notify its PCEP peer that it is overwhelmed, and on
   receipt of such notification the peer SHOULD NOT send any PCEP
   messages related to measurement reporting.  If a PCEP message related
   to measurement reporting is received, it MUST be silently ignored.</t>
        <ul spacing="normal">
          <li>
            <t>When a PCEP speaker is overwhelmed, it SHOULD notify its peer by
      sending a PCNtf message with Notification Type = TBD15 (PM
      Overwhelm State) and Notification Value = 1 (Entering PM overwhelm
      state).</t>
          </li>
          <li>
            <t>Optionally, OVERLOADED-DURATION TLV <xref target="RFC5440" format="default"/> MAY be included that
      specifies the time period during which no further PCEP messages
      related to PM should be sent.</t>
          </li>
          <li>
            <t>When the PCEP speaker is no longer in the overwhelmed state and is
      available to process the PM reporting, it SHOULD notify its peer
      by sending a PCNtf message with Notification Type = TBD15 (PM
      Overwhelm State) and Notification Value = 2 (Clearing PM overwhelm
      state).</t>
          </li>
        </ul>
      </section>

    </section>
    <section anchor="sect-10" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
   This document defines new MEASUREMENT-ATTRIBUTES TLVs, CAPABILITY
   TLVs and MEASUREMENT Objects for reporting loss, delay measurements, liveness detection, 
   and bandwidth utilization that do not add additional security
   concerns beyond those discussed in <xref target="RFC5440" format="default"/>,  
   <xref target="RFC8231" format="default"/>,  <xref target="RFC8281" format="default"/> and
   <xref target="RFC8664" format="default"/>.</t>

   <t>
   Some deployments may find the reporting of the performance
   measurement, liveness detection and bandwidth utilization information as extra sensitive
   as it could be used to influence LSP path computation and LSP setup
   with adverse effect.  Additionally, snooping of PCEP messages with
   such data or using PCEP messages for network reconnaissance, may give
   an attacker sensitive information about the operations of the
   network.  Thus, such deployments should employ suitable PCEP security
   mechanisms like TCP Authentication Option (TCP-AO) <xref target="RFC5925" format="default"/> or
   Transport Layer Security <xref target="RFC8253" format="default"/>.</t>

    </section>
    <section anchor="sect-11" numbered="true" toc="default">
      <name>Manageability Considerations</name>
      <section anchor="sect-11.1" numbered="true" toc="default">
        <name>Control of Function and Policy</name>
   <t>
   The performance measurement reporting SHOULD be controlled per TE
   tunnel (at PCC or PCE) and the values for feature attributes e.g.
   measurement-interval, report-interval, report-threshold SHOULD be
   configurable by an operator.</t>
      </section>

   <section anchor="sect-11.2" numbered="true" toc="default">
        <name>Information and Data Models</name>
   <t>
   A Management Information Base (MIB) module for modeling PCEP is
   described in <xref target="RFC7420" format="default"/>.  However, one may prefer a mechanism for
   configuration using the PCEP YANG data model <xref target="RFC9826" format="default"/>.  These
   SHOULD be enhanced to provide controls and indicators for support for 
   performance measurement reporting feature.  Support for various
   configuration knobs as well as for counters of messages sent/received
   containing the TLVs (defined in this document) SHOULD be added.</t>
      </section>

      <section anchor="sect-11.4" numbered="true" toc="default">
        <name>Verify Correct Operations</name>
        <t>
   Mechanisms defined in this document do not imply any new operational 
   verification requirements in addition to those already listed in
   <xref target="RFC5440" format="default"/>.</t>
      </section>

      <section anchor="sect-11.5" numbered="true" toc="default">
        <name>Requirements on Other Protocols</name>
        <t>
   Mechanisms defined in this document do not add any new requirements on other protocols.</t>
      </section>

      <section anchor="sect-11.6" numbered="true" toc="default">
        <name>Impact on Network Operations</name>
        <t>
   In order to avoid any unacceptable impact on network operations, an
   implementation SHOULD allow a limit to be placed on the number of
   LSPs that can be enabled with the performance measurement reporting
   feature.  An implementation MAY allow a limit to be placed on the
   rate of measurement reporting messages sent by a PCEP speaker and
   received by a peer.  An implementation MAY also allow sending a
   notification when a PCEP speaker is overwhelmed or the rate of
   messages reaches a threshold.</t>
      </section>

    </section>

    <section anchor="sect-12" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section anchor="sect-12.1" numbered="true" toc="default">
        <name>Measurement Capability TLV Types</name>
        <t>
   This document defines the following new PCEP TLVs; IANA is requested
   to make the following allocations from the "PCEP TLV Type Indicators"
   registry.  <eref target="http://www.iana.org/assignments/pcep/pcep.xhtml#pcep-tlv-type-indicators"/></t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Type      Name                                 Reference
 --------------------------------------------------------------
 TBD1      DELAY-MEASUREMENT-CAPABILITY         [This document]
 TBD2      LOSS-MEASUREMENT-CAPABILITY          [This document]
 TBD3      BANDWIDTH-UTILIZATION-CAPABILITY     [This document]
 TBD19     LIVENESS-DETECTION-CAPABILITY        [This document]
]]></artwork>

        <section anchor="sect-12.1.1" numbered="true" toc="default">
          <name>Flag Fields for MEASUREMENT-CAPABILITY TLVs</name>
          <t>
   IANA is requested to create a registry to manage the Flag field of
   the DELAY-MEASUREMENT-CAPABILITY TLV, LOSS-MEASUREMENT-CAPABILITY TLV
   and BANDWIDTH-UTILIZATION-CAPABILITY TLV.</t>
          <t>
   New bit numbers are allocated only by an IETF Review action
   <xref target="RFC8126" format="default"/>.  Each bit should be tracked with the following qualities:</t>
          <ul empty="true" spacing="normal">
            <li>
              <ul spacing="normal">
                <li>
                  <t>Bit number (counting from bit 0 as the most significant bit)</t>
                </li>
                <li>
                  <t>Capability description</t>
                </li>
                <li>
                  <t>Defining RFC</t>
                </li>
              </ul>
            </li>
          </ul>

          <t>
   The following values are defined in this document for the Flag field for -</t>

   <t>
   DELAY-MEASUREMENT-CAPABILITY TLV:
   </t>

          <artwork name="" type="" align="left" alt=""><![CDATA[
 Bit       Description                            Reference
 ----------------------------------------------------------------
 31        One-way Delay Measurement              [This document]
 30        Two-way Delay Measurement              [This document]
 29        Loopback Delay Measurement             [This document]
]]></artwork>

   <t>
   LOSS-MEASUREMENT-CAPABILITY TLV:
   </t>

          <artwork name="" type="" align="left" alt=""><![CDATA[
 Bit       Description                            Reference
 ----------------------------------------------------------------
 31        One-Way Loss Measurement               [This document]
 30        Two-Way Loss Measurement               [This document]
 29        Inferred Loss Measurement Mode         [This document]
 28        Direct Loss Measurement Mode           [This document]
]]></artwork>

        </section>
      </section>

      <section anchor="sect-12.2" numbered="true" toc="default">
        <name>MEASUREMENT-ATTRIBUTES TLVs</name>
        <t>
   This document defines the following new PCEP TLV Types; IANA is
   requested to make the following TLV type allocations from the "PCEP TLV Type Indicators" registry.
   <eref target="http://www.iana.org/assignments/pcep/pcep.xhtml#pcep-tlv-type-indicators"/></t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Type      Name                                    Reference
 -----------------------------------------------------------------
 TBD4     DELAY-MEASUREMENT-ATTRIBUTES            [This document]
 TBD5     LOSS-MEASUREMENT-ATTRIBUTES             [This document]
 TBD6     BW-UTILIZATION-MEASUREMENT-ATTRIBUTES   [This document]
 TBD20    LIVENESS-DETECTION-ATTRIBUTES           [This document]
]]></artwork>

        <section anchor="sect-12.2.1" numbered="true" toc="default">
          <name>The Sub-TLVs For MEASUREMENT-ATTRIBUTES TLVs</name>
          <t>
   IANA is requested to create a "MEASUREMENT-ATTRIBUTES Sub-TLV Types"
   sub-registry in the "PCEP TLV Type Indicators" registry.  New sub-TLVs 
   are allocated only by an IETF Review action <xref target="RFC8126" format="default"/>.</t>

          <t>
   This document defines the following sub-TLV types:</t>

          <artwork name="" type="" align="left" alt=""><![CDATA[
 Type     Name                                 Reference
 -------------------------------------------------------------
 0        Reserved                             [This document]
 1        Measurement-Enable sub-TLV           [This document]
 2        Transmit-Interval sub-TLV            [This document]
 3        Measurement-Protocol sub-TLV         [This document]
 4        Measurement-Interval sub-TLV         [This document]
 5        Report-Threshold sub-TLV             [This document]
 6        Report-Threshold-Percentage sub-TLV  [This document]
 7        Report-Interval sub-TLV              [This document]
 8        Report-Upper-Bound sub-TLV           [This document]
 9-       Unassigned                           [This document]
 65535
]]></artwork>

          <section anchor="sect-12.2.1.1" numbered="true" toc="default">
            <name>Flag Fields in Measurement-Enable sub-TLV</name>
            <t>
   IANA is requested to create a registry to manage the Flag field of
   the Measurement-Enable sub-TLV.</t>
            <t>
   New bit numbers are allocated only by an IETF Review action
   <xref target="RFC8126" format="default"/>.  Each bit should be tracked with the following qualities:</t>
            <ul empty="true" spacing="normal">
              <li>
                <ul spacing="normal">
                  <li>
                    <t>Bit number (counting from bit 0 as the most significant bit)</t>
                  </li>
                  <li>
                    <t>Capability description</t>
                  </li>
                  <li>
                    <t>Defining RFC</t>
                  </li>
                </ul>
              </li>
            </ul>

            <t>
   The following value are defined in this document for the Flag field.</t>

            <artwork name="" type="" align="left" alt=""><![CDATA[
 Bit    Description                              Reference
 ---------------------------------------------------------------
 31     One-Way Delay Measurement Enabled        [This document]
 30     Two-Way Delay Measurement Enabled        [This document]
 29     Loopback Delay Measurement Enabled       [This document]

 28     One-Way Loss Measurement Enabled         [This document]
 27     Two-Way Loss Measurement Enabled         [This document]
 26     Inferred Loss Measurement Enabled        [This document]
 25     Direct Loss Measurement Enabled          [This document]

 24     Bandwidth Utilization Reporting Enabled  [This document]

 23     Liveness Detection Enabled               [This document]
]]></artwork>

          </section>
        </section>
      </section>

      <section anchor="sect-12.3" numbered="true" toc="default">
        <name>Measurement Object-Class</name>
        <t>
   This document defines Object-Class for the following Objects; IANA is
   requested to make the following allocations from the "PCEP Objects"
   registry.  <eref target="http://www.iana.org/assignments/pcep/pcep.xhtml#pcep-objects"/></t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Object-Class  Name                             Reference
 --------------------------------------------------------------
 TBD16         DELAY-MEASUREMENT Object         [This document]
 TBD17         LOSS-MEASUREMENT Object          [This document]
 TBD18         LIVENESS-DETECTION Object        [This document]
]]></artwork>

        <section anchor="sect-12.3.1" numbered="true" toc="default">
          <name>DELAY-MEASUREMENT Object-Types</name>
          <t>
   IANA is requested to create a "DELAY-MEASUREMENT Object-Types"
   sub-registry for DELAY-MEASUREMENT Object (Object-class TBD16).</t>
          <t>
   This document defines the following object-types:</t>

    <artwork name="" type="" align="left" alt=""><![CDATA[
 Object-Type Name                                     Reference
 --------------------------------------------------------------------
 0         Reserved                                   [This document]
 1         Delay Measurement Status                   [This document]
 2         One-Way Delay Measurement Value            [This document]
 3         One-Way Delay Measurement Min/Max Values   [This document]
 4         One-Way Delay Variation Measurement Value  [This document]
 5         Two-Way Delay Measurement Value            [This document]
 6         Two-Way Delay Measurement Min/Max Values   [This document]
 7         Two-Way Delay Variation Measurement Value  [This document]
 8         Loopback Delay Measurement Value           [This document]
 9         Loopback Delay Measurement Min/Max Values  [This document]
 10        Loopback Delay Variation Measurement Value [This document]
]]></artwork>

        </section>

        <section anchor="sect-12.3.2" numbered="true" toc="default">
          <name>LOSS-MEASUREMENT Object-Types</name>
          <t>
   IANA is requested to create a "LOSS-MEASUREMENT Object-Types"
   sub-registry for LOSS-MEASUREMENT Object (Object-class TBD17).</t>
          <t>
   This document defines the following object-types:</t>

          <artwork name="" type="" align="left" alt=""><![CDATA[
 Object-Type Name                               Reference
 --------------------------------------------------------------
 0           Reserved                           [This document]
 1           Loss Measurement Status            [This document]
 2           Tx Packets-Lost                    [This document]
 3           Rx Packets-Lost                    [This document]
 4           Total Packets-Sent-Received        [This document]
]]></artwork>

        </section>

        <section anchor="sect-12.3.3" numbered="true" toc="default">
          <name>BANDWIDTH Object-Type</name>
          <t>
   This document defines a new Object-Type for the existing BANDWIDTH object
   (Object-Class 5, <xref target="RFC5440" format="default"/>); IANA is requested to make the following
   allocation from the "PCEP Objects" registry.
   <eref target="http://www.iana.org/assignments/pcep/pcep.xhtml#pcep-objects"/></t>

          <artwork name="" type="" align="left" alt=""><![CDATA[
 Object-Type Name                               Reference
 --------------------------------------------------------------
 TBD14       BANDWIDTH-UTILIZATION Object       [This document]
]]></artwork>

        </section>
      </section>

      <section anchor="sect-12.4" numbered="true" toc="default">
        <name>PCE Error Codes</name>
        <t>
   This document defines two new error-values for PCErr with error-code
   19 (Invalid Operation).  IANA is requested to make the following
   allocations.</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Error-Value  Name                                   Reference
 -------------------------------------------------------------------
 TBD7         Delay-Measurement capability
                               was not advertised    [This document]
 TBD8         Loss-Measurement capability
                               was not advertised    [This document]
 TBD9         Two-Way Measurement capability
                               was not advertised    [This document]
 TBD10        One-Way Measurement capability
                               was not advertised    [This document]
 TBD11        Inferred Mode Loss Measurement capability
                               was not advertised    [This document]
 TBD12        Direct Mode Loss Measurement capability
                               was not advertised    [This document]
 TBD13        Bandwidth Utilization capability
                               was not advertised    [This document]
 TBD21        Liveness Detection capability
                               was not advertised    [This document]
]]></artwork>

      </section>

      <section anchor="sect-12.5" numbered="true" toc="default">
        <name>Notification Object-Type</name>
        <t>
   IANA is requested to allocate new Notification Types and Notification
   Values within the "Notification Object" sub-registry of the PCEP
   Numbers registry, as follows:</t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
 Type       Meaning                                Reference
 -----------------------------------------------------------------
 TBD15      PM Overwhelm State                     [This document]

            Notification-value=1:  Entering PM overwhelm state
            Notification-value=2:  Clearing PM overwhelm state
]]></artwork>

      </section>

    </section>
  </middle>
  <back>

    <references>
      <name>References</name>

    <references title="Normative References">
    &RFC2119;
    &RFC5440;
    &RFC8126;
    &RFC8174;
    &RFC8231;
    &RFC8281;
    </references>

    <references title="Informative References">
    &ieee-float;
    &RFC5357;
    &RFC5925;
    &RFC6374;
    &RFC7420;
    &RFC7471;
    &RFC7823;
    &RFC8233;
    &RFC8253;
    &RFC8570;
    &RFC8571;
    &RFC8664;
    &RFC8733;
    &RFC8762;
    &RFC9603;
    &RFC9826;
    </references>

    </references> 

    <section numbered="false" anchor="acknowledgments" toc="default">
      <name>Acknowledgments</name>
      <t>
      TBA.
      </t>
    </section>
  </back>
</rfc>
