<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">

<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     docName="draft-ietf-pce-stateful-pce-lsp-scheduling-27" number="8934"
     ipr="trust200902" obsoletes="" updates="" submissionType="IETF"
     category="std" consensus="true" xml:lang="en" tocInclude="true"
     symRefs="true" sortRefs="true" version="3">

  <front>
    <title abbrev="PCEP Extensions for LSP Scheduling">PCE
    Communication Protocol (PCEP) Extensions for Label Switched Path (LSP)
    Scheduling with Stateful PCE</title>
    <seriesInfo name="RFC" value="8934"/>
    <author fullname="Huaimo Chen " initials="H." role="editor"
	    surname="Chen">
      <organization>Futurewei</organization>
      <address>
        <postal>
          <street/>
          <city>Boston</city>
          <region>MA</region>
          <code/>
          <country>United States of America</country>
        </postal>
        <email>huaimo.chen@futurewei.com</email>
      </address>
    </author>
    <author fullname="Yan Zhuang" initials="Y." role="editor"
	    surname="Zhuang">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue</street>
          <extaddr>Yuhua District</extaddr>
          <city>Nanjing</city>
          <region>Jiangsu</region>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>zhuangyan.zhuang@huawei.com</email>
      </address>
    </author>
    <author fullname="Qin Wu" initials="Q." surname="Wu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue</street>
          <extaddr>Yuhua District</extaddr>
          <city>Nanjing</city>
          <region>Jiangsu</region>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>bill.wu@huawei.com</email>
      </address>
    </author>
    <author fullname="Daniele Ceccarelli" initials="D." surname="Ceccarelli">
      <organization>Ericsson</organization>
      <address>
        <postal>
          <street>Via A. Negrone 1/A</street>
          <city>Genova - Sestri Ponente</city>
          <country>Italy</country>
        </postal>
        <email>daniele.ceccarelli@ericsson.com</email>
      </address>
    </author>
    <date year="2020" month="October" />
    <area>Routing Area</area>
    <workgroup>PCE Working Group</workgroup>
    <keyword>Path Computation Element</keyword>
    <abstract>


      <t>This document defines a set of extensions to the stateful
      PCE Communication Protocol (PCEP) to
      enable Label Switched Path (LSP) path computation, 
      activation, setup, and deletion based on scheduled time intervals for
      the LSP and 
      the actual network resource usage 
      in a centralized network environment, as stated in
      RFC 8413.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>The PCE Communication Protocol (PCEP) defined in
      <xref target="RFC5440" format="default"/> is used between a Path
      Computation Element (PCE) and a Path Computation Client (PCC) (or other
      PCE) to enable path computation of Multiprotocol Label Switching (MPLS)
      Traffic Engineering Label Switched Paths (TE LSPs).</t>
      <t><xref target="RFC8231" format="default"/> describes a set of
      extensions to PCEP to provide stateful control.  A stateful PCE has
      access to not only the information carried by the network's Interior
      Gateway Protocol (IGP) but also the set of active paths and their
      reserved resources for its computations.  The additional state allows
      the PCE to compute constrained paths while considering individual LSPs
      and their interactions. </t>
      <t>Traditionally, the usage and allocation of network resources,
      especially bandwidth, can be supported by a Network Management System
      (NMS)
      operation such as path pre-establishment. However, this does not provide
      efficient usage of network resources. The established paths reserve the
      resources forever, so they cannot be used by other services even 
      when they are not used
      for transporting any service. <xref target="RFC8413" format="default"/>
      then
      provides a framework that describes and discusses the problem and
      defines an appropriate architecture for the scheduled reservation of TE
      resources.</t>
      <t>
      The scheduled reservation of TE resources allows network operators to
      reserve resources in advance according to the agreements with their
      customers and allows them to transmit data about scheduling, such as
      a specified start time and duration (for example, for a scheduled
      bulk data replication between data centers). 


   It enables the activation of
   bandwidth usage at the time the service is really being used while
   letting other services use the bandwidth when it is not being used by this
   service.
      The requirement of
      scheduled LSP provisioning is mentioned in <xref target="RFC8231"
      format="default"/>
      and <xref target="RFC7399" format="default"/>. 
      Also, for
      deterministic networks <xref target="RFC8655" format="default"/>, 
      the scheduled LSP or temporal LSP can provide better network
      resource usage for guaranteed links. This idea can also be applied in
      segment routing <xref target="RFC8402" format="default"/>
      to schedule the network resources over the whole network
      in a centralized manner.</t>
      <t>With this in mind, this document defines a set of needed extensions
      to PCEP used for stateful PCEs
      so as to enable LSP scheduling for path computation
      and LSP setup/deletion based on the actual network resource usage
      duration of a traffic service. A scheduled LSP is characterized by a
      start time and a duration. When the end of the LSP life is reached,
      it is deleted to free up the resources for other LSPs (scheduled or
      not).</t>
    </section>
    <section numbered="true" toc="default">
      <name>Conventions Used in This Document</name>
        <t>
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
    NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
    to be interpreted as
    described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>

      <section numbered="true" toc="default">
        <name>Terminology</name>
        <t>The following terminology is reused from existing PCE
        documents.</t>
        <ul spacing="normal">
          <li>Active Stateful PCE <xref target="RFC8051"
	  format="default"/></li>
          <li>Delegation <xref target="RFC8051" format="default"/></li>
          <li>PCE-initiated LSP <xref target="RFC8281" format="default"/></li>
          <li>PCC <xref target="RFC5440" format="default"/></li>
          <li>PCE <xref target="RFC5440" format="default"/></li>
          <li>TE LSP <xref target="RFC5440" format="default"/></li>
          <li>TED (Traffic Engineering Database) <xref target="RFC5440"
	  format="default"/></li>
          <li>LSP-DB (LSP State Database) <xref target="RFC8051"
	  format="default"/></li>
        </ul>
        <t>In addition, this document defines the following
        terminologies.</t>
        <dl newline="false" spacing="normal">
          <dt>Scheduled TE LSP (or Scheduled LSP for short):</dt>
          <dd>
            An LSP with scheduling
            attributes that carries traffic flow demand at a start time and
            lasts for a certain duration (or from a start time to an end time,
            where the end time is the start time plus the duration). 
            A scheduled LSP is also called a "temporal LSP".
            The PCE operates path computation per
            LSP availability for the required time and duration.</dd>
          <dt>Scheduled LSP-DB (SLSP-DB):</dt>
          <dd>A database of scheduled LSPs.</dd>
          <dt>Scheduled TED:</dt>
          <dd>Traffic engineering database with the
            awareness of scheduled resources for TE. This database is
            generated by the PCE from the information in the TED and scheduled
	    LSP-DB;
            it allows knowing, at any time, 
            the expected amount of available resources (discounting
            the possibility of failures in the future).</dd>
          <dt>Start time (Start-Time):</dt>
          <dd>This value indicates when
            the scheduled LSP is used and the corresponding LSP must be set up
            and active. At other times (i.e., before the start time or after
            the start time plus duration), the LSP can be inactive to
            include the possibility of the resources being used by other
            services.</dd>
          <dt>Duration:</dt>
 
          <dd>This value indicates the length of time that
            the LSP carries a traffic flow and the corresponding LSP
            must be set up and active. At the end of the duration, the LSP is
	    torn down
            and removed from the database.</dd>
        </dl>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Motivation and Objectives</name>
      <t>A stateful PCE <xref target="RFC8231" format="default"/> can support
      better efficiency 
      by using LSP scheduling
      described in the use case of <xref target="RFC8051" format="default"/>. 
      This requires the PCE to
      maintain the scheduled LSPs and their associated resource usage (e.g.,
      bandwidth for packet-switched network) as well as have the ability to
      trigger signaling for the LSP setup/tear-down at the correct time.</t>
      <t>Note that existing configuration tools can be used for LSP
      scheduling, but as highlighted in <xref
      target="RFC8231" sectionFormat="of" section="3.1.3"/>  
      as well as discussions in
      <xref target="RFC8413" format="default"/>, doing this as a part of PCEP
      in a
      centralized manner has obvious advantages.</t>
      <t>This document provides a set of extensions to PCEP to enable LSP
      scheduling for LSP creation/deletion under the stateful control of a
      PCE and according to traffic service requests from customers, so as
      to improve the usage of network resources.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Procedures and Mechanisms</name>
      <section anchor="LSPSchedulingOverview" numbered="true" toc="default">
        <name>LSP Scheduling Overview</name>
        <t>LSP scheduling allows PCEs and PCCs to provide scheduled LSP
        for customers' traffic services at its actual usage time, so as to
        improve the network resource utilization efficiency.</t>
 
        <t>For stateful PCE supporting LSP scheduling, there are two types of
        LSP databases used in this document. One is the LSP-DB defined in PCEP
        <xref target="RFC8231" format="default"/>, while the other is the
	scheduled LSP database (SLSP-DB). The SLSP-DB records
	scheduled LSPs and is used in conjunction with 
        the TED and LSP-DB. Note that the two types of LSP
        databases can be implemented in one physical database or two different
        databases. This is an implementation matter, and this document does
	not state any preference.</t>
        <t>Furthermore, a scheduled TED can be generated from the scheduled
        LSP-DB, LSP-DB, and TED to indicate the network links and nodes with
        resource availability information for now and the future. The
	scheduled
        TED <bcp14>MUST</bcp14> be maintained by all PCEs within the network
        environment.</t>

        <t>In the case of implementing PCC-initiated scheduled LSPs, when
        delegating a scheduled LSP, a PCC <bcp14>MUST</bcp14> include that
        LSP's scheduling parameters (see <xref target="SCHED-LSP-ATTRIBUTE"
        format="default"/>), including the start time and duration, using a
        Path Computation State Report (PCRpt) message.  Since the LSP is not
        yet signaled, at the time of delegation, the LSP would be in down
        state.  Upon receiving the delegation of the scheduled LSP, a stateful
        PCE <bcp14>MUST</bcp14> check whether the parameters are valid. If
        they are valid, it <bcp14>SHALL</bcp14> check the scheduled TED for
        the network resource availability on network nodes, compute a path for
        the LSP with the scheduling information, and update to the PCC as per
        the active stateful PCE techniques <xref target="RFC8231"
        format="default"/>.</t>
        <t>Note that the active stateful PCE can update to the PCC with the
        path for the scheduled LSP at any time. However, the PCC should not
        signal the LSP over the path after receiving these messages since the
        path is not active yet; the PCC signals the LSP at the start time.</t>

        <t>In the case of multiple PCEs within a single domain, the PCE would
        need to synchronize their scheduling information with other PCEs
        within the domain. 

