<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.35 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ccamp-otn-path-computation-yang-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="YANG for OTN Path Computation">A YANG Data Model for requesting Path Computation in an Optical Transport Network (OTN)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-otn-path-computation-yang-07"/>
    <author initials="I." surname="Busi" fullname="Italo Busi">
      <organization>Huawei Technologies</organization>
      <address>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <author initials="A." surname="Guo" fullname="Aihua Guo">
      <organization>Futurewei Technologies</organization>
      <address>
        <email>aihuaguo.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Belotti" fullname="Sergio Belotti">
      <organization>Nokia</organization>
      <address>
        <email>sergio.belotti@nokia.com</email>
      </address>
    </author>
    <date year="2026" month="April" day="13"/>
    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 46?>

<t>This document provides a mechanism to request path computation in an Optical Transport Network (OTN) by augmenting the Remote Procedure Calls (RPCs) defined in RFC YYYY.</t>
      <t>[RFC EDITOR NOTE: Please replace RFC YYYY with the RFC number of
draft-ietf-teas-yang-path-computation once it has been published.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-ccamp-wg.github.io/ietf-ccamp-otn-path-computation/draft-ietf-ccamp-otn-path-computation-yang.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-otn-path-computation-yang/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Common Control and Measurement Plane Working Group mailing list (<eref target="mailto:ccamp@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ccamp/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ccamp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-ccamp-wg/ietf-ccamp-otn-path-computation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 53?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="I-D.ietf-teas-yang-path-computation"/> describes key use cases, where a client needs to request
underlying SDN controllers for path computation. In some of these use cases, the
underlying SDN controller can control an
Optical Transport Network (OTN).</t>
      <t>This document defines a YANG data model, which augment the generic Path Computation RPC defined in <xref target="I-D.ietf-teas-yang-path-computation"/>, with OTN technology-specific augmentations required to request path computation to an underlying OTN SDN controller. These models allow
a client to delegate path computation tasks to the underlying SDN controller without having to obtain OTN detailed information from the controller and performing feasible path computation itself.</t>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <t>Refer to <xref target="I-D.ietf-ccamp-otn-topo-yang"/> and <xref target="I-D.ietf-ccamp-layer1-types"/>
  for the OTN specific terms used in this document.</t>
        <t>The following terms are defined in <xref target="RFC7950"/> and are not
  redefined here:</t>
        <ul spacing="normal">
          <li>
            <t>client</t>
          </li>
          <li>
            <t>server</t>
          </li>
          <li>
            <t>augment</t>
          </li>
          <li>
            <t>data model</t>
          </li>
          <li>
            <t>data node</t>
          </li>
        </ul>
        <t>The following terms are defined in <xref target="RFC6241"/> and are not redefined
  here:</t>
        <ul spacing="normal">
          <li>
            <t>configuration data</t>
          </li>
          <li>
            <t>state data</t>
          </li>
        </ul>
        <t>The terminology for describing YANG data models is found in
  <xref target="RFC7950"/>.</t>
      </section>
      <section anchor="tree-diagram">
        <name>Tree Diagram</name>
        <t>A simplified graphical representation of the data model is used in
  <xref target="otn-pc-tree"/> of this document.  The meaning of the symbols in these
  diagrams is defined in <xref target="RFC8340"/>.</t>
      </section>
      <section anchor="prefix-in-data-node-names">
        <name>Prefix in Data Node Names</name>
        <t>In this document, names of data nodes and other data model objects
  are prefixed using the standard prefix associated with the
  corresponding YANG imported modules, as shown in
  <xref target="tab-prefixes"/>.</t>
        <table anchor="tab-prefixes">
          <name>Prefixes and corresponding YANG modules</name>
          <thead>
            <tr>
              <th align="left">Prefix</th>
              <th align="left">YANG module</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">l1-types</td>
              <td align="left">ietf-layer1-types</td>
              <td align="left">[RFCZZZZ]</td>
            </tr>
            <tr>
              <td align="left">te</td>
              <td align="left">ietf-te</td>
              <td align="left">[RFCKKKK]</td>
            </tr>
            <tr>
              <td align="left">te-pc</td>
              <td align="left">ietf-te-path-computation</td>
              <td align="left">[RFCYYYY]</td>
            </tr>
            <tr>
              <td align="left">otn-pc</td>
              <td align="left">ietf-otn-path-computation</td>
              <td align="left">RFCXXXX</td>
            </tr>
          </tbody>
        </table>
        <ul empty="true">
          <li>
            <t>RFC Editor Note:
Please replace XXXX with the RFC number assigned to this document.
Please replace YYYY with the RFC number assigned to <xref target="I-D.ietf-teas-yang-path-computation"/>.
Please replace ZZZZ with the RFC number assigned to <xref target="I-D.ietf-ccamp-layer1-types"/>.
Please replace KKKK with the RFC number assigned to <xref target="I-D.ietf-teas-yang-te"/>.
Please remove this note.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="yang-data-model-for-otn-path-computation">
      <name>YANG Data Model for OTN Path Computation</name>
      <section anchor="yang-model-overview">
        <name>YANG Model Overview</name>
        <t>The YANG data model for requesting OTN path computation is defined as an augmentation of the generic Path Computation RPC defined in <xref target="I-D.ietf-teas-yang-path-computation"/>, as shown in <xref target="fig-otn-pc"/>.</t>
        <figure anchor="fig-otn-pc">
          <name>Relationship between OTN and TE path computation models</name>
          <artwork type="ascii-art"><![CDATA[
                    +--------------------------+    o: augment
       TE generic   | ietf-te-path-computation |
                    +--------------------------+
                                 o
                                 |
                                 |
                                 |
                   +---------------------------+
       OTN         | ietf-otn-path-computation |
                   +---------------------------+
]]></artwork>
        </figure>
        <t>The entities and Traffic Engineering (TE) attributes, such as requested path and tunnel attributes, defined in <xref target="I-D.ietf-teas-yang-path-computation"/>, are still applicable when requesting OTN path computation and the models defined in this document only specifies the additional OTN technology-specific attributes/information, using the attributes defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>
        <t>The YANG module ietf-otn-path-computation defined in this document conforms
to the Network Management Datastore Architecture (NMDA) defined in
<xref target="RFC8342"/>.</t>
      </section>
      <section anchor="otn-te-bandwidh">
        <name>Bandwidth Augmentation</name>
        <t>The OTN path computation model augments all the occurrences of the te-bandwidth container
with the OTN technology-specific attributes using the otn-link-bandwidth and otn-path-bandwidth groupings defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>
      </section>
      <section anchor="otn-te-label">
        <name>Label Augmentations</name>
        <t>The OTN path computation model augments all the occurrences of the label-restriction list
with OTN technology-specific attributes using the
otn-label-range-info grouping defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>
        <t>Moreover, the model augments all the occurrences of the te-label
container with the OTN technology-specific attributes using the
otn-label-start-end, otn-label-hop and otn-label-step groupings defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>
      </section>
    </section>
    <section anchor="otn-pc-tree">
      <name>OTN Path Computation Tree Diagram</name>
      <t><xref target="fig-otn-pc-tree"/> below shows the tree diagram of the YANG data model defined in module ietf-otn-path-computation.yang.</t>
      <figure anchor="fig-otn-pc-tree">
        <name>OTN path computation tree diagram</name>
        <artwork type="ascii-art" name="ietf-otn-path-computation.tree"><![CDATA[
module: ietf-otn-path-computation

  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:te-bandwidth/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- odu-type?                     identityref
          +-- (oduflex-type)?
             +--:(generic)
             |  +-- nominal-bit-rate        union
             +--:(cbr)
             |  +-- client-type             identityref
             +--:(gfp-n-k)
             |  +-- gfp-n                   uint8
             |  +-- gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +-- flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +-- flexe-aware-n           uint16
             +--:(packet)
                +-- opuflex-payload-rate    union
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:tunnel-attributes/te-pc:te-bandwidth
            /te-pc:technology:
    +--:(otn)
       +-- otn
          +-- odu-type?                     identityref
          +-- (oduflex-type)?
             +--:(generic)
             |  +-- nominal-bit-rate        union
             +--:(cbr)
             |  +-- client-type             identityref
             +--:(gfp-n-k)
             |  +-- gfp-n                   uint8
             |  +-- gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +-- flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +-- flexe-aware-n           uint16
             +--:(packet)
                +-- opuflex-payload-rate    union
  augment /te:tunnels-path-compute/te:output/te:path-compute-result
            /te-pc:response/te-pc:computed-paths-properties
            /te-pc:computed-path-properties/te-pc:path-properties
            /te-pc:te-bandwidth/te-pc:technology:
    +--:(otn)
       +--ro otn
          +--ro odu-type?                     identityref
          +--ro (oduflex-type)?
             +--:(generic)
             |  +--ro nominal-bit-rate        union
             +--:(cbr)
             |  +--ro client-type             identityref
             +--:(gfp-n-k)
             |  +--ro gfp-n                   uint8
             |  +--ro gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--ro flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--ro flexe-aware-n           uint16
             +--:(packet)
                +--ro opuflex-payload-rate    union
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-in-segment
            /te-pc:label-restrictions/te-pc:label-restriction:
    +-- otn-label-range
       +-- range-type?      otn-label-range-type
       +-- tsg?             identityref
       +-- odu-type-list*   identityref
       +-- priority?        uint8
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-out-segment
            /te-pc:label-restrictions/te-pc:label-restriction:
    +-- otn-label-range
       +-- range-type?      otn-label-range-type
       +-- tsg?             identityref
       +-- odu-type-list*   identityref
       +-- priority?        uint8
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:optimizations/te-pc:algorithm
            /te-pc:metric/te-pc:optimization-metric
            /te-pc:explicit-route-exclude-objects
            /te-pc:route-object-exclude-object/te-pc:type/te-pc:label
            /te-pc:label-hop/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- tpn?       otn-tpn
          +-- tsg?       identityref
          +-- ts-list?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:optimizations/te-pc:algorithm
            /te-pc:metric/te-pc:optimization-metric
            /te-pc:explicit-route-include-objects
            /te-pc:route-object-include-object/te-pc:type/te-pc:label
            /te-pc:label-hop/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- tpn?       otn-tpn
          +-- tsg?       identityref
          +-- ts-list?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:explicit-route-objects-always
            /te-pc:route-object-exclude-always/te-pc:type/te-pc:label
            /te-pc:label-hop/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- tpn?       otn-tpn
          +-- tsg?       identityref
          +-- ts-list?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:explicit-route-objects-always
            /te-pc:route-object-include-exclude/te-pc:type
            /te-pc:label/te-pc:label-hop/te-pc:te-label
            /te-pc:technology:
    +--:(otn)
       +-- otn
          +-- tpn?       otn-tpn
          +-- tsg?       identityref
          +-- ts-list?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-in-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-start/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-in-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-end/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-in-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-step/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-out-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-start/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-out-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-end/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-out-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-step/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:synchronization/te-pc:exclude-objects
            /te-pc:excludes/te-pc:type/te-pc:label/te-pc:label-hop
            /te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- tpn?       otn-tpn
          +-- tsg?       identityref
          +-- ts-list?   string
  augment /te:tunnels-path-compute/te:output/te:path-compute-result
            /te-pc:response/te-pc:computed-paths-properties
            /te-pc:computed-path-properties/te-pc:path-properties
            /te-pc:path-route-objects/te-pc:path-route-object
            /te-pc:type/te-pc:label/te-pc:label-hop/te-pc:te-label
            /te-pc:technology:
    +--:(otn)
       +--ro otn
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
]]></artwork>
      </figure>
    </section>
    <section anchor="otn-pc-yang">
      <name>YANG Model for OTN Path Computation</name>
      <figure anchor="fig-otn-pc-yang">
        <name>OTN path computation YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-otn-path-computation@2022-07-10.yang"><![CDATA[
module ietf-otn-path-computation {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-otn-path-computation";
  prefix "otn-pc";

  import ietf-te-path-computation {
    prefix "te-pc";
    revision-date "2021-09-06";
    reference 
    "I-D.ietf-teas-yang-path-computation-14: Yang model
    for requesting Path Computation.";
  }

  import ietf-te {
    prefix "te";
    revision-date "2021-02-20";
    reference
      "I-D.ietf-teas-yang-te-19: A YANG Data Model for Traffic
      Engineering Tunnels and Interfaces. ";
  }

  import ietf-layer1-types {
    prefix "l1-types";
    reference 
    "I-D.ietf-ccamp-layer1-types: 
     A YANG Data Model for Layer 1 Types. ";
  }

  organization
    "IETF CCAMP Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/ccamp/>
     WG List:  <mailto:ccamp@ietf.org>

     Editor:   Aihua Guo
               <mailto:aihuaguo.ietf@gmail.com>

     Editor:   Italo Busi
               <mailto:italo.busi@huawei.com>

     Editor:   Sergio Belotti
               <mailto:sergio.belotti@nokia.com>";

  description
    "This module defines a model for requesting
    OTN Path Computation.

    The model fully conforms to the Network Management 
    Datastore Architecture (NMDA).
    
    Copyright (c) 2022 IETF Trust and the persons
    identified as authors of the code.  All rights reserved.

    Redistribution and use in source and binary forms, with or
    without modification, is permitted pursuant to, and subject
    to the license terms contained in, the Revised BSD License
    set forth in Section 4.c of the IETF Trust's Legal Provisions
    Relating to IETF Documents
    (https://trustee.ietf.org/license-info).

    This version of this YANG module is part of RFC XXXX; see
    the RFC itself for full legal notices.";

  revision "2022-09-12" {
    description
      "Initial version.";
    reference
      "RFC XXXX: A YANG Data Model for requesting Path Computation
      in an Optical Transport Network (OTN)";
    // RFC Ed.: replace XXXX with actual RFC number, update date 
    // information and remove this note
  }

 /*
  * Data nodes
  */

  /*
   * Augment TE bandwidth
   */

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:te-bandwidth/te-pc:technology" {
    description
      "Augment TE bandwidth of the requested path.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:tunnel-attributes/te-pc:te-bandwidth/"
        + "te-pc:technology" {
    description
      "Augment TE bandwidth of the requested tunnel attributes.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:tunnels-path-compute/te:output/"
        + "te:path-compute-result/te-pc:response/"
        + "te-pc:computed-paths-properties/"
        + "te-pc:computed-path-properties/te-pc:path-properties/"
        + "te-pc:te-bandwidth/te-pc:technology" {
    description
      "Augment TE bandwidth of the computed path properties.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  /*
   * Augment TE label range information
   */

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-in-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
      of the requested path.";
    uses l1-types:otn-label-range-info;
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-out-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction" {
    description
      "Augment TE label range information for the egress segment
      of the requested path.";
    uses l1-types:otn-label-range-info;
  }

  /*
   * Augment TE label.
   */

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:optimizations/te-pc:algorithm/"
        + "te-pc:metric/te-pc:optimization-metric/"
        + "te-pc:explicit-route-exclude-objects/"
        + "te-pc:route-object-exclude-object/te-pc:type/te-pc:label/"
        + "te-pc:label-hop/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label hop for the optimization of the explicit
      route objects excluded by the path computation of the requested
      path.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:optimizations/te-pc:algorithm/"
        + "te-pc:metric/te-pc:optimization-metric/"
        + "te-pc:explicit-route-include-objects/"
        + "te-pc:route-object-include-object/te-pc:type/te-pc:label/"
        + "te-pc:label-hop/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label hop for the optimization of the explicit
      route objects included by the path computation of the requested
      path.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:explicit-route-objects-always/"
        + "te-pc:route-object-exclude-always/te-pc:type/te-pc:label/"
        + "te-pc:label-hop/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label hop for the explicit route objects always
      excluded by the path computation of the requested path.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:explicit-route-objects-always/"
        + "te-pc:route-object-include-exclude/te-pc:type/"
        + "te-pc:label/te-pc:label-hop/te-pc:te-label/"
        + "te-pc:technology" {
    description
      "Augment TE label hop for the explicit route objects included
      or excluded by the path computation of the requested path.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-in-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-start/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label range start for the ingress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-in-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-end/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label range end for the ingress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-in-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-step/te-pc:technology" {
    description
      "Augment TE label range step for the ingress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-out-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-start/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label range start for the egress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-out-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-end/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label range end for the egress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-out-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-step/te-pc:technology" {
    description
      "Augment TE label range end for the egress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:synchronization/te-pc:exclude-objects/"
        + "te-pc:excludes/te-pc:type/te-pc:label/te-pc:label-hop/"
        + "te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label hop for the explicit route objects to always
      exclude from synchronized path computation.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/te:tunnels-path-compute/te:output/"
        + "te:path-compute-result/te-pc:response/"
        + "te-pc:computed-paths-properties/"
        + "te-pc:computed-path-properties/te-pc:path-properties/"
        + "te-pc:path-route-objects/te-pc:path-route-object/"
        + "te-pc:type/te-pc:label/"
        + "te-pc:label-hop/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label hop for the route object of the computed
      path.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>This document provides a method for requesting path computations for OTN tunnels. Consideration of mechanisms to gather and collate information required for the path computations will be necessary. Furthermore, storing path computation requests and responses and triggering actions will also need to be carefully managed and secured.</t>
      <t>Future versions of this document will contain additional information.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG module defined in this document will be accessed via the NETCONF protocol <xref target="RFC6241"/> or RESTCONF protocol <xref target="RFC8040"/>. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) <xref target="RFC6242"/>. The lowest RESTCONF layer is HTTPS and the mandatory-to-implement secure transport is TLS <xref target="RFC8446"/>.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/> provides the means to restrict access to particular NETCONF or RESTCONF users to a pre-configured subset of all available NETCONF or RESTCONF protocol operations and content.</t>
      <t>Some of the RPC operations defined in this YANG module may be
considered sensitive or vulnerable in some network environments. It is thus essential to control access to these operations.</t>
      <t>Operations defined in this document, and their sensitivities and possible vulnerabilities, will be discussed further in future versions of this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document registers the following URIs in the "ns" subregistry
   within the "IETF XML registry" <xref target="RFC3688"/>.</t>
      <artwork><![CDATA[
  URI: urn:ietf:params:xml:ns:yang:ietf-otn-path-computation
  Registrant Contact:  The IESG.
  XML: N/A, the requested URI is an XML namespace.
]]></artwork>
      <t>This document registers the following YANG module in the "YANG Module Names"
   registry <xref target="RFC7950"/>.</t>
      <artwork><![CDATA[
  name:      ietf-otn-path-computation
  namespace: urn:ietf:params:xml:ns:yang:ietf-otn-path-computation
  prefix:    otn-pc
  reference: this document
]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-teas-yang-path-computation">
          <front>
            <title>A YANG Data Model for requesting path computation</title>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Anurag Sharma" initials="A." surname="Sharma">
              <organization>Google</organization>
            </author>
            <author fullname="Yan Shi" initials="Y." surname="Shi">
              <organization>China Unicom</organization>
            </author>
            <date day="5" month="February" year="2026"/>
            <abstract>
              <t>   There are scenarios, typically in a hierarchical Software-Defined
   Networking (SDN) context, where the topology information provided by
   a Traffic Engineering (TE) network provider may be insufficient for
   its client to perform multi-domain path computation.  In these cases
   the client would need to request the TE network provider to compute
   some intra-domain paths to be used by the client to choose the
   optimal multi-domain paths.

   This document provides a mechanism to request path computation by
   augmenting the Remote Procedure Calls (RPCs) defined in RFC YYYY.

   [RFC EDITOR NOTE: Please replace RFC YYYY with the RFC number of
   draft-ietf-teas-yang-te once it has been published.

   Moreover, this document describes some use cases where the path
   computation request, via YANG-based protocols (e.g., NETCONF or
   RESTCONF), can be needed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-path-computation-26"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-layer1-types">
          <front>
            <title>Common YANG Data Types for Layer 1 Networks</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="23" month="February" year="2024"/>
            <abstract>
              <t>   This document defines a collection of common common data types,
   identities, and groupings in the YANG data modeling language.  These
   derived common common data types, identities, and groupings are
   intended to be imported by modules that model Layer 1 configuration
   and state capabilities.  The Layer 1 types are representative of
   Layer 1 client signals applicable to transport networks, such as
   Optical Transport Networks (OTN).  The Optical Transport Network
   (OTN) data structures are included in this document as Layer 1 types.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-layer1-types-18"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="I-D.ietf-teas-yang-te">
          <front>
            <title>A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths, and Interfaces</title>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems Inc</organization>
            </author>
            <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi">
              <organization>Cisco Systems Inc</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Alef Edge</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Igor Bryskin" initials="I." surname="Bryskin">
              <organization>Individual</organization>
            </author>
            <date day="26" month="March" year="2026"/>
            <abstract>
              <t>   This document defines a YANG data model for the provisioning and
   management of Traffic Engineering (TE) tunnels, Label Switched Paths
   (LSPs), and interfaces.  The model covers data pertinent to TE
   tunnels, TE LSPs, and TE interfaces that are independent of any
   technology or dataplane encapsulation.  The model is divided into two
   YANG modules that address both device-specific and device-independent
   data, supporting configuration, operational state, Remote Procedure
   Calls (RPCs), and event notifications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-te-44"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-ccamp-otn-topo-yang">
          <front>
            <title>A YANG Data Model for Optical Transport Network Topology</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Alef Edge</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <date day="7" month="November" year="2024"/>
            <abstract>
              <t>   This document defines a YANG data model for representing, retrieving,
   and manipulating Optical Transport Network (OTN) topologies.  It is
   independent of control plane protocols and captures topological and
   resource-related information pertaining to OTN.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-otn-topo-yang-20"/>
        </reference>
        <reference anchor="I-D.draft-gbb-ccamp-optical-path-computation-yang">
          <front>
            <title>YANG Data Models for requesting Path Computation in Optical Networks</title>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <date day="12" month="September" year="2022"/>
            <abstract>
              <t>   This document provides a mechanism to request path computation in
   Optical Networks (WSON and Flexi-grid) by augmenting the Remote
   Procedure Calls (RPCs) defined in RFC YYYY.

   [RFC EDITOR NOTE: Please replace RFC YYYY with the RFC number of
   draft-ietf-teas-yang-path-computation once it has been published.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gbb-ccamp-optical-path-computation-yang-02"/>
        </reference>
        <reference anchor="I-D.ietf-teas-actn-poi-applicability">
          <front>
            <title>Applicability of Abstraction and Control of Traffic Engineered Networks (ACTN) to Packet Optical Integration (POI)</title>
            <author fullname="Fabio Peruzzini" initials="F." surname="Peruzzini">
              <organization>FiberCop</organization>
            </author>
            <author fullname="Jean-Francois Bouquier" initials="J." surname="Bouquier">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Daniele Ceccarelli" initials="D." surname="Ceccarelli">
              <organization>Cisco</organization>
            </author>
            <date day="14" month="March" year="2026"/>
            <abstract>
              <t>   This document explores the applicability of the Abstraction and
   Control of TE Networks (ACTN) architecture to Packet Optical
   Integration (POI) within the context of IP/MPLS and optical
   internetworking.  It examines the YANG data models defined by the
   IETF that enable an ACTN-based deployment architecture and highlights
   specific scenarios pertinent to Service Providers.

   Existing IETF protocols and data models are identified for each
   multi-technology scenario (packet over optical), particularly
   emphasising the Multi-Domain Service Coordinator to Provisioning
   Network Controller Interface (MPI) within the ACTN architecture

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-actn-poi-applicability-18"/>
        </reference>
      </references>
    </references>
    <?line 720?>

<section anchor="change-log">
      <name>Change Log</name>
      <t>The initial YANG data model requesting path computation in optical networks was draft-gbb-ccamp-optical-path-computation-yang-00. This document included path computation request capabilities for WSON, Flexi-Grid and OTN technologies. However, it was proposed at IETF 113 (March 25, 2022) to split the initial document into separate documents for WDM (WSON and Flexi-Grid) and OTN technologies, as each technology may be developed and implemented separately.</t>
      <t>The WDM technology capabilities were kept in <xref target="I-D.draft-gbb-ccamp-optical-path-computation-yang"/>, and the OTN capabilities were moved into this document.</t>
      <t>Editors note, please remove this appendix before publication.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors of this document would like to thank the authors of <xref target="I-D.ietf-teas-actn-poi-applicability"/> for having identified the gap and requirements to trigger this work.</t>
      <t>This document was prepared using kramdown.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="D." surname="King" fullname="Daniel King">
        <organization>Old Dog Consulting</organization>
        <address>
          <email>daniel@olddog.co.uk</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
8C+eeucYymsAAA==

-->

</rfc>
