<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.4.19 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC7950 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml">
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC7446 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7446.xml">
<!ENTITY RFC7699 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7699.xml">
<!ENTITY RFC6241 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml">
<!ENTITY I-D.ietf-teas-yang-te SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-teas-yang-te.xml">
<!ENTITY I-D.ietf-ccamp-optical-impairment-topology-yang SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ccamp-optical-impairment-topology-yang.xml">
<!ENTITY I-D.ietf-ccamp-flexigrid-yang SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ccamp-flexigrid-yang.xml">
<!ENTITY RFC9094 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9094.xml">
<!ENTITY RFC8040 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8040.xml">
<!ENTITY RFC8341 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml">
<!ENTITY RFC3688 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3688.xml">
<!ENTITY RFC6020 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6020.xml">
<!ENTITY RFC6163 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6163.xml">
<!ENTITY RFC7698 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7698.xml">
]>


<rfc ipr="trust200902" docName="draft-ietf-ccamp-wdm-tunnel-yang-06" category="std" consensus="true" submissionType="IETF">

  <front>
    <title abbrev="WDM Tunnel YANG Model">A YANG Data Model for WDM Tunnels</title>

    <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.d.V." surname="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="2025" month="October" day="20"/>

    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    <keyword>next generation</keyword> <keyword>unicorn</keyword> <keyword>sparkling distributed ledger</keyword>

    <abstract>


<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>


  </front>

  <middle>


<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</bcp14>
NOT", "<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>

<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>

<t><list style="symbols">
  <t>server</t>
  <t>augment</t>
  <t>data model</t>
  <t>data node</t>
</list></t>

<t>The following terms are defined in <xref target="RFC6241"/> and are not redefined here:
-  configuration data</t>

<t><list style="symbols">
  <t>state data</t>
</list></t>

</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>

<t><list style="symbols">
  <t>Network-scope optical transceiver configuration constraints, e.g., operational modes, transceiver tuning constraints</t>
  <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>
  <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>
  <t>Path-scope WDM layer constraints and transceiver configurations for working and protection path within a WDM tunnel</t>
  <t>List of WDM nodes, links, and optical wavelength that constitute an end-to-end WDM path</t>
  <t>Other relevant optical attributes which characterize the optical signal</t>
</list></t>

<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>

<t><list style="symbols">
  <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>
  <t>Actual LSPs for each tunnel path, representing the optical paths currently established in the network.</t>
</list></t>

<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 title="Reference Points in Back-to-back 3R Regeneration" anchor="fig-back2back"><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></figure>

<figure title="Reference Points in Uni-directional 3R Regeneration" anchor="fig-unidir"><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></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 title="Topology Example" anchor="fig-topology-example"><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></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>

<t><list style="symbols">
  <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>
  <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>
  <t>Then, we also define the links 1 to 5 that interconnect nodes,
indicating which WSON or flexi-grid labels are available.</t>
  <t>Other information, such as the slot frequency and granularity are
also provided.</t>
</list></t>

<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>

<t><list style="symbols">
  <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>
  <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>
  <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>
</list></t>

</section>
<section anchor="yang-model-for-wdm-tunnel"><name>YANG Model for WDM Tunnel</name>

<section anchor="yang-tree"><name>YANG Tree</name>