This could be achieved by proprietary database-synchronization techniques or
via a possible PCEP extension (see <xref
target="I-D.litkowski-pce-state-sync"/>). The technique used to synchronize an
SLSP-DB is out of scope for this document.  When the scheduling information is
out of synchronization among some PCEs, some scheduled LSPs may not be set up
successfully. </t>
        <t>The scheduled LSP can also be initiated by a PCE itself.  In the
        case of implementing a PCE-initiated scheduled LSP, the stateful PCE
        <bcp14>SHALL</bcp14> check the network resource availability for the
        traffic, compute a path for the scheduled LSP, and initiate a
        scheduled LSP at the PCC and synchronize the scheduled LSP to other
        PCEs. Note that the PCC could be notified immediately or at the start
        time of the scheduled LSP, based on the local policy.  In the former
        case, the SCHED-LSP-ATTRIBUTE TLV (see <xref
        target="SCHED-LSP-ATTRIBUTE" format="default"/>) <bcp14>MUST</bcp14>
        be included in the message, whereas for the latter, the
        SCHED-LSP-ATTRIBUTE TLV <bcp14>SHOULD NOT</bcp14> be included.  Either
        way, the synchronization to other PCEs <bcp14>MUST</bcp14> be done
        when the scheduled LSP is created.</t>
        <t>In both modes, for activation of scheduled LSPs, the PCC
	<bcp14>MUST</bcp14> 
          initiate the setup of the scheduled LSP at the start time. 
          Similarly, on the scheduled usage expiry, the PCC
	  <bcp14>MUST</bcp14>
	    initiate the removal of the LSP
          based on the flag set in the SCHED-LSP-ATTRIBUTE TLV.</t>
	</section>
      <section numbered="true" toc="default">
        <name>Support of LSP Scheduling</name>
        <section numbered="true" toc="default">
          <name>LSP Scheduling</name>
          <t>For a scheduled LSP, a user configures it with an arbitrary
          scheduling period from time Ta to time Tb, which may be
          represented as [Ta, Tb].</t>
          <t>When an LSP is configured with arbitrary scheduling period [Ta,
          Tb], a path satisfying the constraints for the LSP in the scheduling
          period is computed, and the LSP along the path is set up to carry
          traffic from time Ta to time Tb.</t>
        </section>
        <section numbered="true" toc="default">
          <name>Periodical LSP Scheduling</name>
          <t>In addition to LSP scheduling at an arbitrary time period, there
          is also periodical LSP scheduling.</t>
          <t>Periodical LSP scheduling means an LSP has multiple time
	  intervals
          and the LSP is set up to carry traffic in every time
          interval. It has a scheduling period such as [Ta, Tb], a number of
          repeats such as 10 (repeats 10 times), and a repeat cycle/time
          interval such as a week (repeats every week). The scheduling
          interval "[Ta, Tb] repeats n times with repeat cycle C" represents
          n+1 scheduling intervals as follows:</t>

          <t indent="3">
