<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ccamp-otn-path-computation-yang-08" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.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-08"/>
    <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="May" day="27"/>
    <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>
    </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 50?>

<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="editorial-note-to-be-removed-by-rfc-editor">
        <name>Editorial Note (To be removed by RFC Editor)</name>
        <ul empty="true">
          <li>
            <t>Note to the RFC Editor: This section is to be removed prior to publication.</t>
          </li>
        </ul>
        <t>This document contains placeholder values that need to be replaced
with finalized values at the time of publication.  This note
summarizes all of the substitutions that are needed.</t>
        <t>Please apply the following replacements:</t>
        <ul spacing="normal">
          <li>
            <t>XXXX --&gt; the assigned RFC number for this I-D</t>
          </li>
          <li>
            <t>YYYY --&gt; the assigned RFC number for <xref target="I-D.ietf-teas-yang-path-computation"/></t>
          </li>
          <li>
            <t>ZZZZ --&gt; the assigned RFC number for <xref target="I-D.ietf-ccamp-layer1-types"/></t>
          </li>
          <li>
            <t>KKKK --&gt; the assigned RFC number for <xref target="I-D.ietf-teas-yang-te"/></t>
          </li>
          <li>
            <t>2026-05-19 --&gt; the actual date of the publication of this document</t>
          </li>
        </ul>
      </section>
      <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>
      </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>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="336" viewBox="0 0 336 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 104,144 L 104,176" fill="none" stroke="black"/>
                <path d="M 112,32 L 112,64" fill="none" stroke="black"/>
                <path d="M 216,72 L 216,144" fill="none" stroke="black"/>
                <path d="M 328,32 L 328,64" fill="none" stroke="black"/>
                <path d="M 328,144 L 328,176" fill="none" stroke="black"/>
                <path d="M 112,32 L 328,32" fill="none" stroke="black"/>
                <path d="M 112,64 L 328,64" fill="none" stroke="black"/>
                <path d="M 104,144 L 328,144" fill="none" stroke="black"/>
                <path d="M 104,176 L 328,176" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="224,72 212,66.4 212,77.6" fill="black" transform="rotate(270,216,72)"/>
                <g class="text">
                  <text x="12" y="52">TE</text>
                  <text x="56" y="52">generic</text>
                  <text x="220" y="52">ietf-te-path-computation</text>
                  <text x="260" y="116">Augments</text>
                  <text x="16" y="164">OTN</text>
                  <text x="216" y="164">ietf-otn-path-computation</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                    +--------------------------+
       TE generic   | ietf-te-path-computation |
                    +--------------------------+
                                 ^
                                 |
                                 | Augments
                                 |
                   +-------------+-------------+
       OTN         | ietf-otn-path-computation |
                   +---------------------------+
]]></artwork>
          </artset>
        </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>
      </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-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@2026-05-19.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;
    reference
      "RFC YYYY: A YANG Data Model for requesting path computation";
  }
  import ietf-te {
    prefix te;
    reference
      "RFC KKKK: A YANG Data Model for Traffic Engineering Tunnels,
                 Label Switched Paths, and Interfaces";
  }
  import ietf-layer1-types {
    prefix l1-types;
    reference
      "RFC ZZZZ: Common YANG Data Types for Layer 1 Networks";
  }

  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.

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

     All revisions of IETF and IANA published modules can be found
     at the YANG Parameters registry group
     (https://www.iana.org/assignments/yang-parameters).

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

  revision 2026-05-19 {
    description
      "Initial version.";
    reference
      "RFC XXXX: A YANG Data Model for requesting Path Computation
                 in an Optical Transport Network (OTN)";
  }

  /*
   * 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/"
        + "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/"
        + "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="security-considerations">
      <name>Security Considerations</name>
      <t>This section is modeled after the template described in <xref section="3.7" sectionFormat="of" target="RFC9907"/>.</t>
      <t>The "ietf-otn-path-computation" YANG module defines a data model that is
designed to be accessed via YANG-based management protocols, such as
NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>. These YANG-based management
protocols (1) have to use a secure transport layer (e.g., SSH <xref target="RFC4252"/>, TLS <xref target="RFC8446"/>,
and QUIC <xref target="RFC9000"/>) and (2) have to use mutual authentication.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
provides the means to restrict access for particular NETCONF or
RESTCONF users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content.</t>
      <t>There are no particularly sensitive RPC or action operations.</t>
      <t>This YANG module uses groupings from other YANG modules that
define nodes that may be considered sensitive or vulnerable
in network environments.  Refer to the Security Considerations
of <xref target="I-D.ietf-ccamp-layer1-types"/> for information as to which nodes may
be considered sensitive or vulnerable in network environments.</t>
      <t>The YANG module defined in this document augments the "tunnels-path-compute" and the "tunnel-actions" RPCs, defined in <xref target="I-D.ietf-teas-yang-te"/> and in <xref target="I-D.ietf-teas-yang-path-computation"/>, with OTN technology-specific attributes. The security considerations provided in <xref target="I-D.ietf-teas-yang-te"/> and in <xref target="I-D.ietf-teas-yang-path-computation"/> are also applicable to the YANG module defined in this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URI in the "ns"
registry within the "IETF XML Registry" group <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>IANA is requested to register the following YANG module in the "YANG
Module Names" registry <xref target="RFC6020"/> within the "YANG Parameters"
registry group.</t>
      <artwork><![CDATA[
   Name:         ietf-otn-path-computation
   Maintained by IANA?  N
   Namespace:    urn:ietf:params:xml:ns:yang:ietf-otn-path-computation
   Prefix:       otn-pc
   Reference:    RFC XXXX
]]></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="12" month="May" year="2026"/>
            <abstract>
              <t>   In certain scenarios — particularly within hierarchical Software-
   Defined Networking (SDN) environments—the topology information
   provided by a Traffic Engineering (TE) network provider may be
   insufficient for a client to perform end-to-end multi-domain path
   computation.  In such cases, the client may need to delegate the
   computation of specific intra-domain paths to the TE provider,
   leveraging the resulting path segments to construct optimal multi-
   domain end-to-end paths.

   This document defines a mechanism to enable path computation requests
   by augmenting the Remote Procedure Calls (RPCs) specified in RFC
   YYYY.  The augmented RPCs support path computation on demand,
   allowing clients to request intra-domain TE path computations from
   the provider while maintaining control over inter-domain path
   selection.

   Additionally, this document outlines several use cases in which such
   path computation requests are beneficial, particularly in
   environments where YANG-based management protocols—such as NETCONF or
   RESTCONF—are used for network automation and control.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-path-computation-28"/>
        </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="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="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="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="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </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="RFC9907">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>This document provides guidelines for authors and reviewers of specifications containing YANG data models, including IANA-maintained YANG modules. Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules.</t>
              <t>This document obsoletes RFC 8407; it also updates RFC 8126 by providing additional guidelines for writing the IANA considerations for RFCs that specify IANA-maintained YANG modules.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="216"/>
          <seriesInfo name="RFC" value="9907"/>
          <seriesInfo name="DOI" value="10.17487/RFC9907"/>
        </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="RFC4252">
          <front>
            <title>The Secure Shell (SSH) Authentication Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4252"/>
          <seriesInfo name="DOI" value="10.17487/RFC4252"/>
        </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="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </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>
        <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 504?>

<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. See <xref target="RFC8340"/> for an explanation of the symbols used. The data type of every leaf node is shown near the right end of the corresponding line.</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-bandwidth
          +-- 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-bandwidth
          +-- 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-bandwidth
          +--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-label
          +-- 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-label
          +-- 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
            /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-label
          +-- 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
            /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-label
          +-- 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-label
          +-- tpn?   otn-tpn
          +-- 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-label
          +-- tpn?   otn-tpn
          +-- 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-label-step
          +-- tpn?   otn-tpn
          +-- 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-label
          +-- tpn?   otn-tpn
          +-- 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-label
          +-- tpn?   otn-tpn
          +-- 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-label-step
          +-- tpn?   otn-tpn
          +-- 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-label
          +-- 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-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
]]></artwork>
      </figure>
    </section>
    <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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
GB4JJ2KLejcOYYuwOiwnwq2EzmewwF0EnBosTBQnuPegA2KBYf1tTJkToMLK
QcHnmeJpzU3Pyc1rxjoRmZ39vuvKd13phP416Yo7+Oo+6+oS+/rg65Kzrq6+
Vzvr6la6a61ZpbpIE7H2eroIPT9PGwHApvQRQG1eIwHolXXS9dmoVgLML6mX
NfjNaCYK1I2vY5dfWnf1Wv9ip9auIIGVbmTC9c4G5waa1I7bxaqwg9HjRTnp
kNVwsYwx0fiH1e3orVJQXAP1YnpzBA+u0r5T/EtT/MJw2C4Yl4XDdvW5OOK6
c5VcL+I6YPxqUVnj3uUSD7Q9AIlBkXuO0fsBirzdoJGT1b6o0SQe2BDFltJJ
v1m+t8KgL+X76jDo73y/Lt+7I1fXVkEXm/ydFb8fK1YHEa+k/yW8+Kzd+TfI
mI26fat7rxUZd33qr6L805ot+hsj6BoxbN/JeRX57Ig3W4eA1PProOLG9hrf
1fzmKPovpec3IqHfjqKvFQ/avVe5UjzoisPVb8S3/cpOtdeP4Oxk29WyKq/r
Lbsz9A5mQ81l7MYmazCcmrVZ3hWyScEDF4VshtEFvQhWMAyJuiwss4+9bCzm
wYSCzV+rsY2cku79P+0IhQteJodRC8q9u8fFZGk249p96mY8HPr3kNtGq752
cweDE8IArToLeWlE/0mDhBd8KDP72lKMgPjt5O3RDnuZifcyflXKlMKbFiKp
8JUj7Fc1E/QGRWkIUxRbhcGV3NgXRu3t3WNbb/BLMOzujzv45qS72xh5o2Er
aFy2kSVUgC3WC4xawfhU/xYri9bzN2wLcSN8GvS2O/Gj9/gKDmM38uoj+VLA
OwMdszPDt35TKChFytmhs7kLgsNBAwALtJphkOKZKIyN/aJ3wV+JXfRuVhcc
h/gvQ7dfPyCqtCPA7Evh7IcIdlhhvylgv5dg2/ICv2ok38OMgXyi9ekE0BH7
5n2R/twb8Uw7Wd5PznI1w28K2feHERUWXsoWStdMVVnKMnnm4td4fmbf29p0
CF+ST0FxPEFtUjL2wW8447mLvnFfsAheDEcveeb2bZjuixwu4hAGLOV4LNwH
EFBnlr4JYQUTuVq/vPwMtDxVMyDCPwHRSphS7GoAAA==

-->

</rfc>
