<?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-wdm-tunnel-yang-09" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="WDM Tunnel YANG Model">A YANG Data Model for WDM Tunnels</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-wdm-tunnel-yang-09"/>
    <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>
    <author initials="G." surname="Galimberti" fullname="G. Galimberti">
      <organization>Individual</organization>
      <address>
        <email>ggalimbe56@gmail.com</email>
      </address>
    </author>
    <author initials="J. E. L." surname="de Vergara Mendez" fullname="Jorge E. Lopez de Vergara Mendez">
      <organization>Naudit HPCN</organization>
      <address>
        <email>jorge.lopez_vergara@uam.es</email>
      </address>
    </author>
    <author initials="D. P." surname="Burrero" fullname="Daniel Perdices Burrero">
      <organization>Universidad Autonoma de Madrid</organization>
      <address>
        <email>daniel.perdices@uam.es</email>
      </address>
    </author>
    <date year="2026" month="October" day="22"/>
    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 120?>

<t>This document defines a YANG data model for the provisioning and management of Traffic Engineering (TE) tunnels and Label Switched Paths (LSPs) in Optical Networks (Wavelength Switched Optical Networks (WSON) and Flexi-Grid Dense Wavelength Division Multiplexing (DWDM) Networks).</t>
      <t>The YANG data model defined in this document conforms to the Network Management Datastore Architecture (NMDA).</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/draft-ietf-ccamp-wdm-tunnel-yang/draft-ietf-ccamp-wdm-tunnel-yang.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-wdm-tunnel-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/draft-ietf-ccamp-wdm-tunnel-yang"/>.</t>
    </note>
  </front>
  <middle>
    <?line 126?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Transport networks have evolved from traditional fixed-grid Wavelength Switched Optical Networks (WSON) <xref target="RFC6163"/> to more scalable and flexible elastic optical networks. These utilize flexi-grid Dense Wavelength Division Multiplexing (DWDM) technologies <xref target="RFC7698"/> to optimize bandwidth usage. Current DWDM Optical Network deployments may include fixed-grid WSON, flexi-grid DWDM, or a combination of both.</t>
      <t>In the optical domain, a WDM tunnel typically originates and concludes at a pair of transponders using one or more transceivers dependent upon the data rate and encoding type of the transceivers. These transponders are then connected to an intermediate line system composed of optical switches and multiplexers, including Reconfigurable Optical Add-Drop Multiplexers (ROADMs) and add-drop multiplexers, complemented by optical amplifiers to boost the transmission distance. The optical wavelength can be routed from the transponder or an incoming fiber, through multiplexing, to various outgoing fibers in the DWDM network. At optical nodes, wavelengths may undergo conversion via optical-electrical-optical (OEO) regenerators, depending on the switching setup and fiber configuration.</t>
      <t>Optical services, transmitted via analog signals, require careful provisioning across the network to maintain signal quality and prevent interference between different wavelength channels. The technology within optical nodes, like tunable transceivers or Colorless, Directionless and Contentionless Flexi-grid (CDC-F) ROADMs, introduces specific constraints that can limit WDM tunnel path options. These constraints must be factored into WDM tunnel provisioning and pre-computation. Additionally, assessing the end-to-end optical performance metrics like Generalized Signal-to-noise Ratio (G-SNR), Bit Error Rate (BER), and Q-factor is crucial to ensure transmission quality and receiver signal integrity.</t>
      <t>This draft introduces a YANG <xref target="RFC7950"/> data model for setting up and managing TE tunnels and LSPs in DWDM Optical Networks. It aims to provide an intent-based interface used by a control entity such as a Software-defined Network (SDN) controller at its northbound to establish services between endpoints, typically optical transponders. Clients can utilize this model to either partially or fully delegate service provisioning to the SDN controller, while still capable to express additional constraints to guide its operation. Service provisioning can be as simple as identifying the source and destination transponders and delegate the rest of determination to the SDN controller, or as explicit as specifying a complete detailed path complete with tuned wavelengths and transceiver details.</t>
      <t>This document identifies the WDM tunnel components, parameters and their values, and characterizes the features and the performances of the WDM elements. An application example is provided towards the end of the document to understand their utility better.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The terminology for describing YANG data models is found in
<xref target="RFC7950"/>.</t>
      <t>Refer to <xref target="RFC7446"/> and <xref target="RFC7699"/> for the key terms used in this document.</t>
      <t>The following terms are defined in <xref target="RFC7950"/> and are not redefined here:
-  client</t>
      <ul spacing="normal">
        <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:
-  configuration data</t>
      <ul spacing="normal">
        <li>
          <t>state data</t>
        </li>
      </ul>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>The YANG data model in this draft builds upon the generic TE tunnel model from <xref target="I-D.ietf-teas-yang-te"/>. This base model is suitable for all TE-enabled networks and includes universal TE tunnel elements like node addresses, tunnel termination points (TTPs), and path-level constraints such as explicit path hops, label restrictions, and path diversity. The current model enhances <xref target="I-D.ietf-teas-yang-te"/> by incorporating WDM-specific attributes and constraints relevant to WDM tunnels, including definitions for:</t>
      <ul spacing="normal">
        <li>
          <t>Network-scope optical transceiver configuration constraints, e.g., operational modes, transceiver tuning constraints</t>
        </li>
        <li>
          <t>Network-scope WDM path routing policies for influencing WDM TE path selection. For exmaple,  whether or not using regenerator or wavelength conversion is allowed, whether or not wavelength retuing is allowed for tunable transceivers, etc.</t>
        </li>
        <li>
          <t>Network-scope optical performance constraints, e.g. the generalized Signal-to-noise (G-SNR) margin and delta power of a feasible optical path</t>
        </li>
        <li>
          <t>Path-scope WDM layer constraints and transceiver configurations for working and protection path within a WDM tunnel</t>
        </li>
        <li>
          <t>List of WDM nodes, links, and optical wavelength that constitute an end-to-end WDM path</t>
        </li>
        <li>
          <t>Other relevant optical attributes which characterize the optical signal</t>
        </li>
      </ul>
      <t>The attributes described above are optional, allowing the model to support both simplified and fully-explicit WDM tunnel provisioning to meet diverse client requirements.</t>
      <t>Additionally, the YANG model provides the status of a WDM tunnel, which includes:</t>
      <ul spacing="normal">
        <li>
          <t>Computed paths for various roles such as working, protection, and restoration, indicating potential optical paths confirmed by the SDN controller via pre-computation.</t>
        </li>
        <li>
          <t>Actual LSPs for each tunnel path, representing the optical paths currently established in the network.</t>
        </li>
      </ul>
      <section anchor="integrated-vs-external-optical-transponder">
        <name>Integrated vs. External Optical Transponder</name>
        <t>In optical networks built with traditional chassis-based DWDM optical equipment, optical transponder (OTs) are typically inserted into the chassis installed as cards. WDM tunnels are established between pairs of OTs, with the SDN controller serving as the central entity for provisioning and managing these tunnels.</t>
        <t>In scenarios like data center interconnects (DCI), optical transponders may be externally mounted on a 'pizza box' and linked via dedicated fiber or wavelength multiplexer/demultiplexer to the optical line system. These external OTs could be managed by the same SDN controller or a different entity, such as an orchestrator. Consequently, a WDM tunnel might be composed of several segments joined to create a continuous end-to-end tunnel.</t>
        <t>The YANG data model offers a cohesive interface for managing WDM tunnels and tunnel segments, irrespective of transponder location.</t>
      </section>
      <section anchor="r-regenerators">
        <name>3R Regenerators</name>
        <t>A desired optical path may span a distance beyond the reach of a single optical transponder. In that case, one or more 3R regenerators can be deployed at intermediate nodes, reamplifying, reshaping, and retiming the optical signal before transmission continues. This scenario is described in detail in Section 2.7 of <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>. Deploying 3R regeneration is costly because it requires additional transponders; consequently, at most a single regenerator is typically used to regenerate the optical signals of an end-to-end optical tunnel.</t>
        <t>According to <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>, there are multiple ways to implement a 3R regenerator:
 - Back-to-back (bi-directional) regeneration, where two optical transponders are connected back-to-back; each transceiver receives and transmits the optical signal for the same segment of the end-to-end tunnel, operating in both directions.
 - Uni-directional regeneration, where two transponders are used with one performing 3R regeneration in the forward direction (source to destination) and the other performing 3R regeneration in the reverse direction.</t>
        <t>When an optical signal is regenerated, it can be terminated and restored at different protocol layers depending on the transponder's capabilities. For example, if the transponder supports OTN, the signal can be regenerated at the OTU layer or at the ODU layer after the OTU overhead has been stripped; if the transponder supports Ethernet clients, the signal can be terminated at the Ethernet layer, which commonly occurs in the back-to-back configuration. Typically, the signal is regenerated at the lowest possible layer to minimize processing delay and complexity, but termination layer may be chosen deliberately during network planning for specific scenarios. To ensure correct transmission, the termination method used between the source and the receiving transponder at the regenerator node must match the method used between the sending transponder at the regenerator node and the destination transponder (or the receiving transponder at the next regenerator node).</t>
        <t>The termination of an optical signal occurs at the reference point immediately before inverse multiplexing in the transmitting direction or immediately after inverse multiplexing in the receiving direction for the corresponding transceiver, and this applies to the entire OTSiG used by the optical tunnel. For 3R regeneration, to identify the transceiver configuration associated with these reference points consistently between uni-directional and bi-directional regeneration, the following definitions are used in this draft:
 - Forward direction: the direction of the optical path from the source to the destination.
 - Reverse direction: the direction of the optical path from the destination back to the source.
 - Incoming transponder: for back-to-back regeneration, the transponder in the regenerator that receives from and transmits toward the same segment of the optical path toward the source; for uni-directional regeneration, the transponder that performs regeneration in the forward direction of the optical path.
 - Outgoing transponder: for back-to-back regeneration, the transponder in the regenerator that receives from and transmits toward the same segment of the optical path toward the destination; for uni-directional regeneration, the transponder that performs regeneration in the reverse direction of the optical path.</t>
        <t>Utilizing the figures in <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/> for 3R regeneration, <xref target="fig-back2back"/> and <xref target="fig-unidir"/> further illustrate the aforementioned reference points for back-to-back regeneration and uni-directional regeneration, respectively.</t>
        <figure anchor="fig-back2back">
          <name>Reference Points in Back-to-back 3R Regeneration</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="304" width="536" viewBox="0 0 536 304" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 88,128 L 88,240" fill="none" stroke="black"/>
                <path d="M 184,160 L 184,224" fill="none" stroke="black"/>
                <path d="M 200,160 L 200,224" fill="none" stroke="black"/>
                <path d="M 248,128 L 248,240" fill="none" stroke="black"/>
                <path d="M 280,128 L 280,240" fill="none" stroke="black"/>
                <path d="M 328,160 L 328,224" fill="none" stroke="black"/>
                <path d="M 344,160 L 344,224" fill="none" stroke="black"/>
                <path d="M 448,128 L 448,240" fill="none" stroke="black"/>
                <path d="M 16,48 L 520,48" fill="none" stroke="black"/>
                <path d="M 16,80 L 520,80" fill="none" stroke="black"/>
                <path d="M 88,128 L 248,128" fill="none" stroke="black"/>
                <path d="M 280,128 L 448,128" fill="none" stroke="black"/>
                <path d="M 96,160 L 184,160" fill="none" stroke="black"/>
                <path d="M 200,160 L 240,160" fill="none" stroke="black"/>
                <path d="M 288,160 L 328,160" fill="none" stroke="black"/>
                <path d="M 344,160 L 440,160" fill="none" stroke="black"/>
                <path d="M 24,176 L 80,176" fill="none" stroke="black"/>
                <path d="M 256,176 L 272,176" fill="none" stroke="black"/>
                <path d="M 456,176 L 512,176" fill="none" stroke="black"/>
                <path d="M 96,192 L 184,192" fill="none" stroke="black"/>
                <path d="M 344,192 L 440,192" fill="none" stroke="black"/>
                <path d="M 24,208 L 80,208" fill="none" stroke="black"/>
                <path d="M 256,208 L 272,208" fill="none" stroke="black"/>
                <path d="M 456,208 L 512,208" fill="none" stroke="black"/>
                <path d="M 96,224 L 184,224" fill="none" stroke="black"/>
                <path d="M 200,224 L 240,224" fill="none" stroke="black"/>
                <path d="M 288,224 L 328,224" fill="none" stroke="black"/>
                <path d="M 344,224 L 440,224" fill="none" stroke="black"/>
                <path d="M 88,240 L 248,240" fill="none" stroke="black"/>
                <path d="M 280,240 L 448,240" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="520,176 508,170.4 508,181.6" fill="black" transform="rotate(0,512,176)"/>
                <polygon class="arrowhead" points="464,208 452,202.4 452,213.6" fill="black" transform="rotate(180,456,208)"/>
                <polygon class="arrowhead" points="280,176 268,170.4 268,181.6" fill="black" transform="rotate(0,272,176)"/>
                <polygon class="arrowhead" points="264,208 252,202.4 252,213.6" fill="black" transform="rotate(180,256,208)"/>
                <polygon class="arrowhead" points="264,80 252,74.4 252,85.6" fill="black" transform="rotate(180,256,80)"/>
                <polygon class="arrowhead" points="264,48 252,42.4 252,53.6" fill="black" transform="rotate(0,256,48)"/>
                <polygon class="arrowhead" points="88,176 76,170.4 76,181.6" fill="black" transform="rotate(0,80,176)"/>
                <polygon class="arrowhead" points="32,208 20,202.4 20,213.6" fill="black" transform="rotate(180,24,208)"/>
                <g class="text">
                  <text x="224" y="36">Forward</text>
                  <text x="296" y="36">Direction</text>
                  <text x="8" y="52">|</text>
                  <text x="528" y="52">|</text>
                  <text x="224" y="68">Reverse</text>
                  <text x="296" y="68">Direction</text>
                  <text x="8" y="84">|</text>
                  <text x="528" y="84">|</text>
                  <text x="116" y="116">Incoming</text>
                  <text x="200" y="116">Transponder</text>
                  <text x="316" y="116">Outgoing</text>
                  <text x="400" y="116">Transponder</text>
                  <text x="528" y="116">D</text>
                  <text x="528" y="132">E</text>
                  <text x="8" y="148">S</text>
                  <text x="136" y="148">Transceiver</text>
                  <text x="400" y="148">Transceiver</text>
                  <text x="528" y="148">S</text>
                  <text x="8" y="164">O</text>
                  <text x="528" y="164">T</text>
                  <text x="8" y="180">U</text>
                  <text x="124" y="180">Receiver</text>
                  <text x="192" y="180">-</text>
                  <text x="220" y="180">Sig.</text>
                  <text x="300" y="180">Sig.</text>
                  <text x="336" y="180">-</text>
                  <text x="400" y="180">Transmitter</text>
                  <text x="528" y="180">I</text>
                  <text x="8" y="196">R</text>
                  <text x="528" y="196">N</text>
                  <text x="8" y="212">C</text>
                  <text x="136" y="212">Transmitter</text>
                  <text x="192" y="212">-</text>
                  <text x="224" y="212">Proc.</text>
                  <text x="304" y="212">Proc.</text>
                  <text x="336" y="212">-</text>
                  <text x="412" y="212">Receiver</text>
                  <text x="528" y="212">A</text>
                  <text x="8" y="228">E</text>
                  <text x="528" y="228">T</text>
                  <text x="528" y="244">I</text>
                  <text x="528" y="260">O</text>
                  <text x="528" y="276">N</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                          Forward Direction
  |------------------------------>---------------------------------|
                          Reverse Direction
  |------------------------------<---------------------------------|

            Incoming Transponder     Outgoing Transponder          D
            +-------------------+   +--------------------+         E
  S         |Transceiver        |   |         Transceiver|         S
  O         |-----------+ +-----|   |-----+ +------------|         T
  U ------->|Receiver   |-|Sig. |-->|Sig. |-| Transmitter|-------> I
  R         |-----------+ |     |   |     | +------------|         N
  C <-------|Transmitter|-|Proc.|<--|Proc.|-|    Receiver|<------- A
  E         |-----------+ +-----|   |-----+ +------------|         T
            +-------------------+   +--------------------+         I
                                                                   O
                                                                   N
]]></artwork>
          </artset>
        </figure>
        <figure anchor="fig-unidir">
          <name>Reference Points in Uni-directional 3R Regeneration</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="544" width="536" viewBox="0 0 536 544" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 160,224 L 160,288" fill="none" stroke="black"/>
                <path d="M 192,144 L 192,256" fill="none" stroke="black"/>
                <path d="M 192,352 L 192,464" fill="none" stroke="black"/>
                <path d="M 200,384 L 200,448" fill="none" stroke="black"/>
                <path d="M 208,400 L 208,432" fill="none" stroke="black"/>
                <path d="M 272,384 L 272,448" fill="none" stroke="black"/>
                <path d="M 288,176 L 288,240" fill="none" stroke="black"/>
                <path d="M 288,384 L 288,448" fill="none" stroke="black"/>
                <path d="M 304,176 L 304,240" fill="none" stroke="black"/>
                <path d="M 368,192 L 368,224" fill="none" stroke="black"/>
                <path d="M 376,176 L 376,240" fill="none" stroke="black"/>
                <path d="M 384,144 L 384,256" fill="none" stroke="black"/>
                <path d="M 384,352 L 384,464" fill="none" stroke="black"/>
                <path d="M 416,320 L 416,400" fill="none" stroke="black"/>
                <path d="M 16,48 L 520,48" fill="none" stroke="black"/>
                <path d="M 16,80 L 520,80" fill="none" stroke="black"/>
                <path d="M 192,144 L 384,144" fill="none" stroke="black"/>
                <path d="M 200,176 L 288,176" fill="none" stroke="black"/>
                <path d="M 304,176 L 368,176" fill="none" stroke="black"/>
                <path d="M 128,192 L 184,192" fill="none" stroke="black"/>
                <path d="M 352,192 L 360,192" fill="none" stroke="black"/>
                <path d="M 200,208 L 288,208" fill="none" stroke="black"/>
                <path d="M 160,224 L 184,224" fill="none" stroke="black"/>
                <path d="M 352,224 L 360,224" fill="none" stroke="black"/>
                <path d="M 200,240 L 288,240" fill="none" stroke="black"/>
                <path d="M 304,240 L 368,240" fill="none" stroke="black"/>
                <path d="M 192,256 L 384,256" fill="none" stroke="black"/>
                <path d="M 160,288 L 456,288" fill="none" stroke="black"/>
                <path d="M 128,320 L 416,320" fill="none" stroke="black"/>
                <path d="M 192,352 L 384,352" fill="none" stroke="black"/>
                <path d="M 208,384 L 272,384" fill="none" stroke="black"/>
                <path d="M 288,384 L 376,384" fill="none" stroke="black"/>
                <path d="M 216,400 L 224,400" fill="none" stroke="black"/>
                <path d="M 392,400 L 416,400" fill="none" stroke="black"/>
                <path d="M 288,416 L 376,416" fill="none" stroke="black"/>
                <path d="M 216,432 L 224,432" fill="none" stroke="black"/>
                <path d="M 392,432 L 456,432" fill="none" stroke="black"/>
                <path d="M 208,448 L 272,448" fill="none" stroke="black"/>
                <path d="M 288,448 L 376,448" fill="none" stroke="black"/>
                <path d="M 192,464 L 384,464" fill="none" stroke="black"/>
                <path d="M 368,176 C 376.83064,176 384,183.16936 384,192" fill="none" stroke="black"/>
                <path d="M 368,176 C 376.83064,176 384,168.83064 384,160" fill="none" stroke="black"/>
                <path d="M 360,192 C 368.83064,192 376,199.16936 376,208" fill="none" stroke="black"/>
                <path d="M 360,192 C 368.83064,192 376,184.83064 376,176" fill="none" stroke="black"/>
                <path d="M 360,224 C 368.83064,224 376,231.16936 376,240" fill="none" stroke="black"/>
                <path d="M 360,224 C 368.83064,224 376,216.83064 376,208" fill="none" stroke="black"/>
                <path d="M 368,240 C 376.83064,240 384,247.16936 384,256" fill="none" stroke="black"/>
                <path d="M 368,240 C 376.83064,240 384,232.83064 384,224" fill="none" stroke="black"/>
                <path d="M 208,384 C 199.16936,384 192,391.16936 192,400" fill="none" stroke="black"/>
                <path d="M 208,384 C 199.16936,384 192,376.83064 192,368" fill="none" stroke="black"/>
                <path d="M 216,400 C 207.16936,400 200,407.16936 200,416" fill="none" stroke="black"/>
                <path d="M 216,400 C 207.16936,400 200,392.83064 200,384" fill="none" stroke="black"/>
                <path d="M 216,432 C 207.16936,432 200,439.16936 200,448" fill="none" stroke="black"/>
                <path d="M 216,432 C 207.16936,432 200,424.83064 200,416" fill="none" stroke="black"/>
                <path d="M 208,448 C 199.16936,448 192,455.16936 192,464" fill="none" stroke="black"/>
                <path d="M 208,448 C 199.16936,448 192,440.83064 192,432" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="464,288 452,282.4 452,293.6" fill="black" transform="rotate(0,456,288)"/>
                <polygon class="arrowhead" points="400,432 388,426.4 388,437.6" fill="black" transform="rotate(180,392,432)"/>
                <polygon class="arrowhead" points="360,224 348,218.4 348,229.6" fill="black" transform="rotate(180,352,224)"/>
                <polygon class="arrowhead" points="264,80 252,74.4 252,85.6" fill="black" transform="rotate(180,256,80)"/>
                <polygon class="arrowhead" points="264,48 252,42.4 252,53.6" fill="black" transform="rotate(0,256,48)"/>
                <polygon class="arrowhead" points="232,400 220,394.4 220,405.6" fill="black" transform="rotate(0,224,400)"/>
                <polygon class="arrowhead" points="192,192 180,186.4 180,197.6" fill="black" transform="rotate(0,184,192)"/>
                <polygon class="arrowhead" points="136,320 124,314.4 124,325.6" fill="black" transform="rotate(180,128,320)"/>
                <g class="text">
                  <text x="224" y="36">Forward</text>
                  <text x="296" y="36">Direction</text>
                  <text x="8" y="52">|</text>
                  <text x="528" y="52">|</text>
                  <text x="224" y="68">Reverse</text>
                  <text x="296" y="68">Direction</text>
                  <text x="8" y="84">|</text>
                  <text x="528" y="84">|</text>
                  <text x="236" y="116">Incoming</text>
                  <text x="320" y="116">Transponder</text>
                  <text x="212" y="132">3R</text>
                  <text x="236" y="132">in</text>
                  <text x="280" y="132">forward</text>
                  <text x="352" y="132">direction</text>
                  <text x="240" y="164">Transceiver</text>
                  <text x="228" y="196">Receiver</text>
                  <text x="296" y="196">-</text>
                  <text x="324" y="196">Sig.</text>
                  <text x="240" y="228">Transmitter</text>
                  <text x="296" y="228">-</text>
                  <text x="328" y="228">Proc.</text>
                  <text x="528" y="260">E</text>
                  <text x="8" y="276">S</text>
                  <text x="528" y="276">S</text>
                  <text x="8" y="292">O</text>
                  <text x="528" y="292">T</text>
                  <text x="8" y="308">U</text>
                  <text x="528" y="308">I</text>
                  <text x="8" y="324">R</text>
                  <text x="528" y="324">N</text>
                  <text x="8" y="340">C</text>
                  <text x="528" y="340">A</text>
                  <text x="8" y="356">E</text>
                  <text x="528" y="356">T</text>
                  <text x="336" y="372">Transceiver</text>
                  <text x="528" y="372">I</text>
                  <text x="528" y="388">O</text>
                  <text x="244" y="404">Sig.</text>
                  <text x="280" y="404">-</text>
                  <text x="336" y="404">Transmitter</text>
                  <text x="528" y="404">N</text>
                  <text x="248" y="436">Proc.</text>
                  <text x="280" y="436">-</text>
                  <text x="324" y="436">Receiver</text>
                  <text x="228" y="484">Outgoing</text>
                  <text x="312" y="484">Transponder</text>
                  <text x="204" y="500">3R</text>
                  <text x="228" y="500">in</text>
                  <text x="272" y="500">reverse</text>
                  <text x="344" y="500">direction</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                          Forward Direction
  |------------------------------>---------------------------------|
                          Reverse Direction
  |------------------------------<---------------------------------|

                           Incoming Transponder
                           3R in forward direction
                         +-----------------------+
                         |Transceiver            |
                         |-----------+ +--------+|
                 ------->|Receiver   |-|Sig. --+||
                         |-----------+ |       |||
                     +---|Transmitter|-|Proc.<-+||
                     |   |-----------+ +--------+|
                     |   +-----------------------+                 E
  S                  |                                             S
  O                  +------------------------------------>        T
  U                                                                I
  R              <-----------------------------------+             N
  C                                                  |             A
  E                      +-----------------------+   |             T
                         |            Transceiver|   |             I
                         |+--------+ +-----------|   |             O
                         ||+->Sig. |-|Transmitter|---+             N
                         |||       | +-----------|
                         ||+--Proc.|-|Receiver   |<--------
                         |+--------+ +-----------|
                         +-----------------------+
                          Outgoing Transponder
                          3R in reverse direction

]]></artwork>
          </artset>
        </figure>
      </section>
    </section>
    <section anchor="example-of-use">
      <name>Example of Use</name>
      <t>To illustrate the model's application, consider an optical network with various transponders, switches, and links. A depicted topology outlines two WDM tunnel scenarios. In the first, an end-to-end WDM tunnel (WDM Tunnel 1) comprises two physical paths (WDM Primary Path 1 and 2) linking two integrated optical transponders, Transponder A and E, through WSON and Flexi-grid nodes. The second scenario describes three WDM tunnel segments (WDM Tunnel Segment 2a to 2c) connecting two external OTs, External OT node X and Y, via the same nodes and links.</t>
      <figure anchor="fig-topology-example">
        <name>Topology Example</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="592" width="520" viewBox="0 0 520 592" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,160 L 8,224" fill="none" stroke="black"/>
              <path d="M 8,272 L 8,512" fill="none" stroke="black"/>
              <path d="M 96,160 L 96,224" fill="none" stroke="black"/>
              <path d="M 96,272 L 96,512" fill="none" stroke="black"/>
              <path d="M 168,336 L 168,400" fill="none" stroke="black"/>
              <path d="M 192,192 L 192,336" fill="none" stroke="black"/>
              <path d="M 224,336 L 224,400" fill="none" stroke="black"/>
              <path d="M 232,432 L 232,496" fill="none" stroke="black"/>
              <path d="M 288,432 L 288,496" fill="none" stroke="black"/>
              <path d="M 296,336 L 296,400" fill="none" stroke="black"/>
              <path d="M 328,192 L 328,336" fill="none" stroke="black"/>
              <path d="M 352,336 L 352,400" fill="none" stroke="black"/>
              <path d="M 424,160 L 424,224" fill="none" stroke="black"/>
              <path d="M 424,272 L 424,512" fill="none" stroke="black"/>
              <path d="M 512,160 L 512,224" fill="none" stroke="black"/>
              <path d="M 512,272 L 512,512" fill="none" stroke="black"/>
              <path d="M 48,46 L 464,46" fill="none" stroke="black"/>
              <path d="M 48,50 L 464,50" fill="none" stroke="black"/>
              <path d="M 48,80 L 464,80" fill="none" stroke="black"/>
              <path d="M 48,142 L 464,142" fill="none" stroke="black"/>
              <path d="M 48,146 L 464,146" fill="none" stroke="black"/>
              <path d="M 8,160 L 96,160" fill="none" stroke="black"/>
              <path d="M 424,160 L 512,160" fill="none" stroke="black"/>
              <path d="M 104,192 L 192,192" fill="none" stroke="black"/>
              <path d="M 328,192 L 416,192" fill="none" stroke="black"/>
              <path d="M 8,224 L 96,224" fill="none" stroke="black"/>
              <path d="M 424,224 L 512,224" fill="none" stroke="black"/>
              <path d="M 8,272 L 96,272" fill="none" stroke="black"/>
              <path d="M 424,272 L 512,272" fill="none" stroke="black"/>
              <path d="M 168,336 L 184,336" fill="none" stroke="black"/>
              <path d="M 200,336 L 224,336" fill="none" stroke="black"/>
              <path d="M 296,336 L 320,336" fill="none" stroke="black"/>
              <path d="M 336,336 L 352,336" fill="none" stroke="black"/>
              <path d="M 104,368 L 160,368" fill="none" stroke="black"/>
              <path d="M 232,368 L 288,368" fill="none" stroke="black"/>
              <path d="M 360,368 L 416,368" fill="none" stroke="black"/>
              <path d="M 168,400 L 224,400" fill="none" stroke="black"/>
              <path d="M 296,400 L 352,400" fill="none" stroke="black"/>
              <path d="M 232,432 L 288,432" fill="none" stroke="black"/>
              <path d="M 104,480 L 224,480" fill="none" stroke="black"/>
              <path d="M 296,480 L 416,480" fill="none" stroke="black"/>
              <path d="M 232,496 L 288,496" fill="none" stroke="black"/>
              <path d="M 8,512 L 96,512" fill="none" stroke="black"/>
              <path d="M 424,512 L 512,512" fill="none" stroke="black"/>
              <path d="M 48,544 L 464,544" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="472,544 460,538.4 460,549.6" fill="black" transform="rotate(0,464,544)"/>
              <polygon class="arrowhead" points="472,144 460,138.4 460,149.6" fill="black" transform="rotate(0,464,144)"/>
              <polygon class="arrowhead" points="472,80 460,74.4 460,85.6" fill="black" transform="rotate(0,464,80)"/>
              <polygon class="arrowhead" points="472,48 460,42.4 460,53.6" fill="black" transform="rotate(0,464,48)"/>
              <polygon class="arrowhead" points="424,480 412,474.4 412,485.6" fill="black" transform="rotate(0,416,480)"/>
              <polygon class="arrowhead" points="424,368 412,362.4 412,373.6" fill="black" transform="rotate(0,416,368)"/>
              <polygon class="arrowhead" points="424,192 412,186.4 412,197.6" fill="black" transform="rotate(0,416,192)"/>
              <polygon class="arrowhead" points="368,368 356,362.4 356,373.6" fill="black" transform="rotate(180,360,368)"/>
              <polygon class="arrowhead" points="344,144 332,138.4 332,149.6" fill="black" transform="rotate(180,336,144)"/>
              <polygon class="arrowhead" points="336,336 324,330.4 324,341.6" fill="black" transform="rotate(90,328,336)"/>
              <polygon class="arrowhead" points="336,144 324,138.4 324,149.6" fill="black" transform="rotate(0,328,144)"/>
              <polygon class="arrowhead" points="304,480 292,474.4 292,485.6" fill="black" transform="rotate(180,296,480)"/>
              <polygon class="arrowhead" points="296,368 284,362.4 284,373.6" fill="black" transform="rotate(0,288,368)"/>
              <polygon class="arrowhead" points="240,368 228,362.4 228,373.6" fill="black" transform="rotate(180,232,368)"/>
              <polygon class="arrowhead" points="232,480 220,474.4 220,485.6" fill="black" transform="rotate(0,224,480)"/>
              <polygon class="arrowhead" points="208,144 196,138.4 196,149.6" fill="black" transform="rotate(180,200,144)"/>
              <polygon class="arrowhead" points="200,336 188,330.4 188,341.6" fill="black" transform="rotate(90,192,336)"/>
              <polygon class="arrowhead" points="200,144 188,138.4 188,149.6" fill="black" transform="rotate(0,192,144)"/>
              <polygon class="arrowhead" points="168,368 156,362.4 156,373.6" fill="black" transform="rotate(0,160,368)"/>
              <polygon class="arrowhead" points="112,480 100,474.4 100,485.6" fill="black" transform="rotate(180,104,480)"/>
              <polygon class="arrowhead" points="112,368 100,362.4 100,373.6" fill="black" transform="rotate(180,104,368)"/>
              <polygon class="arrowhead" points="112,192 100,186.4 100,197.6" fill="black" transform="rotate(180,104,192)"/>
              <polygon class="arrowhead" points="56,544 44,538.4 44,549.6" fill="black" transform="rotate(180,48,544)"/>
              <polygon class="arrowhead" points="56,144 44,138.4 44,149.6" fill="black" transform="rotate(180,48,144)"/>
              <polygon class="arrowhead" points="56,80 44,74.4 44,85.6" fill="black" transform="rotate(180,48,80)"/>
              <polygon class="arrowhead" points="56,48 44,42.4 44,53.6" fill="black" transform="rotate(180,48,48)"/>
              <g class="text">
                <text x="232" y="36">WDM</text>
                <text x="276" y="36">Tunnel</text>
                <text x="312" y="36">1</text>
                <text x="192" y="68">WDM</text>
                <text x="240" y="68">Primary</text>
                <text x="292" y="68">Path</text>
                <text x="320" y="68">1</text>
                <text x="88" y="116">WDM</text>
                <text x="132" y="116">Tunnel</text>
                <text x="240" y="116">WDM</text>
                <text x="284" y="116">Tunnel</text>
                <text x="368" y="116">WDM</text>
                <text x="412" y="116">Tunnel</text>
                <text x="104" y="132">Segment</text>
                <text x="148" y="132">2a</text>
                <text x="256" y="132">Segment</text>
                <text x="300" y="132">2b</text>
                <text x="384" y="132">Segment</text>
                <text x="428" y="132">2c</text>
                <text x="52" y="180">External</text>
                <text x="468" y="180">External</text>
                <text x="52" y="196">OT</text>
                <text x="468" y="196">OT</text>
                <text x="44" y="212">node</text>
                <text x="72" y="212">X</text>
                <text x="460" y="212">node</text>
                <text x="488" y="212">Y</text>
                <text x="52" y="292">Flexi-</text>
                <text x="468" y="292">Flexi-</text>
                <text x="52" y="308">grid</text>
                <text x="468" y="308">grid</text>
                <text x="44" y="324">node</text>
                <text x="72" y="324">A</text>
                <text x="460" y="324">node</text>
                <text x="488" y="324">E</text>
                <text x="124" y="356">Link</text>
                <text x="152" y="356">1</text>
                <text x="196" y="356">Flexi-</text>
                <text x="252" y="356">Link</text>
                <text x="280" y="356">2</text>
                <text x="324" y="356">WSON</text>
                <text x="380" y="356">Link</text>
                <text x="408" y="356">3</text>
                <text x="196" y="372">grid</text>
                <text x="48" y="388">.........</text>
                <text x="188" y="388">node</text>
                <text x="216" y="388">B</text>
                <text x="316" y="388">node</text>
                <text x="344" y="388">C</text>
                <text x="472" y="388">.........</text>
                <text x="44" y="404">Trans-</text>
                <text x="80" y="404">:</text>
                <text x="440" y="404">:</text>
                <text x="476" y="404">Trans-</text>
                <text x="44" y="420">ponder</text>
                <text x="80" y="420">:</text>
                <text x="440" y="420">:</text>
                <text x="476" y="420">ponder</text>
                <text x="48" y="436">A</text>
                <text x="80" y="436">:</text>
                <text x="440" y="436">:</text>
                <text x="480" y="436">E</text>
                <text x="48" y="452">........:</text>
                <text x="156" y="452">Link</text>
                <text x="184" y="452">4</text>
                <text x="260" y="452">Flexi-</text>
                <text x="348" y="452">Link</text>
                <text x="376" y="452">5</text>
                <text x="472" y="452">:........</text>
                <text x="260" y="468">grid</text>
                <text x="252" y="484">node</text>
                <text x="280" y="484">D</text>
                <text x="200" y="564">WDM</text>
                <text x="256" y="564">Secondary</text>
                <text x="316" y="564">Path</text>
                <text x="344" y="564">1</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                              WDM Tunnel 1
        <===================================================>
                         WDM Primary Path 1
        <--------------------------------------------------->

            WDM Tunnel         WDM Tunnel      WDM Tunnel
            Segment 2a         Segment 2b      Segment 2c
        <=================><===============><===============>
   +----------+                                        +----------+
   | External |                                        | External |
   |    OT    |<----------+                +---------->|    OT    |
   |  node X  |           |                |           |  node Y  |
   +----------+           |                |           +----------+
                          |                |
                          |                |
   +----------+           |                |           +----------+
   |  Flexi-  |           |                |           |  Flexi-  |
   |   grid   |           |                |           |   grid   |
   |  node A  |           |                |           |  node E  |
   |          |        +--v---+        +---v--+        |          |
   |          | Link 1 |Flexi-| Link 2 | WSON | Link 3 |          |
   |          |<------>| grid |<------>|      |<------>|          |
   |......... |        |node B|        |node C|        | .........|
   | Trans- : |        +------+        +------+        | : Trans- |
   | ponder : |                                        | : ponder |
   |    A   : |                +------+                | :    E   |
   |........: |     Link 4     |Flexi-|     Link 5     | :........|
   |          |                | grid |                |          |
   |          |<-------------->|node D|<-------------->|          |
   |          |                +------+                |          |
   +----------+                                        +----------+

        <--------------------------------------------------->
                          WDM Secondary Path 1
]]></artwork>
        </artset>
      </figure>
      <t>To configure an end-to-end WDM tunnel to interconnect
transponders A and E, first of all we have to populate the
flexi-grid topology YANG model with all elements in the network:</t>
      <ul spacing="normal">
        <li>
          <t>We define the transponders within nodes A and E as tunnel termination
points (TTPs) and provide their internal local link connectivity
towards the node interfaces.  We also provide nodes A and E identifiers,
addresses and interfaces.</t>
        </li>
        <li>
          <t>We do the same for the nodes B, C and D, providing their
identifiers, addresses and interfaces, as well as the internal
connectivity matrix between interfaces.</t>
        </li>
        <li>
          <t>Then, we also define the links 1 to 5 that interconnect nodes,
indicating which WSON or flexi-grid labels are available.</t>
        </li>
        <li>
          <t>Other information, such as the slot frequency and granularity are
also provided.</t>
        </li>
      </ul>
      <t>After the nodes, links and transponders have been defined using
<xref target="I-D.ietf-ccamp-flexigrid-yang"/> and <xref target="RFC9094"/> we can
configure the tunnel from the information we have stored in the
flexi-grid topology, by querying which elements are available, and
planning the resources that have to be provided on each situation, taking into
account the global and path-specific WDM tunnel constraints.
Note that every element in the flexi-grid topology has a reference,
and this is the way in which they are called in the tunnel.</t>
      <ul spacing="normal">
        <li>
          <t>Depending on the case, it is possible to define either the source
and destination node ports, or the source and destination node and
transponder.  In our case, we would define a network tunnel, with
source transponder A and source node B, and destination
transponder E and destination node C.  Thus, we are going to
follow path x.</t>
        </li>
        <li>
          <t>Then, for each link in the path x, we indicate which channel we
are going to use, providing information about the slots, and what
nodes are connected.</t>
        </li>
        <li>
          <t>Finally, the flexi-grid topology has to be updated with each