[Ta, Tb], [Ta+C, Tb+C], [Ta+2C, Tb+2C], ..., [Ta+nC, Tb+nC]</t>

          <t>When an LSP is configured with a scheduling interval such as
          "[Ta, Tb] repeats 10 times with a repeat cycle of a week"
          (representing 11 scheduling intervals), a path satisfying the
          constraints for the LSP in every interval represented by the
          periodical scheduling interval is computed once.  Note that the path
          computed for one recurrence may be different from the path for
          another recurrence.  And then the LSP along the path is set up to
          carry traffic in each of the scheduling intervals. If there is no
          path satisfying the constraints for some of the intervals, the LSP
          <bcp14>MUST NOT</bcp14> be set up at all.


          It <bcp14>MUST</bcp14> generate a PCEP Error (PCErr) with 
          Error-Type = 29 (Path computation failure) and 
          Error-value = 5 (Constraints could not be met for some intervals).
          </t>
          <section numbered="true" toc="default">
            <name>Elastic Time LSP Scheduling</name>
            <t>In addition to the basic LSP scheduling at an arbitrary time
            period, another option is elastic time intervals, which is
            represented as within -P and Q, where P and Q are amounts of time
            such as 300 seconds. P is called the elastic range lower bound,
	    and Q
            is called the elastic range upper bound.</t>
            <t>For a simple time interval such as [Ta, Tb] with an elastic
            range, elastic time interval "[Ta, Tb] within -P and Q" means a
            time period from (Ta+X) to (Tb+X), where -P &lt;= X &lt;= Q. Note
            that both Ta and Tb are shifted by the same X.
            
            This elastic time interval is suitable for the case where
            a user wants to have a scheduled LSP up to carry the traffic 
            in time interval [Ta, Tb] and has some flexibility on shifting 
            the time interval a little bit, such as up to P seconds
	    earlier/left or 
            some time such as up to Q seconds later/right.</t>
            <t>When an LSP is configured with elastic time interval "[Ta, Tb]
            within -P and Q", a path is computed such that the path satisfies
            the constraints for the LSP in the time period from (Ta+Xv) to
            (Tb+Xv), and an optimization is performed on Xv from -P to Q.
            The optimization makes 
            [Ta+Xv, Tb+Xv] the time interval closest to time interval
            [Ta, Tb] within the elastic range. The LSP along the path is set
            up to carry traffic in the time period from (Ta+Xv) to
	    (Tb+Xv).</t>
            <t>Similarly, for a recurrent time interval with an elastic range,
            elastic time interval "[Ta, Tb] repeats n times with repeat cycle
            C within -P and Q" represents n+1 simple elastic time intervals as
            follows:</t> <t indent="3"> [Ta+X0, Tb+X0], [Ta+C+X1, Tb+C+X1],
            ..., [Ta+nC+Xn, Tb+nC+Xn], where -P &lt;= Xi &lt;= Q, i = 0, 1, 2,
            ..., n.</t>
            <t>If a user wants to keep the same repeat cycle between any two
            adjacent time intervals, elastic time interval "[Ta, Tb] repeats n
            times with repeat cycle C within -P and Q SYNC" may be used, which
            represents n+1 simple elastic time intervals as follows:</t> <t
            indent="3"> [Ta+X, Tb+X], [Ta+C+X, Tb+C+X], ..., [Ta+nC+X,
            Tb+nC+X], where -P &lt;= X &lt;= Q.</t>
          </section>
          <section numbered="true" toc="default">
            <name>Grace Periods</name>



            <t>Besides the stated time scheduling, a user may want to have
            some grace periods (short for "graceful time periods") for each or
            some of the time intervals for the LSP. Two grace periods may be
            configured for a time interval. One is the grace period before the
            time interval, called "Grace-Before", which extends the lifetime
            of the LSP by an amount of time (such as 30 seconds)
            before the time interval. The other grace period is after the
            time interval and is called "Grace-After"; it extends the lifetime
            of the LSP by an amount of time (such as 60 seconds)
            after the time interval.  Note that no network resources such as
            link bandwidth will be reserved for the LSP during the grace
            periods.</t>
            <t>When an LSP is configured with a simple time interval such as
            [Ta, Tb] with grace periods such as Grace-Before GrB and
            Grace-After GrA, a path is computed such that the path satisfies
            the constraints for the LSP in the time period from Ta to Tb. The
            LSP along the path is set up to carry traffic in the time period
            from (Ta-GrB) to (Tb+GrA). 




During grace periods from (Ta-GrB) to Ta and from Tb to (Tb+GrA), the LSP is
up to carry traffic in best effort.</t>
          </section>
        </section>
      </section>
      <section numbered="true" toc="default">
        <name>Scheduled LSP Creation</name>
        <t>In order to realize PCC-initiated scheduled LSPs in a centralized
        network environment, a PCC <bcp14>MUST</bcp14> separate the setup of
	an LSP into two
        steps. The first step is to request/delegate and get an LSP but not
	signal it
        over the network. The second step is to signal the scheduled LSP over
        the Label Switching Routers (LSRs) at its start time.</t>
        <t>For PCC-initiated scheduled LSPs, a PCC <bcp14>MUST</bcp14>
	delegate the scheduled LSP 
        by sending a PCRpt
        message by including its demanded
        resources with the scheduling information to a stateful
        PCE. Note that the PCC <bcp14>MAY</bcp14> use Path Computation
	Request (PCReq) and Path Computation Reply (PCRep) messages with
	scheduling information before delegating.</t>
        <t>Upon receiving the delegation via PCRpt message, the stateful PCE
        <bcp14>MUST</bcp14> compute a path for the scheduled LSP per its start
	time and
        duration based on the network resource availability stored in the
        scheduled TED (see <xref target="LSPSchedulingOverview"
	format="default"/>).</t>
        <t>The stateful PCE will send a Path Computation Update Request
	(PCUpd)
        message with the scheduled path information and the scheduled resource
        information for the scheduled LSP to the PCC.
      The stateful PCE <bcp14>MUST</bcp14> update its local scheduled LSP-DB
      and
      scheduled TED with the scheduled LSP and would need to synchronize the  
      scheduling information with other PCEs in the domain.  </t>
        <t>For a PCE-initiated scheduled LSP, the stateful PCE
        <bcp14>MUST</bcp14> automatically compute a path for the scheduled LSP
        per requests from network management systems, based on the network
        resource availability in the scheduled TED, and send an LSP Initiate
        Request (PCInitiate) message with the path information to the
        PCC. Based on the local policy, the PCInitiate message could be sent
        immediately to ask the PCC to create a scheduled LSP (as per this
        document), or the PCInitiate message could be sent at the start time
        to the PCC to create a normal LSP (as per <xref target="RFC8281"
        format="default"/>).
        </t>
        <t>For both PCC-initiated and PCE-initiated Scheduled LSPs:</t>
        <ul spacing="normal">
          <li>The stateful PCE <bcp14>MUST</bcp14> update its local scheduled
	  LSP-DB
            and scheduled TED with the scheduled LSP.</li>
          <li>Upon receiving the PCUpd message or PCInitiate message for the
	  scheduled
            LSP from PCEs with a found path, the PCC determines that it is a
            scheduled path for the LSP by the 
            SCHED-LSP-ATTRIBUTE TLV (see <xref target="SCHED-LSP-ATTRIBUTE"
	    format="default"/>) or
            SCHED-PD-LSP-ATTRIBUTE TLV (see <xref
	    target="SCHED-PD-LSP-ATTRIBUTE" format="default"/>)
            in the message and 
            does not trigger signaling for the LSP
            setup on LSRs immediately.</li>
          <li>The stateful PCE <bcp14>MUST</bcp14> update the scheduled LSP
            parameters on any network events using the PCUpd message to the
	    PCC. These
            changes are also synchronized to other PCEs.</li>
          <li>When it is time for the LSP to be set up
            (i.e., at the start time), based on the value of the C flag for
	    the
            scheduled TLV,
            either the PCC <bcp14>MUST</bcp14> trigger the LSP to be signaled
	    or the delegated 
            PCE <bcp14>MUST</bcp14> send a PCUpd message to the head-end LSR
	        providing the updated path to be signaled 
            (with the A flag set to indicate LSP activation).</li>
        </ul>
      </section>
      <section anchor="lsp-modify" numbered="true" toc="default">
        <name>Scheduled LSP Modifications</name>
        <t>After a scheduled LSP is configured, a user may change its
        parameters, including the requested time and the bandwidth.
        For a periodic-scheduled LSP, its unused recurrences can be modified 
        or canceled.
        For a scheduled LSP that is currently active, its duration (the
	lifetime)
        can be reduced.</t>
        <t>In the PCC-initiated case, the PCC <bcp14>MUST</bcp14> send the PCE
        a PCRpt message for the scheduled LSP with updated parameters, as well
        as scheduled information included in the SCHED-LSP-ATTRIBUTE TLV (see
        <xref target="SCHED-LSP-ATTRIBUTE" format="default"/>) or
        SCHED-PD-LSP-ATTRIBUTE TLV (see <xref target="SCHED-PD-LSP-ATTRIBUTE"
        format="default"/>) carried in the LSP object.  The PCE
        <bcp14>SHOULD</bcp14> take the updated resources and schedule into
        consideration, and update the new path for the scheduled LSP to the
        PCC, and synchronize to other PCEs in the network.

