<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ccamp-optical-path-computation-yang-09" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="YANG for WDM Path Computation">YANG Data Models for requesting Path Computation in WDM Optical Networks</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-optical-path-computation-yang-09"/>
    <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="September" day="01"/>
    <area>Routing</area>
    <workgroup>Common Control and Measurement Plane</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 47?>

<t>This document provides a mechanism to request path computation in Wavelength-Division Multiplexing (WDM) optical networks composed of Wavelength Switched Optical Networks (WSON) and Flexi-Grid Dense Wavelength Division Multiplexing (DWDM) switched technologies. This model augments 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-optical-path-computation/draft-ietf-ccamp-optical-path-computation-yang.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-optical-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-optical-path-computation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 54?>

<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 Software-Defined Network (SDN) controllers for path computation. In some of these use cases, the
underlying SDN controller can control a single-layer optical technologies, including
Optical Transport Network (OTN), Wavelength Switched Optical Networks (WSON), Flexi-grid, and multi-layer Optical network.</t>
      <t>This document defines YANG data models, which augment the generic Path Computation RPC defined in <xref target="I-D.ietf-teas-yang-path-computation"/>, with technology-specific augmentations required to request path computation to an underlying Optical SDN controller. These models allow
a client to delegate path computation tasks to the underlying Optical SDN controller without having to obtain optical-layer information from the controller and performing feasible path computation itself. This is especially helpful in cases where computing optically-feasible paths require knowledge of physical-layer states, such as optical impairments, which are visible only to the Optical controller.</t>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <t>Refer to <xref target="RFC7446"/> and <xref target="RFC7581"/> for the key terms used in this
  document.  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="wdm-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">l0-types</td>
              <td align="left">ietf-layer0-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">tepc</td>
              <td align="left">ietf-te-path-computation</td>
              <td align="left">[RFCYYYY]</td>
            </tr>
            <tr>
              <td align="left">wdm-pc</td>
              <td align="left">ietf-wdm-path-computation</td>
              <td align="left">RFCXXXX</td>
            </tr>
          </tbody>
        </table>
        <t>RFC Editor Note:
Please replace XXXX with the RFC number assigned to this document.
Please replace ZZZZ with the RFC number assigned to <xref target="I-D.ietf-ccamp-rfc9093-bis"/>.
Please replace KKKK with the RFC number assigned to <xref target="I-D.ietf-teas-yang-te"/>.
Please replace YYYY with the RFC number assigned to <xref target="I-D.ietf-teas-yang-path-computation"/>.
Please remove this note.</t>
      </section>
    </section>
    <section anchor="yang-data-models-for-wdm-path-computation">
      <name>YANG Data Models for WDM Path Computation</name>
      <section anchor="yang-models-overview">
        <name>YANG Models Overview</name>
        <t>The YANG data models for requesting WDM path computation are defined as augmentations of the generic Path Computation RPC defined in <xref target="I-D.ietf-teas-yang-path-computation"/>, as shown in <xref target="fig-wdm-pc"/>.</t>
        <figure anchor="fig-wdm-pc">
          <name>Relationship between WDM and TE path computation models</name>
          <artwork type="ascii-art" name="wdm-path-computation.txt"><![CDATA[
                    +--------------------------+    o: augment
       TE generic   | ietf-te-path-computation |
                    +--------------------------+
                                 o
                                 |
                                 |
                                 |
                    +---------------------------+
                    | ietf-wdm-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 WDM path computation and the models defined in this document only specifies the additional technology-specific attributes/information, using the attributes defined in <xref target="I-D.ietf-ccamp-rfc9093-bis"/>.</t>
      </section>
      <section anchor="attributes-augmentation">
        <name>Attributes Augmentation</name>
        <t>The common characteristics for layer 0 (WSON and Flexi-grid) path computation are under definition in <xref target="I-D.ietf-ccamp-rfc9093-bis"/> and re-used in the ietf-wdm-path-computation YANG models.</t>
      </section>
      <section anchor="wdm-te-bandwidth">
        <name>Bandwidth Augmentation</name>
        <t>As described in Section 4.2 of <xref target="RFC7699"/>, there is some overlap
between bandwidth and label in layer0.</t>
        <t>The WSON and flexi-grid label resource information described in <xref target="wdm-te-label"/>,
is sufficient to describe also the spectrum resources within WSON and
flexi-grid networks. Therefore, the model does not define any augmentation
for the te-bandwidth containers defined in <xref target="I-D.ietf-teas-yang-path-computation"/>.</t>
      </section>
      <section anchor="wdm-te-label">
        <name>Label Augmentations</name>
        <t>The models augment all the occurrences of the label-restriction list
with WSON and Flexi-grid technology-specific attributes using the
l0-label-range-info and flexi-grid-label-range-info groupings defined in <xref target="I-D.ietf-ccamp-rfc9093-bis"/>.</t>
        <t>Moreover, the models augment all the occurrences of the te-label
container with the WSON, Flexi-grid and OTN technology-specific attributes using the
wson-label-start-end, wson-label-hop, wson-label-step,
flexi-grid-label-start-end, flexi-grid-label-hop and flexi-grid-label-step defined in <xref target="I-D.ietf-ccamp-rfc9093-bis"/>.</t>
      </section>
    </section>
    <section anchor="wdm-pc-tree">
      <name>WDM Path Computation Tree Diagrams</name>
      <t><xref target="fig-wdm-pc-tree"/> below shows the tree diagram of the YANG data model defined in module ietf-wdm-path-computation.yang.</t>
      <figure anchor="fig-wdm-pc-tree">
        <name>WDM path computation tree diagram</name>
        <artwork type="ascii-art" name="ietf-wdm-path-computation.tree"><![CDATA[
module: ietf-wdm-path-computation

  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:tunnel-attributes:
    +-- wdm-constraint
       +-- transceiver-constraint
       |  +-- operational-modes*            string
       |  +-- otsi-carrier-frequency?       l0-types:frequency-thz
       |  +-- tx-tune-constraints
       |  |  +-- min-central-frequency?                frequency-thz
       |  |  +-- max-central-frequency?                frequency-thz
       |  |  +-- transceiver-tunability-granularity?   frequency-ghz
       |  +-- line-coding-bitrate*          identityref
       |  +-- tx-channel-power?             l0-types:power-dbm
       |  +-- preferred-rx-channel-power?   l0-types:power-dbm
       |  +-- gsnr-extra-margin?            snr
       +-- use-regen?                     boolean
       +-- wavelength-conversion?         boolean
       +-- wavelength-assignment?         identityref
       +-- guard-band-size?               l0-types:frequency-thz
       +-- matching-fwd-rev-wavelength?   boolean
       +-- allow-retuning?                boolean
       +-- delta-power?                   l0-types:power-ratio
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:optimizations/tepc:algorithm
            /tepc:metric/tepc:optimization-metric
            /tepc:explicit-route-exclude-objects
            /tepc:route-object-exclude-object/tepc:type
            /tepc:numbered-node-hop:
    +-- (node-position)?
       +--:(source)
       |  +-- source-transponder
       |     +-- transponder-id?         uint32
       |     +-- digital-terminations
       |     |  +-- digital-termination* [index]
       |     |     +-- index               uint8
       |     |     +-- termination-type?   identityref
       |     |     +-- mapping-type?       identityref
       |     +-- transceiver
       |        +-- transceiver-id?               uint32
       |        +-- otsi-carrier-id?              uint16
       |        +-- otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +-- tx-channel-power?             l0-types:power-dbm
       |        +-- operational-mode?             string
       |        +-- line-coding-bitrate?          identityref
       |        +-- preferred-rx-channel-power?   l0-types:power-dbm
       |        +-- gsnr-extra-margin?            snr
       |        +-- inverse-multiplexing!
       |           +-- inverse-mux-type?             identityref
       |           +-- otsi-lane-termination-type?   identityref
       |           +-- additional-transceivers
       |              +-- index?                    uint8
       |              +-- transceiver-id?           uint32
       |              +-- otsi-carrier-id?          uint16
       |              +-- otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +-- tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +-- destination-transponder
       |     +-- transponder-id?         uint32
       |     +-- digital-terminations
       |     |  +-- digital-termination* [index]
       |     |     +-- index               uint8
       |     |     +-- termination-type?   identityref
       |     |     +-- mapping-type?       identityref
       |     +-- transceiver
       |        +-- transceiver-id?               uint32
       |        +-- otsi-carrier-id?              uint16
       |        +-- otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +-- tx-channel-power?             l0-types:power-dbm
       |        +-- operational-mode?             string
       |        +-- line-coding-bitrate?          identityref
       |        +-- preferred-rx-channel-power?   l0-types:power-dbm
       |        +-- gsnr-extra-margin?            snr
       |        +-- inverse-multiplexing!
       |           +-- inverse-mux-type?             identityref
       |           +-- otsi-lane-termination-type?   identityref
       |           +-- additional-transceivers
       |              +-- index?                    uint8
       |              +-- transceiver-id?           uint32
       |              +-- otsi-carrier-id?          uint16
       |              +-- otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +-- tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +-- regenerator
       |     +-- regen-group-id?         uint32
       |     +-- regeneration-layer?     identityref
       |     +-- incoming-transponder
       |     |  +-- transponder-id?         uint32
       |     |  +-- digital-terminations
       |     |  |  +-- digital-termination* [index]
       |     |  |     +-- index               uint8
       |     |  |     +-- termination-type?   identityref
       |     |  |     +-- mapping-type?       identityref
       |     |  +-- transceiver
       |     |     +-- transceiver-id?               uint32
       |     |     +-- otsi-carrier-id?              uint16
       |     |     +-- otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +-- tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +-- operational-mode?             string
       |     |     +-- line-coding-bitrate?          identityref
       |     |     +-- preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +-- gsnr-extra-margin?            snr
       |     |     +-- inverse-multiplexing!
       |     |        +-- inverse-mux-type?             identityref
       |     |        +-- otsi-lane-termination-type?   identityref
       |     |        +-- additional-transceivers
       |     |           +-- index?                    uint8
       |     |           +-- transceiver-id?           uint32
       |     |           +-- otsi-carrier-id?          uint16
       |     |           +-- otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +-- tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +-- outgoing-transponder
       |        +-- transponder-id?         uint32
       |        +-- digital-terminations
       |        |  +-- digital-termination* [index]
       |        |     +-- index               uint8
       |        |     +-- termination-type?   identityref
       |        |     +-- mapping-type?       identityref
       |        +-- transceiver
       |           +-- transceiver-id?               uint32
       |           +-- otsi-carrier-id?              uint16
       |           +-- otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +-- tx-channel-power?
       |           |       l0-types:power-dbm
       |           +-- operational-mode?             string
       |           +-- line-coding-bitrate?          identityref
       |           +-- preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +-- gsnr-extra-margin?            snr
       |           +-- inverse-multiplexing!
       |              +-- inverse-mux-type?             identityref
       |              +-- otsi-lane-termination-type?   identityref
       |              +-- additional-transceivers
       |                 +-- index?                    uint8
       |                 +-- transceiver-id?           uint32
       |                 +-- otsi-carrier-id?          uint16
       |                 +-- otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +-- tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +-- regenerators
             +-- common-incoming
             |  +-- operational-mode?             string
             |  +-- line-coding-bitrate?          identityref
             |  +-- preferred-rx-channel-power?   l0-types:power-dbm
             |  +-- gsnr-extra-margin?            snr
             +-- common-outgoing
             |  +-- operational-mode?             string
             |  +-- line-coding-bitrate?          identityref
             |  +-- preferred-rx-channel-power?   l0-types:power-dbm
             |  +-- gsnr-extra-margin?            snr
             +-- regenerator* [index]
                +-- index                   uint8
                +-- regen-group-id?         uint32
                +-- regeneration-layer?     identityref
                +-- incoming-transponder
                |  +-- transponder-id?   uint32
                |  +-- transceiver
                |     +-- transceiver-id?           uint32
                |     +-- otsi-carrier-id?          uint16
                |     +-- otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +-- tx-channel-power?
                |             l0-types:power-dbm
                +-- outgoing-transponder
                   +-- transponder-id?   uint32
                   +-- transceiver
                      +-- transceiver-id?           uint32
                      +-- otsi-carrier-id?          uint16
                      +-- otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +-- tx-channel-power?
                              l0-types:power-dbm
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:optimizations/tepc:algorithm
            /tepc:metric/tepc:optimization-metric
            /tepc:explicit-route-exclude-objects
            /tepc:route-object-exclude-object/tepc:type:
    +--:(oms-element)
       +-- oms-element-uid?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:optimizations/tepc:algorithm
            /tepc:metric/tepc:optimization-metric
            /tepc:explicit-route-include-objects
            /tepc:route-object-include-object/tepc:type
            /tepc:numbered-node-hop:
    +-- (node-position)?
       +--:(source)
       |  +-- source-transponder
       |     +-- transponder-id?         uint32
       |     +-- digital-terminations
       |     |  +-- digital-termination* [index]
       |     |     +-- index               uint8
       |     |     +-- termination-type?   identityref
       |     |     +-- mapping-type?       identityref
       |     +-- transceiver
       |        +-- transceiver-id?               uint32
       |        +-- otsi-carrier-id?              uint16
       |        +-- otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +-- tx-channel-power?             l0-types:power-dbm
       |        +-- operational-mode?             string
       |        +-- line-coding-bitrate?          identityref
       |        +-- preferred-rx-channel-power?   l0-types:power-dbm
       |        +-- gsnr-extra-margin?            snr
       |        +-- inverse-multiplexing!
       |           +-- inverse-mux-type?             identityref
       |           +-- otsi-lane-termination-type?   identityref
       |           +-- additional-transceivers
       |              +-- index?                    uint8
       |              +-- transceiver-id?           uint32
       |              +-- otsi-carrier-id?          uint16
       |              +-- otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +-- tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +-- destination-transponder
       |     +-- transponder-id?         uint32
       |     +-- digital-terminations
       |     |  +-- digital-termination* [index]
       |     |     +-- index               uint8
       |     |     +-- termination-type?   identityref
       |     |     +-- mapping-type?       identityref
       |     +-- transceiver
       |        +-- transceiver-id?               uint32
       |        +-- otsi-carrier-id?              uint16
       |        +-- otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +-- tx-channel-power?             l0-types:power-dbm
       |        +-- operational-mode?             string
       |        +-- line-coding-bitrate?          identityref
       |        +-- preferred-rx-channel-power?   l0-types:power-dbm
       |        +-- gsnr-extra-margin?            snr
       |        +-- inverse-multiplexing!
       |           +-- inverse-mux-type?             identityref
       |           +-- otsi-lane-termination-type?   identityref
       |           +-- additional-transceivers
       |              +-- index?                    uint8
       |              +-- transceiver-id?           uint32
       |              +-- otsi-carrier-id?          uint16
       |              +-- otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +-- tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +-- regenerator
       |     +-- regen-group-id?         uint32
       |     +-- regeneration-layer?     identityref
       |     +-- incoming-transponder
       |     |  +-- transponder-id?         uint32
       |     |  +-- digital-terminations
       |     |  |  +-- digital-termination* [index]
       |     |  |     +-- index               uint8
       |     |  |     +-- termination-type?   identityref
       |     |  |     +-- mapping-type?       identityref
       |     |  +-- transceiver
       |     |     +-- transceiver-id?               uint32
       |     |     +-- otsi-carrier-id?              uint16
       |     |     +-- otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +-- tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +-- operational-mode?             string
       |     |     +-- line-coding-bitrate?          identityref
       |     |     +-- preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +-- gsnr-extra-margin?            snr
       |     |     +-- inverse-multiplexing!
       |     |        +-- inverse-mux-type?             identityref
       |     |        +-- otsi-lane-termination-type?   identityref
       |     |        +-- additional-transceivers
       |     |           +-- index?                    uint8
       |     |           +-- transceiver-id?           uint32
       |     |           +-- otsi-carrier-id?          uint16
       |     |           +-- otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +-- tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +-- outgoing-transponder
       |        +-- transponder-id?         uint32
       |        +-- digital-terminations
       |        |  +-- digital-termination* [index]
       |        |     +-- index               uint8
       |        |     +-- termination-type?   identityref
       |        |     +-- mapping-type?       identityref
       |        +-- transceiver
       |           +-- transceiver-id?               uint32
       |           +-- otsi-carrier-id?              uint16
       |           +-- otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +-- tx-channel-power?
       |           |       l0-types:power-dbm
       |           +-- operational-mode?             string
       |           +-- line-coding-bitrate?          identityref
       |           +-- preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +-- gsnr-extra-margin?            snr
       |           +-- inverse-multiplexing!
       |              +-- inverse-mux-type?             identityref
       |              +-- otsi-lane-termination-type?   identityref
       |              +-- additional-transceivers
       |                 +-- index?                    uint8
       |                 +-- transceiver-id?           uint32
       |                 +-- otsi-carrier-id?          uint16
       |                 +-- otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +-- tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +-- regenerators
             +-- common-incoming
             |  +-- operational-mode?             string
             |  +-- line-coding-bitrate?          identityref
             |  +-- preferred-rx-channel-power?   l0-types:power-dbm
             |  +-- gsnr-extra-margin?            snr
             +-- common-outgoing
             |  +-- operational-mode?             string
             |  +-- line-coding-bitrate?          identityref
             |  +-- preferred-rx-channel-power?   l0-types:power-dbm
             |  +-- gsnr-extra-margin?            snr
             +-- regenerator* [index]
                +-- index                   uint8
                +-- regen-group-id?         uint32
                +-- regeneration-layer?     identityref
                +-- incoming-transponder
                |  +-- transponder-id?   uint32
                |  +-- transceiver
                |     +-- transceiver-id?           uint32
                |     +-- otsi-carrier-id?          uint16
                |     +-- otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +-- tx-channel-power?
                |             l0-types:power-dbm
                +-- outgoing-transponder
                   +-- transponder-id?   uint32
                   +-- transceiver
                      +-- transceiver-id?           uint32
                      +-- otsi-carrier-id?          uint16
                      +-- otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +-- tx-channel-power?
                              l0-types:power-dbm
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:optimizations/tepc:algorithm
            /tepc:metric/tepc:optimization-metric
            /tepc:explicit-route-include-objects
            /tepc:route-object-include-object/tepc:type:
    +--:(oms-element)
       +-- oms-element-uid?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:explicit-route-objects
            /tepc:route-object-exclude-always/tepc:type
            /tepc:numbered-node-hop:
    +-- (node-position)?
       +--:(source)
       |  +-- source-transponder
       |     +-- transponder-id?         uint32
       |     +-- digital-terminations
       |     |  +-- digital-termination* [index]
       |     |     +-- index               uint8
       |     |     +-- termination-type?   identityref
       |     |     +-- mapping-type?       identityref
       |     +-- transceiver
       |        +-- transceiver-id?               uint32
       |        +-- otsi-carrier-id?              uint16
       |        +-- otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +-- tx-channel-power?             l0-types:power-dbm
       |        +-- operational-mode?             string
       |        +-- line-coding-bitrate?          identityref
       |        +-- preferred-rx-channel-power?   l0-types:power-dbm
       |        +-- gsnr-extra-margin?            snr
       |        +-- inverse-multiplexing!
       |           +-- inverse-mux-type?             identityref
       |           +-- otsi-lane-termination-type?   identityref
       |           +-- additional-transceivers
       |              +-- index?                    uint8
       |              +-- transceiver-id?           uint32
       |              +-- otsi-carrier-id?          uint16
       |              +-- otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +-- tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +-- destination-transponder
       |     +-- transponder-id?         uint32
       |     +-- digital-terminations
       |     |  +-- digital-termination* [index]
       |     |     +-- index               uint8
       |     |     +-- termination-type?   identityref
       |     |     +-- mapping-type?       identityref
       |     +-- transceiver
       |        +-- transceiver-id?               uint32
       |        +-- otsi-carrier-id?              uint16
       |        +-- otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +-- tx-channel-power?             l0-types:power-dbm
       |        +-- operational-mode?             string
       |        +-- line-coding-bitrate?          identityref
       |        +-- preferred-rx-channel-power?   l0-types:power-dbm
       |        +-- gsnr-extra-margin?            snr
       |        +-- inverse-multiplexing!
       |           +-- inverse-mux-type?             identityref
       |           +-- otsi-lane-termination-type?   identityref
       |           +-- additional-transceivers
       |              +-- index?                    uint8
       |              +-- transceiver-id?           uint32
       |              +-- otsi-carrier-id?          uint16
       |              +-- otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +-- tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +-- regenerator
       |     +-- regen-group-id?         uint32
       |     +-- regeneration-layer?     identityref
       |     +-- incoming-transponder
       |     |  +-- transponder-id?         uint32
       |     |  +-- digital-terminations
       |     |  |  +-- digital-termination* [index]
       |     |  |     +-- index               uint8
       |     |  |     +-- termination-type?   identityref
       |     |  |     +-- mapping-type?       identityref
       |     |  +-- transceiver
       |     |     +-- transceiver-id?               uint32
       |     |     +-- otsi-carrier-id?              uint16
       |     |     +-- otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +-- tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +-- operational-mode?             string
       |     |     +-- line-coding-bitrate?          identityref
       |     |     +-- preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +-- gsnr-extra-margin?            snr
       |     |     +-- inverse-multiplexing!
       |     |        +-- inverse-mux-type?             identityref
       |     |        +-- otsi-lane-termination-type?   identityref
       |     |        +-- additional-transceivers
       |     |           +-- index?                    uint8
       |     |           +-- transceiver-id?           uint32
       |     |           +-- otsi-carrier-id?          uint16
       |     |           +-- otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +-- tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +-- outgoing-transponder
       |        +-- transponder-id?         uint32
       |        +-- digital-terminations
       |        |  +-- digital-termination* [index]
       |        |     +-- index               uint8
       |        |     +-- termination-type?   identityref
       |        |     +-- mapping-type?       identityref
       |        +-- transceiver
       |           +-- transceiver-id?               uint32
       |           +-- otsi-carrier-id?              uint16
       |           +-- otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +-- tx-channel-power?
       |           |       l0-types:power-dbm
       |           +-- operational-mode?             string
       |           +-- line-coding-bitrate?          identityref
       |           +-- preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +-- gsnr-extra-margin?            snr
       |           +-- inverse-multiplexing!
       |              +-- inverse-mux-type?             identityref
       |              +-- otsi-lane-termination-type?   identityref
       |              +-- additional-transceivers
       |                 +-- index?                    uint8
       |                 +-- transceiver-id?           uint32
       |                 +-- otsi-carrier-id?          uint16
       |                 +-- otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +-- tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +-- regenerators
             +-- common-incoming
             |  +-- operational-mode?             string
             |  +-- line-coding-bitrate?          identityref
             |  +-- preferred-rx-channel-power?   l0-types:power-dbm
             |  +-- gsnr-extra-margin?            snr
             +-- common-outgoing
             |  +-- operational-mode?             string
             |  +-- line-coding-bitrate?          identityref
             |  +-- preferred-rx-channel-power?   l0-types:power-dbm
             |  +-- gsnr-extra-margin?            snr
             +-- regenerator* [index]
                +-- index                   uint8
                +-- regen-group-id?         uint32
                +-- regeneration-layer?     identityref
                +-- incoming-transponder
                |  +-- transponder-id?   uint32
                |  +-- transceiver
                |     +-- transceiver-id?           uint32
                |     +-- otsi-carrier-id?          uint16
                |     +-- otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +-- tx-channel-power?
                |             l0-types:power-dbm
                +-- outgoing-transponder
                   +-- transponder-id?   uint32
                   +-- transceiver
                      +-- transceiver-id?           uint32
                      +-- otsi-carrier-id?          uint16
                      +-- otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +-- tx-channel-power?
                              l0-types:power-dbm
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:explicit-route-objects
            /tepc:route-object-exclude-always/tepc:type:
    +--:(oms-element)
       +-- oms-element-uid?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:explicit-route-objects
            /tepc:route-object-include-exclude/tepc:type
            /tepc:numbered-node-hop:
    +-- (node-position)?
       +--:(source)
       |  +-- source-transponder
       |     +-- transponder-id?         uint32
       |     +-- digital-terminations
       |     |  +-- digital-termination* [index]
       |     |     +-- index               uint8
       |     |     +-- termination-type?   identityref
       |     |     +-- mapping-type?       identityref
       |     +-- transceiver
       |        +-- transceiver-id?               uint32
       |        +-- otsi-carrier-id?              uint16
       |        +-- otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +-- tx-channel-power?             l0-types:power-dbm
       |        +-- operational-mode?             string
       |        +-- line-coding-bitrate?          identityref
       |        +-- preferred-rx-channel-power?   l0-types:power-dbm
       |        +-- gsnr-extra-margin?            snr
       |        +-- inverse-multiplexing!
       |           +-- inverse-mux-type?             identityref
       |           +-- otsi-lane-termination-type?   identityref
       |           +-- additional-transceivers
       |              +-- index?                    uint8
       |              +-- transceiver-id?           uint32
       |              +-- otsi-carrier-id?          uint16
       |              +-- otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +-- tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +-- destination-transponder
       |     +-- transponder-id?         uint32
       |     +-- digital-terminations
       |     |  +-- digital-termination* [index]
       |     |     +-- index               uint8
       |     |     +-- termination-type?   identityref
       |     |     +-- mapping-type?       identityref
       |     +-- transceiver
       |        +-- transceiver-id?               uint32
       |        +-- otsi-carrier-id?              uint16
       |        +-- otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +-- tx-channel-power?             l0-types:power-dbm
       |        +-- operational-mode?             string
       |        +-- line-coding-bitrate?          identityref
       |        +-- preferred-rx-channel-power?   l0-types:power-dbm
       |        +-- gsnr-extra-margin?            snr
       |        +-- inverse-multiplexing!
       |           +-- inverse-mux-type?             identityref
       |           +-- otsi-lane-termination-type?   identityref
       |           +-- additional-transceivers
       |              +-- index?                    uint8
       |              +-- transceiver-id?           uint32
       |              +-- otsi-carrier-id?          uint16
       |              +-- otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +-- tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +-- regenerator
       |     +-- regen-group-id?         uint32
       |     +-- regeneration-layer?     identityref
       |     +-- incoming-transponder
       |     |  +-- transponder-id?         uint32
       |     |  +-- digital-terminations
       |     |  |  +-- digital-termination* [index]
       |     |  |     +-- index               uint8
       |     |  |     +-- termination-type?   identityref
       |     |  |     +-- mapping-type?       identityref
       |     |  +-- transceiver
       |     |     +-- transceiver-id?               uint32
       |     |     +-- otsi-carrier-id?              uint16
       |     |     +-- otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +-- tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +-- operational-mode?             string
       |     |     +-- line-coding-bitrate?          identityref
       |     |     +-- preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +-- gsnr-extra-margin?            snr
       |     |     +-- inverse-multiplexing!
       |     |        +-- inverse-mux-type?             identityref
       |     |        +-- otsi-lane-termination-type?   identityref
       |     |        +-- additional-transceivers
       |     |           +-- index?                    uint8
       |     |           +-- transceiver-id?           uint32
       |     |           +-- otsi-carrier-id?          uint16
       |     |           +-- otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +-- tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +-- outgoing-transponder
       |        +-- transponder-id?         uint32
       |        +-- digital-terminations
       |        |  +-- digital-termination* [index]
       |        |     +-- index               uint8
       |        |     +-- termination-type?   identityref
       |        |     +-- mapping-type?       identityref
       |        +-- transceiver
       |           +-- transceiver-id?               uint32
       |           +-- otsi-carrier-id?              uint16
       |           +-- otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +-- tx-channel-power?
       |           |       l0-types:power-dbm
       |           +-- operational-mode?             string
       |           +-- line-coding-bitrate?          identityref
       |           +-- preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +-- gsnr-extra-margin?            snr
       |           +-- inverse-multiplexing!
       |              +-- inverse-mux-type?             identityref
       |              +-- otsi-lane-termination-type?   identityref
       |              +-- additional-transceivers
       |                 +-- index?                    uint8
       |                 +-- transceiver-id?           uint32
       |                 +-- otsi-carrier-id?          uint16
       |                 +-- otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +-- tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +-- regenerators
             +-- common-incoming
             |  +-- operational-mode?             string
             |  +-- line-coding-bitrate?          identityref
             |  +-- preferred-rx-channel-power?   l0-types:power-dbm
             |  +-- gsnr-extra-margin?            snr
             +-- common-outgoing
             |  +-- operational-mode?             string
             |  +-- line-coding-bitrate?          identityref
             |  +-- preferred-rx-channel-power?   l0-types:power-dbm
             |  +-- gsnr-extra-margin?            snr
             +-- regenerator* [index]
                +-- index                   uint8
                +-- regen-group-id?         uint32
                +-- regeneration-layer?     identityref
                +-- incoming-transponder
                |  +-- transponder-id?   uint32
                |  +-- transceiver
                |     +-- transceiver-id?           uint32
                |     +-- otsi-carrier-id?          uint16
                |     +-- otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +-- tx-channel-power?
                |             l0-types:power-dbm
                +-- outgoing-transponder
                   +-- transponder-id?   uint32
                   +-- transceiver
                      +-- transceiver-id?           uint32
                      +-- otsi-carrier-id?          uint16
                      +-- otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +-- tx-channel-power?
                              l0-types:power-dbm
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:explicit-route-objects
            /tepc:route-object-include-exclude/tepc:type:
    +--:(oms-element)
       +-- oms-element-uid?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:synchronization/tepc:exclude-objects/tepc:excludes
            /tepc:type/tepc:numbered-node-hop:
    +-- (node-position)?
       +--:(source)
       |  +-- source-transponder
       |     +-- transponder-id?         uint32
       |     +-- digital-terminations
       |     |  +-- digital-termination* [index]
       |     |     +-- index               uint8
       |     |     +-- termination-type?   identityref
       |     |     +-- mapping-type?       identityref
       |     +-- transceiver
       |        +-- transceiver-id?               uint32
       |        +-- otsi-carrier-id?              uint16
       |        +-- otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +-- tx-channel-power?             l0-types:power-dbm
       |        +-- operational-mode?             string
       |        +-- line-coding-bitrate?          identityref
       |        +-- preferred-rx-channel-power?   l0-types:power-dbm
       |        +-- gsnr-extra-margin?            snr
       |        +-- inverse-multiplexing!
       |           +-- inverse-mux-type?             identityref
       |           +-- otsi-lane-termination-type?   identityref
       |           +-- additional-transceivers
       |              +-- index?                    uint8
       |              +-- transceiver-id?           uint32
       |              +-- otsi-carrier-id?          uint16
       |              +-- otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +-- tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +-- destination-transponder
       |     +-- transponder-id?         uint32
       |     +-- digital-terminations
       |     |  +-- digital-termination* [index]
       |     |     +-- index               uint8
       |     |     +-- termination-type?   identityref
       |     |     +-- mapping-type?       identityref
       |     +-- transceiver
       |        +-- transceiver-id?               uint32
       |        +-- otsi-carrier-id?              uint16
       |        +-- otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +-- tx-channel-power?             l0-types:power-dbm
       |        +-- operational-mode?             string
       |        +-- line-coding-bitrate?          identityref
       |        +-- preferred-rx-channel-power?   l0-types:power-dbm
       |        +-- gsnr-extra-margin?            snr
       |        +-- inverse-multiplexing!
       |           +-- inverse-mux-type?             identityref
       |           +-- otsi-lane-termination-type?   identityref
       |           +-- additional-transceivers
       |              +-- index?                    uint8
       |              +-- transceiver-id?           uint32
       |              +-- otsi-carrier-id?          uint16
       |              +-- otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +-- tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +-- regenerator
       |     +-- regen-group-id?         uint32
       |     +-- regeneration-layer?     identityref
       |     +-- incoming-transponder
       |     |  +-- transponder-id?         uint32
       |     |  +-- digital-terminations
       |     |  |  +-- digital-termination* [index]
       |     |  |     +-- index               uint8
       |     |  |     +-- termination-type?   identityref
       |     |  |     +-- mapping-type?       identityref
       |     |  +-- transceiver
       |     |     +-- transceiver-id?               uint32
       |     |     +-- otsi-carrier-id?              uint16
       |     |     +-- otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +-- tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +-- operational-mode?             string
       |     |     +-- line-coding-bitrate?          identityref
       |     |     +-- preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +-- gsnr-extra-margin?            snr
       |     |     +-- inverse-multiplexing!
       |     |        +-- inverse-mux-type?             identityref
       |     |        +-- otsi-lane-termination-type?   identityref
       |     |        +-- additional-transceivers
       |     |           +-- index?                    uint8
       |     |           +-- transceiver-id?           uint32
       |     |           +-- otsi-carrier-id?          uint16
       |     |           +-- otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +-- tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +-- outgoing-transponder
       |        +-- transponder-id?         uint32
       |        +-- digital-terminations
       |        |  +-- digital-termination* [index]
       |        |     +-- index               uint8
       |        |     +-- termination-type?   identityref
       |        |     +-- mapping-type?       identityref
       |        +-- transceiver
       |           +-- transceiver-id?               uint32
       |           +-- otsi-carrier-id?              uint16
       |           +-- otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +-- tx-channel-power?
       |           |       l0-types:power-dbm
       |           +-- operational-mode?             string
       |           +-- line-coding-bitrate?          identityref
       |           +-- preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +-- gsnr-extra-margin?            snr
       |           +-- inverse-multiplexing!
       |              +-- inverse-mux-type?             identityref
       |              +-- otsi-lane-termination-type?   identityref
       |              +-- additional-transceivers
       |                 +-- index?                    uint8
       |                 +-- transceiver-id?           uint32
       |                 +-- otsi-carrier-id?          uint16
       |                 +-- otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +-- tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +-- regenerators
             +-- common-incoming
             |  +-- operational-mode?             string
             |  +-- line-coding-bitrate?          identityref
             |  +-- preferred-rx-channel-power?   l0-types:power-dbm
             |  +-- gsnr-extra-margin?            snr
             +-- common-outgoing
             |  +-- operational-mode?             string
             |  +-- line-coding-bitrate?          identityref
             |  +-- preferred-rx-channel-power?   l0-types:power-dbm
             |  +-- gsnr-extra-margin?            snr
             +-- regenerator* [index]
                +-- index                   uint8
                +-- regen-group-id?         uint32
                +-- regeneration-layer?     identityref
                +-- incoming-transponder
                |  +-- transponder-id?   uint32
                |  +-- transceiver
                |     +-- transceiver-id?           uint32
                |     +-- otsi-carrier-id?          uint16
                |     +-- otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +-- tx-channel-power?
                |             l0-types:power-dbm
                +-- outgoing-transponder
                   +-- transponder-id?   uint32
                   +-- transceiver
                      +-- transceiver-id?           uint32
                      +-- otsi-carrier-id?          uint16
                      +-- otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +-- tx-channel-power?
                              l0-types:power-dbm
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:synchronization/tepc:exclude-objects/tepc:excludes
            /tepc:type:
    +--:(oms-element)
       +-- oms-element-uid?   string
  augment /te:tunnels-path-compute/te:output/te:path-compute-result
            /tepc:response/tepc:computed-paths-properties
            /tepc:computed-path-properties/tepc:path-properties:
    +--ro estimated-gsnr?          snr
    +--ro estimated-eol-gsnr?      snr
    +--ro estimated-lowest-gsnr?   snr
  augment /te:tunnels-path-compute/te:output/te:path-compute-result
            /tepc:response/tepc:computed-paths-properties
            /tepc:computed-path-properties/tepc:path-properties
            /tepc:path-route-objects/tepc:path-route-object/tepc:type
            /tepc:numbered-node-hop:
    +--ro (node-position)?
       +--:(source)
       |  +--ro source-transponder
       |     +--ro transponder-id?         uint32
       |     +--ro digital-terminations
       |     |  +--ro digital-termination* [index]
       |     |     +--ro index               uint8
       |     |     +--ro termination-type?   identityref
       |     |     +--ro mapping-type?       identityref
       |     +--ro transceiver
       |        +--ro transceiver-id?               uint32
       |        +--ro otsi-carrier-id?              uint16
       |        +--ro otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--ro tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--ro operational-mode?             string
       |        +--ro line-coding-bitrate?          identityref
       |        +--ro preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--ro gsnr-extra-margin?            snr
       |        +--ro inverse-multiplexing!
       |           +--ro inverse-mux-type?             identityref
       |           +--ro otsi-lane-termination-type?   identityref
       |           +--ro additional-transceivers
       |              +--ro index?                    uint8
       |              +--ro transceiver-id?           uint32
       |              +--ro otsi-carrier-id?          uint16
       |              +--ro otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--ro tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +--ro destination-transponder
       |     +--ro transponder-id?         uint32
       |     +--ro digital-terminations
       |     |  +--ro digital-termination* [index]
       |     |     +--ro index               uint8
       |     |     +--ro termination-type?   identityref
       |     |     +--ro mapping-type?       identityref
       |     +--ro transceiver
       |        +--ro transceiver-id?               uint32
       |        +--ro otsi-carrier-id?              uint16
       |        +--ro otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--ro tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--ro operational-mode?             string
       |        +--ro line-coding-bitrate?          identityref
       |        +--ro preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--ro gsnr-extra-margin?            snr
       |        +--ro inverse-multiplexing!
       |           +--ro inverse-mux-type?             identityref
       |           +--ro otsi-lane-termination-type?   identityref
       |           +--ro additional-transceivers
       |              +--ro index?                    uint8
       |              +--ro transceiver-id?           uint32
       |              +--ro otsi-carrier-id?          uint16
       |              +--ro otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--ro tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +--ro regenerator
       |     +--ro regen-group-id?         uint32
       |     +--ro regeneration-layer?     identityref
       |     +--ro incoming-transponder
       |     |  +--ro transponder-id?         uint32
       |     |  +--ro digital-terminations
       |     |  |  +--ro digital-termination* [index]
       |     |  |     +--ro index               uint8
       |     |  |     +--ro termination-type?   identityref
       |     |  |     +--ro mapping-type?       identityref
       |     |  +--ro transceiver
       |     |     +--ro transceiver-id?               uint32
       |     |     +--ro otsi-carrier-id?              uint16
       |     |     +--ro otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +--ro tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--ro operational-mode?             string
       |     |     +--ro line-coding-bitrate?          identityref
       |     |     +--ro preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--ro gsnr-extra-margin?            snr
       |     |     +--ro inverse-multiplexing!
       |     |        +--ro inverse-mux-type?             identityref
       |     |        +--ro otsi-lane-termination-type?   identityref
       |     |        +--ro additional-transceivers
       |     |           +--ro index?                    uint8
       |     |           +--ro transceiver-id?           uint32
       |     |           +--ro otsi-carrier-id?          uint16
       |     |           +--ro otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +--ro tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +--ro outgoing-transponder
       |        +--ro transponder-id?         uint32
       |        +--ro digital-terminations
       |        |  +--ro digital-termination* [index]
       |        |     +--ro index               uint8
       |        |     +--ro termination-type?   identityref
       |        |     +--ro mapping-type?       identityref
       |        +--ro transceiver
       |           +--ro transceiver-id?               uint32
       |           +--ro otsi-carrier-id?              uint16
       |           +--ro otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +--ro tx-channel-power?
       |           |       l0-types:power-dbm
       |           +--ro operational-mode?             string
       |           +--ro line-coding-bitrate?          identityref
       |           +--ro preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +--ro gsnr-extra-margin?            snr
       |           +--ro inverse-multiplexing!
       |              +--ro inverse-mux-type?             identityref
       |              +--ro otsi-lane-termination-type?   identityref
       |              +--ro additional-transceivers
       |                 +--ro index?                    uint8
       |                 +--ro transceiver-id?           uint32
       |                 +--ro otsi-carrier-id?          uint16
       |                 +--ro otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +--ro tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +--ro regenerators
             +--ro common-incoming
             |  +--ro operational-mode?             string
             |  +--ro line-coding-bitrate?          identityref
             |  +--ro preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--ro gsnr-extra-margin?            snr
             +--ro common-outgoing
             |  +--ro operational-mode?             string
             |  +--ro line-coding-bitrate?          identityref
             |  +--ro preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--ro gsnr-extra-margin?            snr
             +--ro regenerator* [index]
                +--ro index                   uint8
                +--ro regen-group-id?         uint32
                +--ro regeneration-layer?     identityref
                +--ro incoming-transponder
                |  +--ro transponder-id?   uint32
                |  +--ro transceiver
                |     +--ro transceiver-id?           uint32
                |     +--ro otsi-carrier-id?          uint16
                |     +--ro otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +--ro tx-channel-power?
                |             l0-types:power-dbm
                +--ro outgoing-transponder
                   +--ro transponder-id?   uint32
                   +--ro transceiver
                      +--ro transceiver-id?           uint32
                      +--ro otsi-carrier-id?          uint16
                      +--ro otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +--ro tx-channel-power?
                              l0-types:power-dbm
  augment /te:tunnels-path-compute/te:output/te:path-compute-result
            /tepc:response/tepc:computed-paths-properties
            /tepc:computed-path-properties/tepc:path-properties
            /tepc:path-route-objects/tepc:path-route-object
            /tepc:type:
    +--:(oms-element)
       +--ro oms-element-uid?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:path-in-segment
            /tepc:label-restrictions/tepc:label-restriction:
    +-- wdm-label-range
       +-- grid-type?    identityref
       +-- priority?     uint8
       +-- flexi-grid
          +-- slot-width-granularity?   identityref
          +-- min-slot-width-factor?    uint16
          +-- max-slot-width-factor?    uint16
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:path-out-segment
            /tepc:label-restrictions/tepc:label-restriction:
    +-- wdm-label-range
       +-- grid-type?    identityref
       +-- priority?     uint8
       +-- flexi-grid
          +-- slot-width-granularity?   identityref
          +-- min-slot-width-factor?    uint16
          +-- max-slot-width-factor?    uint16
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:optimizations/tepc:algorithm
            /tepc:metric/tepc:optimization-metric
            /tepc:explicit-route-exclude-objects
            /tepc:route-object-exclude-object/tepc:type/tepc:label
            /tepc:label-hop/tepc:te-label/tepc:technology:
    +--:(wdm)
       +-- wdm-label
          +-- (grid-type)?
             +--:(fixed-dwdm)
             |  +-- (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +-- dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +-- subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +-- cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +-- (single-or-super-channel)?
                   +--:(single)
                   |  +-- flexi-n?              flexi-n
                   |  +-- flexi-m?              flexi-m
                   o--:(super)
                   |  o-- subcarrier-flexi-n* [flexi-n]
                   |     +-- flexi-n    flexi-n
                   |     +-- flexi-m?   flexi-m
                   +--:(multi)
                      +-- frequency-slots
                         +-- frequency-slot* [flexi-n]
                            +-- flexi-n    flexi-n
                            +-- flexi-m?   flexi-m
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:optimizations/tepc:algorithm
            /tepc:metric/tepc:optimization-metric
            /tepc:explicit-route-include-objects
            /tepc:route-object-include-object/tepc:type/tepc:label
            /tepc:label-hop/tepc:te-label/tepc:technology:
    +--:(wdm)
       +-- wdm-label
          +-- (grid-type)?
             +--:(fixed-dwdm)
             |  +-- (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +-- dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +-- subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +-- cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +-- (single-or-super-channel)?
                   +--:(single)
                   |  +-- flexi-n?              flexi-n
                   |  +-- flexi-m?              flexi-m
                   o--:(super)
                   |  o-- subcarrier-flexi-n* [flexi-n]
                   |     +-- flexi-n    flexi-n
                   |     +-- flexi-m?   flexi-m
                   +--:(multi)
                      +-- frequency-slots
                         +-- frequency-slot* [flexi-n]
                            +-- flexi-n    flexi-n
                            +-- flexi-m?   flexi-m
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:explicit-route-objects
            /tepc:route-object-exclude-always/tepc:type/tepc:label
            /tepc:label-hop/tepc:te-label/tepc:technology:
    +--:(wdm)
       +-- wdm-label
          +-- (grid-type)?
             +--:(fixed-dwdm)
             |  +-- (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +-- dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +-- subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +-- cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +-- (single-or-super-channel)?
                   +--:(single)
                   |  +-- flexi-n?              flexi-n
                   |  +-- flexi-m?              flexi-m
                   o--:(super)
                   |  o-- subcarrier-flexi-n* [flexi-n]
                   |     +-- flexi-n    flexi-n
                   |     +-- flexi-m?   flexi-m
                   +--:(multi)
                      +-- frequency-slots
                         +-- frequency-slot* [flexi-n]
                            +-- flexi-n    flexi-n
                            +-- flexi-m?   flexi-m
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:explicit-route-objects
            /tepc:route-object-include-exclude/tepc:type/tepc:label
            /tepc:label-hop/tepc:te-label/tepc:technology:
    +--:(wdm)
       +-- wdm-label
          +-- (grid-type)?
             +--:(fixed-dwdm)
             |  +-- (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +-- dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +-- subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +-- cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +-- (single-or-super-channel)?
                   +--:(single)
                   |  +-- flexi-n?              flexi-n
                   |  +-- flexi-m?              flexi-m
                   o--:(super)
                   |  o-- subcarrier-flexi-n* [flexi-n]
                   |     +-- flexi-n    flexi-n
                   |     +-- flexi-m?   flexi-m
                   +--:(multi)
                      +-- frequency-slots
                         +-- frequency-slot* [flexi-n]
                            +-- flexi-n    flexi-n
                            +-- flexi-m?   flexi-m
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:path-in-segment
            /tepc:label-restrictions/tepc:label-restriction
            /tepc:label-start/tepc:te-label/tepc:technology:
    +--:(wdm)
       +-- wdm-label
          +-- dwdm-n?    dwdm-n
          +-- cwdm-n?    cwdm-n
          +-- flexi-n?   flexi-n
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:path-in-segment
            /tepc:label-restrictions/tepc:label-restriction
            /tepc:label-end/tepc:te-label/tepc:technology:
    +--:(wdm)
       +-- wdm-label
          +-- dwdm-n?    dwdm-n
          +-- cwdm-n?    cwdm-n
          +-- flexi-n?   flexi-n
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:path-in-segment
            /tepc:label-restrictions/tepc:label-restriction
            /tepc:label-step/tepc:technology:
    +--:(wdm)
       +-- wdm-label-step
          +-- wson-dwdm-channel-spacing?   identityref
          +-- wson-cwdm-channel-spacing?   identityref
          +-- flexi-grid-cfg
             o-- flexi-grid-channel-spacing?   identityref
             +-- flexi-ncfg?                   identityref
             +-- flexi-n-step?                 uint8
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:path-out-segment
            /tepc:label-restrictions/tepc:label-restriction
            /tepc:label-start/tepc:te-label/tepc:technology:
    +--:(wdm)
       +-- wdm-label
          +-- dwdm-n?    dwdm-n
          +-- cwdm-n?    cwdm-n
          +-- flexi-n?   flexi-n
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:path-out-segment
            /tepc:label-restrictions/tepc:label-restriction
            /tepc:label-end/tepc:te-label/tepc:technology:
    +--:(wdm)
       +-- wdm-label
          +-- dwdm-n?    dwdm-n
          +-- cwdm-n?    cwdm-n
          +-- flexi-n?   flexi-n
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:path-request/tepc:path-out-segment
            /tepc:label-restrictions/tepc:label-restriction
            /tepc:label-step/tepc:technology:
    +--:(wdm)
       +-- wdm-label-step
          +-- wson-dwdm-channel-spacing?   identityref
          +-- wson-cwdm-channel-spacing?   identityref
          +-- flexi-grid-cfg
             o-- flexi-grid-channel-spacing?   identityref
             +-- flexi-ncfg?                   identityref
             +-- flexi-n-step?                 uint8
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /tepc:synchronization/tepc:exclude-objects/tepc:excludes
            /tepc:type/tepc:label/tepc:label-hop/tepc:te-label
            /tepc:technology:
    +--:(wdm)
       +-- wdm-label
          +-- (grid-type)?
             +--:(fixed-dwdm)
             |  +-- (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +-- dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +-- subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +-- cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +-- (single-or-super-channel)?
                   +--:(single)
                   |  +-- flexi-n?              flexi-n
                   |  +-- flexi-m?              flexi-m
                   o--:(super)
                   |  o-- subcarrier-flexi-n* [flexi-n]
                   |     +-- flexi-n    flexi-n
                   |     +-- flexi-m?   flexi-m
                   +--:(multi)
                      +-- frequency-slots
                         +-- frequency-slot* [flexi-n]
                            +-- flexi-n    flexi-n
                            +-- flexi-m?   flexi-m
  augment /te:tunnels-path-compute/te:output/te:path-compute-result
            /tepc:response/tepc:computed-paths-properties
            /tepc:computed-path-properties/tepc:path-properties
            /tepc:path-route-objects/tepc:path-route-object/tepc:type
            /tepc:label/tepc:label-hop/tepc:te-label/tepc:technology:
    +--:(wdm)
       +--ro wdm-label
          +--ro (grid-type)?
             +--:(fixed-dwdm)
             |  +--ro (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--ro dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--ro subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--ro cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--ro (single-or-super-channel)?
                   +--:(single)
                   |  +--ro flexi-n?              flexi-n
                   |  +--ro flexi-m?              flexi-m
                   o--:(super)
                   |  o--ro subcarrier-flexi-n* [flexi-n]
                   |     +--ro flexi-n    flexi-n
                   |     +--ro flexi-m?   flexi-m
                   +--:(multi)
                      +--ro frequency-slots
                         +--ro frequency-slot* [flexi-n]
                            +--ro flexi-n    flexi-n
                            +--ro flexi-m?   flexi-m
]]></artwork>
      </figure>
    </section>
    <section anchor="wdm-pc-yang">
      <name>YANG Models for WDM Path Computation</name>
      <figure anchor="fig-wdm-pc-yang">
        <name>WDM path computation YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-wdm-path-computation@2026-02-27.yang"><![CDATA[
module ietf-wdm-path-computation {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-wdm-path-computation";
  prefix wdm-pc;

  import ietf-te {
    prefix te;
    reference
      "I-D.ietf-teas-yang-te-36: A YANG Data Model for Traffic
       Engineering Tunnels and Interfaces.";
  }
  import ietf-te-path-computation {
    prefix tepc;
    reference
      "I-D.ietf-teas-yang-path-computation-22: Yang model
       for requesting Path Computation.";
  }
  import ietf-layer0-types {
    prefix l0-types;
    reference
      "I-D.ietf-ccamp-rfc9093-bis: A YANG Data Model for Layer 0
       Types.";
  }
  import ietf-wdm-tunnel {
    prefix wdm-tnl;
    reference
      "I-D.ietf-wdm-tunnel: A YANG Data Model for WDM Tunnels.";
  }

  organization
    "IETF CCAMP Working Group";
  contact
    "WG Web:   <http://tools.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
     WDM 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).

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

  revision 2026-02-27 {
    description
      "Initial version.";
    reference
      "RFC XXXX: YANG Data Models for requesting Path Computation
       in Optical Networks.";
    // RFC Ed.: replace XXXX with actual RFC number, update date 
    // information and remove this note
  }

  /*
   * Data nodes
   */
  /*
   * Augment tunnel attributes
   */

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "tepc:tunnel-attributes" {
    description
      "Augment with WDM tunnel-specific constraints.";
    uses wdm-tnl:wdm-constraint;
  }

  /*
   * Augment path computation request
   */

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "tepc:path-request/tepc:optimizations/tepc:algorithm/"
        + "tepc:metric/tepc:optimization-metric/"
        + "tepc:explicit-route-exclude-objects/"
        + "tepc:route-object-exclude-object/tepc:type/"
        + "tepc:numbered-node-hop" {
    description
      "Augment with transceiver configurations.";
    uses wdm-tnl:path-transceiver-config;
  }

  //???

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "tepc:path-request/tepc:optimizations/tepc:algorithm/"
        + "tepc:metric/tepc:optimization-metric/"
        + "tepc:explicit-route-exclude-objects/"
        + "tepc:route-object-exclude-object/tepc:type" {
    description
      "Augment the route hop for the optimization of the explicit
       route objects excluded by the path computation of the
       requested path.";
    case oms-element {
      description
        "The OMS element route hop type";
      leaf oms-element-uid {
        type string;
        description
          "The unique id of the OMS element.";
      }
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "tepc:path-request/tepc:optimizations/tepc:algorithm/"
        + "tepc:metric/tepc:optimization-metric/"
        + "tepc:explicit-route-include-objects/"
        + "tepc:route-object-include-object/tepc:type/"
        + "tepc:numbered-node-hop" {
    description
      "Augment with transceiver configurations.";
    uses wdm-tnl:path-transceiver-config;
  }

  //???

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "tepc:path-request/tepc:optimizations/tepc:algorithm/"
        + "tepc:metric/tepc:optimization-metric/"
        + "tepc:explicit-route-include-objects/"
        + "tepc:route-object-include-object/tepc:type" {
    description
      "Augment the route hop for the optimization of the explicit
       route objects included by the path computation of the
       requested path.";
    case oms-element {
      description
        "The OMS element route hop type";
      leaf oms-element-uid {
        type string;
        description
          "The unique id of the OMS element.";
      }
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "tepc:path-request/tepc:explicit-route-objects/"
        + "tepc:route-object-exclude-always/tepc:type/"
        + "tepc:numbered-node-hop" {
    description
      "Augment with transceiver configurations.";
    uses wdm-tnl:path-transceiver-config;
  }

  //???

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "tepc:path-request/tepc:explicit-route-objects/"
        + "tepc:route-object-exclude-always/tepc:type" {
    description
      "Augment the route hop for the explicit route objects always
       excluded by the path computation of the requested path.";
    case oms-element {
      description
        "The OMS element route hop type";
      leaf oms-element-uid {
        type string;
        description
          "The unique id of the OMS element.";
      }
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "tepc:path-request/tepc:explicit-route-objects/"
        + "tepc:route-object-include-exclude/tepc:type/"
        + "tepc:numbered-node-hop" {
    description
      "Augment with transceiver configurations.";
    uses wdm-tnl:path-transceiver-config;
  }

  //???

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "tepc:path-request/tepc:explicit-route-objects/"
        + "tepc:route-object-include-exclude/tepc:type" {
    description
      "Augment the route hop for the explicit route objects included
       or excluded by the path computation of the requested path.";
    case oms-element {
      description
        "The OMS element route hop type";
      leaf oms-element-uid {
        type string;
        description
          "The unique id of the OMS element.";
      }
    }
  }

  augment "/te:tunnels-path-compute/te:input/"
        + "te:path-compute-info/tepc:synchronization/"
        + "tepc:exclude-objects/tepc:excludes/tepc:type/"
        + "tepc:numbered-node-hop" {
    description
      "Augment with transceiver configurations.";
    uses wdm-tnl:path-transceiver-config;
  }

  //???

  augment "/te:tunnels-path-compute/te:input/"
        + "te:path-compute-info/tepc:synchronization/"
        + "tepc:exclude-objects/tepc:excludes/tepc:type" {
    description
      "Augment the route hop for the explicit route objects to always
       exclude from synchronized path computation.";
    case oms-element {
      leaf oms-element-uid {
        type string;
        description
          "The unique id of the OMS element.";
      }
    }
  }

  /*
   * Augment path computation response
   */

  augment "/te:tunnels-path-compute/te:output/"
        + "te:path-compute-result/tepc:response/"
        + "tepc:computed-paths-properties/"
        + "tepc:computed-path-properties/tepc:path-properties" {
    description
      "Augment with additional properties for WDM paths.";
    uses l0-types:path-properties;
  }

  augment "/te:tunnels-path-compute/te:output/"
        + "te:path-compute-result/tepc:response/"
        + "tepc:computed-paths-properties/"
        + "tepc:computed-path-properties/tepc:path-properties/"
        + "tepc:path-route-objects/tepc:path-route-object/"
        + "tepc:type/tepc:numbered-node-hop" {
    description
      "Augment with transceiver configurations.";
    uses wdm-tnl:path-transceiver-config;
  }

  //???

  augment "/te:tunnels-path-compute/te:output/"
        + "te:path-compute-result/tepc:response/"
        + "tepc:computed-paths-properties/"
        + "tepc:computed-path-properties/tepc:path-properties/"
        + "tepc:path-route-objects/tepc:path-route-object/"
        + "tepc:type" {
    description
      "Augment the route hop for the route object of the computed
       path.";
    case oms-element {
      description
        "The OMS element route hop type";
      leaf oms-element-uid {
        type string;
        description
          "The unique id of the OMS element.";
      }
    }
  }

  /*
   * Augment TE label range information
   */

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

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

  /*
   * Augment TE label.
   */

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

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

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

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

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

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

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

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

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

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

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

  augment "/te:tunnels-path-compute/te:output/"
        + "te:path-compute-result/tepc:response/"
        + "tepc:computed-paths-properties/"
        + "tepc:computed-path-properties/tepc:path-properties/"
        + "tepc:path-route-objects/tepc:path-route-object/"
        + "tepc:type/tepc:label/"
        + "tepc:label-hop/tepc:te-label/tepc:technology" {
    description
      "Augment TE label hop for the route object of the computed
       path.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>This document provides a method for requesting path computations for WSON and Flexi-Grid 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-wdm-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-wdm-path-computation
  namespace: urn:ietf:params:xml:ns:yang:ietf-wdm-path-computation
  prefix:    wdm-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="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="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-ccamp-rfc9093-bis">
          <front>
            <title>Common YANG Data Types for Layer 0 Optical Networks</title>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Dieter Beller" initials="D." surname="Beller">
              <organization>Nokia</organization>
            </author>
            <author fullname="Esther Le Rouzic" initials="E." surname="Le Rouzic">
              <organization>Orange</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei Technologies</organization>
            </author>
            <date day="22" month="June" year="2026"/>
            <abstract>
              <t>   This document defines a collection of common data types, identities,
   and groupings in the YANG data modeling language.  These common types
   and groupings, derived from the built-in YANG data types, identities,
   and groupings are intended to be imported by modules that model
   Optical Layer 0 configuration and state capabilities, such as
   Wavelength Switched Optical Networks (WSONs) and flexi-grid Dense
   Wavelength Division Multiplexing (DWDM) networks.

   This document obsoletes RFC 9093 by replacing the YANG module it
   contained with a new revision that includes additional YANG data
   types, identities and groupings.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-rfc9093-bis-20"/>
        </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="RFC7699">
          <front>
            <title>Generalized Labels for the Flexi-Grid in Lambda Switch Capable (LSC) Label Switching Routers</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="D. King" initials="D." surname="King"/>
            <author fullname="Y. Li" initials="Y." surname="Li"/>
            <author fullname="F. Zhang" initials="F." surname="Zhang"/>
            <date month="November" year="2015"/>
            <abstract>
              <t>GMPLS supports the description of optical switching by identifying entries in fixed lists of switchable wavelengths (called grids) through the encoding of lambda labels. Work within the ITU-T Study Group 15 has defined a finer-granularity grid, and the facility to flexibly select different widths of spectrum from the grid. This document defines a new GMPLS lambda label format to support this flexi-grid.</t>
              <t>This document updates RFCs 3471 and 6205 by introducing a new label format.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7699"/>
          <seriesInfo name="DOI" value="10.17487/RFC7699"/>
        </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="RFC7446">
          <front>
            <title>Routing and Wavelength Assignment Information Model for Wavelength Switched Optical Networks</title>
            <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
            <author fullname="G. Bernstein" initials="G." role="editor" surname="Bernstein"/>
            <author fullname="D. Li" initials="D." surname="Li"/>
            <author fullname="W. Imajuku" initials="W." surname="Imajuku"/>
            <date month="February" year="2015"/>
            <abstract>
              <t>This document provides a model of information needed by the Routing and Wavelength Assignment (RWA) process in Wavelength Switched Optical Networks (WSONs). The purpose of the information described in this model is to facilitate constrained optical path computation in WSONs. This model takes into account compatibility constraints between WSON signal attributes and network elements but does not include constraints due to optical impairments. Aspects of this information that may be of use to other technologies utilizing a GMPLS control plane are discussed.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7446"/>
          <seriesInfo name="DOI" value="10.17487/RFC7446"/>
        </reference>
        <reference anchor="RFC7581">
          <front>
            <title>Routing and Wavelength Assignment Information Encoding for Wavelength Switched Optical Networks</title>
            <author fullname="G. Bernstein" initials="G." role="editor" surname="Bernstein"/>
            <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
            <author fullname="D. Li" initials="D." surname="Li"/>
            <author fullname="W. Imajuku" initials="W." surname="Imajuku"/>
            <author fullname="J. Han" initials="J." surname="Han"/>
            <date month="June" year="2015"/>
            <abstract>
              <t>A Wavelength Switched Optical Network (WSON) requires certain key information fields be made available to facilitate path computation and the establishment of Label Switched Paths (LSPs). The information model described in "Routing and Wavelength Assignment Information Model for Wavelength Switched Optical Networks" (RFC 7446) shows what information is required at specific points in the WSON. Part of the WSON information model contains aspects that may be of general applicability to other technologies, while other parts are specific to WSONs.</t>
              <t>This document provides efficient, protocol-agnostic encodings for the WSON-specific information fields. It is intended that protocol- specific documents will reference this memo to describe how information is carried for specific uses. Such encodings can be used to extend GMPLS signaling and routing protocols. In addition, these encodings could be used by other mechanisms to convey this same information to a Path Computation Element (PCE).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7581"/>
          <seriesInfo name="DOI" value="10.17487/RFC7581"/>
        </reference>
        <reference anchor="I-D.draft-gbb-ccamp-otn-path-computation-yang">
          <front>
            <title>A YANG Data Model for requesting Path Computation in an Optical Transport Network (OTN)</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 an
   Optical Transport Network (OTN) 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-otn-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="31" month="August" 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-20"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-wson-tunnel-model">
          <front>
            <title>A Yang Data Model for WSON Tunnel</title>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung</organization>
            </author>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Victor Lopez" initials="V." surname="Lopez">
              <organization>Nokia</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Lancaster University</organization>
            </author>
            <author fullname="Bin Yeong Yoon" initials="B. Y." surname="Yoon">
              <organization>ETRI</organization>
            </author>
            <author fullname="Ricard Vilalta" initials="R." surname="Vilalta">
              <organization>CTTC</organization>
            </author>
            <date day="9" month="July" year="2023"/>
            <abstract>
              <t>   This document provides a YANG data model for WSON TE tunnel.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-wson-tunnel-model-09"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-flexigrid-tunnel-yang">
          <front>
            <title>A YANG Data Model for Flexi-Grid Tunnels</title>
            <author fullname="Universidad Autonoma de Madrid" initials="U. A." surname="de Madrid">
              <organization>Naudit HPCN</organization>
            </author>
            <author fullname="Daniel Perdices Burrero" initials="D. P." surname="Burrero">
              <organization>Universidad Autonoma de Madrid</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Victor Lopez" initials="V." surname="Lopez">
              <organization>Nokia</organization>
            </author>
            <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="Gabriele Galimberti" initials="G." surname="Galimberti">
              <organization>Cisco</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document defines a YANG model for managing flexi-grid optical
   tunnels (media-channels), complementing the information provided by
   the flexi-grid topology model.

   The YANG data model defined in this document conforms to the Network
   Management Datastore Architecture (NMDA).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-flexigrid-tunnel-yang-03"/>
        </reference>
      </references>
    </references>
    <?line 1982?>

<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 this document, and the OTN capabilities were moved into <xref target="I-D.draft-gbb-ccamp-otn-path-computation-yang"/>.</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>The authors of this document would also like to thank
Young Lee,
Haomian Zheng,
Victor Lopex,
Ricard Vilalta,
Bin Yeong Yoon,
Jorge E. Lopez de Vergara Mendez,
Daniel Perdices Burrero,
Oscar Gonzalez de Dios,
Gabriele Galimberti,
Zafar Ali,
Daniel Michaud Vallinoto and
Dhruv Dhody
who have contributed to the development of path computation augmentations for WSON and Flexi-grid topology in earlier versions of
<xref target="I-D.ietf-ccamp-wson-tunnel-model"/> and of <xref target="I-D.ietf-ccamp-flexigrid-tunnel-yang"/>.</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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
2ZZhAQA=

-->

</rfc>
