<?xml version="1.0" encoding="US-ASCII"?> 
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<!--  vi: set et smarttab sw=2 tabstop=4:--> 
<?rfc toc="yes"?> 
<?rfc tocompact="yes"?> 
<?rfc tocdepth="3"?> 
<?rfc tocindent="yes"?> 
<?rfc symrefs="yes"?> 
<?rfc sortrefs="yes"?> 
<?rfc comments="yes"?> 
<?rfc inline="yes"?> 
<?rfc compact="yes"?> 
<?rfc subcompact="no"?> 

<rfc category="std" docName="draft-ietf-ccamp-otn-topo-yang-18" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
 <front>
  <title abbrev="OTN Topology YANG Model"> A YANG Data Model for Optical Transport Network Topology </title> 

  <author initials="H." surname="Zheng" fullname="Haomian Zheng">
   <organization>Huawei Technologies</organization>
   <address>
    <postal>
     <street>H1, Huawei Industrial Base, Songshan Lake</street>
     <city>Dongguan</city>
     <region>Guangdong</region>
     <code>523808</code>
     <country>China</country>
    </postal>
    <email>zhenghaomian@huawei.com</email>
   </address>
  </author>

  <author initials="I." surname="Busi" fullname="Italo Busi">
   <organization>Huawei Technologies</organization>
   <address>
    <postal>
     <street>HUAWEI TECHNOLOGIES ITALIA Srl Centro Direzionale Milano 2</street>
     <city>Milan</city>
     <region>Milan</region>
     <code>20090</code>
     <country>Italy</country>
    </postal>
    <email>Italo.Busi@huawei.com</email>
   </address>
  </author>

  <author initials="X." surname="Liu" fullname="Xufeng Liu">
   <organization>IBM Corporation</organization>
   <address>
    <postal>
     <street>2300 Dulles Station Blvd.</street>
     <city>Herndon</city>
     <region>VA</region>
     <code>20171</code>
     <country>United States of America</country>
    </postal>
    <email>xufeng.liu.ietf@gmail.com</email>
   </address>
  </author>

  <author initials="S." surname="Belotti" fullname="Sergio Belotti">
   <organization>Nokia</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>sergio.belotti@nokia.com</email>
   </address>
  </author>

  <author initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
   <organization>Telefonica</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>oscar.gonzalezdedios@telefonica.com</email>
   </address>
  </author>

  <date  month="April" day="19" year="2024" />
  <workgroup>CCAMP Working Group</workgroup>

 <abstract>
  <t>
  This document describes a YANG data model to describe the topologies of an Optical Transport Network (OTN).  It is independent of control plane protocols and captures topological and resource-related information pertaining to OTN.  This model enables clients, which interact with a transport domain controller, for OTN topology-related operations such as obtaining the relevant topology resource information.
  </t>
 </abstract>


 <note title="Requirements Language">
  <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" 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>
 </note>
 </front>


 <middle>
 <section title="Introduction" toc="default">
  <t>
  A transport network is a server-layer network designed to provide connectivity services for a client-layer network to carry the client traffic transparently across the server-layer network resources.  A transport network typically utilizes several different transport technologies such as the Optical Transport Networks (OTN) or packet transport such as provided by the MPLS-Transport Profile (MPLS-TP).
  </t>
  <t>
  This document defines a data model of an OTN topology, using YANG <xref target="RFC7950" />. The model can be used by an application communicating with a transport controller. Furthermore, it can be used by an application for the following purposes (but not limited to): 
  <list style="symbols">
   <t>
   To obtain a whole view of the network topology information of its interest; 
   </t>
   <t>
   To receive notifications with regard to the information change of the OTN topology;
   </t>
   <t>
   To enforce the establishment and update to the network topology with the characteristics specified in the data model;
   </t>
  </list>
  </t>
  <t>
  The YANG model defined in this document is independent of control plane protocols and captures topology related information pertaining to an Optical Transport Networks (OTN) electrical layer, as the scope specified by <xref target="RFC7062" /> .  Furthermore, it is not a stand-alone model, but augments from the TE topology YANG model defined in <xref target="RFC8795" />, and importing from the generic Layer 1 types defined in <xref target="I-D.ietf-ccamp-layer1-types" />. Following TE topology YANG model, the YANG model defined in this document is interface independent. The model is included in <xref target="I-D.ietf-teas-actn-yang" />, which indicates the typical usage of IETF YANG models in ACTN architecture specified by <xref target="RFC8453" />. More specifically, the usage of this model between controllers is described in <xref target="I-D.ietf-ccamp-transport-nbi-app-statement" />. 
  </t>
  <t> The YANG data model in this document conforms to the Network Management Datastore Architecture defined in <xref target="RFC8342" />.
  </t>

 <section title="Terminology and Notations" toc="default">


  <t>
   Some of the key terms used in this document are listed as follow.
   </t>
   <list style="symbols">
   <t>
   TS: Tributary Slot. 
   </t>
   <t>
   TSG: Tributary Slot Granularity. 
   </t>
   <t>
   TPN: Tributary Port Number. 
   </t>
   </list>
   <t>Refer to <xref target="RFC7062" /> for the key terms used in this document.</t>
   <t>The following terms are defined in <xref target="RFC7950" /> and are not redefined here:</t>
   <list style="symbols">
   <t>client</t>
   <t>server</t>
   <t>augment</t>
   <t>data model</t>
   <t>data node</t>
   </list>
   <t>The following terms are defined in <xref target="RFC6241" /> and are not redefined here:</t>
   <list style="symbols">
   <t>configuration data</t>
   <t>state data</t>
   </list>
   <t>The terminology for describing YANG data models is found in <xref target="RFC7950" />.</t>
  

 </section>
 <!--  Terminology and Notation END  -->
 
    <section title="Tree Diagram" toc="default">
  <t>
   A simplified graphical representation of the data model is used in Section 3 of this document. The meaning of the symbols in these diagrams is defined in <xref target="RFC8340" />.
  </t>
 </section>
 <!--  Tree Diagram END  --> 
 
   <section title="Prefix in Data Node Names" toc="default">
  <t>
   In this document, the names of data nodes and other data model objects are prefixed using the standard prefix associated with the corresponding YANG imported modules, as shown in Table 1.
  </t>
    <figure>
    <artwork>
      <![CDATA[
         +==========+=======================+===========+
         | Prefix   | YANG module           | Reference |
         +==========+=======================+===========+
         | l1-types | ietf-layer1-types     | [RFCYYYY] |
         +----------+-----------------------+-----------+
         | otnt     | ietf-otn-topology     | RFC XXXX  |
         +----------+-----------------------+-----------+
         | nw       | ietf-network          | [RFC8345] |
         +----------+-----------------------+-----------+
         | nt       | ietf-network-topology | [RFC8345] |
         +----------+-----------------------+-----------+
         | tet      | ietf-te-topology      | [RFC8795] |
         +----------+-----------------------+-----------+
           Table 1: Prefixes and Corresponding YANG Modules
     ]]>
   </artwork>
  </figure>
  <t>
  RFC Editor Note: Please replace XXXX with the number assigned to the RFC once this draft becomes an RFC. Please replace YYYY with the RFC number assigned to <xref target="I-D.ietf-ccamp-layer1-types" />. 
  </t>
 </section>
 <!--  Prefix END  --> 
  </section> 
 <!--  Introduction END  -->

 <section anchor="DM" title="YANG Data Model for OTN Topology" toc="default">
 
   <section anchor="overview" title="OTN Topology Data Model Overview" toc="default">
   <t>
   This document aims to describe the data model for OTN topology. As a classic Traffic-engineering (TE) technology, OTN provides TDM switching in transport network <xref target="ITU-T_G.709" />. Therefore, the YANG module presented in this document augments from a more generic Traffic Engineered (TE) network topology data model, i.e., the ietf-te-topology, as specified in <xref target="RFC8795" />. In section 6 of <xref target="RFC8795" />, the guideline for augmenting TE topology model was provided, and in this draft, we augment the TE topology model to describe the topology in OTN. Common types, identities and groupings defined in <xref target="I-D.ietf-ccamp-layer1-types" /> is reused in this document. <xref target="RFC8345" /> describes a network topology model and provides the fundamental model for <xref target="RFC8795" />. However, this work is not directly augmenting <xref target="RFC8345" />. Figure 1 shows the augmentation relationship. 
   </t>
   <figure>
    <artwork>
      <![CDATA[
                     +------------------+
        TE generic   | ietf-te-topology |
                     +------------------+
                               ^
                               |
                               | Augments
                               |
                     +---------+---------+
        OTN          | ietf-otn-topology |
                     +-------------------+
    Figure 1 - Relationship between OTN and TE topology models
    ]]>
    </artwork>
   </figure> 
   <t>
   The entities and TE attributes, such as node, termination points and links, are still applicable for describing an OTN topology and the model presented in this document only specifies technology-specific attributes/information.  The OTN-specific attributes in <xref target="RFC7139" />, including the TPN, TS and TSG, can be used to represent the bandwidth and label information. These attributes have been specified in <xref target="I-D.ietf-ccamp-layer1-types" />, and used in this document for augmentation of the generic TE topology model. 
   </t>
  </section>
  <!--  overview END  -->
  
  <section anchor="attributes" title="Attributes Augmentation" toc="default">
   <t>
   There are a few characteristics augmenting to the generic TE topology.  
   </t>
   <t>
   Following the guidelines described in [RFC8795], an otn-topology network-type is specified as the indicator of OTN in the topology. 
   </t>
   <figure>
    <artwork>
      <![CDATA[
     augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
       +--rw otn-topology!
    ]]>
    </artwork>
   </figure> 
   <t>
   Three OTN technology-specific parameters are specified to augment the generic TE link attributes.
   </t>
      <figure>
    <artwork>
      <![CDATA[
	 augment /nw:networks/nw:network/nt:link/tet:te
             /tet:te-link-attributes:
       +--rw otn-link
         +--rw odtu-flex-type?   l1-types:odtu-flex-type
         +--rw tsg?              identityref
         +--rw distance?         uint32
    ]]>
    </artwork>
   </figure> 
   <t>
   In OTN the resources is measured by the tributary slots (TS), as specified in <xref target="RFC7139" />.  The tributary slot granularity (TSG) attribute defines the granularity, such as 1.25G, 2.5G and 5G, used by the TSs of a given OTN link.  The distance attribute describes the geographical distance between a pair of OTN link termination points.  This is usually measured by the length of the fibre.  
   </t>
   <t>
   The OTN topology model also allows reporting of the access links that support the transparent client signals, defined in <xref target="I-D.ietf-ccamp-layer1-types" />. These links can also be multi-function access links that can support one or more transparent client signals and OTN.
   </t>
   <t>  
   A client-svc presence container is specified to augment the generic TE link termination point to describe if the point is capable of carrying a client signal and what kind of signal can be carried as follow. The same presence container is also specified for the TE link.
   </t>
   <figure>
    <artwork>
      <![CDATA[
     augment /nw:networks/nw:network/nw:node/nt:termination-point
               /tet:te:
       +--rw client-svc!
          +--rw supported-client-signal*   identityref
    ]]>
    </artwork>
   </figure> 
   <t>
   The list of supported-client-signal is used to provide the capabilities of the client signal specified in <xref target="I-D.ietf-ccamp-layer1-types" />.
   </t>
  </section>
  <!--  attributes END  -->
  
  <section anchor="bandwidth" title="Bandwidth Augmentation" toc="default">
   <t>
   Following the guidelines in <xref target="RFC8795" />, the model augments all the occurrences of the te-bandwidth container with the OTN technology-specific attributes using the otn-link-bandwidth and otn-path-bandwidth groupings defined in <xref target="I-D.ietf-ccamp-layer1-types" />.
   </t>
  
  </section>
  <!--  bandwidth END  -->

  <section anchor="label" title="Label Augmentation" toc="default">
   <t>
   The model augments all the occurrences of the label-restriction list with OTN technology specific attributes using the otn-label-range-info grouping defined in <xref target="I-D.ietf-ccamp-layer1-types" />.
   </t>
   <t>
   Moreover, following the guidelines in <xref target="RFC8795" />, the model augments all the occurrences of the te-label container with the OTN technology specific attributes using the otn-label-start-end, otn-label-hop and otn-label-step groupings defined in <xref target="I-D.ietf-ccamp-layer1-types" />.
   </t>
   
  </section>
  <!--  label END  -->