If the path cannot be set based on new requirements, the previous LSP will not
be impacted, and this <bcp14>MUST</bcp14> be conveyed by the use of an empty
Explicit Route Object (ERO) in the PCEP messages.</t>
        <t>In the PCE-initiated case, the stateful PCE would recompute the
	path based on 
         updated parameters and scheduled information. If it has 
         already conveyed this information to the PCC by sending a PCInitiate 
         message, it <bcp14>SHOULD</bcp14> update the path and other
	 scheduling and resource 
         information by sending a PCUpd message.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Scheduled LSP Activation and Deletion</name>
        <t>In the PCC-initiated case, when it is time for the LSP to be set up
        (i.e., at the start time), based on the value of the C flag for the
        scheduled TLV, either the PCC <bcp14>MUST</bcp14> trigger the LSP to
        be signaled, or the delegated PCE <bcp14>MUST</bcp14> send a PCUpd
        message to the head-end LSR providing the updated path to be signaled
        (with the A flag set to indicate LSP activation).  The PCC
        <bcp14>MUST</bcp14> report the status of the active LSP as per the
        procedures in <xref target="RFC8231" format="default"/>, and at this
        time, the LSP <bcp14>MUST</bcp14> be considered part of the LSP-DB.
        The A flag <bcp14>MUST</bcp14> be set in the scheduled TLV to indicate
        that the LSP is active now. After the scheduled duration expires,
        based on the C flag, the PCC <bcp14>MUST</bcp14> trigger the LSP
        deletion on itself, or the delegated PCE <bcp14>MUST</bcp14> send a
        PCUpd message to the PCC to delete the LSP as per the procedures in
        <xref target="RFC8231" format="default"/>.
        </t>
        <t>In the PCE-initiated case, based on the local policy, if the
	scheduled LSP is 
             already conveyed to the PCC at the time of creation, the handling
	     of LSP 
             activation and deletion is handled in the same way as the
	     PCC-initiated case,
             as per the setting of the C flag. Otherwise, the PCE
	          <bcp14>MUST</bcp14> send the PCInitiate message 
             to the PCC at the start time to create a normal LSP without the
	     scheduled TLV 
             and remove the LSP after the duration expires, as per <xref
	          target="RFC8281" format="default"/>.</t>
      </section>
    </section>

    <section numbered="true" toc="default">
      <name>PCEP Objects and TLVs</name>
      <section numbered="true" toc="default">
        <name>Stateful PCE Capability TLV</name>
        <t>A PCC and a PCE indicate their ability to support LSP scheduling
        during their PCEP session establishment phase. For an environment with
        multiple PCEs, the PCEs <bcp14>SHOULD</bcp14> also establish a PCEP
        session and indicate its ability to support LSP scheduling among PCEP
        peers. The OPEN object in the Open message contains the
        STATEFUL-PCE-CAPABILITY TLV. Note that the STATEFUL-PCE-CAPABILITY TLV
        is defined in <xref target="RFC8231" format="default"/> and updated in
        <xref target="RFC8281" format="default"/> and <xref target="RFC8232"
        format="default"/>.  In this document, we define a new flag bit B
        (LSP-SCHEDULING-CAPABILITY) in the Flags field of the
        STATEFUL-PCE-CAPABILITY TLV to indicate the support of LSP
        scheduling. We also define another flag bit PD (PD-LSP-CAPABILITY) to
        indicate the support of LSP periodical scheduling.</t>
        <dl newline="false" spacing="normal">

          <dt>B (LSP-SCHEDULING-CAPABILITY) - 1 bit (Bit Position 22):</dt>
          <dd>If set to 1
              by a PCC, the B flag indicates that the PCC allows LSP
              scheduling; if set to 1 by a PCE, the B flag indicates that the
              PCE is capable of LSP scheduling. The B bit <bcp14>MUST</bcp14>
	      be set by both
              PCEP peers in order to support LSP scheduling for path
              computation.</dd>

          <dt>PD (PD-LSP-CAPABILITY) - 1 bit (Bit Position - 21):</dt>
          <dd>
              If set to 1 by a
              PCC, the PD flag indicates that the PCC allows LSP scheduling
              periodically; if set to 1 by a PCE, the PD flag indicates that
              the PCE is capable of periodical LSP scheduling. Both the PD bit
	      and 
              the B bit
              <bcp14>MUST</bcp14>
              be set to 1 by both PCEP peers in order to support periodical
	      LSP
              scheduling for path computation. 

              If the PD bit or B bit is 0, then
              the periodical LSP scheduling capability <bcp14>MUST</bcp14> be
	  ignored.</dd>
        </dl>
      </section>
      <section numbered="true" toc="default">
        <name>LSP Object</name>
        <t>The LSP object is defined in <xref target="RFC8231"
	format="default"/>. 
          This document adds an
          optional SCHED-LSP-ATTRIBUTE TLV for normal LSP scheduling and an
          optional SCHED-PD-LSP-ATTRIBUTE TLV for periodical LSP
          scheduling. The LSP object for a scheduled LSP <bcp14>MUST
	  NOT</bcp14> include
          these two TLVs. Only one scheduling, either normal or periodical,
          is allowed for a scheduled LSP. </t>
        <t>The presence of the SCHED-LSP-ATTRIBUTE TLV in the LSP object
          indicates that this LSP is normal scheduling while the
          SCHED-PD-LSP-ATTRIBUTE TLV indicates that this scheduled LSP is
          periodical. The SCHED-LSP-ATTRIBUTE TLV <bcp14>MUST</bcp14> be
	    present in the LSP object for each normal-scheduled LSP carried in
	      the PCEP messages. The
          SCHED-PD-LSP-ATTRIBUTE TLV <bcp14>MUST</bcp14> be used in the LSP
	  object for each periodic-scheduled LSP carried in the PCEP
	  messages.</t>
        <t>Only one SCHED-LSP-ATTRIBUTE TLV <bcp14>SHOULD</bcp14> be present
	in the LSP object. 
             If more than one SCHED-LSP-ATTRIBUTE TLV is found, 
             the first instance is processed and others ignored.

             The SCHED-PD-LSP-ATTRIBUTE TLV is the same as the 
             SCHED-LSP-ATTRIBUTE TLV with regard to its presence in the LSP
	object.</t>
        <section anchor="SCHED-LSP-ATTRIBUTE" numbered="true" toc="default">
          <name>SCHED-LSP-ATTRIBUTE TLV</name>
          <t>The SCHED-LSP-ATTRIBUTE TLV <bcp14>MAY</bcp14> be included as an
	  optional TLV
            within the LSP object for LSP scheduling for the requesting
            traffic service.</t>
          <t>This TLV <bcp14>MUST NOT</bcp14> be included unless both PCEP
	  peers have set the B
            (LSP-SCHEDULING-CAPABILITY) bit in the STATEFUL-PCE-CAPABILITY TLV
            carried in the Open message to one.
            If the TLV is received by a peer when both peers
            didn't set the B bit to one, the peer <bcp14>MUST</bcp14> generate
            a PCEP Error (PCErr) with a PCEP-ERROR object
            having Error-Type = 19 (Invalid Operation) and 
            Error-value = 15 (Attempted LSP scheduling while the scheduling 
            capability was not advertised).</t>
          <t>The format of the SCHED-LSP-ATTRIBUTE TLV is shown in <xref
	    target="sched-lsp-attr-tlv"/>.</t>

          <figure anchor="sched-lsp-attr-tlv">
            <name>SCHED-LSP-ATTRIBUTE TLV</name>
            <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 (49)         |          Length               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |R|C|A|G|               Reserved (0)                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Start-Time                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Duration                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   GrB / Elastic-Lower-Bound   |   GrA / Elastic-Upper-Bound   | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>

          <t>The type of the TLV is 49, and the TLV has a fixed length of
            16 octets.</t>
          <t>The fields in the format are:</t>
          <dl newline="false" spacing="normal">
            <dt>Flags (8 bits):</dt>
            <dd>
              <t>The following flags are defined in this document.
              </t>
              <dl newline="false" spacing="normal">
                <dt>R (1 bit):</dt>
                <dd>
                  <t>
                Set to 1 to indicate that the Start-Time is a relative time,
		which is the number of seconds from the
                current time. 
                The PCEs and PCCs <bcp14>MUST</bcp14> synchronize their clocks 
                when relative time is used. 
                It is <bcp14>RECOMMENDED</bcp14> that the Network Time
		Protocol 
                <xref target="RFC5905" format="default"/> 
                be used to synchronize clocks among them.  
                When the transmission delay from a PCE or PCC to another PCE
		or PCC 
                is too big (such as greater than 1 second), the scheduling
		interval
                represented is not accurate if the delay is not considered.
                Set to 0 to indicate that the 32-bit Start-Time is an
                absolute time, which is the number of seconds since the epoch.
                The epoch is 1 January 1970 at 00:00 UTC.
                It wraps around every 2^32 seconds, which is roughly
                136 years. The next wraparound will occur in the year 2106.
         The received Start-Time is considered after the
         wraparound if the resulting value is less than the current time.
         In that case, the value of the 32-bit Start-Time is considered
         to be the number of seconds from the time of wraparound (because
         the Start-Time is always a future time).
                  </t>
                  <t/>
                </dd>
                <dt>C (1 bit):</dt>
                <dd>
                  <t>Set to 1 to indicate that the 
                PCC is responsible to set up and remove the scheduled LSP
		based on the 
                Start-Time and Duration. 
                The PCE holds these responsibilities when the bit is set to
		zero.
                  </t>
                  <t/>
                </dd>
                <dt>A (1 bit):</dt>
                <dd>

                  <t>Set to 1 to indicate that the 
                scheduled LSP has been activated. </t>
                  <t/>
                </dd>
                <dt>G (1 bit):</dt>
                <dd>
                  <t>Set to 1 to indicate that the 
                grace period is included in the fields 
                GrB/Elastic-Lower-Bound and GrA/Elastic-Upper-Bound; 
                set to 0 to indicate that the elastic range is included in the
		fields. 
                  </t>
                  <t/>
                </dd>
              </dl>
            </dd>
            <dt>Reserved (24 bits):</dt>
            <dd>
              <t>This field <bcp14>MUST</bcp14> be set to
                zero on transmission and <bcp14>MUST</bcp14> be ignored on
		receipt. </t>
              <t/>
            </dd>
            <dt>Start-Time (32 bits):</dt>
            <dd>
              <t>This value, in seconds,
                indicates when the scheduled LSP is used to carry traffic and
                the corresponding LSP <bcp14>MUST</bcp14> be set up and
		activated. 
 
                Note that the transmission delay <bcp14>SHOULD</bcp14> be
		considered when R=1 
                and the value of Start-Time is small. 
              </t>
              <t/>
            </dd>
            <dt>Duration (32 bits):</dt>
            <dd>

              <t>This value, in seconds, indicates the duration that the LSP
              carries a traffic flow and the corresponding LSP
              <bcp14>MUST</bcp14> be up to carry traffic. At the expiry of
              this duration, the LSP <bcp14>MUST</bcp14> be torn down and
              deleted.  A value of 0 <bcp14>MUST NOT</bcp14> be used in Duration
              since it does not make any sense.  The value of Duration
              <bcp14>SHOULD</bcp14> be greater than a constant
              MINIMUM-DURATION seconds, where MINIMUM-DURATION is 5.
              </t>
              <t/>
            </dd>
          </dl>
          <t>Start-Time indicates a time at or before which the scheduled LSP
          <bcp14>MUST</bcp14> be set up. When the R bit is set to 0, the value
          of Start-Time represents the number of seconds since the epoch.
          When the R bit is set to 1, the value of Start-Time represents the
          number of seconds from the current time.</t>
 

          <t>In addition, the SCHED-LSP-ATTRIBUTE TLV contains the G flag set
          to 1 and a nonzero Grace-Before and Grace-After in the fields
          GrB/Elastic-Lower-Bound and GrA/Elastic-Upper-Bound if grace periods
          are configured.  It includes the G flag set to 0 and a nonzero
          elastic range lower bound and upper bound in the fields if there is
          an elastic range configured.  A TLV can configure a nonzero grace
          period or elastic range, but it <bcp14>MUST NOT</bcp14> provide both
          for an LSP.
          </t>
          <dl>

            <dt>GrB (Grace-Before, 16 bits):</dt><dd>The grace period time
                length, in seconds, before the start time.</dd>
            <dt>GrA (Grace-After, 16 bits):</dt><dd>The grace period time
	    length,
                in seconds, after time interval [start time, start time +
                duration].</dd>
            <dt>Elastic-Lower-Bound (16 bits):</dt><dd>The maximum amount of
	    time,
                in seconds, that the time interval can shift lower/left.</dd>
            <dt>Elastic-Upper-Bound (16 bits):</dt><dd>The maximum amount of
	    time,
                in seconds, that the time interval can shift
		higher/right.</dd>
          </dl>
        </section>
        <section anchor="SCHED-PD-LSP-ATTRIBUTE" numbered="true"
		 toc="default">
          <name>SCHED-PD-LSP-ATTRIBUTE TLV</name>
          <t>The periodical LSP is a special case of LSP scheduling. The
            traffic service happens in a series of repeated time intervals.
            The SCHED-PD-LSP-ATTRIBUTE TLV can be included as an optional TLV
            within the LSP object for this periodical LSP scheduling.</t>

          <t>This TLV <bcp14>MUST NOT</bcp14> be included unless both PCEP
	  peers have set the B
            (LSP-SCHEDULING-CAPABILITY) bit and PD (PD-LSP-CAPABILITY) bit in
            STATEFUL-PCE-CAPABILITY TLV carried in Open message to one.
            If the TLV is received by a peer when either bit is zero (or both
	        bits are zero), the peer <bcp14>MUST</bcp14> generate
            a PCEP Error (PCErr) with a PCEP-ERROR object
                having Error-Type = 19 (Invalid Operation) and 
                Error-value = 15 (Attempted LSP scheduling while the
		scheduling
                capability was not advertised).</t>
          <t>The format of the SCHED-PD-LSP-ATTRIBUTE TLV is shown in <xref
	    target="sched-pd-lsp-attr-tlv"/>.
          </t>

          <figure anchor="sched-pd-lsp-attr-tlv">
            <name>SCHED-PD-LSP-ATTRIBUTE TLV</name>
            <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 (50)          |         Length                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Flags|R|C|A|G| Opt   |           NR          |  Reserved (0) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Start-Time                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            Duration                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Repeat-time-length                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   GrB / Elastic-Lower-Bound   |   GrA / Elastic-Upper-Bound   | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>

          <t>The type of the TLV is 50, and the TLV has a fixed length of 20
          octets. The description, format, and meaning of the flags (R, C, A,
          and G bits), Start-Time, Duration, GrB, GrA, Elastic-Lower-Bound,
          and Elastic-Upper-Bound fields remain the same as in the
          SCHED-LSP-ATTRIBUTE TLV.</t>
          <t>The following fields are new:</t>
          <dl newline="false" spacing="normal">
                <dt>Opt (4 bits):</dt>
            <dd>
              <t>Indicates options to repeat. 
                When a PCE receives a TLV with an unknown Opt value,
                it does not compute any path for the LSP. 
                It <bcp14>MUST</bcp14> generate a PCEP Error (PCErr) with a
		PCEP-ERROR object
                having Error-Type = 4 (Not supported object) and 
                Error-value = 4 (Unsupported parameter). 
              </t>
              <dl newline="false" spacing="normal">
                <dt/>
                <dd>Opt = 1: repeat every month</dd>
                <dt/>
                <dd>Opt = 2: repeat every year</dd>
                <dt/>
                <dd>Opt = 3: repeat every Repeat-time-length</dd>
              </dl>
              <t>
                A user may configure a Repeat-time-length in time units
                weeks, days, hours, minutes, and/or seconds.
                The value represented by these units
                is converted to the number of seconds in the TLV. 
                For example, repeat every 2 weeks is equivalent to repeat
		every 
                Repeat-time-length = 2*7*86,400 (seconds), where 86,400 is the 
                number of seconds per day. </t>
            </dd>
            <dt>NR (12 bits):</dt>
            <dd>The number of repeats.
                During each repetition, LSP carries traffic. </dd>
            <dt>Reserved (8 bits):</dt>
            <dd>
              <t>This field <bcp14>MUST</bcp14> be set to
                zero on transmission and <bcp14>MUST</bcp14> be ignored on
		receipt. </t>

            </dd>
            <dt>Repeat-time-length (32 bits):</dt>
            <dd>The time in
                seconds between the Start-Time of one repetition and 
                the Start-Time of the next repetition.
            </dd>
          </dl>
        </section>
      </section>
    </section>
    <section numbered="true" toc="default" anchor="pcep-msgs">
      <name>The PCEP Messages</name>
      <section numbered="true" toc="default">
        <name>The PCRpt Message</name>
        <t>The Path Computation State Report (PCRpt) message is a PCEP message
	sent by a PCC
      to a PCE to report the status of one or more LSPs, as per <xref
      target="RFC8231" format="default"/>.  Each LSP State
      Report in a PCRpt message contains the actual LSP's path,
      bandwidth, operational and administrative status, etc.  An LSP
      Status Report carried in a PCRpt message is also used in
      delegation or revocation of control of an LSP to/from a PCE.  In the
      case of a scheduled LSP, a scheduled TLV <bcp14>MUST</bcp14> be carried
      in the LSP
      object, and the ERO conveys the intended path for the scheduled LSP. The
      scheduled LSP 
      <bcp14>MUST</bcp14> be delegated to a PCE.</t>
      </section>
      <section numbered="true" toc="default">
        <name>The PCUpd Message</name>
        <t>The Path Computation Update Request (PCUpd) message is a PCEP
	message sent by a
      PCE to a PCC to update LSP parameters on one or more LSPs, as per <xref
      target="RFC8231" format="default"/>. Each
      LSP Update Request in a PCUpd message contains all LSP
      parameters that a PCE wishes to be set for a given LSP. In the case of a
      scheduled LSP, a scheduled TLV <bcp14>MUST</bcp14> be carried in the LSP
      object, and the ERO conveys the intended path for the scheduled LSP. If
      no path can be found, an empty ERO is used. The A bit is used in the
      PCUpd
      message to indicate the activation of the scheduled LSP if the PCE is
      responsible for the activation (as per the C bit).
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>The PCInitiate Message</name>
        <t>The LSP Initiate Request (PCInitiate) message is a PCEP message
	sent
          by a PCE to a PCC to trigger LSP instantiation or deletion, as per
	    <xref target="RFC8281" format="default"/>. 
          In the case of a scheduled LSP, based on the local policy, the PCE
	    <bcp14>MAY</bcp14> convey the scheduled LSP to the PCC by
	    including 
 
          a scheduled TLV in the LSP object. Alternatively, the PCE would
	    initiate the LSP only at the start time of the
          scheduled LSP, as per <xref target="RFC8281" format="default"/>,
	  without the use of scheduled TLVs.</t>
      </section>
      <section numbered="true" toc="default">
        <name>The PCReq message</name>
        <t>The Path Computation Request (PCReq) message is a PCEP message sent 
            by a PCC to a PCE to request a path computation <xref
	        target="RFC5440" format="default"/>, and it may 
            contain the LSP object <xref target="RFC8231" format="default"/>
	    to identify the LSP for which the path 
            computation is requested. In the case of a scheduled LSP, a
	    scheduled TLV 
            <bcp14>MUST</bcp14> be carried in the LSP object in the PCReq
	    message to request the 
            path computation based on the scheduled TED and LSP-DB. A PCC
	        <bcp14>MAY</bcp14> use the
            PCReq message to obtain the scheduled path before delegating the 
            LSP. The parameters of the LSP may be changed 
            (refer to <xref target="lsp-modify" format="default"/>).</t>
      </section>
      <section numbered="true" toc="default">
        <name>The PCRep Message</name>
        <t>The Path Computation Reply (PCRep) message is a PCEP message sent
	by a PCE to a PCC in reply to a path
	computation request <xref target="RFC5440" format="default"/>, and it
	may 
            contain the LSP object <xref target="RFC8231" format="default"/>
	        to identify the LSP for which the path 
            is computed.  A PCRep message can contain either a set of
      computed paths if the request can be satisfied or a negative
      reply if not.  A negative reply may indicate the reason why no
      path could be found. In the case of a scheduled LSP, a scheduled TLV 
            <bcp14>MUST</bcp14> be carried in the LSP object in PCRep message
	    to indicate the 
            path computation based on the scheduled TED and LSP-DB. A PCC and
	    PCE <bcp14>MAY</bcp14> use
            PCReq and PCRep messages to obtain the scheduled path before
	    delegating the 
            LSP.</t>
      </section>
      <section numbered="true" toc="default">
        <name>The PCErr Message</name>
        <t>The PCEP Error (PCErr) message is a PCEP message, as described in
        <xref target="RFC5440" format="default"/>, for error reporting. This
        document defines new error values for several error types to cover
        failures specific to scheduling and reuses the applicable error types
        and error values of <xref target="RFC5440" format="default"/> and
        <xref target="RFC8231" format="default"/> wherever appropriate.</t>
        <t>The PCEP extensions for scheduling <bcp14>MUST NOT</bcp14> be used
        if one or both of the PCEP speakers have not set the corresponding
        bits in the STATEFUL-PCE-CAPABILITY TLV in their respective Open
        messages to one.  If the PCEP speaker supports the extensions of this
        specification but did not advertise this capability, then upon receipt
        of LSP object with the scheduled TLV, it <bcp14>MUST</bcp14> generate
        a PCEP Error (PCErr) with Error-Type = 19 (Invalid

   Operation) and Error-value = 15 (Attempted LSP scheduling while the
   scheduling capability was not advertised), and it
   <bcp14>SHOULD</bcp14> ignore the TLV. As per <xref
   target="RFC5440" sectionFormat="of" section="7.1"/>, 
   a legacy PCEP implementation that does not understand this specification
   would consider a scheduled TLV unknown and ignore it.</t>
        <t>If the PCC
   decides that the scheduling parameters proposed in the PCUpd/PCInitiate
   message are
   unacceptable, it <bcp14>MUST</bcp14> report this error by including the
   LSP-ERROR-CODE TLV (<xref target="RFC8231"
   sectionFormat="of" section="7.3.3"/>) 
   with LSP Error-value = 4 (Unacceptable parameters) in the LSP object 
   (with the scheduled TLV) in the PCRpt message to the PCE.</t>
        <t>The scheduled TLV <bcp14>MUST</bcp14> be included in the LSP object
	for the scheduled LSPs. 
	If the TLV is missing, the receiving PCEP speaker <bcp14>MUST</bcp14>
	send a PCErr message with Error-Type = 6 (Mandatory Object missing)
	and

	Error-value = 16 (Scheduled TLV missing).</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This document defines the LSP-SCHEDULING-CAPABILITY TLV and 
      SCHED-LSP-ATTRIBUTE TLV; the security considerations
      discussed in <xref target="RFC5440" format="default"/>, <xref
      target="RFC8231" format="default"/>, and <xref target="RFC8281"
      format="default"/> continue to apply. In some deployments,
      the scheduling information could provide details about the network
      operations that could be deemed extra sensitive.  
     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.  
   A single PCEP message can now instruct a PCC to set up and tear down 
   an LSP every second for a number of times. That single message could  
   have a significant effect on the network.  

   Thus, such deployments <bcp14>SHOULD</bcp14> employ suitable PCEP security
   mechanisms 
   like TCP Authentication Option (TCP-AO), which is discussed in <xref
   target="RFC5925" format="default"/> and
   <xref target="RFC8253" format="default"/>. Note that
   <xref target="RFC8253" format="default"/> is considered a security
   enhancement and thus is much better
   suited for sensitive information.

   PCCs may also need to apply some form of rate limit to the processing of 
   scheduled LSPs.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Manageability Consideration</name>
      <section numbered="true" toc="default">
        <name>Control of Function and Policy</name>
        <t>The LSP scheduling feature <bcp14>MUST</bcp14> be controlled per
	tunnel by the
        active stateful PCE. The values for parameters like start time and
        duration <bcp14>SHOULD</bcp14> be configurable by customer
	applications and based on
        the local policy at PCE. 
        The suggested default values for start time and duration are 
        one day (in seconds) from the current time and one year (in seconds),
        respectively. 
        One day has 86,400 seconds. One year has 31,536,000 seconds.</t>
        <t>When configuring the parameters for time, a user
	<bcp14>SHOULD</bcp14> 
        consider leap years and leap seconds.
        If a scheduled LSP has a time interval containing a leap year,
        the duration of the LSP is 366 days plus the rest of the interval.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Information and Data Models</name>
        <t> An implementation <bcp14>SHOULD</bcp14> allow the operator to view
	the information 
   about each scheduled LSP
   defined in this document.  To serve this purpose, the PCEP YANG
   module <xref target="I-D.ietf-pce-pcep-yang" format="default"/> could be
	extended.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Liveness Detection and Monitoring</name>
        <t>Mechanisms defined in this document do not imply any new liveness
        detection and monitoring requirements in addition to those already
        listed in <xref target="RFC5440" format="default"/>. 
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Verify Correct Operations</name>
        <t>Mechanisms defined in this document do not imply any new
	operation verification requirements in addition to those already
	listed in
        <xref target="RFC5440" format="default"/>.

        An implementation <bcp14>SHOULD</bcp14> allow a user to view
        information, including the status of a scheduled LSP, through a
        Command Line Interface (CLI) tool.  In addition, it <bcp14>SHOULD</bcp14>
        check and handle the cases where there is a significant time
        correction or a clock skew between PCC and PCE.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Requirements on Other Protocols</name>
        <t>Mechanisms defined in this document do not imply any new
        requirements on other protocols.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Impact on Network Operations</name>
        <t>Mechanisms defined in this document do not have any impact on
        network operations in addition to those already listed in
        <xref target="RFC5440" format="default"/>.</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>IANA Considerations</name>

      <section numbered="true" toc="default">
        <name>PCEP TLV Type Indicators</name>
    <t>IANA maintains the "PCEP TLV Type Indicators" subregistry within the
    "Path
    Computation Element Protocol (PCEP) Numbers" registry. IANA has made the
    following allocations in this subregistry for the new PCEP TLVs defined in
    this document. </t>