element usage status each time a tunnel is created or torn down.</t>
        </li>
      </ul>
    </section>
    <section anchor="yang-model-for-wdm-tunnel">
      <name>YANG Model for WDM Tunnel</name>
      <section anchor="yang-tree">
        <name>YANG Tree</name>
        <figure anchor="fig-wdm-tunnel-tree">
          <name>WDM Tunnel YANG tree</name>
          <artwork type="ascii-art" name="ietf-wdm-tunnel.tree"><![CDATA[
module: ietf-wdm-tunnel

  augment /te:te/te:tunnels/te:tunnel:
    +--rw wdm-constraint
       +--rw transceiver-constraint
       |  +--rw operational-modes*            string
       |  +--rw otsi-carrier-frequency?       l0-types:frequency-thz
       |  +--rw tx-tune-constraints
       |  |  +--rw min-central-frequency?
       |  |  |       frequency-thz
       |  |  +--rw max-central-frequency?
       |  |  |       frequency-thz
       |  |  +--rw transceiver-tunability-granularity?
       |  |          frequency-ghz
       |  +--rw line-coding-bitrate*          identityref
       |  +--rw tx-channel-power?             l0-types:power-dbm
       |  +--rw preferred-rx-channel-power?   l0-types:power-dbm
       |  +--rw gsnr-extra-margin?            snr
       +--rw use-regen?                     boolean
       +--rw wavelength-conversion?         boolean
       +--rw wavelength-assignment?         identityref
       +--rw guard-band-size?               l0-types:frequency-thz
       +--rw matching-fwd-rev-wavelength?   boolean
       +--rw allow-retuning?                boolean
       +--rw delta-power?                   l0-types:power-ratio
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type
            /te:numbered-node-hop/te:numbered-node-hop:
    +--rw (node-position)?
       +--:(source)
       |  +--rw source-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +--rw destination-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +--rw regenerator
       |     +--rw regen-group-id?         uint32
       |     +--rw regeneration-layer?     identityref
       |     +--rw incoming-transponder
       |     |  +--rw transponder-id?         uint32
       |     |  +--rw digital-terminations
       |     |  |  +--rw digital-termination* [index]
       |     |  |     +--rw index               uint8
       |     |  |     +--rw termination-type?   identityref
       |     |  |     +--rw mapping-type?       identityref
       |     |  +--rw transceiver
       |     |     +--rw transceiver-id?               uint32
       |     |     +--rw otsi-carrier-id?              uint16
       |     |     +--rw otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +--rw tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw operational-mode?             string
       |     |     +--rw line-coding-bitrate?          identityref
       |     |     +--rw preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw gsnr-extra-margin?            snr
       |     |     +--rw inverse-multiplexing!
       |     |        +--rw inverse-mux-type?             identityref
       |     |        +--rw otsi-lane-termination-type?   identityref
       |     |        +--rw additional-transceivers
       |     |           +--rw index?                    uint8
       |     |           +--rw transceiver-id?           uint32
       |     |           +--rw otsi-carrier-id?          uint16
       |     |           +--rw otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +--rw tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +--rw outgoing-transponder
       |        +--rw transponder-id?         uint32
       |        +--rw digital-terminations
       |        |  +--rw digital-termination* [index]
       |        |     +--rw index               uint8
       |        |     +--rw termination-type?   identityref
       |        |     +--rw mapping-type?       identityref
       |        +--rw transceiver
       |           +--rw transceiver-id?               uint32
       |           +--rw otsi-carrier-id?              uint16
       |           +--rw otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +--rw tx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw operational-mode?             string
       |           +--rw line-coding-bitrate?          identityref
       |           +--rw preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw gsnr-extra-margin?            snr
       |           +--rw inverse-multiplexing!
       |              +--rw inverse-mux-type?             identityref
       |              +--rw otsi-lane-termination-type?   identityref
       |              +--rw additional-transceivers
       |                 +--rw index?                    uint8
       |                 +--rw transceiver-id?           uint32
       |                 +--rw otsi-carrier-id?          uint16
       |                 +--rw otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +--rw tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +--rw regenerators
             +--rw common-incoming
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw common-outgoing
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw regenerator* [index]
                +--rw index                   uint8
                +--rw regen-group-id?         uint32
                +--rw regeneration-layer?     identityref
                +--rw incoming-transponder
                |  +--rw transponder-id?   uint32
                |  +--rw transceiver
                |     +--rw transceiver-id?           uint32
                |     +--rw otsi-carrier-id?          uint16
                |     +--rw otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +--rw tx-channel-power?
                |             l0-types:power-dbm
                +--rw outgoing-transponder
                   +--rw transponder-id?   uint32
                   +--rw transceiver
                      +--rw transceiver-id?           uint32
                      +--rw otsi-carrier-id?          uint16
                      +--rw otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +--rw tx-channel-power?
                              l0-types:power-dbm
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:explicit-route-objects
            /te:route-object-exclude-always/te:type
            /te:numbered-node-hop/te:numbered-node-hop:
    +--rw (node-position)?
       +--:(source)
       |  +--rw source-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +--rw destination-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +--rw regenerator
       |     +--rw regen-group-id?         uint32
       |     +--rw regeneration-layer?     identityref
       |     +--rw incoming-transponder
       |     |  +--rw transponder-id?         uint32
       |     |  +--rw digital-terminations
       |     |  |  +--rw digital-termination* [index]
       |     |  |     +--rw index               uint8
       |     |  |     +--rw termination-type?   identityref
       |     |  |     +--rw mapping-type?       identityref
       |     |  +--rw transceiver
       |     |     +--rw transceiver-id?               uint32
       |     |     +--rw otsi-carrier-id?              uint16
       |     |     +--rw otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +--rw tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw operational-mode?             string
       |     |     +--rw line-coding-bitrate?          identityref
       |     |     +--rw preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw gsnr-extra-margin?            snr
       |     |     +--rw inverse-multiplexing!
       |     |        +--rw inverse-mux-type?             identityref
       |     |        +--rw otsi-lane-termination-type?   identityref
       |     |        +--rw additional-transceivers
       |     |           +--rw index?                    uint8
       |     |           +--rw transceiver-id?           uint32
       |     |           +--rw otsi-carrier-id?          uint16
       |     |           +--rw otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +--rw tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +--rw outgoing-transponder
       |        +--rw transponder-id?         uint32
       |        +--rw digital-terminations
       |        |  +--rw digital-termination* [index]
       |        |     +--rw index               uint8
       |        |     +--rw termination-type?   identityref
       |        |     +--rw mapping-type?       identityref
       |        +--rw transceiver
       |           +--rw transceiver-id?               uint32
       |           +--rw otsi-carrier-id?              uint16
       |           +--rw otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +--rw tx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw operational-mode?             string
       |           +--rw line-coding-bitrate?          identityref
       |           +--rw preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw gsnr-extra-margin?            snr
       |           +--rw inverse-multiplexing!
       |              +--rw inverse-mux-type?             identityref
       |              +--rw otsi-lane-termination-type?   identityref
       |              +--rw additional-transceivers
       |                 +--rw index?                    uint8
       |                 +--rw transceiver-id?           uint32
       |                 +--rw otsi-carrier-id?          uint16
       |                 +--rw otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +--rw tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +--rw regenerators
             +--rw common-incoming
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw common-outgoing
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw regenerator* [index]
                +--rw index                   uint8
                +--rw regen-group-id?         uint32
                +--rw regeneration-layer?     identityref
                +--rw incoming-transponder
                |  +--rw transponder-id?   uint32
                |  +--rw transceiver
                |     +--rw transceiver-id?           uint32
                |     +--rw otsi-carrier-id?          uint16
                |     +--rw otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +--rw tx-channel-power?
                |             l0-types:power-dbm
                +--rw outgoing-transponder
                   +--rw transponder-id?   uint32
                   +--rw transceiver
                      +--rw transceiver-id?           uint32
                      +--rw otsi-carrier-id?          uint16
                      +--rw otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +--rw tx-channel-power?
                              l0-types:power-dbm
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:explicit-route-objects
            /te:route-object-include-exclude/te:type
            /te:numbered-node-hop/te:numbered-node-hop:
    +--rw (node-position)?
       +--:(source)
       |  +--rw source-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +--rw destination-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +--rw regenerator
       |     +--rw regen-group-id?         uint32
       |     +--rw regeneration-layer?     identityref
       |     +--rw incoming-transponder
       |     |  +--rw transponder-id?         uint32
       |     |  +--rw digital-terminations
       |     |  |  +--rw digital-termination* [index]
       |     |  |     +--rw index               uint8
       |     |  |     +--rw termination-type?   identityref
       |     |  |     +--rw mapping-type?       identityref
       |     |  +--rw transceiver
       |     |     +--rw transceiver-id?               uint32
       |     |     +--rw otsi-carrier-id?              uint16
       |     |     +--rw otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +--rw tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw operational-mode?             string
       |     |     +--rw line-coding-bitrate?          identityref
       |     |     +--rw preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw gsnr-extra-margin?            snr
       |     |     +--rw inverse-multiplexing!
       |     |        +--rw inverse-mux-type?             identityref
       |     |        +--rw otsi-lane-termination-type?   identityref
       |     |        +--rw additional-transceivers
       |     |           +--rw index?                    uint8
       |     |           +--rw transceiver-id?           uint32
       |     |           +--rw otsi-carrier-id?          uint16
       |     |           +--rw otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +--rw tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +--rw outgoing-transponder
       |        +--rw transponder-id?         uint32
       |        +--rw digital-terminations
       |        |  +--rw digital-termination* [index]
       |        |     +--rw index               uint8
       |        |     +--rw termination-type?   identityref
       |        |     +--rw mapping-type?       identityref
       |        +--rw transceiver
       |           +--rw transceiver-id?               uint32
       |           +--rw otsi-carrier-id?              uint16
       |           +--rw otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +--rw tx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw operational-mode?             string
       |           +--rw line-coding-bitrate?          identityref
       |           +--rw preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw gsnr-extra-margin?            snr
       |           +--rw inverse-multiplexing!
       |              +--rw inverse-mux-type?             identityref
       |              +--rw otsi-lane-termination-type?   identityref
       |              +--rw additional-transceivers
       |                 +--rw index?                    uint8
       |                 +--rw transceiver-id?           uint32
       |                 +--rw otsi-carrier-id?          uint16
       |                 +--rw otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +--rw tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +--rw regenerators
             +--rw common-incoming
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw common-outgoing
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw regenerator* [index]
                +--rw index                   uint8
                +--rw regen-group-id?         uint32
                +--rw regeneration-layer?     identityref
                +--rw incoming-transponder
                |  +--rw transponder-id?   uint32
                |  +--rw transceiver
                |     +--rw transceiver-id?           uint32
                |     +--rw otsi-carrier-id?          uint16
                |     +--rw otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +--rw tx-channel-power?
                |             l0-types:power-dbm
                +--rw outgoing-transponder
                   +--rw transponder-id?   uint32
                   +--rw transceiver
                      +--rw transceiver-id?           uint32
                      +--rw otsi-carrier-id?          uint16
                      +--rw otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +--rw tx-channel-power?
                              l0-types:power-dbm
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:explicit-route-objects/te:route-object-exclude-always
            /te:type/te:numbered-node-hop/te:numbered-node-hop:
    +--rw (node-position)?
       +--:(source)
       |  +--rw source-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +--rw destination-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +--rw regenerator
       |     +--rw regen-group-id?         uint32
       |     +--rw regeneration-layer?     identityref
       |     +--rw incoming-transponder
       |     |  +--rw transponder-id?         uint32
       |     |  +--rw digital-terminations
       |     |  |  +--rw digital-termination* [index]
       |     |  |     +--rw index               uint8
       |     |  |     +--rw termination-type?   identityref
       |     |  |     +--rw mapping-type?       identityref
       |     |  +--rw transceiver
       |     |     +--rw transceiver-id?               uint32
       |     |     +--rw otsi-carrier-id?              uint16
       |     |     +--rw otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +--rw tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw operational-mode?             string
       |     |     +--rw line-coding-bitrate?          identityref
       |     |     +--rw preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw gsnr-extra-margin?            snr
       |     |     +--rw inverse-multiplexing!
       |     |        +--rw inverse-mux-type?             identityref
       |     |        +--rw otsi-lane-termination-type?   identityref
       |     |        +--rw additional-transceivers
       |     |           +--rw index?                    uint8
       |     |           +--rw transceiver-id?           uint32
       |     |           +--rw otsi-carrier-id?          uint16
       |     |           +--rw otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +--rw tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +--rw outgoing-transponder
       |        +--rw transponder-id?         uint32
       |        +--rw digital-terminations
       |        |  +--rw digital-termination* [index]
       |        |     +--rw index               uint8
       |        |     +--rw termination-type?   identityref
       |        |     +--rw mapping-type?       identityref
       |        +--rw transceiver
       |           +--rw transceiver-id?               uint32
       |           +--rw otsi-carrier-id?              uint16
       |           +--rw otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +--rw tx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw operational-mode?             string
       |           +--rw line-coding-bitrate?          identityref
       |           +--rw preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw gsnr-extra-margin?            snr
       |           +--rw inverse-multiplexing!
       |              +--rw inverse-mux-type?             identityref
       |              +--rw otsi-lane-termination-type?   identityref
       |              +--rw additional-transceivers
       |                 +--rw index?                    uint8
       |                 +--rw transceiver-id?           uint32
       |                 +--rw otsi-carrier-id?          uint16
       |                 +--rw otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +--rw tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +--rw regenerators
             +--rw common-incoming
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw common-outgoing
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw regenerator* [index]
                +--rw index                   uint8
                +--rw regen-group-id?         uint32
                +--rw regeneration-layer?     identityref
                +--rw incoming-transponder
                |  +--rw transponder-id?   uint32
                |  +--rw transceiver
                |     +--rw transceiver-id?           uint32
                |     +--rw otsi-carrier-id?          uint16
                |     +--rw otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +--rw tx-channel-power?
                |             l0-types:power-dbm
                +--rw outgoing-transponder
                   +--rw transponder-id?   uint32
                   +--rw transceiver
                      +--rw transceiver-id?           uint32
                      +--rw otsi-carrier-id?          uint16
                      +--rw otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +--rw tx-channel-power?
                              l0-types:power-dbm
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type
            /te:numbered-node-hop/te:numbered-node-hop:
    +--rw (node-position)?
       +--:(source)
       |  +--rw source-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +--rw destination-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +--rw regenerator
       |     +--rw regen-group-id?         uint32
       |     +--rw regeneration-layer?     identityref
       |     +--rw incoming-transponder
       |     |  +--rw transponder-id?         uint32
       |     |  +--rw digital-terminations
       |     |  |  +--rw digital-termination* [index]
       |     |  |     +--rw index               uint8
       |     |  |     +--rw termination-type?   identityref
       |     |  |     +--rw mapping-type?       identityref
       |     |  +--rw transceiver
       |     |     +--rw transceiver-id?               uint32
       |     |     +--rw otsi-carrier-id?              uint16
       |     |     +--rw otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +--rw tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw operational-mode?             string
       |     |     +--rw line-coding-bitrate?          identityref
       |     |     +--rw preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw gsnr-extra-margin?            snr
       |     |     +--rw inverse-multiplexing!
       |     |        +--rw inverse-mux-type?             identityref
       |     |        +--rw otsi-lane-termination-type?   identityref
       |     |        +--rw additional-transceivers
       |     |           +--rw index?                    uint8
       |     |           +--rw transceiver-id?           uint32
       |     |           +--rw otsi-carrier-id?          uint16
       |     |           +--rw otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +--rw tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +--rw outgoing-transponder
       |        +--rw transponder-id?         uint32
       |        +--rw digital-terminations
       |        |  +--rw digital-termination* [index]
       |        |     +--rw index               uint8
       |        |     +--rw termination-type?   identityref
       |        |     +--rw mapping-type?       identityref
       |        +--rw transceiver
       |           +--rw transceiver-id?               uint32
       |           +--rw otsi-carrier-id?              uint16
       |           +--rw otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +--rw tx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw operational-mode?             string
       |           +--rw line-coding-bitrate?          identityref
       |           +--rw preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw gsnr-extra-margin?            snr
       |           +--rw inverse-multiplexing!
       |              +--rw inverse-mux-type?             identityref
       |              +--rw otsi-lane-termination-type?   identityref
       |              +--rw additional-transceivers
       |                 +--rw index?                    uint8
       |                 +--rw transceiver-id?           uint32
       |                 +--rw otsi-carrier-id?          uint16
       |                 +--rw otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +--rw tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +--rw regenerators
             +--rw common-incoming
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw common-outgoing
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw regenerator* [index]
                +--rw index                   uint8
                +--rw regen-group-id?         uint32
                +--rw regeneration-layer?     identityref
                +--rw incoming-transponder
                |  +--rw transponder-id?   uint32
                |  +--rw transceiver
                |     +--rw transceiver-id?           uint32
                |     +--rw otsi-carrier-id?          uint16
                |     +--rw otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +--rw tx-channel-power?
                |             l0-types:power-dbm
                +--rw outgoing-transponder
                   +--rw transponder-id?   uint32
                   +--rw transceiver
                      +--rw transceiver-id?           uint32
                      +--rw otsi-carrier-id?          uint16
                      +--rw otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +--rw tx-channel-power?
                              l0-types:power-dbm
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:explicit-route-objects
            /te:route-object-exclude-always/te:type
            /te:numbered-node-hop/te:numbered-node-hop:
    +--rw (node-position)?
       +--:(source)
       |  +--rw source-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +--rw destination-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +--rw regenerator
       |     +--rw regen-group-id?         uint32
       |     +--rw regeneration-layer?     identityref
       |     +--rw incoming-transponder
       |     |  +--rw transponder-id?         uint32
       |     |  +--rw digital-terminations
       |     |  |  +--rw digital-termination* [index]
       |     |  |     +--rw index               uint8
       |     |  |     +--rw termination-type?   identityref
       |     |  |     +--rw mapping-type?       identityref
       |     |  +--rw transceiver
       |     |     +--rw transceiver-id?               uint32
       |     |     +--rw otsi-carrier-id?              uint16
       |     |     +--rw otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +--rw tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw operational-mode?             string
       |     |     +--rw line-coding-bitrate?          identityref
       |     |     +--rw preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw gsnr-extra-margin?            snr
       |     |     +--rw inverse-multiplexing!
       |     |        +--rw inverse-mux-type?             identityref
       |     |        +--rw otsi-lane-termination-type?   identityref
       |     |        +--rw additional-transceivers
       |     |           +--rw index?                    uint8
       |     |           +--rw transceiver-id?           uint32
       |     |           +--rw otsi-carrier-id?          uint16
       |     |           +--rw otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +--rw tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +--rw outgoing-transponder
       |        +--rw transponder-id?         uint32
       |        +--rw digital-terminations
       |        |  +--rw digital-termination* [index]
       |        |     +--rw index               uint8
       |        |     +--rw termination-type?   identityref
       |        |     +--rw mapping-type?       identityref
       |        +--rw transceiver
       |           +--rw transceiver-id?               uint32
       |           +--rw otsi-carrier-id?              uint16
       |           +--rw otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +--rw tx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw operational-mode?             string
       |           +--rw line-coding-bitrate?          identityref
       |           +--rw preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw gsnr-extra-margin?            snr
       |           +--rw inverse-multiplexing!
       |              +--rw inverse-mux-type?             identityref
       |              +--rw otsi-lane-termination-type?   identityref
       |              +--rw additional-transceivers
       |                 +--rw index?                    uint8
       |                 +--rw transceiver-id?           uint32
       |                 +--rw otsi-carrier-id?          uint16
       |                 +--rw otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +--rw tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +--rw regenerators
             +--rw common-incoming
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw common-outgoing
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw regenerator* [index]
                +--rw index                   uint8
                +--rw regen-group-id?         uint32
                +--rw regeneration-layer?     identityref
                +--rw incoming-transponder
                |  +--rw transponder-id?   uint32
                |  +--rw transceiver
                |     +--rw transceiver-id?           uint32
                |     +--rw otsi-carrier-id?          uint16
                |     +--rw otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +--rw tx-channel-power?
                |             l0-types:power-dbm
                +--rw outgoing-transponder
                   +--rw transponder-id?   uint32
                   +--rw transceiver
                      +--rw transceiver-id?           uint32
                      +--rw otsi-carrier-id?          uint16
                      +--rw otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +--rw tx-channel-power?
                              l0-types:power-dbm
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type
            /te:numbered-node-hop/te:numbered-node-hop:
    +--rw (node-position)?
       +--:(source)
       |  +--rw source-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +--rw destination-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +--rw regenerator
       |     +--rw regen-group-id?         uint32
       |     +--rw regeneration-layer?     identityref
       |     +--rw incoming-transponder
       |     |  +--rw transponder-id?         uint32
       |     |  +--rw digital-terminations
       |     |  |  +--rw digital-termination* [index]
       |     |  |     +--rw index               uint8
       |     |  |     +--rw termination-type?   identityref
       |     |  |     +--rw mapping-type?       identityref
       |     |  +--rw transceiver
       |     |     +--rw transceiver-id?               uint32
       |     |     +--rw otsi-carrier-id?              uint16
       |     |     +--rw otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +--rw tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw operational-mode?             string
       |     |     +--rw line-coding-bitrate?          identityref
       |     |     +--rw preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw gsnr-extra-margin?            snr
       |     |     +--rw inverse-multiplexing!
       |     |        +--rw inverse-mux-type?             identityref
       |     |        +--rw otsi-lane-termination-type?   identityref
       |     |        +--rw additional-transceivers
       |     |           +--rw index?                    uint8
       |     |           +--rw transceiver-id?           uint32
       |     |           +--rw otsi-carrier-id?          uint16
       |     |           +--rw otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +--rw tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +--rw outgoing-transponder
       |        +--rw transponder-id?         uint32
       |        +--rw digital-terminations
       |        |  +--rw digital-termination* [index]
       |        |     +--rw index               uint8
       |        |     +--rw termination-type?   identityref
       |        |     +--rw mapping-type?       identityref
       |        +--rw transceiver
       |           +--rw transceiver-id?               uint32
       |           +--rw otsi-carrier-id?              uint16
       |           +--rw otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +--rw tx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw operational-mode?             string
       |           +--rw line-coding-bitrate?          identityref
       |           +--rw preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw gsnr-extra-margin?            snr
       |           +--rw inverse-multiplexing!
       |              +--rw inverse-mux-type?             identityref
       |              +--rw otsi-lane-termination-type?   identityref
       |              +--rw additional-transceivers
       |                 +--rw index?                    uint8
       |                 +--rw transceiver-id?           uint32
       |                 +--rw otsi-carrier-id?          uint16
       |                 +--rw otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +--rw tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +--rw regenerators
             +--rw common-incoming
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw common-outgoing
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw regenerator* [index]
                +--rw index                   uint8
                +--rw regen-group-id?         uint32
                +--rw regeneration-layer?     identityref
                +--rw incoming-transponder
                |  +--rw transponder-id?   uint32
                |  +--rw transceiver
                |     +--rw transceiver-id?           uint32
                |     +--rw otsi-carrier-id?          uint16
                |     +--rw otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +--rw tx-channel-power?
                |             l0-types:power-dbm
                +--rw outgoing-transponder
                   +--rw transponder-id?   uint32
                   +--rw transceiver
                      +--rw transceiver-id?           uint32
                      +--rw otsi-carrier-id?          uint16
                      +--rw otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +--rw tx-channel-power?
                              l0-types:power-dbm
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:explicit-route-objects
            /te:route-object-exclude-always/te:type
            /te:numbered-node-hop/te:numbered-node-hop:
    +--rw (node-position)?
       +--:(source)
       |  +--rw source-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(destination)
       |  +--rw destination-transponder
       |     +--rw transponder-id?         uint32
       |     +--rw digital-terminations
       |     |  +--rw digital-termination* [index]
       |     |     +--rw index               uint8
       |     |     +--rw termination-type?   identityref
       |     |     +--rw mapping-type?       identityref
       |     +--rw transceiver
       |        +--rw transceiver-id?               uint32
       |        +--rw otsi-carrier-id?              uint16
       |        +--rw otsi-carrier-frequency?
       |        |       l0-types:frequency-thz
       |        +--rw tx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw operational-mode?             string
       |        +--rw line-coding-bitrate?          identityref
       |        +--rw preferred-rx-channel-power?
       |        |       l0-types:power-dbm
       |        +--rw gsnr-extra-margin?            snr
       |        +--rw inverse-multiplexing!
       |           +--rw inverse-mux-type?             identityref
       |           +--rw otsi-lane-termination-type?   identityref
       |           +--rw additional-transceivers
       |              +--rw index?                    uint8
       |              +--rw transceiver-id?           uint32
       |              +--rw otsi-carrier-id?          uint16
       |              +--rw otsi-carrier-frequency?
       |              |       l0-types:frequency-thz
       |              +--rw tx-channel-power?
       |                      l0-types:power-dbm
       +--:(regenerator)
       |  +--rw regenerator
       |     +--rw regen-group-id?         uint32
       |     +--rw regeneration-layer?     identityref
       |     +--rw incoming-transponder
       |     |  +--rw transponder-id?         uint32
       |     |  +--rw digital-terminations
       |     |  |  +--rw digital-termination* [index]
       |     |  |     +--rw index               uint8
       |     |  |     +--rw termination-type?   identityref
       |     |  |     +--rw mapping-type?       identityref
       |     |  +--rw transceiver
       |     |     +--rw transceiver-id?               uint32
       |     |     +--rw otsi-carrier-id?              uint16
       |     |     +--rw otsi-carrier-frequency?
       |     |     |       l0-types:frequency-thz
       |     |     +--rw tx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw operational-mode?             string
       |     |     +--rw line-coding-bitrate?          identityref
       |     |     +--rw preferred-rx-channel-power?
       |     |     |       l0-types:power-dbm
       |     |     +--rw gsnr-extra-margin?            snr
       |     |     +--rw inverse-multiplexing!
       |     |        +--rw inverse-mux-type?             identityref
       |     |        +--rw otsi-lane-termination-type?   identityref
       |     |        +--rw additional-transceivers
       |     |           +--rw index?                    uint8
       |     |           +--rw transceiver-id?           uint32
       |     |           +--rw otsi-carrier-id?          uint16
       |     |           +--rw otsi-carrier-frequency?
       |     |           |       l0-types:frequency-thz
       |     |           +--rw tx-channel-power?
       |     |                   l0-types:power-dbm
       |     +--rw outgoing-transponder
       |        +--rw transponder-id?         uint32
       |        +--rw digital-terminations
       |        |  +--rw digital-termination* [index]
       |        |     +--rw index               uint8
       |        |     +--rw termination-type?   identityref
       |        |     +--rw mapping-type?       identityref
       |        +--rw transceiver
       |           +--rw transceiver-id?               uint32
       |           +--rw otsi-carrier-id?              uint16
       |           +--rw otsi-carrier-frequency?
       |           |       l0-types:frequency-thz
       |           +--rw tx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw operational-mode?             string
       |           +--rw line-coding-bitrate?          identityref
       |           +--rw preferred-rx-channel-power?
       |           |       l0-types:power-dbm
       |           +--rw gsnr-extra-margin?            snr
       |           +--rw inverse-multiplexing!
       |              +--rw inverse-mux-type?             identityref
       |              +--rw otsi-lane-termination-type?   identityref
       |              +--rw additional-transceivers
       |                 +--rw index?                    uint8
       |                 +--rw transceiver-id?           uint32
       |                 +--rw otsi-carrier-id?          uint16
       |                 +--rw otsi-carrier-frequency?
       |                 |       l0-types:frequency-thz
       |                 +--rw tx-channel-power?
       |                         l0-types:power-dbm
       +--:(regenerators)
          +--rw regenerators
             +--rw common-incoming
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw common-outgoing
             |  +--rw operational-mode?             string
             |  +--rw line-coding-bitrate?          identityref
             |  +--rw preferred-rx-channel-power?
             |  |       l0-types:power-dbm
             |  +--rw gsnr-extra-margin?            snr
             +--rw regenerator* [index]
                +--rw index                   uint8
                +--rw regen-group-id?         uint32
                +--rw regeneration-layer?     identityref
                +--rw incoming-transponder
                |  +--rw transponder-id?   uint32
                |  +--rw transceiver
                |     +--rw transceiver-id?           uint32
                |     +--rw otsi-carrier-id?          uint16
                |     +--rw otsi-carrier-frequency?
                |     |       l0-types:frequency-thz
                |     +--rw tx-channel-power?
                |             l0-types:power-dbm
                +--rw outgoing-transponder
                   +--rw transponder-id?   uint32
                   +--rw transceiver
                      +--rw transceiver-id?           uint32
                      +--rw otsi-carrier-id?          uint16
                      +--rw otsi-carrier-frequency?
                      |       l0-types:frequency-thz
                      +--rw tx-channel-power?
                              l0-types:power-dbm
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:numbered-node-hop/te: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 rx-channel-power?         power-dbm-or-unknown
       |        +--ro rx-total-power?           power-dbm-or-unknown
       |        +--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 estimated-gsnr?           snr
       |        +--ro estimated-eol-gsnr?       snr
       |        +--ro estimated-lowest-gsnr?    snr
       +--:(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 rx-channel-power?         power-dbm-or-unknown
       |        +--ro rx-total-power?           power-dbm-or-unknown
       |        +--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 estimated-gsnr?           snr
       |        +--ro estimated-eol-gsnr?       snr
       |        +--ro estimated-lowest-gsnr?    snr
       +--:(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 rx-channel-power?
       |     |     |       power-dbm-or-unknown
       |     |     +--ro rx-total-power?
       |     |     |       power-dbm-or-unknown
       |     |     +--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 estimated-gsnr?           snr
       |     |     +--ro estimated-eol-gsnr?       snr
       |     |     +--ro estimated-lowest-gsnr?    snr
       |     +--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 rx-channel-power?
       |           |       power-dbm-or-unknown
       |           +--ro rx-total-power?
       |           |       power-dbm-or-unknown
       |           +--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 estimated-gsnr?           snr
       |           +--ro estimated-eol-gsnr?       snr
       |           +--ro estimated-lowest-gsnr?    snr
       +--:(regenerators)
          +--ro regenerators
             +--ro common-incoming
             |  +--ro operational-mode?        string
             |  +--ro line-coding-bitrate?     identityref
             |  +--ro estimated-gsnr?          snr
             |  +--ro estimated-eol-gsnr?      snr
             |  +--ro estimated-lowest-gsnr?   snr
             +--ro common-outgoing
             |  +--ro operational-mode?        string
             |  +--ro line-coding-bitrate?     identityref
             |  +--ro estimated-gsnr?          snr
             |  +--ro estimated-eol-gsnr?      snr
             |  +--ro estimated-lowest-gsnr?   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:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:computed-paths-properties/te:computed-path-properties
            /te:path-properties/te:path-route-objects
            /te:path-route-object/te:type/te:numbered-node-hop
            /te: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 rx-channel-power?         power-dbm-or-unknown
       |        +--ro rx-total-power?           power-dbm-or-unknown
       |        +--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 estimated-gsnr?           snr
       |        +--ro estimated-eol-gsnr?       snr
       |        +--ro estimated-lowest-gsnr?    snr
       +--:(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 rx-channel-power?         power-dbm-or-unknown
       |        +--ro rx-total-power?           power-dbm-or-unknown
       |        +--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 estimated-gsnr?           snr
       |        +--ro estimated-eol-gsnr?       snr
       |        +--ro estimated-lowest-gsnr?    snr
       +--:(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 rx-channel-power?
       |     |     |       power-dbm-or-unknown
       |     |     +--ro rx-total-power?
       |     |     |       power-dbm-or-unknown
       |     |     +--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 estimated-gsnr?           snr
       |     |     +--ro estimated-eol-gsnr?       snr
       |     |     +--ro estimated-lowest-gsnr?    snr
       |     +--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 rx-channel-power?
       |           |       power-dbm-or-unknown
       |           +--ro rx-total-power?
       |           |       power-dbm-or-unknown
       |           +--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 estimated-gsnr?           snr
       |           +--ro estimated-eol-gsnr?       snr
       |           +--ro estimated-lowest-gsnr?    snr
       +--:(regenerators)
          +--ro regenerators
             +--ro common-incoming
             |  +--ro operational-mode?        string
             |  +--ro line-coding-bitrate?     identityref
             |  +--ro estimated-gsnr?          snr
             |  +--ro estimated-eol-gsnr?      snr
             |  +--ro estimated-lowest-gsnr?   snr
             +--ro common-outgoing
             |  +--ro operational-mode?        string
             |  +--ro line-coding-bitrate?     identityref
             |  +--ro estimated-gsnr?          snr
             |  +--ro estimated-eol-gsnr?      snr
             |  +--ro estimated-lowest-gsnr?   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:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:numbered-node-hop/te: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 rx-channel-power?         power-dbm-or-unknown
       |        +--ro rx-total-power?           power-dbm-or-unknown
       |        +--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 estimated-gsnr?           snr
       |        +--ro estimated-eol-gsnr?       snr
       |        +--ro estimated-lowest-gsnr?    snr
       +--:(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 rx-channel-power?         power-dbm-or-unknown
       |        +--ro rx-total-power?           power-dbm-or-unknown
       |        +--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 estimated-gsnr?           snr
       |        +--ro estimated-eol-gsnr?       snr
       |        +--ro estimated-lowest-gsnr?    snr
       +--:(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 rx-channel-power?
       |     |     |       power-dbm-or-unknown
       |     |     +--ro rx-total-power?
       |     |     |       power-dbm-or-unknown
       |     |     +--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 estimated-gsnr?           snr
       |     |     +--ro estimated-eol-gsnr?       snr
       |     |     +--ro estimated-lowest-gsnr?    snr
       |     +--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 rx-channel-power?
       |           |       power-dbm-or-unknown
       |           +--ro rx-total-power?
       |           |       power-dbm-or-unknown
       |           +--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 estimated-gsnr?           snr
       |           +--ro estimated-eol-gsnr?       snr
       |           +--ro estimated-lowest-gsnr?    snr
       +--:(regenerators)
          +--ro regenerators
             +--ro common-incoming
             |  +--ro operational-mode?        string
             |  +--ro line-coding-bitrate?     identityref
             |  +--ro estimated-gsnr?          snr
             |  +--ro estimated-eol-gsnr?      snr
             |  +--ro estimated-lowest-gsnr?   snr
             +--ro common-outgoing
             |  +--ro operational-mode?        string
             |  +--ro line-coding-bitrate?     identityref
             |  +--ro estimated-gsnr?          snr
             |  +--ro estimated-eol-gsnr?      snr
             |  +--ro estimated-lowest-gsnr?   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:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:numbered-node-hop/te: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 rx-channel-power?         power-dbm-or-unknown
       |        +--ro rx-total-power?           power-dbm-or-unknown
       |        +--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 estimated-gsnr?           snr
       |        +--ro estimated-eol-gsnr?       snr
       |        +--ro estimated-lowest-gsnr?    snr
       +--:(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 rx-channel-power?         power-dbm-or-unknown
       |        +--ro rx-total-power?           power-dbm-or-unknown
       |        +--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 estimated-gsnr?           snr
       |        +--ro estimated-eol-gsnr?       snr
       |        +--ro estimated-lowest-gsnr?    snr
       +--:(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 rx-channel-power?
       |     |     |       power-dbm-or-unknown
       |     |     +--ro rx-total-power?
       |     |     |       power-dbm-or-unknown
       |     |     +--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 estimated-gsnr?           snr
       |     |     +--ro estimated-eol-gsnr?       snr
       |     |     +--ro estimated-lowest-gsnr?    snr
       |     +--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 rx-channel-power?
       |           |       power-dbm-or-unknown
       |           +--ro rx-total-power?
       |           |       power-dbm-or-unknown
       |           +--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 estimated-gsnr?           snr
       |           +--ro estimated-eol-gsnr?       snr
       |           +--ro estimated-lowest-gsnr?    snr
       +--:(regenerators)
          +--ro regenerators
             +--ro common-incoming
             |  +--ro operational-mode?        string
             |  +--ro line-coding-bitrate?     identityref
             |  +--ro estimated-gsnr?          snr
             |  +--ro estimated-eol-gsnr?      snr
             |  +--ro estimated-lowest-gsnr?   snr
             +--ro common-outgoing
             |  +--ro operational-mode?        string
             |  +--ro line-coding-bitrate?     identityref
             |  +--ro estimated-gsnr?          snr
             |  +--ro estimated-eol-gsnr?      snr
             |  +--ro estimated-lowest-gsnr?   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:te/te:lsps/te:lsp/te:lsp-actual-route-information
            /te:lsp-actual-route-information/te:type
            /te:numbered-node-hop/te: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 rx-channel-power?         power-dbm-or-unknown
       |        +--ro rx-total-power?           power-dbm-or-unknown
       |        +--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 pre-fec-ber
       |        |  +--ro timestamp?   yang:timestamp
       |        |  +--ro value?       decimal64
       |        +--ro q-factor
       |           +--ro timestamp?   yang:timestamp
       |           +--ro value?       l0-types:decimal-2-or-unknown
       +--:(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 rx-channel-power?         power-dbm-or-unknown
       |        +--ro rx-total-power?           power-dbm-or-unknown
       |        +--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 pre-fec-ber
       |        |  +--ro timestamp?   yang:timestamp
       |        |  +--ro value?       decimal64
       |        +--ro q-factor
       |           +--ro timestamp?   yang:timestamp
       |           +--ro value?       l0-types:decimal-2-or-unknown
       +--:(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 rx-channel-power?
       |     |     |       power-dbm-or-unknown
       |     |     +--ro rx-total-power?
       |     |     |       power-dbm-or-unknown
       |     |     +--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 pre-fec-ber
       |     |     |  +--ro timestamp?   yang:timestamp
       |     |     |  +--ro value?       decimal64
       |     |     +--ro q-factor
       |     |        +--ro timestamp?   yang:timestamp
       |     |        +--ro value?
       |     |                l0-types:decimal-2-or-unknown
       |     +--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 rx-channel-power?
       |           |       power-dbm-or-unknown
       |           +--ro rx-total-power?
       |           |       power-dbm-or-unknown
       |           +--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 pre-fec-ber
       |           |  +--ro timestamp?   yang:timestamp
       |           |  +--ro value?       decimal64
       |           +--ro q-factor
       |              +--ro timestamp?   yang:timestamp
       |              +--ro value?
       |                      l0-types:decimal-2-or-unknown
       +--:(regenerators)
          +--ro regenerators
             +--ro common-incoming
             |  +--ro operational-mode?      string
             |  +--ro line-coding-bitrate?   identityref
             |  +--ro pre-fec-ber
             |  |  +--ro timestamp?   yang:timestamp
             |  |  +--ro value?       decimal64
             |  +--ro q-factor
             |     +--ro timestamp?   yang:timestamp
             |     +--ro value?       l0-types:decimal-2-or-unknown
             +--ro common-outgoing
             |  +--ro operational-mode?      string
             |  +--ro line-coding-bitrate?   identityref
             |  +--ro pre-fec-ber
             |  |  +--ro timestamp?   yang:timestamp
             |  |  +--ro value?       decimal64
             |  +--ro q-factor
             |     +--ro timestamp?   yang:timestamp
             |     +--ro value?       l0-types:decimal-2-or-unknown
             +--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:te/te:lsps/te:lsp/te:lsp-actual-route-information
            /te:lsp-actual-route-information/te:type
            /te:numbered-link-hop/te:numbered-link-hop:
    +--ro e2e-mc-path-id*   uint16
  augment /te:te/te:lsps/te:lsp/te:lsp-actual-route-information
            /te:lsp-actual-route-information/te:type
            /te:unnumbered-link-hop/te:unnumbered-link-hop:
    +--ro e2e-mc-path-id*   uint16
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction:
    +--rw wdm-label-range
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-out-segment
            /te:label-restrictions/te:label-restriction:
    +--rw wdm-label-range
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te:label-restriction:
    +--rw wdm-label-range
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction:
    +--rw wdm-label-range
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction:
    +--rw wdm-label-range
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-out-segment/te:label-restrictions
            /te:label-restriction:
    +--rw wdm-label-range
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction:
    +--rw wdm-label-range
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction:
    +--rw wdm-label-range
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction:
    +--rw wdm-label-range
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction:
    +--rw wdm-label-range
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:explicit-route-objects
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wdm)
       +--rw wdm-label-step
          +--rw wson-dwdm-channel-spacing?   identityref
          +--rw wson-cwdm-channel-spacing?   identityref
          +--rw flexi-grid-cfg
             o--rw flexi-grid-channel-spacing?   identityref
             +--rw flexi-ncfg?                   identityref
             +--rw flexi-n-step?                 uint8
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-out-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wdm)
       +--rw wdm-label-step
          +--rw wson-dwdm-channel-spacing?   identityref
          +--rw wson-cwdm-channel-spacing?   identityref
          +--rw flexi-grid-cfg
             o--rw flexi-grid-channel-spacing?   identityref
             +--rw flexi-ncfg?                   identityref
             +--rw flexi-n-step?                 uint8
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:optimizations/te:algorithm/te:metric
            /te:optimization-metric/te:explicit-route-exclude-objects
            /te:route-object-exclude-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:optimizations/te:algorithm/te:metric
            /te:optimization-metric/te:explicit-route-include-objects
            /te:route-object-include-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:explicit-route-objects
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-start/te:te-label
            /te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-end/te:te-label
            /te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-step/te:technology:
    +--:(wdm)
       +--rw wdm-label-step
          +--rw wson-dwdm-channel-spacing?   identityref
          +--rw wson-cwdm-channel-spacing?   identityref
          +--rw flexi-grid-cfg
             o--rw flexi-grid-channel-spacing?   identityref
             +--rw flexi-ncfg?                   identityref
             +--rw flexi-n-step?                 uint8
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wdm)
       +--rw wdm-label-step
          +--rw wson-dwdm-channel-spacing?   identityref
          +--rw wson-cwdm-channel-spacing?   identityref
          +--rw flexi-grid-cfg
             o--rw flexi-grid-channel-spacing?   identityref
             +--rw flexi-ncfg?                   identityref
             +--rw flexi-n-step?                 uint8
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:label/te:label-hop/te:te-label/te: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
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path/te:optimizations
            /te:algorithm/te:metric/te:optimization-metric
            /te:explicit-route-exclude-objects
            /te:route-object-exclude-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path/te:optimizations
            /te:algorithm/te:metric/te:optimization-metric
            /te:explicit-route-include-objects
            /te:route-object-include-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:explicit-route-objects/te:route-object-exclude-always
            /te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-start/te:te-label
            /te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-end/te:te-label
            /te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-step/te:technology:
    +--:(wdm)
       +--rw wdm-label-step
          +--rw wson-dwdm-channel-spacing?   identityref
          +--rw wson-cwdm-channel-spacing?   identityref
          +--rw flexi-grid-cfg
             o--rw flexi-grid-channel-spacing?   identityref
             +--rw flexi-ncfg?                   identityref
             +--rw flexi-n-step?                 uint8
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-out-segment/te:label-restrictions
            /te:label-restriction/te:label-start/te:te-label
            /te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-out-segment/te:label-restrictions
            /te:label-restriction/te:label-end/te:te-label
            /te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-out-segment/te:label-restrictions
            /te:label-restriction/te:label-step/te:technology:
    +--:(wdm)
       +--rw wdm-label-step
          +--rw wson-dwdm-channel-spacing?   identityref
          +--rw wson-cwdm-channel-spacing?   identityref
          +--rw flexi-grid-cfg
             o--rw flexi-grid-channel-spacing?   identityref
             +--rw flexi-ncfg?                   identityref
             +--rw flexi-n-step?                 uint8
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:computed-paths-properties/te:computed-path-properties
            /te:path-properties/te:path-route-objects
            /te:path-route-object/te:type/te:label/te:label-hop
            /te:te-label/te: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
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:optimizations/te:algorithm
            /te:metric/te:optimization-metric
            /te:explicit-route-exclude-objects
            /te:route-object-exclude-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:optimizations/te:algorithm
            /te:metric/te:optimization-metric
            /te:explicit-route-include-objects
            /te:route-object-include-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:explicit-route-objects
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wdm)
       +--rw wdm-label-step
          +--rw wson-dwdm-channel-spacing?   identityref
          +--rw wson-cwdm-channel-spacing?   identityref
          +--rw flexi-grid-cfg
             o--rw flexi-grid-channel-spacing?   identityref
             +--rw flexi-ncfg?                   identityref
             +--rw flexi-n-step?                 uint8
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wdm)
       +--rw wdm-label-step
          +--rw wson-dwdm-channel-spacing?   identityref
          +--rw wson-cwdm-channel-spacing?   identityref
          +--rw flexi-grid-cfg
             o--rw flexi-grid-channel-spacing?   identityref
             +--rw flexi-ncfg?                   identityref
             +--rw flexi-n-step?                 uint8
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:label/te:label-hop/te:te-label/te: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
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:optimizations/te:algorithm
            /te:metric/te:optimization-metric
            /te:explicit-route-exclude-objects
            /te:route-object-exclude-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:optimizations/te:algorithm
            /te:metric/te:optimization-metric
            /te:explicit-route-include-objects
            /te:route-object-include-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:explicit-route-objects
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw (grid-type)?
             +--:(fixed-dwdm)
             |  +--rw (fixed-single-or-multi-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?               dwdm-n
             |     +--:(multi)
             |        +--rw subcarrier-dwdm-n*    dwdm-n
             +--:(cwdm)
             |  +--rw cwdm-n?                     cwdm-n
             +--:(flexi-grid)
                +--rw (single-or-super-channel)?
                   +--:(single)
                   |  +--rw flexi-n?              flexi-n
                   |  +--rw flexi-m?              flexi-m
                   o--:(super)
                   |  o--rw subcarrier-flexi-n* [flexi-n]
                   |     +--rw flexi-n    flexi-n
                   |     +--rw flexi-m?   flexi-m
                   +--:(multi)
                      +--rw frequency-slots
                         +--rw frequency-slot* [flexi-n]
                            +--rw flexi-n    flexi-n
                            +--rw flexi-m?   flexi-m
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wdm)
       +--rw wdm-label-step
          +--rw wson-dwdm-channel-spacing?   identityref
          +--rw wson-cwdm-channel-spacing?   identityref
          +--rw flexi-grid-cfg
             o--rw flexi-grid-channel-spacing?   identityref
             +--rw flexi-ncfg?                   identityref
             +--rw flexi-n-step?                 uint8
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wdm)
       +--rw wdm-label
          +--rw dwdm-n?    dwdm-n
          +--rw cwdm-n?    cwdm-n
          +--rw flexi-n?   flexi-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wdm)
       +--rw wdm-label-step
          +--rw wson-dwdm-channel-spacing?   identityref
          +--rw wson-cwdm-channel-spacing?   identityref
          +--rw flexi-grid-cfg
             o--rw flexi-grid-channel-spacing?   identityref
             +--rw flexi-ncfg?                   identityref
             +--rw flexi-n-step?                 uint8
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:label/te:label-hop/te:te-label/te: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
  augment /te:te/te:lsps/te:lsp/te:lsp-actual-route-information
            /te:lsp-actual-route-information/te:type/te:label
            /te:label-hop/te:te-label/te: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="yang-code">
        <name>YANG Code</name>
        <figure anchor="fig-wdm-tunnel-yang">
          <name>WDM Tunnel YANG module</name>
          <sourcecode type="yang" markers="true" name="ietf-wdm-tunnel@2026-02-27.yang"><![CDATA[
module ietf-wdm-tunnel {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-wdm-tunnel";
  prefix wdm-tnl;

  import ietf-te {
    prefix te;
    reference
      "RFC YYYY: A YANG Data Model for Traffic Engineering Tunnels,
       Label Switched Paths and Interfaces.";
  }

  /* RFC Ed.: replace YYYY with the number assigned
     to the RFC once draft-ietf-teas-yang-te becomes an RFC.*/

  import ietf-layer0-types {
    prefix l0-types;
  }
  import ietf-yang-types {
    prefix yang;
  }

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

     Editor:   Jorge E. Lopez de Vergara
               <jorge.lopez_vergara@uam.es>

     Editor:   Daniel Perdices
               <daniel.perdices@naudit.es>

     Editor:   Victor Lopez
               <victor.lopez@nokia.com>

     Editor:   Italo Busi
               <italo.busi@nokia.com>

     Editor:   Aihua Guo
               <aihuaguo.ietf@gmail.com>";
  description
    "This module defines a YANG data model for configuring
     and managing Wavelength-Division Multiplexing (WDM) switched
     optical tunnels.

     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
      "Updated revision with combined WSON and Flexi-grid tunnel
       YANG model";
    reference
      "RFC XXXX: YANG data model for WDM tunnels";
    // RFC Ed.: replace XXXX with actual RFC number, update date 
    // information and remove this note
  }

  /*
   * Identities
   */

  identity otsig-termination-type {
    description
      "Digital termination type applicable to OTSiG";
  }

  identity otsi-lane-termination-type {
    description
      "Digital termination type applicable to a single OTSi.
       The termination of an optical signal occurs at the
       reference point immediately before inverse multiplexing
       in the transmitting direction or immediately after
       inverse multiplexing in the receiving direction.";
  }

  identity digital-mapping-type {
    description
      "Digital mapping type for the client payload of
       transceivers";
  }

  identity inverse-mux-type {
    description
      "Inverse multiplexing type";
  }

  identity otsig-regeneration-layer {
    description
      "Level of 3R regeneration";
  }

  //TBD: types to be added
  /*
   * Groupings
   */

  grouping additional-transceiver-configuration-constraints {
    description
      "This grouping defines additional optional constraints for
       transceiver configurations related to tunnel selection.
       These constraints further limit the resources available
       to the tunnel. All constraints operate inclusively, using
       an AND logic. For example, if a specific frequency range
       is selected, the tunnel must also be constrained to match
       only that range.

       When these constraints are combined with the operational
       mode, the list of operational modes should exclude any
       modes that cannot satisfy the additional constraints.
       For instance, if the frequency is restricted to the C-band,
       the list of operational modes should not include any modes
       applicable only to the L-band.";
    leaf otsi-carrier-frequency {
      type l0-types:frequency-thz;
      description
        "OTSi carrier frequency, i.e. configured transmitter
         frequency.";
    }
    container tx-tune-constraints {
      description
        "The permissible tuning frequency range for the
         transmitter.";
      uses l0-types:transceiver-tuning-range;
    }
    leaf-list line-coding-bitrate {
      type identityref {
        base l0-types:line-coding;
      }
      description
        "The list of the bit rate/line coding of the optical
         tributary signal that constrains the configuration of
         the transceiver.";
      reference
        "ITU-T G.698.2 section 7.1.2";
    }
    leaf tx-channel-power {
      type l0-types:power-dbm;
      description
        "The preferred channel transmit power.";
    }
    leaf preferred-rx-channel-power {
      type l0-types:power-dbm;
      description
        "The preferred channel received power.";
    }
    uses l0-types:path-constraints;
  }

  grouping transceiver-constraints {
    description
      "This grouping defines constraints for transceiver
       configurations";
    leaf-list operational-modes {
      type string {
        length "1..255";
      }
      description
        "List of operational mode ids of the transceiver.";
    }
    uses additional-transceiver-configuration-constraints;
  }

  grouping transceiver-common-config {
    description
      "This grouping specifies common configurations
       for transceivers.";
    leaf transceiver-id {
      type uint32;
      description
        "Transceiver identifier";
    }
    leaf otsi-carrier-id {
      type uint16;
      description
        "OTSi carrier identifier associated with the
         transceiver.";
    }
    leaf otsi-carrier-frequency {
      type l0-types:frequency-thz;
      description
        "OTSi carrier frequency, i.e. configured transmitter
         frequency.";
    }
    leaf tx-channel-power {
      type l0-types:power-dbm;
      description
        "The preferred channel transmit power.";
    }
  }

  grouping regenerator-incoming-outgoing-common-state {
    description
      "This grouping specifies common states
       for incoming and outgoing transceivers
       associated with a regenerator group.";
    leaf operational-mode {
      type string {
        length "1..255";
      }
      description
        "Operational mode of the transceiver.";
    }
    leaf line-coding-bitrate {
      type identityref {
        base l0-types:line-coding;
      }
      description
        "The bit rate/line coding of the optical tributary
         signal that constrains the configuration of
         the transceiver.";
      reference
        "ITU-T G.698.2 section 7.1.2";
    }
  }

  grouping regenerator-incoming-outgoing-common-config {
    description
      "This grouping specifies common configurations
       for incoming and outgoing transceivers
       associated with a regenerator group.";
    uses regenerator-incoming-outgoing-common-state;
    leaf preferred-rx-channel-power {
      type l0-types:power-dbm;
      description
        "The preferred channel received power.";
    }
    uses l0-types:path-constraints;
  }

  grouping transponder-digital-termination-config {
    description
      "This grouping specifies the configuration of
       digital layer termination applicable to the
       transceivers.";
    container digital-terminations {
      description
        "Digital layer termination applicable to the transceivers.";
      list digital-termination {
        key "index";
        description
          "Sequence of digital layer terminations.";
        leaf index {
          type uint8;
          description
            "An index number used to identify entries in the list,
             organized in ascending order of their values.";
        }
        leaf termination-type {
          type identityref {
            base otsig-termination-type;
          }
          description
            "Digital layer termination before/after inverse
             multiplexing in the tx/rx direction of the transceiver,
             that applies to the whole OTSiG, also applicable to
             the special case when there is a single OTSi in the
             OTSiG, i.e. without inverse multiplexing.";
        }
        leaf mapping-type {
          type identityref {
            base digital-mapping-type;
          }
          description
            "Identifies the type of digital mapping of the
             client payload.";
        }
      }
    }
  }

  grouping transceiver-inverse-multiplexing-config {
    description
      "This grouping specifies inverse-multiplexing configurations
       applicable to multi-carrier transceivers.";
    container inverse-multiplexing {
      presence "When present, it indicates that the transceiver
                supports inverse multiplexing.";
      description
        "Transceiver configuration for inverse multiplexing.";
      leaf inverse-mux-type {
        type identityref {
          base inverse-mux-type;
        }
        description
          "Type of inverse multiplexing.";
      }
      leaf otsi-lane-termination-type {
        type identityref {
          base otsi-lane-termination-type;
        }
        description
          "Digital layer termination before/after inverse
           multiplexing in the rx/tx direction of the
           transceiver, that applies to a single OTSi within
           the inverse multiplexing group.";
      }
      container additional-transceivers {
        description
          "Configuration for additional transceivers with
           an index value 1 and higher within the same
           inverse multiplexing group.";
        leaf index {
          type uint8 {
            range "1..max";
          }
          description
            "The index of the transceiver in the inverse
             multiplexing group starting from value 1.";
        }
        uses transceiver-common-config;
      }
    }
  }

  grouping transceiver-config {
    description
      "This grouping specifies configurations for transceivers
       at source, destination nodes, as well as at regenerator
       nodes with a single pair of regenerator.";
    leaf transponder-id {
      type uint32;
      description
        "transponder identifier";
    }
    uses transponder-digital-termination-config;
    container transceiver {
      description
        "Specifies transceiver configurations. The attributes
         specified in this container, excluding those within
         the inverse-multiplexing container, apply to a single
         transceiver when inverse multiplexing is not supported,
         as well as to the first transceiver, identified by an
         index value of 0 when inverse multiplexing is enabled.

         Attributes within the inverse-multiplexing container
         are applicable exclusively to transceivers with an
         index value of 1 or higher, belonging to the same
         inverse multiplexing group.";
      uses transceiver-common-config;
      uses regenerator-incoming-outgoing-common-config;
      uses transceiver-inverse-multiplexing-config;
    }
  }

  grouping multi-regen-transceiver-config {
    description
      "This grouping specifies configurations for transceivers
       at at regenerator nodes with multiple pairs of
       regenerators.";
    leaf transponder-id {
      type uint32;
      description
        "transponder identifier";
    }
    container transceiver {
      description
        "Specifies transceiver configurations at a regenerator
         node with multiple pairs of regenerators.";
      uses transceiver-common-config;
    }
  }

  grouping regenerator-common-config {
    description
      "This grouping defines a set of common attributes
       applicable to 3R regenerators.";
    leaf regen-group-id {
      type uint32;
      description
        "3R group identifier.";
    }
    leaf regeneration-layer {
      type identityref {
        base otsig-regeneration-layer;
      }
      description
        "Indicate the chosen level of digital layer
         regeneration, e.g. ODU, FlexOnM, before/after inverse
         multiplexing in the tx/rx direction, that applies to
         the whole OTSiG. It also applies to the case when
         there is only one OTSi in the OTSiG, i.e. without
         inverse multiplexing, in which case the number of
         OTSis in the OTSiGs before/after the regenerator
         may be different.";
    }
  }

  grouping path-transceiver-config {
    description
      "This grouping defines a set of transceivers on a node,
       serving as either source transceivers, destination
       transceivers, or regenerators.";
    choice node-position {
      description
        "The relative position of the node within the path.";
      case source {
        container source-transponder {
          description
            "Constraints for configuring transceivers at the
             source node transponder.";
          uses transceiver-config;
        }
      }
      case destination {
        container destination-transponder {
          description
            "Constraints for configuring transceivers at the
             source node transponder.";
          uses transceiver-config;
        }
      }
      case regenerator {
        container regenerator {
          description
            "Constraints for configuring transponders at the
             regenerator node with a pair of transponder as
             regenerator.

             The forward direction refers to the direction of
             the optical path traversing from the source to the
             destination, while the reverse direction refers to
             direction of the optical path, traveling from the
             destination back to the source.

             For uni-directional regenerators, one transponder,
             labeled 'incoming', regenerates signals in the
             forward direction, while another transponder,
             labeled 'outgoing', handles signal regeneration
             in the reverse direction.

             For bi-directional, or back-to-back regenerators,
             one transponder, labeled 'incoming', receives and
             transmits signal from/to the same segment of the
             optical path toward the source, while another
             transponder, labeled 'outgoing', receives and
             transmits signal from/to the same segment of the
             optical path toward the destination.";
          uses regenerator-common-config;
          container incoming-transponder {
            description
              "Constraints for transceiver configurations in the
               incoming direction of the regenerator.";
            uses transceiver-config;
          }
          container outgoing-transponder {
            description
              "Constraints for transceiver configurations at the
               outgoing direction of the regenerator";
            uses transceiver-config;
          }
        }
      }
      case regenerators {
        container regenerators {
          description
            "Constraints for configuring transponders at the
             regenerator node with multiple transponder pairs
             (therefore, in multiple regenerator groups) as
             regenerators. A such example is described in
             ITU-T G.798 Amd.3 for FlexOxR.

             The forward direction refers to the direction of
             the optical path traversing from the source to the
             destination, while the reverse direction refers to
             direction of the optical path, traveling from the
             destination back to the source.

             For uni-directional regenerators, mulitple
             transponders, labeled 'incoming', together regenerate
             signals in the forward direction, while another
             multiple transponders, labeled 'outgoing', handles
             signal regeneration in the reverse direction.

             For bi-directional, or back-to-back regenerators,
             mulitple transponder, labeled 'incoming', receive and
             transmits signal from/to the same segment of the
             optical path toward the source, while another
             multiple transponder, labeled 'outgoing', receives and
             transmits signal from/to the same segment of the
             optical path toward the destination.";
          container common-incoming {
            description
              "Common configuration for transponders in the incoming
               direction.";
            uses regenerator-incoming-outgoing-common-config;
          }
          container common-outgoing {
            description
              "Common configuration for transponders in the outgoing
               direction.";
            uses regenerator-incoming-outgoing-common-config;
          }
          list regenerator {
            key "index";
            description
              "A list of regenerators used at the regenerator
               node.";
            leaf index {
              type uint8;
              description
                "An index number used to identify a regenerator
                 in the list, organized in ascending order of their
                 values.";
            }
            uses regenerator-common-config;
            container incoming-transponder {
              description
                "Constraints for transceiver configurations in the
                 incoming direction of the regenerator.";
              uses multi-regen-transceiver-config;
            }
            container outgoing-transponder {
              description
                "Constraints for transceiver configurations at the
                 outgoing direction of the regenerator";
              uses multi-regen-transceiver-config;
            }
          }
        }
      }
    }
  }

  grouping transceiver-measured-parameters {
    description
      "Measured transceiver parameters.";
    container pre-fec-ber {
      description
        "Timestamp and value of the Pre-FEC Bit Error Rate (BER)
         of the received signal.";
      leaf timestamp {
        type yang:timestamp;
        description
          "Timestamp associated with the Pre-FEC BER.";
      }
      leaf value {
        type decimal64 {
          fraction-digits 18;
        }
        description
          "Pre-FEC BER of the received signal.";
      }
    }
    container q-factor {
      description
        "Timestamp and value of the estimated Q-factor based on
         the pre-FEC BER.";
      leaf timestamp {
        type yang:timestamp;
        description
          "Timestamp associated with the Q-factor.";
      }
      leaf value {
        type l0-types:decimal-2-or-unknown;
        units "dB";
        description
          "Estimated Q-factor based on the pre-FEC BER.";
      }
    }
  }

  grouping transceiver-state {
    description
      "This grouping specifies transceiver state parameters
       at source, destination nodes, as well as at regenerator
       nodes with a single pair of regenerator.";
    leaf transponder-id {
      type uint32;
      description
        "transponder identifier";
    }
    uses transponder-digital-termination-config;
    container transceiver {
      description
        "Specifies transceiver states. The attributes
         specified in this container, excluding those within
         the inverse-multiplexing container, apply to a single
         transceiver when inverse multiplexing is not supported,
         as well as to the first transceiver, identified by an
         index value of 0 when inverse multiplexing is enabled.

         Attributes within the inverse-multiplexing container
         are applicable exclusively to transceivers with an
         index value of 1 or higher, belonging to the same
         inverse multiplexing group.";
      uses transceiver-common-config;
      uses regenerator-incoming-outgoing-common-state;
      uses l0-types:common-transceiver-readonly-param;
      uses transceiver-inverse-multiplexing-config;
    }
  }

  grouping e2e-media-channel-info {
    description
      "This grouping includes end-to-end media channel path id
       information.";
    leaf-list e2e-mc-path-id {
      type uint16;
      description
        "The list of the possible end-to-end Media Channel
         (e2e-MC) paths associated with the OTSi which have
         different optical impairments.

         This list is meaningful in case the OTSi can be associated
         with multiple end-to-end Media Channel (e2e-MC) paths
         (e.g., when OPS protection is configured).

         The list can be empty when the OTSi has only one
         e2e-MC path.";
    }
  }

  grouping path-transceiver-state {
    description
      "This grouping defines a set of transceivers on a node,
       serving as either source transceivers, destination
       transceivers, or regenerators.";
    choice node-position {
      description
        "The relative position of the node within the path.";
      case source {
        container source-transponder {
          description
            "Transceiver states at the source node transponder.";
          uses transceiver-state;
        }
      }
      case destination {
        container destination-transponder {
          description
            "Transceiver states at the destination node
             transponder.";
          uses transceiver-state;
        }
      }
      case regenerator {
        container regenerator {
          description
            "The states of a regenerator node with a pair of
             transponder as regenerator.

             The forward direction refers to the direction of
             the optical path traversing from the source to the
             destination, while the reverse direction refers to
             direction of the optical path, traveling from the
             destination back to the source.

             For uni-directional regenerators, one transponder,
             labeled 'incoming', regenerates signals in the
             forward direction, while another transponder,
             labeled 'outgoing', handles signal regeneration
             in the reverse direction.

             For bi-directional, or back-to-back regenerators,
             one transponder, labeled 'incoming', receives and
             transmits signal from/to the same segment of the
             optical path toward the source, while another
             transponder, labeled 'outgoing', receives and
             transmits signal from/to the same segment of the
             optical path toward the destination.";
          uses regenerator-common-config;
          container incoming-transponder {
            description
              "Constraints for transceiver configurations in the
               incoming direction of the regenerator.";
            uses transceiver-state;
          }
          container outgoing-transponder {
            description
              "Constraints for transceiver configurations at the
               outgoing direction of the regenerator";
            uses transceiver-state;
          }
        }
      }
      case regenerators {
        container regenerators {
          description
            "Regenerator states at a regenerator node formed by
             multiple parallel regenerators. A such example is
             described in ITU-T G.798 Amd.3 for FlexOxR.

             The forward direction refers to the direction of
             the optical path traversing from the source to the
             destination, while the reverse direction refers to
             direction of the optical path, traveling from the
             destination back to the source.

             For uni-directional regenerators, mulitple
             transponders, labeled 'incoming', together regenerate
             signals in the forward direction, while another
             multiple transponders, labeled 'outgoing', handles
             signal regeneration in the reverse direction.

             For bi-directional, or back-to-back regenerators,
             mulitple transponder, labeled 'incoming', receive and
             transmits signal from/to the same segment of the
             optical path toward the source, while another
             multiple transponder, labeled 'outgoing', receives and
             transmits signal from/to the same segment of the
             optical path toward the destination.";
          container common-incoming {
            description
              "Common configuration for transponders in the incoming
               direction.";
            uses regenerator-incoming-outgoing-common-state;
          }
          container common-outgoing {
            description
              "Common configuration for transponders in the outgoing
               direction.";
            uses regenerator-incoming-outgoing-common-state;
          }
          list regenerator {
            key "index";
            description
              "A list of regenerators used at the
               regenerator node.";
            leaf index {
              type uint8;
              description
                "An index number used to identify a regenerator
                 in the list, organized in ascending order of their
                 values.";
            }
            uses regenerator-common-config;
            container incoming-transponder {
              description
                "Constraints for transceiver configurations in the
                 incoming direction of the regenerator.";
              uses multi-regen-transceiver-config;
            }
            container outgoing-transponder {
              description
                "Constraints for transceiver configurations at the
                 outgoing direction of the regenerator";
              uses multi-regen-transceiver-config;
            }
          }
        }
      }
    }
  }

  grouping global-transceiver-constraint {
    description
      "This grouping defines the constraints for transceiver
       configurations.";
    container transceiver-constraint {
      description
        "Constraints for transceiver configurations";
      uses transceiver-constraints;
    }
  }

  grouping wdm-constraint {
    description
      "Grouping for WDM tunnel constraints";
    container wdm-constraint {
      description
        "WDM tunnel constraints.";
      uses global-transceiver-constraint;
      leaf use-regen {
        type boolean;
        default "false";
        description
          "Indicate whether or not regenerators (e.g. 3R) should be
           considered. When this parameter is set to true, the
           tunnel path may include a regen when the path is not
           feasible for direct optical reach.";
      }
      /*
      leaf-list regen-levels {
        when '../use-regen = "true"' {
          description
            "Regenerator must be enabled for the regen levels
             to be considered.";
        }
        //type l0-types:regen-level;
        type string;
        description
          "Indicate the levels of 3R regeration permitted by
           the tunnel.";
      }
       */
      leaf wavelength-conversion {
        when '../use-regen = "true"' {
          description
            "Regenerator must be enabled for wavelength conversion
             to be considered.";
        }
        type boolean;
        default "false";
        description
          "Indicate whether or not wavelength conversion is allowed
           along the tunnel path. Applicable only when 3R
           regeneration is enabled.";
      }
      uses l0-types:tunnel-attributes;
      leaf guard-band-size {
        type l0-types:frequency-thz;
        description
          "Guard band size in THz.";
      }
      leaf matching-fwd-rev-wavelength {
        type boolean;
        default "true";
        description
          "Indicate whether or not the assigned channels for
           forward and reverse wavelength path must be the same.";
      }
      leaf allow-retuning {
        type boolean;
        default "false";
        description
          "Indicate whether or not re-tuning is allowed when one or
           more paths of a WDM tunnel is being restored. Typically,
           wavelength retuning is not preferred for wavelength
           planning considerations.";
      }
      leaf delta-power {
        type l0-types:power-ratio;
        description
          "Delta power in dB indicating the per-channel power
           deviation from the nominal power per channel at the
           output of an OMS.";
      }
    }
  }

  /*
   * Data nodes
   */
  /*
   * Global constraints for WDM tunnel
   */

  augment "/te:te/te:tunnels/te:tunnel" {
    description
      "Augment with additional parameters required for WDM
       tunnel configurations.";
    uses wdm-constraint;
    //uses digital-layer-constraint;
  }

  /*
   * Transceiver constraints for primary path
   * Applicable to starting, terminating and regenerator
   * transceivers.
   */

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:explicit-route-objects/"
        + "te:route-object-include-exclude/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE primary explicit path (include or exclude)
       with transceiver configurations.";
    uses path-transceiver-config;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:explicit-route-objects/"
        + "te:route-object-exclude-always/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE primary explicit path (exclude always)
       with transceiver configurations.";
    uses path-transceiver-config;
  }

  /*
   * Transceiver constraints for primary reverse path
   * Applicable to starting, terminating and regenerator
   * transceivers.
   */

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:primary-reverse-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-include-exclude/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE primary reverse explicit path (include or exclude)
       with transceiver configurations.";
    uses path-transceiver-config;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:primary-reverse-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-exclude-always/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE primary reverse explicit path (exclude always)
       with transceiver configurations.";
    uses path-transceiver-config;
  }

  /*
   * Transceiver constraints for secondary path
   * Applicable to starting, terminating and regenerator
   * transceivers.
   */

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths/"
        + "te:secondary-path/te:explicit-route-objects/"
        + "te:route-object-include-exclude/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE secondary explicit path (include or exclude)
       with transceiver configurations.";
    uses path-transceiver-config;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths/"
        + "te:secondary-path/te:explicit-route-objects/"
        + "te:route-object-exclude-always/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE secondary explicit path (exclude always)
       with transceiver configurations.";
    uses path-transceiver-config;
  }

  /*
   * Transceiver constraints for secondary reverse path
   * Applicable to starting, terminating and regenerator
   * transceivers.
   */

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-include-exclude/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE secondary reverse explicit path (include or
       exclude) with transceiver configurations.";
    uses path-transceiver-config;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-exclude-always/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE secondary reverse explicit path (exclude always)
       with transceiver configurations.";
    uses path-transceiver-config;
  }

  /*
   * Computed transceiver properties for primary path.
   */

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE computed primary path with transceiver
       properties.";
    uses path-transceiver-state;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:source/"
        + "wdm-tnl:source-transponder/wdm-tnl:transceiver" {
    description
      "Augment source transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:destination/"
        + "wdm-tnl:destination-transponder/wdm-tnl:transceiver" {
    description
      "Augment destination transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerator/"
        + "wdm-tnl:regenerator/"
        + "wdm-tnl:incoming-transponder/wdm-tnl:transceiver" {
    description
      "Augment regen incoming transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerator/"
        + "wdm-tnl:regenerator/"
        + "wdm-tnl:outgoing-transponder/wdm-tnl:transceiver" {
    description
      "Augment regen outgoing transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerators/"
        + "wdm-tnl:regenerators/wdm-tnl:common-incoming" {
    description
      "Augment regen incoming transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerators/"
        + "wdm-tnl:regenerators/wdm-tnl:common-outgoing" {
    description
      "Augment regen outgoing transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  /*
   * Computed transceiver properties for primary reverse path.
   */

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:primary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE computed primary path with transceiver
       properties.";
    uses path-transceiver-state;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:primary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:source/"
        + "wdm-tnl:source-transponder/wdm-tnl:transceiver" {
    description
      "Augment source transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:primary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:destination/"
        + "wdm-tnl:destination-transponder/wdm-tnl:transceiver" {
    description
      "Augment destination transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:primary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerator/"
        + "wdm-tnl:regenerator/"
        + "wdm-tnl:incoming-transponder/wdm-tnl:transceiver" {
    description
      "Augment regen incoming transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:primary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerator/"
        + "wdm-tnl:regenerator/"
        + "wdm-tnl:outgoing-transponder/wdm-tnl:transceiver" {
    description
      "Augment regen outgoing transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:primary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerators/"
        + "wdm-tnl:regenerators/wdm-tnl:common-incoming" {
    description
      "Augment regen incoming transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths/"
        + "te:primary-path/te:primary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerators/"
        + "wdm-tnl:regenerators/wdm-tnl:common-outgoing" {
    description
      "Augment regen outgoing transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  /*
   * Computed transceiver properties for secondary path.
   */

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths/"
        + "te:secondary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE computed primary path with transceiver
       properties.";
    uses path-transceiver-state;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths/"
        + "te:secondary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:source/"
        + "wdm-tnl:source-transponder/wdm-tnl:transceiver" {
    description
      "Augment source transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths/"
        + "te:secondary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:destination/"
        + "wdm-tnl:destination-transponder/wdm-tnl:transceiver" {
    description
      "Augment destination transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths/"
        + "te:secondary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerator/"
        + "wdm-tnl:regenerator/"
        + "wdm-tnl:incoming-transponder/wdm-tnl:transceiver" {
    description
      "Augment regen incoming transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths/"
        + "te:secondary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerator/"
        + "wdm-tnl:regenerator/"
        + "wdm-tnl:outgoing-transponder/wdm-tnl:transceiver" {
    description
      "Augment regen outgoing transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths/"
        + "te:secondary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerators/"
        + "wdm-tnl:regenerators/wdm-tnl:common-incoming" {
    description
      "Augment regen incoming transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths/"
        + "te:secondary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerators/"
        + "wdm-tnl:regenerators/wdm-tnl:common-outgoing" {
    description
      "Augment regen outgoing transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  /*
   * Computed transceiver properties for secondary reverse path.
   */

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE computed primary path with transceiver
       properties.";
    uses path-transceiver-state;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:source/"
        + "wdm-tnl:source-transponder/wdm-tnl:transceiver" {
    description
      "Augment source transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:destination/"
        + "wdm-tnl:destination-transponder/wdm-tnl:transceiver" {
    description
      "Augment destination transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerator/"
        + "wdm-tnl:regenerator/"
        + "wdm-tnl:incoming-transponder/wdm-tnl:transceiver" {
    description
      "Augment regen incoming transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerator/"
        + "wdm-tnl:regenerator/"
        + "wdm-tnl:outgoing-transponder/wdm-tnl:transceiver" {
    description
      "Augment regen outgoing transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerators/"
        + "wdm-tnl:regenerators/wdm-tnl:common-incoming" {
    description
      "Augment regen incoming transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerators/"
        + "wdm-tnl:regenerators/wdm-tnl:common-outgoing" {
    description
      "Augment regen outgoing transceiver with additional estimated
       parameters.";
    uses l0-types:path-properties;
  }

  /*
   * Actual transceiver state.
   */

  augment "/te:te/te:lsps/te:lsp/"
        + "te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop" {
    description
      "Augment TE LSP with WDM path state.";
    uses path-transceiver-state;
  }

  augment "/te:te/te:lsps/te:lsp/"
        + "te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:source/"
        + "wdm-tnl:source-transponder/wdm-tnl:transceiver" {
    description
      "Augment source transceiver with additional measured
       parameters.";
    uses transceiver-measured-parameters;
  }

  augment "/te:te/te:lsps/te:lsp/"
        + "te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:destination/"
        + "wdm-tnl:destination-transponder/wdm-tnl:transceiver" {
    description
      "Augment destination transceiver with additional measured
       parameters.";
    uses transceiver-measured-parameters;
  }

  augment "/te:te/te:lsps/te:lsp/"
        + "te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerator/"
        + "wdm-tnl:regenerator/"
        + "wdm-tnl:incoming-transponder/wdm-tnl:transceiver" {
    description
      "Augment regen incoming transceiver with additional measured
       parameters.";
    uses transceiver-measured-parameters;
  }

  augment "/te:te/te:lsps/te:lsp/"
        + "te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerator/"
        + "wdm-tnl:regenerator/"
        + "wdm-tnl:outgoing-transponder/wdm-tnl:transceiver" {
    description
      "Augment regen outgoing transceiver with additional measured
       parameters.";
    uses transceiver-measured-parameters;
  }

  augment "/te:te/te:lsps/te:lsp/"
        + "te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerators/"
        + "wdm-tnl:regenerators/wdm-tnl:common-incoming" {
    description
      "Augment regen incoming transceiver with additional measured
       parameters.";
    uses transceiver-measured-parameters;
  }

  augment "/te:te/te:lsps/te:lsp/"
        + "te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/"
        + "te:numbered-node-hop/te:numbered-node-hop/"
        + "wdm-tnl:node-position/wdm-tnl:regenerators/"
        + "wdm-tnl:regenerators/wdm-tnl:common-outgoing" {
    description
      "Augment regen outgoing transceiver with additional measured
       parameters.";
    uses transceiver-measured-parameters;
  }

  augment "/te:te/te:lsps/te:lsp/"
        + "te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/"
        + "te:numbered-link-hop/te:numbered-link-hop" {
    description
      "Augment TE LSP with end-to-end media channel
       information.";
    uses e2e-media-channel-info;
  }

  augment "/te:te/te:lsps/te:lsp/"
        + "te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/"
        + "te:unnumbered-link-hop/te:unnumbered-link-hop" {
    description
      "Augment TE LSP with end-to-end media channel
       information.";
    uses e2e-media-channel-info;
  }

  /*
   * Augment TE label range information
   */

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:label-restrictions/te:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
       of the named path constraint.";
    uses l0-types:wdm-label-range-info;
  }

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"
        + "te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the egress segment
       of the named path constraint.";
    uses l0-types:wdm-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
       of the primay path.";
    uses l0-types:wdm-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the egress segment
       of the primay path.";
    uses l0-types:wdm-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
       of the primay reverse path.";
    uses l0-types:wdm-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the egress segment
       of the primay reverse path.";
    uses l0-types:wdm-label-range-info;
  }

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

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

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
       of the secondary reverse path.";
    uses l0-types:wdm-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the egress segment
       of the secondary reverse path.";
    uses l0-types:wdm-label-range-info;
  }

  /*
   * Augment TE label.
   */

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/"
        + "te:explicit-route-objects/"
        + "te:route-object-exclude-always/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the explicit route objects always
       excluded by the path computation with the named path
       constraint.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/"
        + "te:explicit-route-objects/"
        + "te:route-object-include-exclude/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the explicit route objects included
       or excluded by the path computation with the named path
       constraint.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range start for the ingress segment
       of the named path constraint.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range end for the ingress segment
       of the named path constraint.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:label-restrictions/te:label-restriction/"
        + "te:label-step/te:technology" {
    description
      "Augment TE label range step for the ingress segment
       of the named path constraint.";
    case wdm {
      uses l0-types:wdm-label-step;
    }
  }

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"
        + "te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range start for the egress segment
       of the named path constraint.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"
        + "te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range end for the egress segment
       of the named path constraint.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"
        + "te:label-restrictions/te:label-restriction/"
        + "te:label-step/te:technology" {
    description
      "Augment TE label range step for the egress segment
       of the named path constraint.";
    case wdm {
      uses l0-types:wdm-label-step;
    }
  }

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

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

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

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

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range start for the ingress segment
       of the primay path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range end for the ingress segment
       of the primay path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-step/te:technology" {
    description
      "Augment TE label range step for the ingress segment
       of the primay path.";
    case wdm {
      uses l0-types:wdm-label-step;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range start for the egress segment
       of the primay path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range end for the egress segment
       of the primay path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-step/te:technology" {
    description
      "Augment TE label range end for the egress segment
       of the primay path.";
    case wdm {
      uses l0-types:wdm-label-step;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/"
        + "te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the route object of the computed
       primary path.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }

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

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

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-exclude-always/"
        + "te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the explicit route objects always
       excluded by the path computation of the primary reverse
       path.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-include-exclude/"
        + "te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the explicit route objects included
       or excluded by the path computation of the primary reverse
       path.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range start for the ingress segment
       of the primay reverse path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range end for the ingress segment
       of the primay reverse path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-step/te:technology" {
    description
      "Augment TE label range step for the ingress segment
       of the primay reverse path.";
    case wdm {
      uses l0-types:wdm-label-step;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range start for the egress segment
       of the primay reverse path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range end for the egress segment
       of the primay reverse path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-step/te:technology" {
    description
      "Augment TE label range step for the egress segment
       of the primay reverse path.";
    case wdm {
      uses l0-types:wdm-label-step;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/"
        + "te:path-properties/te:path-route-objects/"
        + "te:path-route-object/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the route object of the computed
       primary reverse path.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }

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

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

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

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

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range start for the ingress segment
       of the secondary path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range end for the ingress segment
       of the secondary path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-step/te:technology" {
    description
      "Augment TE label range step for the ingress segment
       of the secondary path.";
    case wdm {
      uses l0-types:wdm-label-step;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range start for the egress segment
       of the secondary path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range end for the egress segment
       of the secondary path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-step/te:technology" {
    description
      "Augment TE label range step for the egress segment
       of the secondary path.";
    case wdm {
      uses l0-types:wdm-label-step;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/"
        + "te:path-properties/te:path-route-objects/"
        + "te:path-route-object/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the route object of the computed
       secondary path.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }

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

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

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-exclude-always/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the explicit route objects always
       excluded by the path computation of the secondary reverse
       path.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-include-exclude/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the explicit route objects included
       or excluded by the path computation of the secondary reverse
       path.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range start for the ingress segment
       of the secondary reverse path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range end for the ingress segment
       of the secondary reverse path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-step/te:technology" {
    description
      "Augment TE label range step for the ingress segment
       of the secondary reverse path.";
    case wdm {
      uses l0-types:wdm-label-step;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range start for the egress segment
       of the secondary reverse path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description
      "Augment TE label range end for the egress segment
       of the secondary reverse path.";
    case wdm {
      uses l0-types:wdm-label-start-end;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction/te:label-step/te:technology" {
    description
      "Augment TE label range step for the egress segment
       of the secondary reverse path.";
    case wdm {
      uses l0-types:wdm-label-step;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/"
        + "te:path-properties/te:path-route-objects/"
        + "te:path-route-object/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the route object of the computed
       secondary reverse path.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }

  augment "/te:te/te:lsps/"
        + "te:lsp/te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the actual route of the LSP.";
    case wdm {
      uses l0-types:wdm-label-hop;
    }
  }
}
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The configuration, state, and action data defined in this document
are designed to be accessed via a management protocol with a secure
transport layer, such as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.
The NETCONF access control model <xref target="RFC8341"/> provides the means to
restrict access for particular NETCONF users to a preconfigured
subset of all available NETCONF protocol operations and content.</t>
      <t>There are a number of data nodes defined in this YANG module that are
writable/creatable/deletable (i.e., config true, which is the
default).  These data nodes may be considered sensitive or vulnerable
in some network environments.  Write operations (e.g., edit-config)
to these data nodes without proper protection can have a negative
effect on network operations.  These are the subtrees and data nodes
and their sensitivity/vulnerability:</t>
      <ul spacing="normal">
        <li>
          <t>/te:te/te:tunnels/te:tunnel</t>
        </li>
        <li>
          <t>/te:te/.../te:te-bandwidth/te:technology</t>
        </li>
        <li>
          <t>/te:te/.../te:type/te:label/te:label-hop/te:te-label/te:technology</t>
        </li>
        <li>
          <t>/te:te/.../te:label-restrictions/te:label-restriction/te:label-
start/te:te-label/te:technology</t>
        </li>
        <li>
          <t>/te:te/.../te:label-restrictions/te:label-restriction/te:label-
end/te:te-label/te:technology</t>
        </li>
        <li>
          <t>/te:te/.../te:label-restrictions/te:label-restriction/</t>
        </li>
      </ul>
      <t>Editors note: we are using simplified description by folding similar
branches to avoid repetition.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests IANA to register the following URIs in the "ns" subregistry within the "IETF XML Registry" <xref target="RFC3688"/>. Following the format in <xref target="RFC3688"/>, the following registrations are requested.</t>
      <artwork><![CDATA[
   URI: urn:ietf:params:xml:ns:yang:ietf-wdm-tunnel
   Registrant Contact: The IESG
   XML: N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>This document requests IANA to register the following YANG modules in the "IANA Module Names" <xref target="RFC6020"/>. Following the format in <xref target="RFC6020"/>, the following registrations are requested:</t>
      <artwork><![CDATA[
   name: ietf-wdm-tunnel
   namespace: urn:ietf:params:xml:ns:yang:ietf-wdm-tunnel
   prefix: wdm-tnl
   reference: RFC XXXX
]]></artwork>
      <t>RFC Editor: Please replace XXXX with the RFC number assigned to this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <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="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="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="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="I-D.ietf-ccamp-optical-impairment-topology-yang">
          <front>
            <title>A YANG Data Model for Optical Impairment-aware Topology</title>
            <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="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Gabriele Galimberti" initials="G." surname="Galimberti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="22" month="June" year="2026"/>
            <abstract>
              <t>   Provisioning an optical connection requires that path continuity,
   resource availability, and impairment constraints be satisfied in
   order to determine viable paths through the network.  This process is
   known as Impairment-Aware Routing and Wavelength Assignment (IA-RWA)
   in Wavelength Switched Optical Networks (WSONs) and as Impairment-
   Aware Routing and Spectrum Assignment (IA-RSA) in Spectrum Switched
   Optical Networks (SSONs).

   This document defines a YANG data model for impairment-aware Traffic
   Engineering (TE) topologies in optical networks.  The model augments
   the technology-agnostic YANG data model for TE topologies and
   provides read-only topology information, including optical
   impairments.  Such information can be used, for example, by a Path
   Computation Engine (PCE) to compute optically feasible paths prior to
   connection establishment.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-optical-impairment-topology-yang-24"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-flexigrid-yang">
          <front>
            <title>A YANG Data Model for Flexi-Grid Optical Networks</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="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung</organization>
            </author>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="2" month="February" year="2026"/>
            <abstract>
              <t>   This document defines a YANG module for managing flexi-grid optical
   networks.  The model defined in this document specifies a flexi-grid
   traffic engineering database that is used to describe the topology of
   a flexi-grid network.  It is based on and augments existing YANG
   models that describe network and traffic engineering topologies.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-flexigrid-yang-19"/>
        </reference>
        <reference anchor="RFC9094">
          <front>
            <title>A YANG Data Model for Wavelength Switched Optical Networks (WSONs)</title>
            <author fullname="H. Zheng" initials="H." surname="Zheng"/>
            <author fullname="Y. Lee" initials="Y." surname="Lee"/>
            <author fullname="A. Guo" initials="A." surname="Guo"/>
            <author fullname="V. Lopez" initials="V." surname="Lopez"/>
            <author fullname="D. King" initials="D." surname="King"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>This document provides a YANG data model for the routing and wavelength assignment (RWA) TE topology in Wavelength Switched Optical Networks (WSONs). The YANG data model defined in this document conforms to the Network Management Datastore Architecture (NMDA).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9094"/>
          <seriesInfo name="DOI" value="10.17487/RFC9094"/>
        </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="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>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6163">
          <front>
            <title>Framework for GMPLS and Path Computation Element (PCE) Control of Wavelength Switched Optical Networks (WSONs)</title>
            <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
            <author fullname="G. Bernstein" initials="G." role="editor" surname="Bernstein"/>
            <author fullname="W. Imajuku" initials="W." surname="Imajuku"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>This document provides a framework for applying Generalized Multi-Protocol Label Switching (GMPLS) and the Path Computation Element (PCE) architecture to the control of Wavelength Switched Optical Networks (WSONs). In particular, it examines Routing and Wavelength Assignment (RWA) of optical paths.</t>
              <t>This document focuses on topological elements and path selection constraints that are common across different WSON environments; as such, it does not address optical impairments in any depth. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6163"/>
          <seriesInfo name="DOI" value="10.17487/RFC6163"/>
        </reference>
        <reference anchor="RFC7698">
          <front>
            <title>Framework and Requirements for GMPLS-Based Control of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM) Networks</title>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="R. Casellas" initials="R." role="editor" surname="Casellas"/>
            <author fullname="F. Zhang" initials="F." surname="Zhang"/>
            <author fullname="X. Fu" initials="X." surname="Fu"/>
            <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
            <author fullname="I. Hussain" initials="I." surname="Hussain"/>
            <date month="November" year="2015"/>
            <abstract>
              <t>To allow efficient allocation of optical spectral bandwidth for systems that have high bit-rates, the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) has extended its Recommendations G.694.1 and G.872 to include a new Dense Wavelength Division Multiplexing (DWDM) grid by defining a set of nominal central frequencies, channel spacings, and the concept of the "frequency slot". In such an environment, a data-plane connection is switched based on allocated, variable-sized frequency ranges within the optical spectrum, creating what is known as a flexible grid (flexi-grid).</t>
              <t>Given the specific characteristics of flexi-grid optical networks and their associated technology, this document defines a framework and the associated control-plane requirements for the application of the existing GMPLS architecture and control-plane protocols to the control of flexi-grid DWDM networks. The actual extensions to the GMPLS protocols will be defined in companion documents.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7698"/>
          <seriesInfo name="DOI" value="10.17487/RFC7698"/>
        </reference>
      </references>
    </references>
    <?line 6103?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This work is also partially funded by the Spanish State Research
Agency under the project AgileMon (AEI PID2019-104451RB-C21) and by
the Spanish Ministry of Science, Innovation and Universities under
the program for the training of university lecturers (Grant number:
FPU19/05678).</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>
      <contact initials="H." surname="Zheng" fullname="Haomian Zheng">
        <organization>Huawei Technologies</organization>
        <address>
          <postal>
            <street>H1, Xiliu Beipo Village, Songshan Lake</street>
            <city>Dongguan</city>
            <country>China</country>
          </postal>
          <email>zhenghaomian@huawei.com</email>
        </address>
      </contact>
      <contact initials="I." surname="Busi" fullname="Italo Busi">
        <organization>Huawei Technologies</organization>
        <address>
          <email>italo.busi@huawei.com</email>
        </address>
      </contact>
      <contact initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
        <organization>Telefonica</organization>
        <address>
          <email>oscar.gonzalezdedios@telefonica.com</email>
        </address>
      </contact>
      <contact initials="V." surname="Lopez" fullname="Victor Lopez">
        <organization>Nokia</organization>
        <address>
          <email>victor.lopez@nokia.com</email>
        </address>
      </contact>
      <contact initials="D." surname="Beller" fullname="Dieter Beller">
        <organization>Nokia</organization>
        <address>
          <email>Dieter.Beller@nokia.com</email>
        </address>
      </contact>
      <contact initials="R." surname="Vilalta" fullname="Ricard Vilalta">
        <organization>CTTC</organization>
        <address>
          <email>ricard.vilalta@cttc.es</email>
        </address>
      </contact>
      <contact initials="Y." surname="Lee" fullname="Young Lee">
        <organization>Samsung</organization>
        <address>
          <email>younglee.tx@gmail.com</email>
        </address>
      </contact>
      <contact initials="B. Y." surname="Yoon" fullname="Bin Yeong Yoon">
        <organization>ETRI</organization>
        <address>
          <email>byyun@etri.re.kr</email>
        </address>
      </contact>
      <contact initials="D. M." surname="Vallinoto" fullname="Daniel Michaud Vallinoto">
        <organization>Universidad Autonoma de Madrid</organization>
        <address>
          <email>daniel.michaud@estudiante.uam.es</email>
        </address>
      </contact>
      <contact initials="Z." surname="Ali" fullname="Zafar Ali">
        <organization>Cisco</organization>
        <address>
          <email>zali@cisco.com</email>
        </address>
      </contact>
      <contact initials="E. L." surname="Rouzic" fullname="Esther Le Rouzic">
        <organization>Orange</organization>
        <address>
          <email>esther.lerouzic@orange.com</email>
        </address>
      </contact>
      <contact initials="J." surname="Meuric" fullname="Julien Meuric">
        <organization>Orange</organization>
        <address>
          <email>julien.meuric@orange.com</email>
        </address>
      </contact>
      <contact initials="G." surname="Grammel" fullname="Gert Grammel">
        <organization>Juniper</organization>
        <address>
          <email>ggrammel@juniper.net</email>
        </address>
      </contact>
      <contact initials="R." surname="Manzotti" fullname="Roberto Manzotti">
        <organization>Cisco</organization>
        <address>
          <email>manzoro@gmail.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
qoJ3pPL97A3+tRC1Q4/KwEZyVL+L39UjZx697MdLRv/CR2gaYPpdTz4XBrJD
/9LygG8DSLzyFgQUPYM3SxbWi7qNvEcXISKglrr7v2lk25Ud2Pcbciyue3nz
ROKjRnPttheOK7IXYMu+eWSDGIdTfJbf0/KgzBz3sWPoV+y/8fXA7/93A6Rc
gO7XeI/o/NAOoi1AMoL7sFuZGuDcX+ADIyUQ6wJsmEzztm2EQdN2yjKrV2rA
IujDx31ArY7B/GOpizO2VLely6e1WVgD35rXNvfa8No6qMW9aNCt/GM9fMTF
99Xbf9TgZAeyp3cg/0djrGX4e0N6l9OAGRKDL632VtIffYrqGSRPf6DbBsAM
/bZ6S4uW12DbVatFrRr7tSpXi2K1Aneol/m1p5IZW1wqkuanXTDJPeiP5TR8
hHbTOQrnKMzRzlE4R+EcxZ1xFNrTFE1Hod20mTq67dHvZPR0Dnp3v0dP6Amo
JTZVvVm13Vt9XMdhdTmips9az22t57ku4rzW9l+28lCHT13Zi+nQqzuyVug2
ZdP/30/TjO11q1nL5C3G38B9Zb+mQ6/p2vQpenu39fe4oo8zdWSpm2t1jCt5
Olt4tLqzq83Sy9/ZnPUKLq8JvprXa3H0vR3fEvhudWTG3/2V0thuH7E1P8uE
V+5D9vO2uxm2jpth/d0MW8vNsLoK9XIzNahVY7y13Qxb6mZaBvVPltj6bqYV
ujumWz2gWyGaWyHHYOu7GR16/QyKrexm1t/j6qkUW8HNtEKskVCxC7qZ2iyr
pVVsLTfTBF8zuWLruZkl8EtTLLaOUhrbXTHRYqvkWlmZbJXr6XcHxrTivngF
i6dyIXPIx3X0vga6stLX4HtofAmxXN1rk/fWdQvJlF93JFtOMk0KG9FGbagt
zsCPYUxs0y8tGbThtLxq0ECxvXDQJFgzqGtBqytT1gexVU2nFbiv3VwO3DSa
NZh+FtO+xW4BZnW7uUyMqx10ROXN0b15yPrwsGVcPx4am1iVh63AHTwUnxV5
aGxxKQ/Nj5WHG9OZITsyPD/Cdwi6xgx33ubO29x5mztva2Duztu6tugaM5yj
aKMsc47COQrnKJyjuHxH4Roz+vqs9dzWep7rIs5rbf/VVW6y+FTXmNHb+Bu4
u8YM15jBTDDXmOEaMzTarOpmWF2FXGPGRfIlO7RrzCg/rjHDNWa4xgzLxzVm
bFaXgWvMcI0ZrjHDNWa4xoyb3pihvsvXWtP1BpB7r4Y7lXOnctqW3KmcO5Wz
TOFO5ewwa+WLV3Iq59o3nKPoAHWOwjkK5yhs+71rjsK1b/T1Weu5rfU810Wc
19r+q6soZfGprn2jt/E3cHftG659g5lgrn3DtW9otFnVzbC6Crn2jYvkS3Zo
175Rflz7hmvfcO0blo9r39isXgTXvuHaN1z7hmvfcO0bd7h9Y8n7Nhqz4I5c
w4Y7h3PncO4czgLnzuHcOdwVnMO5hg3nKDpAnaNwjsI5Ctt+75qjcA0bfX3W
em5rPc91Eee1tv/qKkNZfKpr2Oht/A3cXcOGa9hgJphr2HANGxptVnUzrK5C
rmHjIvmSHdo1bJQf17DhGjZcw4bl4xo2Nqv7wDVsuIYN17DhGjZcw8bmNWxk
PAAutbdsmPfd6zSYO3Rzh27mltyhmzt0s0zhDt3sMGulg1dy6Oa6M5yj6AB1
jsI5CucobPu9a47CdWf09Vnrua31PNdFnNfa/qur5mTxqa47o7fxN3B33Rmu
O4OZYK47w3VnaLRZ1c2wugq57oyL5Et2aNedUX5cd4brznDdGZaP687YrFYD
153hujNcd4brznDdGXe1O8N8dYZrznBnbu7MzZ25uTO3BubuzK1ri645wzmK
Nsoy5yico3COwjmKy3cUrjmjr89az22t57ku4rzW9l9dJSeLT3XNGb2Nv4G7
a85wzRnMBHPNGa45Q6PNqm6G1VXINWdcJF+yQ7vmjPLjmjNcc4ZrzrB8XHPG
ZnUauOYM15zhmjNcc4Zrztjk5gz990u6mjT0ce5VGswdwrlDOHNL7hDOHcJZ
pnCHcHaYtdLDKzmEc90azlF0gDpH4RyFcxS2/d41R+G6Nfr6rPXc1nqe6yLO
a23/1VWDsvhU163R2/gbuLtuDdetwUww163hujU02qzqZlhdhVy3xkXyJTu0
69YoP65bw3VruG4Ny8d1a2xW64Hr1nDdGq5bw3VruG4N163hXq2hj1uvmMm6
TL87g1Og7gzOncG5Mzh3Bld+XLOG/nGOQoE6R+EchXMUzlGUH9es0YpTlyNy
zRquWcM1a6y5R9es4Zo1XLNGA8g1azRp6Jo1XLPGunt0zRquWcM1ayicVtf7
Gujt6zxwzRquWcM1a7hmDdessXnNGos0nLf/6ol+F7+DGi+KHOwkDfcWKRrt
PORNSGOkNpBmNS81V8X7RuuH9eql9Xgk6/R4JL16PJKVj+6S/kd31qFLj+6S
1Y/uknWP7pLVj+6SpUd3yeohsABbOfK1gF3ukV3S1PUSp55HWUlH4NRxPJd0
BE3LagYJa4RJ5ZIlsl6SekX8Lk7O4vZJ8gSltzbFSpP0yyA/Noevmj5+NMRh
rdyxnKJv4thQ2hWyxhaN6qcvOvDKWtMKvFR3VtQgY4u9j4hrSyzTLmzSmPvo
yTCQ12nXdkisw/AkMuD6wESAUZZXYBrM10uaSpL+TSXOMznP5DxT6yTOMznP
pP3hPFMfz9TRxZJ0d7EkK3exJOt1sST9u1hW85Bdnq+1i2VFP7meq7yIt1zb
YX5c6jPXNwPr24CVDcDq2t+p+iVy/ds4VvWiOuQajtRQsFUaU5Z7xtrUuoe9
vIl7N65c1PHWZrlQ48pq7rclbF6tceWi2ndRHbyQJq6ujys4ZHOJ2kI91HUF
t2wHW+qZ7WAdztkgdt/umtXcH+vv/tha7o9ZRJ6Znx7h5trdNSu6P7bU/bUM
6n2kv2YIbIe8iq6aC2aQbD33p0Oul0eynu7P/LtXYsh6ub+LTNy7oeai7q82
y4UaalZzf/rf6yWgNfB1tG9997cEvo8mrq6PK7i/5t+rqetqWakFrE9iagFb
ITdtdP0kS7p+kl5dPx2mqqN7pcNMLWtc6SB2o63EAlIjdB+QGpGtzStJr34f
R6ym5HV3+thjHvy0d/r0Lau04bRip093caVJq1U7fazhlD6IrWrTrcAX6PRZ
as1rMP1MuX2LV9Pp050hNEev2unTzcOWcat2+qzBw1bgq+v06cND8/P5On3U
d/3VLA2g1nagrg6g5tItHULdL39pbQeyNvs0wF07EOtyK+7Q1R26ukNXd+ja
BHaHrht26OragZxncp7JeabGFM4z6cDOM3XCuHYg1w7k2oFcO5BrB3LtQK4d
qHWJ2kKuHYi5diDXDuTageq0ce1Arh3ItQOtnJVawFw70E3vcHHtQK4dyLUD
uXagLgjXDtSPh+bncn6ladmvM7mX/7huH3em6s5U3ZmqO1M1gd2ZaieM6/Zx
nqmdqsx5JhuY80zOMznPdAM9k+v26esk1/OT67nKi3jLtR1mV33O4sRdt08H
oq7bx3X7tJBnDQ98Odp3UR28kCauro8rOGRzidpCrtuHuW4f1+3jun3qtHHd
Pq7bx3X7rJyVWsBct89Nb2Bx3T6u28d1+7huny4I1+3Tj4fm53K6ffQX+nR1
/ejjXPdPyWwB5Lp/3BmrPnrFoNydsbozVnfGavyxogatltOunNBu6hmr6/5x
nsl5JueZGlM4z6QDO8/UCeO6f1z3j+v+cd0/rvvHdf+47p/WJWoLue4f5rp/
XPeP6/6p08Z1/7juH9f9s3JWagFz3T83vaHFdf+47h/X/eO6f7ogXPdPPx6a
n57dP1G2yOS/8h/PD/ICDK3onwnjSZLOSb2NBZcNdh037lzTnWu6c013runO
Na/uXHORcm/CA29ksUZVIBjOIbj25wukzrkfT3fLK+1Ap35UlAI45gEE6tHj
b1vQ+Lc3AT9YP6zUR6yCA7PiUNJEIuM9sujf167pp7EL5xydc6xgnXN0ztE5
x7vrHF3fUV8/vZ6rXs9bX8Rhr+2zP1qMTEcc4fqOOhB1fUeu76iFPGsEAZej
fRfVwQtp4ur6uEJMYC5RW6iHurZGBnXD2Ncx1+D6xAc6PvYQoZ5vrIYMM5Fp
GdKgXlcAYQiE641yvVErpAna3643qp02rjfK9Ua53qglyTtbx0XX4Hqm8Kzb
RdcGrYgM63LRjc9aOf7n7t9apyFpeTuSRRjKEatIQhOoWwxqaNRloLzN1sGB
WXHoxWULu9brIHPs+tzscj1srofN9bAtGed62GpLbGoPG7iId40eNnVR72Hj
jyA1CMQbrsLxVzpfNmA/RWzdkeXy2nuaRsnIF28Zi/25etlXkMTggn0Aa77a
yzqsfLtXGHsZp0WaJPBHIGApR+ceUOHEerXayhk7G889OQC8YEkgcXOahuMq
p7M4BTFskYZJCjeE7hlOSgyYYB7p4Wy1mPSMZVGSe2fhGDY2BQyKyFcz2X2Q
gJojESpI4e1/U6sbSi8B/PfLAK6ecyCVjnWfh3XWV/vBZuftP+Op37Uom51J
y/noOPZ5OeaU7EaxTH7X36HZBHKaeGvZqqmr4+s18HX1H7d2QeiN5ZrzjZvC
tnXfLe2U79Zw0SnjTUzk+ftFFAZh7hmvXm/A63c9/j6IijH3/OjMP89ULark
aAv3ZSkKpqHv4u9gFidRMj0vOb97Dxh/3+RSKQoN6t0rBeF+rQJJU03C97Dr
sT6j+HwsJxBDsjCeRhwPPKhPQNU265N+rKYWEM1p9clxYS+un8OLq60TEwLW
ectdZ8VI1XjFZF+1zUszBh37D6woik/QNmGlNbVpSwzvVQTNigXg2UJQbVIr
QWvYioXr6MqrPSDnVsjmcQJ8EsIJcW9DKanzQuLxFftv+VfzOIzpJyHlfpZv
gln20YF8qyDpI3C2st6PJihrGdsyfMk+67C9tmoFqu1248xhGAtzKM2is4e1
+84eOnvo7GEd9mbYw0vKz1rgstxP80s3gpqZadiAhpY3lLqhWRV7bgKlq4s8
HjcmcXS+fDpnOV9YCL0aceuzyNtZEguXppotsoUfgGNYloYSYLAGYOXKvGBS
a6dLGiP6zl1nN0xtc7H9gIlUTXCV3d+IY29nDz8bqZ1B/OyEdhZxwy3iJZyI
Jos8nIcf/FIe/GiKtdbZHL/MOUpFYxIdyBNjLEm3Ki+uVIs0fx3S5d4u93a5
t8u9W2CvMPfebNOqSpUr1TWdaXWmtQ7kTKszrVbYzTat7rTbmUFnBpsfZwaX
Db/zZtCdcjs76Oygs4O3yQ5e0oM4HQc4DeCbdMiwiRTm8djR90olmC/ccc2t
O65xB9efRxXdgfVNIrA7qL79li9I5osil60PmbdI8QViecibkMZIbWApex2w
dN/Ipq1XVdZsF92LZ81Jq7InF82ak6vMmpMrypqTy8uak6vJmpOryZqTtbPm
5Kqy5uQiWXOyctacXGrWnKyWNdeHr5I1992qFeizZM2WlyE0zq0bs1gOsVvO
rRugrj/IVS1d1dJVLV3VciPsr2sicva3/nH219nfjuG33v4us5laUaCjuahZ
i9JtpTOPzjw682hCMmceb5F57BdKug4kZyydsXTG8s4YS9emdOVHy9fCBtfL
tAFMcA1Pt/LY/7O+sdtZ1k3jgzOtm8AFZ1vvrm1t7btq3FzaV2VpxeouG7T2
XdlrqRbr4PquXN9Vc1LXd+X6ruxA69UKVv/Zi/Z3gzSAXY9VjVmuLuvqsq4u
a7ldzXaL67Kba2tdP5WztfWPs7XO1nYMv3W21r2YyZlCZwqbH2cKlw13ptC1
Rjlb6Gyhs4W30Ba6nx9a/WT42qhsnL43JnE0dj875A7ar++Hzp0N/Cxkdkbw
sxLZWcG7YQXdW5zkHddN5LqJXDdR49Mvvb4r3UR6Y2aXde18g8gVnni77iJX
2qx/XGnTlTY7ht+Y0uam217XbeRsb/3jbK+zvR3Db73tdd1HzjQ609j8ONO4
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
G0J272hJD5Pv5bBWsk0BTojOlRTUCG1ZuIGzRujPjbMm0RYT2Bop6yP1UrfM
4tpMeruts1i7jhzCJvGsOr5uaLmljmPss8vUm1W6arNlpnrVm7UZd1Ydz3dt
9iJ7XebismU+Lrs2J1emjzprKJU0oe9RrI5BMkXZJVijlyG73+UisyHbY1kB
EbpsP8foX+x3ROUxE1L1hXz/4w9sbz4efkPbprTm/ZFzt/blL8XdAoPDfBHx
Vpuc2R1Jnkw5Oc3K+9aCSsMTL3W+JrBNWjO7d5Bu2La44ZM/lxtWBO3tizfI
FdvIvuE+uTKz0hmXHm8Fv9PsAasckDK1ZT1aTF/3PbVHyarPunVd/Ni9rBxe
erur2aia/rNvlBqe2vLClmanJRvfKx+VMHwx9SD5eT1CqO8YnWh9sy3nnfix
N0Z1Y9inQaqlQqw+et9Uv1ap5hzN3in8fOpmcytTVwyDl9DnwqHwmsGw3HH3
EUkXwVYKjy+PCPYQeb0g+YI0aAugu4/I59zPsNPeo9en8Lxqj7CUVV/JwQZF
KsBmC9Ii5d6EB95o2QHOSTgH3wMxLPVLlIeESLC3MMezw332NMzZYZoCP46w
oH/v6eGR9vqdkrqymVa4xVq3UF6uUuu4obfFlHeXtndq2DafrKgQPjxqaQUS
+6vhMOZBOPejx98awjpJfRIfcQyfsYeavVva5qNhspRAlbDoDPy3N/ED3T2s
yj2MKOZEn/9UU+GpzpgltUP5hY1qn5FrCr1VWFZ2ZkveeY/wlVxF/C5OzuIK
H8gNgHNb46fLG4cP28nVTqU+er7mcya6oospKnVXeLs2GFNnLnhqLZ7pce0v
rv2lAv387S/aIzH1x1DkCH2xlPtjPHUWUcRlNs3wRzAc3z5SPoeDL5Xpa8jk
Y/4oCmMsK3B8PRTOVj59QylwWGbX2htrdIMjHrklXALxFuM1ns6sP0y+SOQz
9Rpyrwi5fYFcJQH3cOlX+/cJ3czqv0TzLB3Xz/xTTXrK8/Uy7Q/naF/pNUq6
bhDpCEF8/Rb38Yn8SRGhmSkbAORzmzG9eqTEoprDrIK2bay2H32fw+lwW2j1
m7fH4O6SXIbPYdXwxMf3TbwlXSVefL7Iz8unJATKM79qi6ggBRbGiXmP5oOV
XKnrPbj83oOThrdU9YX1ztgNW3cdfQXtG6oHVGbCeLlbvPQuAhQduR18mdWy
xoDWvaEyuMYA1xjgGgNcY8BdbAyoGe/b3BfQsdXP1RZwpHmpyhlbvBdmCpSi
mpTQWshTP4q4aWEtJ/YNg14e37sTe3dib5ctd2LvTuzvyol9T/d34w/sO/d5
Lef19U3WXaA7r1cfd17vzuuv7Lx+GiWj5gsU5ZZXLUTms9qLk/u8fbJ5st+J
TEspsT+fuo41jNdf2chFP/vYgz7qVdm1N+Dr1Gls2zp3y3btU9aObDp5axyD
w3AhZfVT6FGSwADtvBlY7YNQsq0JBJp8+aFz+ZDk2UzErmTec9MtUGmefXN0
X71GeWSoESINRjnl46F6B7X4MQVxWCzeeJ2LY7JCvGFaB5d0ovAGnwss388s
kKiq+eK8hg4YdfgJ98VZCvJS6HAZM6XcD2bNY33xxnSmH/AIJabnQ/VkkRb/
cjjcqVjwCx4iF3zry9VzSnrHNx5TiNPJ8vX1YmKxeC10LF8HLilsfW3Gzo7Z
k6Bt5idTYMS7GvuLBXlQQZTq7fQyTqp+TMTMgxFGvl+9QXl8L31FenZW/UwL
7PFU/jzH5yR/hQGrMFiHB1erj1Y06R1gUZSccSPh8PFEWeOCOJphe7XXmxNt
vznSIc3ksDpFb7Cx9jZv8UNhVceCYbymBWQs9A51L4MIrLWRxvoG2VZCPcdZ
2Yh+uQZnhRDn5G8fWjp46P35GGdMzsb4Y7aeRs7eFpWkbm0GIjvUj3OpE2jj
ZxHwoyoC4gdTRFKuoSpMpBRilTu2bJnkAvYqX9r++fyGfJ+7JptC0rBIbu52
jr9OIk616YxIc5ohPkguXpuQgeaiZzk5X6BJj86N4oJGnXKvsgelet2mqec6
+CICRsiOD9Lu+tsZDZqOeZT7tZeB2l8HSvMsJeIBzife/YnyO36q3r8WSv3V
ft9RDNNxH/PTUCasqkYXYzTvy7EIXfY6NINfCHsXRS5/aubNq+PWnjL18yL0
I3ex+sEEsuPlL49QJNOILSuGSohB9eupWx0/Ur3VHrjtSXBxfFi9mEtrYUUz
Eiq2Awpq01U8ZoluyaCZEZ64sbNDt1QLGL0vojbIoNKJGdga9Fik4Rx/EwBl
XozeM17VoV6UtV29lk2+F7eW6H5lvv5vNerSj2gLTMTvd+9slXLxNZg58y6O
5u8RyzCv/Rh3HUy/68kozpO/FFL+lG0dSCT3fOxRX4L8JdvGxR4ScXJY0lfh
KwzmPRVQ0k+10J9l87BooWl/EZUuHS1voiglYHNoL3fp+dGZf55dJ+nL34kh
TK6E7KsonvKpN00B1XeJv7heB7ppWqqYcZu09coYdY0q3cKnDVHtjMOV8WZ4
1RKXFmkx798kz1pRebO19fNw4BqUsZUBG6eGG+Jj2zmv2+YuCbkVzrbJl1YF
VlgoPf78CryBPLtWVb9+z7ufzBdFXn/qM8XfA8Kf6m1ktVceCQcSITHcq1Bp
QBoj9YE4a+1SY1W8b0qJ7WoDjmTjksVB7cOgc4PZCpFqU938LhsOrjAYvk28
MsGxUJTH0a7xLMWOuiq6iuwQzeceSjCNPT0ko/loSKMmVj5/WwpH43Fty48M
VaR24nEl4qH1bdnBWp4nWVNQ9O5IJy03Tlq0oNgOtnSArdNoTVkSJ7Bl15AT
pzsoTraerQuJk+03/5w43ThxypbKU1aC1fqSneVxorJEVJSR2FCrsk6+rBfK
NuME6TaJ5m1Pru8cQ10G7mTIpelOpG6wSLlc3snczZM5l/A7mXNVASdPN1We
blHpwGx2+ywdardJ5m5eTeBu88ul/E5EXEbvJGYTAg+XsDuR2gyRuiP5uBOp
NUTq7qbbTlw+j7jcymz6gkfxF3xO4ZbJ4k3Osh3/XNbtRMZl4U6CNliCXFbu
RGzjRezOZelOxFzW7sTnhojPDcni94K8gHn1NSnD687Ro2yRyX8bDIFrnk+z
SsZpv/q32mDF3TrQZSbJL4/fCiLjm/QoQRbbv1gOfBPocxOTUPV72kukX+eV
5Se47xLnNjQXdIy8KymZ4/RdyYwcp29DguK4eBvyhDvDxSiM3zW4qC6umAK0
/Yy5Wtvy8+VERfuvqG8u8YrYSj7L5c0gYJmrVkvSr8MxkN4p12ftTFrFj8EQ
3WMQcFml0F6z2JQy27CyLBHGnvxRuSZbED0P36yfhvR7R4Lb9av9yNuy1/Kn
TcAWwJyZ+oU7hYr6EXHcg8hsqz3YawVomSSOuNhSKb5sgoIAr0LRpUMuh7z8
mqi7/OWN5vMvtQv2Apsms9dK1G6ZpX2cG793v4G01MV1cyV082nZ57msmye8
RsPTDSf8jZL06yB8vTWycekmC3TtkbjNJunNENXrJql5FNh663ZI7fUahAuR
+qZJ8wVJ3ZbodR9GXlYaUh91iS8zV4xpYZdMwGEaMYr+DmZxEiXT81UYCBNV
LFOvNCcEmURfvtJcoSHxxd+XrH4AVBzjCwEQ7cJGpqNgmwlP4OOv6Y3n5U+3
tfEe8BQQnzq0bJP42vbDAhvEWIliWfKrfi/kVnN3vWrM0iGVuaVf02i2nVyY
pcLY0uyXUcrpzR1aEWt0t4hHsJsr4xBWMx1/elY0W+CynC8uril88ZkZwa/B
jl12EfR6DNn6RdOboCdXx6PPZcgcfzbEkH0WRvSxY5ddXUyAFPPwg1+S2I+m
SQrx5hy/zDkSuhPIaxlTC99VxrVSeiZ7ia8zite3qvittqawMAP8pdG8XgdN
z9Ukei5+uSH8TRUZlcytlPndSJFROeGtFRlXo2kw8ZZz75ZWYm4sDy/pSGAT
6y2Wo/OriH43niObUV1x3LiWWsrFyH4dmcdlnZxtYOXkJuvApXJkI+okjhuX
aJI+E9WvwyDdjAeoP3v0rAfNirmKAGUmevPi4T5dda44tiHFMVvDipMvV0lr
yNealbRbKl+XUHbbGDd0JTU4Sb3SjTn21+t2m87/Syji3W4huP2FvwsZ7+tM
8K6FfRtVJXSs2/yS4gV5dC2lxc/5yNTm1h9vv3bd2mKlY931WsbPwKONNYyX
UAe1ctxSJ+1OTJpF0etMQFapg25CPWH1JzNdufOayp0K2P68qRMcV8e8pYLj
+gIrgbhLPLzd3YE3lZO3uFR4QZZcaka1AYzZjCKgY8p1lvcuTP3LSWCv7wUy
G1i4uwUacftKco4p11lsu7FmypXR1i6jbVoAve7LoVxBbWMKaptVkd10gXKF
tjsiUK4AZyvbbFBH2PWw+K7U524Vo+9E+W5zGiM2kGGbVtZzzNrEct9G9K1s
zpt3N7oMeOs06DaXBx2zNrFseEvMnSsnXkI58eqTdvrJsMb+s4W8d8k/GXYd
FBdIKcILir88fntRcn4a/A98Bn/tsi8m4dSjn98jXfLOffwVvTCP+C9b+PPP
J3SZ/bn3+jmbJ+Mi4lvyR4kD/OG/uZ++Ayb/spWnhXkH39P4y1bI84k2/ZNH
Dx499h488h59P8SVtoCzX7BjHhRpmJ+zfbBy4Rh/FBDt3WBwQvIVA4qFuLYt
fol6m/ngMHyyeWzs5z7QdRLGkIyGMZAozNg4CQoyVH7KkejhFO/mCRshTQMw
ZfD1NPSZz+Z+7E85sQDUM0+CJJI/HYiyXKR8IH8xFAKKyD/nKSBRBHA7Y68P
T/bfvH7G/vrrP46e7T9+9O3DT58wNz46PNZv/PDg2wefPg1pOwpEIIG7y1NY
EEgLVJbDv6F5AJlTIEZGPJ9zQAHwHyhrryZAQVmAMwuDIvLTcnqQgxTHwyYW
KVc0BC3NilHGSXn9KGL+qR+CgEQVXiUJ0FAJPhCxEVEg0ZCYAjRFuvpM/Dge
zkZcwN+CzBq80GQHLvg5wg7OgOG48E6Qcl/8BRTg9Be7Fw75cFuynqFobbOz
WQhED4kcA1jCL6L8/pAxQAd0QFseu8VHJDckS4BIxmP8ecpTjrw5LSL82UlY
ZgAIZsmcs5jnZ0n6DqKQ0zBNYhSFDGb+A1DkOh3u8eEU0OLjMPcEbvcHQOK8
jgFKDygsE9aeSMqFrAZ+zGb+KZGOT33EacAnEzKncYlHtWS5PyQ3edpilKec
C55USw7wK9wP03KzoE87aq9hBN92BwOPsQ4/qt8fDofSmI1g6rNwDE7SMGi2
wYaR7GcXLdNYAp/uWAftmsgmrnwZjIGvYpHB4BCEKgGVjUFWdtmZ4HiR4W+a
ZuF8EYWTECRZcx9Yd5sk0ViOADVOByMwVMGMC8U/TcIx+OAFz+kHUIdoaV/s
vd6zWFnNYALEvwvALBNjYaKUT0OIzIQ/ghWj5AzX/P3oRSZUnLOtONtC0RRD
wfWjBqh7Lw5PnrF/vnrJjuTdLWnnvnn8ww9gFtmzck6xAvpdnFkftV1bXa6k
DBTQSuLNx7BRcm7ALsBxlxVpvItuaJd+wzXbfT+PduNsF93Pbs09IYzE0gdS
AKFycDK7qIPsxeHxc7wPO9llr3f2fhIRkVoV10LrBAqOe0Xvly38gA8FMmsS
WTOdFbEJ5pWwp69xHUXQxw8ePVhOUDFqBYLuVgTFbe0yC9XK/a5Mb3BPk/D9
LpM/AYyX4ArY7RgnA3zZP+EjqYhfhabssrcRx+gHJDyCdWlU9dsdOFA6Jz+r
vL8RG4CgeJ7HRn7wDnVjL3gXJ2cRH1M4lkFwpH769ZetiR9lHIMVYiMZaeR1
lCXC+YIvBW0sYq0efrzw4zCbsWMMWECqMu6nwWywN4WNnTMcmsrnmxIKp/em
YcRfgV7f2zt8wd6+OHj04OGP3sMH33773cOjp97+o4f3yeiPzgf69K/CWKgc
+ODjIESqbbMXcZyciio8gvwe448Zo1cAKaKVB3LlKXCojDXpVdooCzBVoUDO
WQTYQegAtunec1ILQZbdwbO3vz/8cefBd4+//+H+cPD/AVaFYCTRHQQA

-->

</rfc>