</section>
 <!--  DM END  -->

  <section anchor="tree" title="YANG Tree for OTN topology" toc="default">
   <t>
   <figure anchor="treefigure" title="" suppress-title="true" align="left" alt="" width="" height="">
    <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
<![CDATA[
module: ietf-otn-topology

  augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
    +--rw otn-topology!
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes:
    +--rw otn-node!
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes:
    +--rw otn-link
    |  +--rw odtu-flex-type?   l1-types:odtu-flex-type
    |  +--rw tsg?              identityref
    |  +--rw distance?         uint32
    +--rw client-svc!
       +--rw supported-client-signal*   identityref
  augment /nw:networks/nw:network/nw:node/nt:termination-point
            /tet:te:
    +--rw otn-link-tp
    |  +--rw odtu-flex-type?   l1-types:odtu-flex-type
    +--rw client-svc!
       +--rw supported-client-signal*   identityref
  augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te
            /tet:interface-switching-capability/tet:max-lsp-bandwidth
            /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odu-type?        identityref
          +--rw max-ts-number?   uint16
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:path-constraints/tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odulist* [odu-type]
          |  +--rw odu-type     identityref
          |  +--rw number?      uint16
          |  +--rw ts-number?   uint16
          +--rw odtu-flex-type?   l1-types:odtu-flex-type
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odulist* [odu-type]
          |  +--rw odu-type     identityref
          |  +--rw number?      uint16
          |  +--rw ts-number?   uint16
          +--rw odtu-flex-type?   l1-types:odtu-flex-type
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:path-constraints/tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--ro otn-bandwidth
          +--ro odulist* [odu-type]
          |  +--ro odu-type     identityref
          |  +--ro number?      uint16
          |  +--ro ts-number?   uint16
          +--ro odtu-flex-type?   l1-types:odtu-flex-type
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--ro otn-bandwidth
          +--ro odulist* [odu-type]
          |  +--ro odu-type     identityref
          |  +--ro number?      uint16
          |  +--ro ts-number?   uint16
          +--ro odtu-flex-type?   l1-types:odtu-flex-type
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point/tet:client-layer-adaptation
            /tet:switching-capability/tet:te-bandwidth
            /tet:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odulist* [odu-type]
          |  +--rw odu-type     identityref
          |  +--rw number?      uint16
          |  +--rw ts-number?   uint16
          +--rw odtu-flex-type?   l1-types:odtu-flex-type
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odulist* [odu-type]
          |  +--rw odu-type     identityref
          |  +--rw number?      uint16
          |  +--rw ts-number?   uint16
          +--rw odtu-flex-type?   l1-types:odtu-flex-type
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odulist* [odu-type]
          |  +--rw odu-type     identityref
          |  +--rw number?      uint16
          |  +--rw ts-number?   uint16
          +--rw odtu-flex-type?   l1-types:odtu-flex-type
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes
            /tet:interface-switching-capability/tet:max-lsp-bandwidth
            /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odu-type?        identityref
          +--rw max-ts-number?   uint16
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:max-link-bandwidth
            /tet:te-bandwidth:
    +--rw otn-bandwidth
       +--rw odulist* [odu-type]
          +--rw odu-type     identityref
          +--rw number?      uint16
          +--rw ts-number?   uint16
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:max-resv-link-bandwidth
            /tet:te-bandwidth:
    +--rw otn-bandwidth
       +--rw odulist* [odu-type]
          +--rw odu-type     identityref
          +--rw number?      uint16
          +--rw ts-number?   uint16
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:unreserved-bandwidth
            /tet:te-bandwidth:
    +--rw otn-bandwidth
       +--rw odulist* [odu-type]
          +--rw odu-type     identityref
          +--rw number?      uint16
          +--rw ts-number?   uint16
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry
            /tet:interface-switching-capability/tet:max-lsp-bandwidth
            /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--ro otn-bandwidth
          +--ro odu-type?        identityref
          +--ro max-ts-number?   uint16
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:max-link-bandwidth
            /tet:te-bandwidth:
    +--ro otn-bandwidth
       +--ro odulist* [odu-type]
          +--ro odu-type     identityref
          +--ro number?      uint16
          +--ro ts-number?   uint16
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:max-resv-link-bandwidth
            /tet:te-bandwidth:
    +--ro otn-bandwidth
       +--ro odulist* [odu-type]
          +--ro odu-type     identityref
          +--ro number?      uint16
          +--ro ts-number?   uint16
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:unreserved-bandwidth
            /tet:te-bandwidth:
    +--ro otn-bandwidth
       +--ro odulist* [odu-type]
          +--ro odu-type     identityref
          +--ro number?      uint16
          +--ro ts-number?   uint16
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes
            /tet:interface-switching-capability/tet:max-lsp-bandwidth
            /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odu-type?        identityref
          +--rw max-ts-number?   uint16
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:max-link-bandwidth
            /tet:te-bandwidth:
    +--rw otn-bandwidth
       +--rw odulist* [odu-type]
          +--rw odu-type     identityref
          +--rw number?      uint16
          +--rw ts-number?   uint16
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:max-resv-link-bandwidth
            /tet:te-bandwidth:
    +--rw otn-bandwidth
       +--rw odulist* [odu-type]
          +--rw odu-type     identityref
          +--rw number?      uint16
          +--rw ts-number?   uint16
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:unreserved-bandwidth
            /tet:te-bandwidth:
    +--rw otn-bandwidth
       +--rw odulist* [odu-type]
          +--rw odu-type     identityref
          +--rw number?      uint16
          +--rw ts-number?   uint16
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction:
    +--rw otn-label-range!
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction:
    +--rw otn-label-range!
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction:
    +--rw otn-label-range!
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction:
    +--ro otn-label-range!
       +--ro range-type?      otn-label-range-type
       +--ro tsg?             identityref
       +--ro odu-type-list*   identityref
       +--ro priority?        uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction:
    +--ro otn-label-range!
       +--ro range-type?      otn-label-range-type
       +--ro tsg?             identityref
       +--ro odu-type-list*   identityref
       +--ro priority?        uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction:
    +--ro otn-label-range!
       +--ro range-type?      otn-label-range-type
       +--ro tsg?             identityref
       +--ro odu-type-list*   identityref
       +--ro priority?        uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:label-restrictions
            /tet:label-restriction:
    +--rw otn-label-range!
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:label-restrictions
            /tet:label-restriction:
    +--rw otn-label-range!
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction:
    +--rw otn-label-range!
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:label-restrictions
            /tet:label-restriction:
    +--ro otn-label-range!
       +--ro range-type?      otn-label-range-type
       +--ro tsg?             identityref
       +--ro odu-type-list*   identityref
       +--ro priority?        uint8
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction:
    +--rw otn-label-range!
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:underlay/tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:underlay/tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:optimizations/tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:optimizations/tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:path-properties/tet:path-route-objects
            /tet:path-route-object/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay/tet:primary-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay/tet:backup-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations/tet:algorithm
            /tet:metric/tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations/tet:algorithm
            /tet:metric/tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-properties
            /tet:path-route-objects/tet:path-route-object/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(otn)
       +--ro otn-label-step
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:underlay/tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:underlay/tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:optimizations/tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:optimizations/tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:path-properties/tet:path-route-objects
            /tet:path-route-object/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(otn)
       +--ro otn-label-step
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(otn)
       +--ro otn-label-step
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay/tet:primary-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay/tet:backup-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations/tet:algorithm
            /tet:metric/tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations/tet:algorithm
            /tet:metric/tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-properties
            /tet:path-route-objects/tet:path-route-object/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:underlay
            /tet:primary-path/tet:path-element/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:underlay
            /tet:backup-path/tet:path-element/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:optimizations
            /tet:algorithm/tet:metric/tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:optimizations
            /tet:algorithm/tet:metric/tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:path-properties
            /tet:path-route-objects/tet:path-route-object/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:underlay
            /tet:primary-path/tet:path-element/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:underlay/tet:backup-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:optimizations
            /tet:algorithm/tet:metric/tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:optimizations
            /tet:algorithm/tet:metric/tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:path-properties
            /tet:path-route-objects/tet:path-route-object/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:underlay/tet:primary-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:underlay/tet:backup-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(otn)
       +--ro otn-label-step
          +--ro tpn?   otn-tpn
          +--ro ts?    otn-ts
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:underlay/tet:primary-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:underlay/tet:backup-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
]]>
    </artwork>
   </figure>
   </t>
  </section>
  <!--  tree END  --> 



  <section anchor="code" title="The YANG Code" toc="default">
   <figure anchor="TheYANGCode" title="" suppress-title="true" align="left" alt="" width="" height="">
    <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
 <![CDATA[ 
<CODE BEGINS> file "ietf-otn-topology@2024-04-19.yang"
module ietf-otn-topology {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-otn-topology";
  prefix "otnt";

  import ietf-network {
    prefix "nw";
    reference "RFC 8345: A YANG Data Model for Network Topologies";
  }

  import ietf-network-topology {
    prefix "nt";
    reference "RFC 8345: A YANG Data Model for Network Topologies";
  }

  import ietf-te-topology {
    prefix "tet";
    reference
      "RFC 8795: YANG Data Model for Traffic Engineering
       (TE) Topologies";
  }

  import ietf-layer1-types {
    prefix "l1-types";
    reference
      "I-D.ietf-ccamp-layer1-types: A YANG Data Model 
       for Layer 1 Types";
  }

  organization
    "IETF CCAMP Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/ccamp/>
     WG List: <mailto:ccamp@ietf.org>

     Editor: Haomian Zheng
             <mailto:zhenghaomian@huawei.com>

     Editor: Italo Busi
             <mailto:italo.busi@huawei.com>

     Editor: Xufeng Liu
             <mailto:xufeng.liu.ietf@gmail.com>

     Editor: Sergio Belotti
             <mailto:sergio.belotti@nokia.com>

     Editor: Oscar Gonzalez de Dios
             <mailto:oscar.gonzalezdedios@telefonica.com>";

  description
    "This module defines a protocol independent Layer 1/ODU topology
     data model. The model fully conforms
     to the Network Management Datastore Architecture (NMDA).

     Copyright (c) 2024 IETF Trust and the persons identified
     as authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Revised BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

  revision 2024-04-19 {
    description
      "Initial Revision";
    reference
      "RFC XXXX: A YANG Data Model for Optical Transport Network 
      Topology";
    // RFC Ed.: replace XXXX with actual RFC number, update date
    // information and remove this note
  }

  /*
   * Groupings
   */

  grouping label-range-info {
    description
      "OTN technology-specific label range related information with 
      a presence container indicating that the label range is an 
      OTN technology-specific label range.

      This grouping SHOULD be used together with the
      otn-label-start-end and otn-label-step groupings to provide
      OTN technology-specific label information to the models which
      use the label-restriction-info grouping defined in the module
      ietf-te-types.";
    uses l1-types:otn-label-range-info {
      refine otn-label-range {
        presence
          "Indicates the label range is an OTN label range.
          
          This container MUST NOT be present if there are other 
          presence containers or attributes indicating another type 
          of label range.";
      }
    }
  }

 /*
  * Data nodes
  */

  augment "/nw:networks/nw:network/nw:network-types/"
        + "tet:te-topology" {
    container otn-topology {
      presence "indicates a topology type of Optical Transport
                Network (OTN)-electrical layer.";
      description "OTN topology type";
    }
    description "augment network types to include OTN.";
  }

  augment "/nw:networks/nw:network/nw:node/tet:te"
        + "/tet:te-node-attributes" {
    when "../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description "Augment only for OTN.";
    }
    description "Augment TE node attributes.";
    container otn-node {
      presence "The TE node is an OTN node.";
      description
        "Introduce new TE node type for OTN node.";
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes" {
    when "../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description "Augment only for OTN.";
    }
    description "Augment link configuration";

    container otn-link {
      description
        "Attributes of the OTN Link.";
      leaf odtu-flex-type {
        type l1-types:odtu-flex-type;
        description
          "The type of Optical Data Tributary Unit (ODTU)
          whose nominal bitrate is used to compute the number of
          Tributary Slots (TS) required by the ODUflex LSPs set up
          on this OTN Link.";
      }
      leaf tsg {
        type identityref {
          base l1-types:tributary-slot-granularity;
        }
        description "Tributary slot granularity.";
        reference
          "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
          Transport Network (OTN)";
      }
      leaf distance {
        type uint32;
        description "distance in the unit of kilometers";
      }
    }
    container client-svc {
      presence
        "When present, indicates that the Link supports Constant
        Bit Rate (CBR) client signals.";
      description
        "Attributes of the Link supporting CBR client signals.";
      leaf-list supported-client-signal {
        type identityref {
          base l1-types:client-signal;
        }
        min-elements 1;
        description
          "List of client signal types supported by the Link.";
      }
    }
  }

  augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
        + "tet:te" {
    when "../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description "Augment only for OTN.";
    }
    description
      "Augment link termination point (LTP) configuration.";

    container otn-link-tp {
      description
        "Attributes of the OTN Link Termination Point (LTP).";
      leaf odtu-flex-type {
        type l1-types:odtu-flex-type;
        description
          "The type of Optical Data Tributary Unit (ODTU)
          whose nominal bitrate is used to compute the number of
          Tributary Slots (TS) required by the ODUflex LSPs set up
          on this OTN Link Termination Point (LTP).";
      }
    }
    container client-svc {
      presence
        "When present, indicates that the Link Termination Point 
        (LTP) supports Constant Bit Rate (CBR) client signals.";
      description
        "OTN LTP Service attributes.";
      leaf-list supported-client-signal {
        type identityref {
          base l1-types:client-signal;
        }
        description
          "List of client signal types supported by the LTP.";
      }
    }
  }

  /*
   * Augment TE bandwidth
   */

  augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
        + "tet:te/"
        + "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment maximum LSP TE bandwidth for the link termination
       point (LTP).";
    case otn {
      uses l1-types:otn-max-path-bandwidth {
        description
          "The odtu-flex-type attribute of the OTN Link Termination
          Point (LTP) is used to compute the number of Tributary
          Slots (TS) required by the ODUflex LSPs set up on this
          OTN LTP.";
      }
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE bandwidth path constraints of the TE node
       connectivity matrices.";
    case otn {
      uses l1-types:otn-link-bandwidth {
        augment otn-bandwidth {
          description
            "Augment OTN link bandwidth information.";
          leaf odtu-flex-type {
            type l1-types:odtu-flex-type;
            description
              "The type of Optical Data Tributary Unit (ODTU)
              whose nominal bitrate is used to compute the number of
              Tributary Slots (TS) required by the ODUflex LSPs
              set up along the underlay paths of these OTN
              connectivity matrices.";
          }
        }
      }
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE bandwidth path constraints of the
       connectivity matrix entry.";
    case otn {
      uses l1-types:otn-link-bandwidth {
        augment otn-bandwidth {
          description
            "Augment OTN link bandwidth information.";
          leaf odtu-flex-type {
            type l1-types:odtu-flex-type;
            description
              "The type of Optical Data Tributary Unit (ODTU)
              whose nominal bitrate is used to compute the number of
              Tributary Slots (TS) required by the ODUflex LSPs
              set up along the underlay path of this OTN
              connectivity matrix entry.";
          }
        }
      }
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE bandwidth path constraints of the TE node
       connectivity matrices information source.";
    case otn {
      uses l1-types:otn-link-bandwidth {
        augment otn-bandwidth {
          description
            "Augment OTN link bandwidth information.";
          leaf odtu-flex-type {
            type l1-types:odtu-flex-type;
            description
              "The type of Optical Data Tributary Unit (ODTU)
              whose nominal bitrate is used to compute the number of
              Tributary Slots (TS) required by the ODUflex LSPs
              set up along the underlay paths of these OTN
              connectivity matrices.";
          }
        }
      }
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE bandwidth path constraints of the
       connectivity matrix entry information source";
    case otn {
      uses l1-types:otn-link-bandwidth {
        augment otn-bandwidth {
          description
            "Augment OTN link bandwidth information.";
          leaf odtu-flex-type {
            type l1-types:odtu-flex-type;
            description
              "The type of Optical Data Tributary Unit (ODTU)
              whose nominal bitrate is used to compute the number of
              Tributary Slots (TS) required by the ODUflex LSPs
              set up along the underlay path of this OTN
              connectivity matrix entry.";
          }
        }
      }
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:client-layer-adaptation/tet:switching-capability/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment client TE bandwidth of the tunnel termination point
       (TTP)";
    case otn {
      uses l1-types:otn-link-bandwidth {
        augment otn-bandwidth {
          description
            "Augment OTN link bandwidth information.";
          leaf odtu-flex-type {
            type l1-types:odtu-flex-type;
            description
              "The type of Optical Data Tributary Unit (ODTU)
              whose nominal bitrate is used to compute the number of
              Tributary Slots (TS) required by the ODUflex LSPs
              terminated on this OTN Tunnel Termination Point
              (TTP).";
          }
        }
      }
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/tet:path-constraints/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE bandwidth path constraints for the TTP
       Local Link Connectivities.";
    case otn {
      uses l1-types:otn-link-bandwidth {
        augment otn-bandwidth {
          description
            "Augment OTN link bandwidth information.";
          leaf odtu-flex-type {
            type l1-types:odtu-flex-type;
            description
              "The type of Optical Data Tributary Unit (ODTU)
              whose nominal bitrate is used to compute the number of
              Tributary Slots (TS) required by the ODUflex LSPs
              set up along the underlay paths of these OTN Local
              Link Connectivities.";
          }
        }
      }
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/tet:path-constraints/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE bandwidth path constraints for the TTP
       Local Link Connectivity entry.";
    case otn {
      uses l1-types:otn-link-bandwidth {
        augment otn-bandwidth {
          description
            "Augment OTN link bandwidth information.";
          leaf odtu-flex-type {
            type l1-types:odtu-flex-type;
            description
              "The type of Optical Data Tributary Unit (ODTU)
              whose nominal bitrate is used to compute the number of
              Tributary Slots (TS) required by the ODUflex LSPs
              set up along the underlay path of this OTN Local
              Link Connectivity entry.";
          }
        }
      }
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment maximum LSP TE bandwidth for the TE link.";
    case otn {
      uses l1-types:otn-max-path-bandwidth {
        description
          "The odtu-flex-type attribute of the OTN Link is used
          to compute the number of Tributary Slots (TS) required
          by the ODUflex LSPs set up on this OTN Link.";
      }
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment maximum TE bandwidth for the TE link";
    uses l1-types:otn-link-bandwidth {
      description
        "The odtu-flex-type attribute of the OTN Link is used
        to compute the number of Tributary Slots (TS) required
        by the ODUflex LSPs set up on this OTN Link.";
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:max-resv-link-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment maximum reservable TE bandwidth for the TE link";
    uses l1-types:otn-link-bandwidth {
      description
        "The odtu-flex-type attribute of the OTN Link is used
        to compute the number of Tributary Slots (TS) required
        by the ODUflex LSPs set up on this OTN Link.";
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:unreserved-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment unreserved TE bandwidth for the TE Link";
    uses l1-types:otn-link-bandwidth {
      description
        "The odtu-flex-type attribute of the OTN Link is used
        to compute the number of Tributary Slots (TS) required
        by the ODUflex LSPs set up on this OTN Link.";
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:interface-switching-capability/"
        + "tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment maximum LSP TE bandwidth for the TE link
       information source";
    case otn {
      uses l1-types:otn-max-path-bandwidth {
        description
          "The odtu-flex-type attribute of the OTN Link is used
          to compute the number of Tributary Slots (TS) required
          by the ODUflex LSPs set up on this OTN Link.";
      }
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment maximum TE bandwidth for the TE link
       information source";
    uses l1-types:otn-link-bandwidth {
      description
        "The odtu-flex-type attribute of the OTN Link is used
        to compute the number of Tributary Slots (TS) required
        by the ODUflex LSPs set up on this OTN Link.";
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:max-resv-link-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment maximum reservable TE bandwidth for the TE link
       information-source";
    uses l1-types:otn-link-bandwidth {
      description
        "The odtu-flex-type attribute of the OTN Link is used
        to compute the number of Tributary Slots (TS) required
        by the ODUflex LSPs set up on this OTN Link.";
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:unreserved-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment unreserved TE bandwidth of the TE link
       information source";
    uses l1-types:otn-link-bandwidth {
      description
        "The odtu-flex-type attribute of the OTN Link is used
        to compute the number of Tributary Slots (TS) required
        by the ODUflex LSPs set up on this OTN Link.";
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:interface-switching-capability/"
        + "tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    description
      "Augment maximum LSP TE bandwidth of the TE link
       template";
    case otn {
      uses l1-types:otn-max-path-bandwidth {
        description
          "The odtu-flex-type attribute of the OTN Link is used
          to compute the number of Tributary Slots (TS) required
          by the ODUflex LSPs set up on the OTN Link that uses this
          Link Template.";
      }
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth" {
    description
      "Augment maximum TE bandwidth the TE link template";
    uses l1-types:otn-link-bandwidth {
      description
        "The odtu-flex-type attribute of the OTN Link is used
        to compute the number of Tributary Slots (TS) required
        by the ODUflex LSPs set up on the OTN Link that uses this
        Link Template.";
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:max-resv-link-bandwidth/"
        + "tet:te-bandwidth" {
    description
      "Augment maximum reservable TE bandwidth for the TE link
       template.";
    uses l1-types:otn-link-bandwidth {
      description
        "The odtu-flex-type attribute of the OTN Link is used
        to compute the number of Tributary Slots (TS) required
        by the ODUflex LSPs set up on the OTN Link that uses this
        Link Template.";
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:unreserved-bandwidth/"
        + "tet:te-bandwidth" {
    description
      "Augment unreserved TE bandwidth the TE link template";
    uses l1-types:otn-link-bandwidth {
      description
        "The odtu-flex-type attribute of the OTN Link is used
        to compute the number of Tributary Slots (TS) required
        by the ODUflex LSPs set up on the OTN Link that uses this
        Link Template.";
    }
  }

  /*
   * Augment TE label range information
   */

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range information for the TE node
       connectivity matrices.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range information for the source LTP
       of the connectivity matrix entry.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range information for the destination LTP
       of the connectivity matrix entry.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range information for the TE node
       connectivity matrices information source.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range information for the source LTP
       of the connectivity matrix entry information source.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range information for the destination LTP
       of the connectivity matrix entry information source.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range information for the TTP
       Local Link Connectivities.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range information for the TTP
       Local Link Connectivity entry.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range information for the TE link.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range information for the TE link
       information source.";
    uses label-range-info;
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction" {
    description
      "Augment TE label range information for the TE link template.";
    uses label-range-info;
  }

  /*
   * Augment TE label
   */

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range start for the TE node
       connectivity matrices";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/"
        + "tet:label-restriction/tet:label-end/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range end for the TE node
       connectivity matrices";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/"
        + "tet:label-restriction/tet:label-step/"
        + "tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range step for the TE node
       connectivity matrices";
    case otn {
      uses l1-types:otn-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:underlay/tet:primary-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path of the
       TE node connectivity matrices";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:underlay/tet:backup-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path of the
       TE node connectivity matrices";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the TE node connectivity
       matrices";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the TE node connectivity
       matrices";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TE node connectivity matrices";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range start for the source LTP
       of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range end for the source LTP
       of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/"
        + "tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range step for the source LTP
       of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range start for the destination LTP
       of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range end for the destination LTP
       of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/"
        + "tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range step for the destination LTP
       of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:primary-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:backup-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:optimizations/"
        + "tet:algorithm/tet:metric/tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:optimizations/"
        + "tet:algorithm/tet:metric/tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the connectivity matrix entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range start for the TE node connectivity
       matrices information source.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range end for the TE node connectivity
       matrices information source.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range step for the TE node connectivity
       matrices information source.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TE node connectivity matrices of the information
       source entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TE node connectivity matrices of the information
       source entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the TE node connectivity matrices
       information source.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the TE node connectivity matrices
       information source.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TE node connectivity matrices information source.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range start for the source LTP
       of the connectivity matrix entry information source.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range end for the source LTP
       of the connectivity matrix entry information source.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range step for the source LTP
       of the connectivity matrix entry information source.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range start for the destination LTP
       of the connectivity matrix entry information source.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range end for the destination LTP
       of the connectivity matrix entry information source.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range step for the destination LTP
       of the connectivity matrix entry information source.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the connectivity matrix entry information source.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the connectivity matrix entry information source.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the connectivity matrix entry
       information source.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the connectivity matrix entry
       information source.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the connectivity matrix entry information source.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
      + "tet:tunnel-termination-point/"
      + "tet:local-link-connectivities/"
      + "tet:label-restrictions/tet:label-restriction/"
      + "tet:label-start/"
      + "tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range start for the TTP
       Local Link Connectivities.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/"
        + "tet:te-label/tet:technology"{
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range end for the TTP
       Local Link Connectivities.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/"
        + "tet:technology"{
    when "../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range step for the TTP
       Local Link Connectivities.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TTP Local Link Connectivities.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TTP Local Link Connectivities.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the TTP Local Link
       Connectivities.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the TTP Local Link
       Connectivities.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TTP Local Link Connectivities.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range start for the TTP
       Local Link Connectivity entry.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range end for the TTP
       Local Link Connectivity entry.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range step for the TTP
       Local Link Connectivity entry.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TTP Local Link Connectivity entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TTP Local Link Connectivity entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the TTP Local Link
       Connectivity entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the TTP Local Link
       Connectivity entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TTP Local Link Connectivity entry.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }
  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TE link.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TE link.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range start for the TE link.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range end for the TE link.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range step for the TE link.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range start for the TE link
       information source.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range end for the TE link
       information source.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otnt:otn-topology" {
      description
        "Augmentation parameters apply only for networks with
         OTN topology type.";
    }
    description
      "Augment TE label range step for the TE link
       information source.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }
  
  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    description
      "Augment TE label hop for the underlay primary path
       of the TE link template.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    description
      "Augment TE label hop for the underlay backup path
       of the TE link template.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    description
      "Augment TE label range start for the TE link template.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    description
      "Augment TE label range end for the TE link template.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    description
      "Augment TE label range step for the TE link template.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }
}
<CODE ENDS>
]]> 
    </artwork>
   </figure>  
  </section>
  <!--  YANG CODE END  -->

 <section anchor="IANA" title="IANA Considerations" toc="default">
  <t>
  It is proposed to IANA to assign new URIs from the "IETF XML Registry" <xref target="RFC3688" /> as follows:
  </t>
  <figure>
    <artwork>
      <![CDATA[
      URI: urn:ietf:params:xml:ns:yang:ietf-otn-topology 
      Registrant Contact: The IESG  
      XML: N/A; the requested URI is an XML namespace.
    ]]>
    </artwork>
    </figure>  
  <t>
   This document registers a YANG module in the YANG Module Names registry <xref target="RFC7950" />.
  </t> 
  <figure>
    <artwork>
      <![CDATA[
   name:         ietf-otn-topology
   namespace:    urn:ietf:params:xml:ns:yang:ietf-otn-topology
   prefix:       otnt
   reference:    RFC XXXX
    ]]>
    </artwork>
    </figure> 
  <t> RFC Editor Note: Please replace XXXX with the number assigned to the RFC once this draft becomes an RFC.
  </t>
 </section>
 <!--  IANA END  -->

 <section anchor="Security" title="Security Considerations" toc="default">
  <t>
   The YANG module specified in this document defines a schema for data that is designed to be accessed via network management protocols such as NETCONF <xref target="RFC6241" /> or RESTCONF <xref target="RFC8040" />.  The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) <xref target="RFC6242" />.  The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS <xref target="RFC8446" />.
  </t>
  <t>
  The NETCONF access control model <xref target="RFC8341" /> provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.
  </t>
  <t>
  In this YANG module, numerous data nodes inherited from their previous attachment are designed to be writable, creatable, and deletable, as indicated by the "config true" setting. In certain network contexts, these nodes might be deemed sensitive and susceptible to security risks. Unauthorized or unprotected write operations, such as "edit-config", could adversely impact network functionality, which may require an accurate topology representation for correct function. The security implications discussed in Section 8 of <xref target="RFC8795" /> also extend to the hierarchies within this module that include these data nodes.
  </t>
  <t>  
  Additionally, some data nodes accessible for reading might be considered sensitive or prone to vulnerabilities as they expose network topology information, which may be confidential information for some operators.  Therefore, it's critical to manage access to these readable nodes carefully (for instance, through "get", "get-config", or "notification" commands) to safeguard them.  
  </t> 
 </section>
 <!--  Security END  -->


 <section anchor="Acknowledgements" title="Acknowledgements" toc="default">
  <t>
  We would like to thank Igor Bryskin, Zhe Liu, Zheyu Fan and Daniele Ceccarelli for their comments and discussions.
  </t> 
 </section>
 <!--  Acknowledgements END  -->

 <section anchor="Contributor" title="Contributors" toc="default">
  <t>
  Aihua Guo
  <vspace blankLines="0" /> 
  Futurewei
  <vspace blankLines="0" /> 
  Email: aihuaguo.ietf@gmail.com
  <vspace blankLines="0" /> 
  </t>
  
  <t>
  Anurag Sharma
  <vspace blankLines="0" /> 
  Google
  <vspace blankLines="0" /> 
  Email: ansha@google.com
  <vspace blankLines="0" /> 
  </t>
  
  <t>
  Yunbin Xu
  <vspace blankLines="0" /> 
  CAICT
  <vspace blankLines="0" /> 
  Email: xuyunbin@caict.ac.cn
  <vspace blankLines="0" /> 
  </t>
  
  <t>
  Lei Wang
  <vspace blankLines="0" /> 
  China Mobile
  <vspace blankLines="0" /> 
  Email: wangleiyj@chinamobile.com
  <vspace blankLines="0" /> 
  </t>
  
  <t>
  Baoquan Rao 
  <vspace blankLines="0" /> 
  Huawei Technologies 
  <vspace blankLines="0" /> 
  Email: raobaoquan@huawei.com
  <vspace blankLines="0" /> 
  </t>

  <t>
  Xian Zhang
  <vspace blankLines="0" /> 
  Huawei Technologies 
  <vspace blankLines="0" /> 
  Email: zhang.xian@huawei.com
  <vspace blankLines="0" /> 
  </t>

  <t>
  Huub van Helvoort
  <vspace blankLines="0" /> 
  Hai Gaoming BV
  <vspace blankLines="0" /> 
  the Netherlands
  <vspace blankLines="0" /> 
  Email: huubatwork@gmail.com
  <vspace blankLines="0" /> 
  </t>

  <t>
  Victor Lopez
  <vspace blankLines="0" /> 
  Nokia
  <vspace blankLines="0" /> 
  Email: victor.lopez@nokia.com
  <vspace blankLines="0" /> 
  </t>

  <t>
  Yunbo Li
  <vspace blankLines="0" /> 
  China Mobile
  <vspace blankLines="0" /> 
  Email: liyunbo@chinamobile.com
  <vspace blankLines="0" /> 
  </t>

  <t>
  Dieter Beller
  <vspace blankLines="0" /> 
  Nokia
  <vspace blankLines="0" /> 
  Email: dieter.beller@nokia.com
  <vspace blankLines="0" /> 
  </t>

  <t>
  Yanlei Zheng
  <vspace blankLines="0" /> 
  China Unicom
  <vspace blankLines="0" /> 
  Email: zhengyanlei@chinaunicom.cn
  <vspace blankLines="0" /> 
  </t>
 </section>
 <!--  Contributor END  --> 
 </middle>


 <back>
 <references title="Normative References">
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?>
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8446.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6241.xml"?>
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6242.xml"?>  
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8341.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7139.xml"?>  
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7950.xml"?>
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8040.xml"?>
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml"?>
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8342.xml"?>  
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8345.xml"?>
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8795.xml"?>
  <?rfc include="reference.I-D.ietf-ccamp-layer1-types"?>   
  <reference anchor="ITU-T_G.709" target="https://www.itu.int/rec/T-REC-G.709">
    <front>
    <title>
    SERIES G: TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS
                AND NETWORKS; Digital networks; 
                Interfaces for the optical transport network
    </title>
    <author initials="T" surname="ITU-" fullname="ITU-T G.709"/>
    <date month="June" year="2016"/>
    </front>
    <seriesInfo name="ITU-T Rec. G.709" value=""/>
  </reference>
 </references>
 <!--  Normative END  -->

 <references title="Informative References">
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7062.xml"?>
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8340.xml"?>
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8453.xml"?>  
  <?rfc include="reference.I-D.ietf-teas-actn-yang"?>
  <?rfc include="reference.I-D.ietf-ccamp-transport-nbi-app-statement"?> 
  </references>
 <!--  Informative END  -->
 </back>
</rfc>