<table anchor="PCEP-TLVs"> 
  <name>Additions to PCEP TLV Type Indicators Subregistry</name>   
  <thead>
    <tr>
      <th>Value</th>
      <th>Description</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>49</td>
      <td>SCHED-LSP-ATTRIBUTE</td>
      <td>This document</td>
    </tr>
    <tr>
      <td>50</td>
      <td>SCHED-PD-LSP-ATTRIBUTE</td>
      <td>This document</td>
    </tr>
  </tbody>
</table>

<section>
          <name>SCHED-PD-LSP-ATTRIBUTE TLV Opt Field</name>
          <t>IANA has created and will maintain a new
subregistry named "SCHED-PD-LSP-ATTRIBUTE TLV Opt Field" 
within the "Path Computation Element Protocol (PCEP) Numbers" registry.
Initial values for the subregistry are given below. 
New values are assigned by Standards Action <xref target="RFC8126"
format="default"/>.</t>


<table anchor="opt-field">
  <name>New SCHED-PD-LSP-ATTRIBUTE TLV Opt Field Subregistry</name> 
  <thead>
    <tr>
      <th>Value</th>
      <th>Description</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>0</td>
      <td>Reserved</td> 
      <td></td>
    </tr>
    <tr>
      <td>1</td>
      <td>REPEAT-EVERY-MONTH </td>
      <td>This document</td>
    </tr>
    <tr>
      <td>2</td>
      <td>REPEAT-EVERY-YEAR</td>
      <td>This document </td>
    </tr>
    <tr>
      <td>3</td>
      <td>REPEAT-EVERY-REPEAT-TIME-LENGTH</td>
      <td>This document </td>
    </tr>
    <tr>
      <td>4-14</td>
      <td>Unassigned</td>
      <td></td>
    </tr>
    <tr>
      <td>15</td>
      <td>Reserved</td>
      <td></td>
    </tr>
  </tbody>