<figure title="WDM Tunnel YANG tree" anchor="fig-wdm-tunnel-tree"><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 title="WDM Tunnel YANG module" anchor="fig-wdm-tunnel-yang"><sourcecode type="yang" markers="true" name="ietf-wdm-tunnel@2024-07-02.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.

    The model fully conforms to the Network Management 
    Datastore Architecture (NMDA).
    
    Copyright (c) 2021 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 Simplified 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 "2025-10-20" {
    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>

<t><list style="symbols">
  <t>/te:te/te:tunnels/te:tunnel</t>
  <t>/te:te/.../te:te-bandwidth/te:technology</t>
  <t>/te:te/.../te:type/te:label/te:label-hop/te:te-label/te:technology</t>
  <t>/te:te/.../te:label-restrictions/te:label-restriction/te:label-
start/te:te-label/te:technology</t>
  <t>/te:te/.../te:label-restrictions/te:label-restriction/te:label-
end/te:te-label/te:technology</t>
  <t>/te:te/.../te:label-restrictions/te:label-restriction/</t>
</list></t>

<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>

<figure><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></figure>

<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>

<figure><artwork><![CDATA[
   name: ietf-wdm-tunnel
   namespace: urn:ietf:params:xml:ns:yang:ietf-wdm-tunnel
   prefix: wdm-tnl
   reference: RFC XXXX
]]></artwork></figure>

<t>RFC Editor: Please replace XXXX with the RFC number assigned to this document.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC7950;
&RFC2119;
&RFC8174;
&RFC7446;
&RFC7699;
&RFC6241;
&I-D.ietf-teas-yang-te;
&I-D.ietf-ccamp-optical-impairment-topology-yang;
&I-D.ietf-ccamp-flexigrid-yang;
&RFC9094;
&RFC8040;
&RFC8341;
&RFC3688;
&RFC6020;


    </references>

    <references title='Informative References'>

&RFC6163;
&RFC7698;


    </references>


<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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
rLSmNm2J4YOKoFmxADxbCKpNaiVoDVuxcB1debUH5NwK2TxOgE9COCHubSgl
dV5IPL5h/yW/NY/DmH4SUu5n+SaYZR8dyLcKkj4CZyvr/WiCspaxLcOX7LMO
22urVqDabjfOHIaxMIfSLDp7WLvv7KGzh84e1mFvhz28ovysBS7L/TS/ciOo
mZmGDWhoeUOpG5pVsec2ULq6yONxYxJH56unc5bzhYXQqxG3Pou8nSWxcGmq
2SJb+AE4hmVpKAEGawBWrswLJrV2uqQxou/cdXbD1DYX2w+YSNUEV9n9rTj2
dvbwi5HaGcQvTmhnETfcIl7BiWiyyMN5+NEv5cGPplhrnc3xjzlHqWhMogN5
Yowl6VblxZVqkeavQ7rc2+XeLvd2uXcL7DXm3pttWlWpcqW6pjOtzrTWgZxp
dabVCrvZptWddjsz6Mxg8+PM4LLh994MulNuZwedHXR28C7ZwSt6EKfjAKcB
fJsOGTaRwjweO/peqwTzhTuuuXPHNe7g+suoojuwvk0EdgfVd9/yBcl8UeSy
9SHzFim+QCwPeRPSGKkNLGWvA5buG9m09arKmu2ie/msOWlV9uSyWXNynVlz
ck1Zc3J1WXNyPVlzcj1Zc7J21pxcV9acXCZrTlbOmpMrzZqT1bLm+vBVsua+
W7UCfZGs2fIyhMa5dWMWyyF2y7l1A9T1B7mqpatauqqlq1puhP11TUTO/tY/
zv46+9sx/M7b32U2UysKdDQXNWtRuq105tGZR2ceTUjmzOMdMo/9QknXgeSM
pTOWzljeG2Pp2pSu/Wj5Rtjgepk2gAmu4elOHvt/0Td2O8u6aXxwpnUTuOBs
6/21ra19V42bS/uqLK1Y3WWD1r4rey3VYh1c35Xru2pO6vquXN+VHWi9WsHq
P3vR/m6QBrDrsaoxy9VlXV3W1WUtt6vZ7nBddnNtreuncra2/nG21tnajuF3
zta6FzM5U+hMYfPjTOGy4c4UutYoZwudLXS28A7aQvfzQ6ufDN8YlY3T98Yk
jsbuZ4fcQfvN/dC5s4FfhMzOCH5RIjsreD+soHuLk7zjuolcN5HrJmp8+qXX
96WbSG/M7LKunW8QucYTb9dd5Eqb9Y8rbbrSZsfwW1Pa3HTb67qNnO2tf5zt
dba3Y/idt72u+8iZRmcamx9nGpcNd6bRdSOZYMzZRmcbnW28D7bRdSdd5tD4
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
JUUlUny+yC/KJykEvjO/6pkoAQUKxoF6U/YazQkreVPXm3ANvQknDa+pSg5r
HsFLS6fuf/m+g/Yd1aMqM3+84j1eeZcBCo/cD74Va1njQOvmUB9c44BrHHCN
A65x4J42DtTs993uG7Bstv7tutsGjjRXVblkiwvDXIGyVZMUWo956kcRN82s
5US/YdXL4313ou9O9O2y5U703Yn+/TnR7+sCb/+BfvdOb+Y8v77PuiN05/nl
x53nu/P8Kz/PN8/3plEyar6JUe561epkPqu9l7nP2ywtbyXpxKalvtifV51H
HcZLs2x1XPrtyh4UUq/irr1cX6dPc+PWyVs2bJ+zfpDTyV8lQvIfMrQAJUSu
flQ9ShIYoB1KA9d9kFA2gfiT65et59Llo5VnMxHRkrnPTTdBZXv27dFD9brm
kaFSiDnY6JSPh+pd1+IHG8Rpsnizdi4O0QrxJmsdXFKLgh58qLB8D7RAoir1
i3McOoLU4SfcF0csyFKhz2UklXI/mFmO/sWb2Zl+8CMUmh4r1XNIWv3r4XCn
4sBf8LS54Ftfr55q0svE8RBDHF+WL8kXE4vFaxFl+d5xSWLjlRvq286O2beg
beYnU17E2x77ywV5VEGU6i34Mnaqfq/ETI8RRr7IvdbLQK+/1+X6rPqVGdjj
qfwNkC9J/goDVmGwDg+uUx2tSNI7xKIoOeNGFuLjabPGA3Fsw/Zqb1Enyn57
pEOaGWN1yN7Un9qrwsWPnlVtDWajz7SARIZe1u5lEJG1Ntus9i7alzgrG9GP
4+CsEPGc/O1jW5sPvakfo47J2Rh/mtfTKNrXoqLUrc1B5If6iTF1Mm38/AJ+
VJ1A/CSLSNU1RIWJlDKsMsq2HZNkwFblO+G/lNuQ74rXZFNIGpbPzc3O8QdQ
xGE3nR5pnjPEZ9DFuxbo95/AsZxcLNCiRxdGxUEjTrlT2aRSvavT1HIdfBEB
H2Q/COl2FfsokmoUHfMo92tvErW/S5TmWUrEA5xPvDgUpXf8XL23LZT6q/1U
pRim4z7mp6FMYVXhLsbQ3pdjEbpsgWjGwRABL4pc/prNuzfH9q6zQfUjJvQ7
fbH6XQZhxssfOKFwphFkVhyVINUPwW51/N52xw8y7UlwcbBYvdNLa3ZFIxIq
tgMGatNVUFaLcvEm2TMzzBM3dnbolmoUo5dM1AYZVDox41uDHIs0nOPPDaDM
i9F7xgs+1Cu2tqtXusnX6tbS3m/M9weuRFz6OXCBiPgl8p2tUiz+hD/caNzF
0fwckQzz2s+K18H0u56M4Tz5eyTlj/LWgUSmz8cetSzI3+RtXOwhECeHJXkV
vsJcPlDhJP0gDH0tW4xFY037S6xU0E4i0PIai1ICNof4cpueH535F9lN0r78
ORrC5HrovormKZ96yzRQ/S3RF9frQLdNTRUv7pS6XhunblCnWxi1Kbqdcbgy
3gi/WqLSIi3m/dvkWysib7i6fhkW3IA2tnJg8/RwM7xsO+d149wlIXfC3TbZ
0qrBCgulyDegwRvItBvV9Q3wvfvJfFHk9WdEU/xNIfw94EZme93BcCDxEcO9
CpMGpDFSH4iz1i41VsX7ppTYrjbgSDauWBzUPgwyN5itEKk2tYTfZRfCNcbD
d4lZJjgWi/I42jWetdhRV0W7kR2i+VxECaaxp4doNJ8dadTFyud0S+kwHu6u
pMP8laKK1k4+rkU+tI4uO1jL8yZrSoreN+nE5faJixYX28GWDrA1H60pTOIU
tmwkcvJ0H+XJ1sV1KXmy/XKgk6fbJ0/ZUoHKSrBaz7KzPU5WlsmKMhObalfW
yZr1etlGHCXdJdG88yn2veOoy8OdELlk3cnUrZYpl9E7obuFQufSfid0rjbg
BOr2CtRdKiCYrW9fol/tLsncLawM3G+GucTfyYjL653IbEbs4dJ2J1MbIlP3
JSt3MrWGTN3jpNvJy5eRl7uZU1/uWP6STy7cMVm81bm2Y6DLvZ3MuFzcidBG
i5DLzZ2Mbb6M3b9c3cmYy92d/NwW+bktufxekBcwsb4o5XmdmXqULTL5b4Mh
cM3zaVLJOO13AlcbrLhbB7rKVPn18XtBZHzHHqXJYveXzIRvA4FuYyqqfpV7
mfjrzLL8kvd9Yt2GZoSOk/cmMXOsvjf5kWP1nUhTHBvvRLZwf9gYhfGHBhvV
xRUzgbbfP1dr2373nMho//31zaVeEVvpZ7m8IRQsc9ZqTfpZOQbyO+X6tDJ5
tVNd/GgMET4GEZflCu09jE05sw0r6xNh7Mlfo2vyBdHz8O37aUg/jyTYXb/a
j74tey1//ATMAcyZqZ/GkzOo3yDHLYgMt9qC8dr2smSAtkmiiGstleKrpicI
8CoEXTrkaqjLb4a4y9/taD4SU7tgr7NpEnujNO2UWNqGfCRjc0mpC+vGyufm
k7LPg1q3TnSNzqdbTvfbJOc3Qfd6j2Tj0i0W59rzcZtN0VshqDdNUfMssPXW
nZDZm7UGl6L0LZPlS1K6Lb3rPIq8quSjPuoKX3Gu2NLCLJl2wzRiFH0PZnES
JdOLVdgHE1UMUy86JwSZRF++6FzOINHFX52sfhdUnOEL7ouOYSO/kaDNLCfw
8Tf2xvPyF93aGA9YCojPHRq2SVxt+7WBDWKrRFEV+qofEblZ3m5g9WXpkMrO
0s9rNPtNLs1PYWVp9iso3fTmDS2INbkvp33XziLYzbUxCKuXjj396pctcFnO
F5fXE774snzgX9A/XVfJ82as2Nol0tugJdfHoi9lxRx7NsOKfQk+9DFiV11M
TIAS8/CjX1LYj6ZJCnHmHP+Yc6RzJ5AnxzQDdZVZrZSGyY7hm4zX9d0pFqut
yQnMSH5p3K5XOtMLOYeecF9tInaLZETlaSsldbdRRlS2d1dlxJVe6iy848y7
mxWWW8vCKyryb2AlxXIOfh2x7cYzZCPqJo4ZN1EluRzVbyKtuKqTsM2ridxm
DbhShmxCBcQx4wrt0Zch+k1Yo9vxNPQXD5v1aFkxVxFAJaC3LxDu0x3nql43
VfWytZs4gXIlsrVLZHdUoK6gnrYxfuY6imuSeMpNOebX63Gbzv3LF+futAjc
+Xrepez2TeZuN8K9TSr+Oc5tfKXwkiy6kYrhl3yqaWPLindft+5qDdJx7mbN
4vWzaGOtYnt5s35zafnSUvHszkGa5c2bzDVWqGhuQt1g9aclXeHyixUuJaz9
qc97LSmuInmnJMW17pXScJ9YeKcb+G4rI+9u2e+SHLnSDGkD+LIRBb3r4Mnt
ZcmXrdRdmvZXk47e3AtbNq8GdwdM1J2rrjme3GDd7NbaqCto+Lun5bFNC5zX
fRWTK5TdXKFss0qrGyhBroB2LyTIFdYs9ZjN6dq6GQbfk7LbXWLzfSjKbU77
wgbya8OKdY5XG1jF24jmks15he0mV/funP7c4aqf49UGVgPviK1zVcLLVwmv
P1On39tqbD9byHtX/HtbN0FwgZSiuyD46+P3lyXn58H/wmfwxy77ahJOPfr1
OlIl78LHH6EL84j/ZQt/Q/mELrPf996+ZPNkXER8S/6wb4C/mzf30w/A5L9s
5Wlh3sE3H/5lK+T5RJv+2ZNHT77zHv3Ze/RkiCttAWe/Ysc8KNIwv2D7YOPC
Mf6mHlq7weCExCsGFAtxbVv8nPM288Fb+GTx2NjPfaDrJIwhCQ1jIFGYsXES
FGSm/JQj0cMp3s0TNkKaBmDI4M/T0Gc+m/uxP+XEAtDOPAmSSP7yHspykfKB
/MlNCCYi/4KngEQRwO2MvT082X/39gX7449/O3qx//TJd48/f8ac+OjwWL/x
w6PvHn3+PKTtKBCBBO4uT2FBIC1QWQ7/luYBZE6BGBnxfM4BBcB/oGy9mgAF
ZQGuLAyKyE/L6UEOUhwPm1ikXNEQlDQrRhkn3fWjiPmnfggCElV4lSRAOyX4
QMRGRIFEQ2IK0BTp6jPxy3I4G3EBf0oxa/BCkx244OcIOzgDhuPCO0HKffEN
KMDpG3sQDvlwW7KeoWhts7NZCEQPiRwDWMIvovzhkDFAB3RAWx7buUckNyRL
gEjGY/x1x1OOvDktIvzVRlhmAAhmyZyzmOdnSfoBQpDTME1iFIUMZv4NUOQ6
HR7w4RTQ4uMw9wRuDwdA4ryOAUoPKCwTxp5IyoWsBn7MZv4pkY5PfcRpwCcT
sqZxiUe1ZLk/JDc52mKUp5wLnlRLDvBPuB+m5WZBn3bUXsMI/todDDzGOtyo
fn84HEpjNoKpz8Ix+EjDoNkGG0ayn120TGMJe7ojHbRrIpO49mUwAL6ORQaD
QxCqBFQ2BlnZZWeC40WGPwmahfNFFE5CkGTNfWC9bZJEYzkC1DgdjMBQBTMu
FP80Ccfggxc8p98PHaKlfbX3ds9iZTWDCRD/KgCzTIyFiVI+DSEwE/4IVoyS
M1zz16NXmVBxzrbibAtFUwwF148aoO69Ojx5wf7x5jU7kne3pJ379ukPP4BZ
ZC/KOcUK6HdxZn3Udm11uZIyUEAriTcfw0bJuQG7AMddVqTxLrqhXfoF1Gz3
fB7txtkuup/dmntCGImlD6QAQuXgZHZRB9mrw+OXeB92ssve7uz9JAIitSqu
hdYJFBz3it4vW/gBHwpk1iSyZjorYhPMG2FP3+I6iqBPHz15tJygYtQKBN2t
CIrb2mUWqpX7XZne4J4m4fkuk7+gi5fgCtjtGCcDfNk/4COpiH8KTdll7yOO
0Q9IeATr0qjqVzBwoHROflZ5fyM2AEHxPI+N/OAD6sZe8CFOziI+pnAsg+BI
/W7qX7YmfpRxDFaIjWSkkddRlgjnC74UtLGItTr48cKPw2zGjjFgAanKuJ8G
s8HeFDZ2wXBoKh9ASiia3puGEX8Dev1g7/AVe//q4Mmjxz96jx999933j4+e
e/tPHj8koz+6GOjTvwljoXLgg4+DEKm2zV7FcXIqqu8I8muMPwWMXgGkiFYe
yJWnwKEy1qSXU6MswFSFArlgEWAHoQPYpgcvSS0EWXYHL97/+vjHnUffP/3z
Dw+Hg/8PzL3OpdkdBAA=

-->

</rfc>