</table>
</section>
        <section numbered="true" toc="default">
          <name>Schedule TLVs Flag Field</name>
          <t>IANA has created a new subregistry named "Schedule TLVs Flag
          Field" within the "Path Computation Element Protocol (PCEP) Numbers"
          registry.  New values are assigned by Standards Action <xref
          target="RFC8126" format="default"/>.  Each bit should be tracked
          with the following qualities:
          </t>
          <ul spacing="normal">
            <li>Bit number (counting from bit 0 as the most significant
	    bit)</li>
            <li>Capability description</li>
            <li>Defining RFC</li>
          </ul>
          <t>The following values are defined in this document:</t>

<table anchor="schedule-tlvs">
  <name>New Schedule TLVs Flag Field Subregistry</name>
  <thead>
    <tr>
      <th>Bit</th>
      <th>Description</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>          
    <tr>
      <td>0-3</td>
      <td>Unassigned</td>
      <td></td>
    </tr>
    <tr>
      <td>4</td>
      <td>Relative Time (R-bit)</td>
      <td>This document</td>
    </tr>
    <tr>
      <td>5</td>
      <td>PCC Responsible (C-bit)</td>
      <td>This document</td>
    </tr>
    <tr>
      <td>6</td>
      <td>LSP Activated (A-bit)</td>
      <td>This document</td>
    </tr>
    <tr>
      <td>7</td>
      <td>Grace Period Included (G-bit)</td>
      <td>This document</td>
    </tr>  
  </tbody>
</table>

        </section>
      </section>
      <section numbered="true" toc="default">
        <name>STATEFUL-PCE-CAPABILITY TLV Flag Field</name>
        <t>This document defines new bits in the Flags field in the
        STATEFUL-PCE-CAPABILITY TLV in the OPEN object. IANA maintains the
        "STATEFUL-PCE-CAPABILITY TLV Flag Field" subregistry within the "Path
        Computation Element Protocol (PCEP) Numbers" registry. IANA has
        made the following allocations in this subregistry.</t>

<table anchor="stateful-pce-flag"> 
  <name>Additions to STATEFUL-PCE-CAPABILITY TLV Flag Field Subregistry</name> 
  <thead>
    <tr>
      <th>Bit</th>
      <th>Description</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>          
    <tr>
      <td>22</td>
      <td>LSP-SCHEDULING-CAPABILITY (B-bit)</td>
      <td>This document</td>
    </tr>
    <tr>
      <td>21</td>
      <td>PD-LSP-CAPABILITY (PD-bit)</td>
      <td>This document</td>
    </tr>
  </tbody>
</table>
      </section>
      <section numbered="true" toc="default">
        <name>PCEP-ERROR Object Error Types and Values</name>
        <t>IANA has allocated the following new error types to the existing
	error values 
   within the "PCEP-ERROR Object Error Types and Values" subregistry of
   the "Path Computation Element Protocol (PCEP) Numbers" registry:</t>

<table anchor="PCEP-error">
  <name>Additions to PCEP-ERROR Object Error Types and Values
  Subregistry</name>
  <thead>
    <tr>
      <th>Error-Type</th> 
      <th>Meaning</th>
      <th>Error-value</th>
    </tr>
  </thead>
  <tbody>        
    <tr>
      <td>6</td>
      <td>Mandatory Object missing</td>
      <td>16:  Scheduled TLV missing</td>
    </tr>
    <tr>
      <td>19</td>
      <td>Invalid Operation</td>
      <td>15: Attempted LSP scheduling while the scheduling capability was not
      advertised</td>
    </tr>
    <tr>
      <td>29</td>
      <td>Path computation failure</td>
      <td>5: Constraints could not be met for some intervals</td>
    </tr>
  </tbody>
</table>


      </section>
    </section>
  </middle>
  <back>
<displayreference target="I-D.ietf-pce-pcep-yang" to="PCE-PCEP-YANG"/>
<displayreference target="I-D.litkowski-pce-state-sync" to="PCE-STATE-SYNC"/>

    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml"/>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5905.xml"/>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml"/>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8232.xml"/>
	<xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8281.xml"/>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8413.xml"/>
      </references>

      <references>
        <name>Informative References</name>
	<xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5925.xml"/>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7399.xml"/>
	<xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8051.xml"/>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8253.xml"/>
        <xi:include
	    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml"/>


        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.litkowski-pce-state-sync.xml"/>


        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-pce-pcep-yang.xml"/>


        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8655.xml"/>

      </references>
    </references>
   
    <section numbered="false" toc="default">
      <name>Acknowledgments</name>
      <t>The authors of this document would also like to thank <contact
      fullname="Rafal Szarecki"/>, <contact fullname="Adrian Farrel"/>, and
      <contact fullname="Cyril Margaria"/> for the review and comments.</t>
    </section>

    <section numbered="false" toc="default">
      <name>Contributors</name>

<contact fullname="Dhruv Dhody">
<organization>Huawei</organization>
<address>
<postal>
<street>Divyashree Techno Park, Whitefield</street>
<city>Bangalore</city>
<region>Karnataka</region> 
<code>560066</code> 
<country>India</country>
</postal>
<email>dhruv.ietf@gmail.com</email>
</address>
</contact>

   
<contact fullname="Xufeng Liu">
<organization>Ericsson</organization>
<address>
<postal>
<street></street>
<country>United States of America</country>
</postal>
<email>xliu@kuatrotech.com</email>
</address>
</contact>


<contact fullname="Mehmet Toy">
<organization>Verizon</organization>
<address>
<postal>
<street></street>
<country>United States of America</country>
</postal>   
<email>mehmet.toy@verizon.com</email>
</address>
</contact>

   
<contact fullname="Vic Liu">
<organization>China Mobile</organization>
<address>
<postal>
<street>No.32 Xuanwumen West Street, Xicheng District</street>
<city>Beijing</city> 
<code>100053</code>
<country>China</country>
</postal> 
<email>liu.cmri@gmail.com</email>
</address>
</contact>


<contact fullname="Lei Liu">
<organization>Fujitsu</organization>
<address>
<postal>
<street></street>
<country>United States of America</country> </postal>
<email>lliu@us.fujitsu.com</email>
</address>
</contact>


<contact fullname="Khuzema Pithewan">
<organization>Infinera</organization>
<address>
<postal>
<street></street>
<country></country>
</postal>
<email>kpithewan@infinera.com</email>
</address>
</contact>


   
<contact fullname="Zitao Wang">
<organization>Huawei</organization>
<address>
<postal>
<street>101 Software Avenue, Yuhua District</street>
<city>Nanjing</city> 
<region>Jiangsu</region>
<code>210012</code>
<country>China</country>
</postal>
<email>wangzitao@huawei.com</email>
</address>
</contact>

   
<contact fullname="Xian Zhang">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street>Research Area F3-1B</street>
<cityarea>Huawei Industrial Base</cityarea>
<city>Shenzhen</city>
<code>518129</code>
<country>China</country>
</postal>
<email>zhang.xian@huawei.com</email>
</address>
</contact>

    </section>


</back>
</rfc>
