<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-ccamp-otn-topo-yang-20" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <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>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <author initials="X." surname="Liu" fullname="Xufeng Liu">
      <organization>Alef Edge</organization>
      <address>
        <email>xufeng.liu.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Belotti" fullname="Sergio Belotti">
      <organization>Nokia</organization>
      <address>
        <email>sergio.belotti@nokia.com</email>
      </address>
    </author>
    <author initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
      <organization>Telefonica</organization>
      <address>
        <email>oscar.gonzalezdedios@telefonica.com</email>
      </address>
    </author>

    <date year="2024" month="November" day="08"/>

    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    

    <abstract>


<?line 105?>

<t>This document defines a YANG data model for representing, retrieving,
and manipulating Optical Transport Network (OTN) topologies.  It is
independent of control plane protocols and captures topological and
resource-related information pertaining to OTN.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://haomianzheng.github.io/ccamp-client-pm-yang/draft-zheng-ccamp-client-pm-yang.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-otn-topo-yang/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Common Control and Measurement Plane Working Group mailing list (<eref target="mailto:ccamp@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ccamp/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ccamp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/haomianzheng/ccamp-client-pm-yang"/>.</t>
    </note>


  </front>

  <middle>


<?line 112?>

<section anchor="introduction"><name>Introduction</name>

<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 version 1.1 
<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):</t>

<t><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 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>This model supports both client-configured and system-controlled OTN
topologies, as described <xref target="RFC8345"/>.
These OTN topologies can be used as overlay or underlay topologies, using the mechanisms defined in <xref target="RFC8345"/> and <xref target="RFC8795"/>.</t>

<t>The reader of this document is assumed to be familiar with the OTN
technology, as specified in <xref target="ITU-T_G.709"/> and with the TE topology
YANG data model, as defined in <xref target="RFC8795"/>.</t>

<t><xref target="RFC7062"/> also provides a framework to allow the development of
protocol extensions to support GMPLS and Path Computation Element
(PCE) control of OTN.</t>

<t><xref section="6" sectionFormat="of" target="RFC8795"/> provides guidelines for writing technology-
specific TE topology augmentations.</t>

<t>The YANG data model in this document conforms to the Network
Management Datastore Architecture defined in <xref target="RFC8342"/>.</t>

<section anchor="terminology-and-notations"><name>Terminology and Notations</name>

<t>Some of the key terms used in this document are listed as follows.</t>

<dl>
  <dt>TS:</dt>
  <dd>
    <t>Tributary Slot.</t>
  </dd>
  <dt>TSG:</dt>
  <dd>
    <t>Tributary Slot Granularity.</t>
  </dd>
  <dt>TPN:</dt>
  <dd>
    <t>Tributary Port Number.</t>
  </dd>
</dl>

<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>

<t><list style="symbols">
  <t>client</t>
  <t>server</t>
  <t>augment</t>
  <t>data model</t>
  <t>data node</t>
</list></t>

<t>The following terms are defined in <xref target="RFC6241"/> and are not redefined
here:</t>

<t><list style="symbols">
  <t>configuration data</t>
  <t>state data</t>
</list></t>

<t>The terminology for describing YANG data models is found in
<xref target="RFC7950"/>.</t>

</section>
<section anchor="requirements-language"><name>Requirements Language</name>

<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.
<?line -6?></t>

</section>
<section anchor="tree-diagram"><name>Tree Diagram</name>

<t>A simplified graphical representation of the data model is used in
<xref target="yang-tree"/> of this this document.  The meaning of the symbols in these
diagrams is defined in <xref target="RFC8340"/>.</t>

</section>
<section anchor="prefix-in-data-node-names"><name>Prefix in Data Node Names</name>

<t>In this document, 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 <xref target="tab-prefixes"/>.</t>

<texttable title="Prefixes and corresponding YANG modules" anchor="tab-prefixes">
      <ttcol align='left'>Prefix</ttcol>
      <ttcol align='left'>YANG module</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>l1-types</c>
      <c>ietf-layer1-types</c>
      <c>[RFCYYYY]</c>
      <c>otnt</c>
      <c>ietf-otn-topology</c>
      <c>RFC XXXX</c>
      <c>nw</c>
      <c>ietf-network</c>
      <c><xref target="RFC8345"/></c>
      <c>nt</c>
      <c>ietf-network-topology</c>
      <c><xref target="RFC8345"/></c>
      <c>tet</c>
      <c>ietf-te-topology</c>
      <c><xref target="RFC8795"/></c>
</texttable>

<ul empty="true"><li>
  <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
numbers assigned to <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>
</li></ul>

</section>
</section>
<section anchor="yang-data-model-for-otn-topology"><name>YANG Data Model for OTN Topology</name>

<section anchor="otn-topology-data-model-overview"><name>OTN Topology Data Model Overview</name>

<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 <xref section="6" sectionFormat="of" 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"/>.  <xref target="fig-overview"/> shows the augmentation relationship.</t>

<figure title="Relationship between OTN and TE topology models" anchor="fig-overview"><artwork type="ascii-art"><![CDATA[
                        +------------------+
           TE generic   | ietf-te-topology |
                        +------------------+
                                  ^
                                  |
                                  | Augments
                                  |
                        +---------+---------+
           OTN          | ietf-otn-topology |
                        +-------------------+
]]></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>
<section anchor="sec-attributes"><name>Attributes Augmentation</name>

<t>There are a few characteristics augmenting the generic TE topology.</t>

<t>Following the guidelines described in <xref target="RFC8795"/>, an otn-topology
network-type is specified as the indicator of OTN in the topology.</t>

<figure><artwork type="ascii-art"><![CDATA[
      augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
        +--rw otn-topology!
]]></artwork></figure>

<t>Three OTN technology-specific parameters that augment the generic TE
link attributes are specified.</t>

<figure><artwork type="ascii-art"><![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 includes information about 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
follows.  The same presence container is also specified for the TE
link.</t>

<figure><artwork type="ascii-art"><![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>
<section anchor="sec-bandwidth"><name>Bandwidth Augmentation</name>

<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>

<t>The odtu-flex-type attribute of a given OTN Link (or Link Termination Point - LTP), shown in <xref target="sec-attributes"/>, is used, together with the OTN technology-specific attributes defined in the otn-link-bandwidth and otn-path-bandwidth groupings, to compute the number of Tributary Slots (TS) required by the ODUflex LSPs set up on that OTN Link (or LTP).</t>

<t>In order to compute the number of Tributary Slots (TS) required by the ODUflex LSPs set up on an underlay path (e.g., the underlay path of a connectivity matrix entry), the odtu-flex-type attribute is added to the OTN technology-specific attributes defined in the otn-link-bandwidth and otn-path-bandwidth groupings.</t>

</section>
<section anchor="label-augmentation"><name>Label Augmentation</name>

<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>
</section>
<section anchor="yang-code"><name>The YANG Model</name>

<t>This YANG module references <xref target="RFC8345"/>, <xref target="RFC8795"/>,
<xref target="I-D.ietf-ccamp-layer1-types"/> and <xref target="ITU-T_G.709"/>.</t>

<figure><sourcecode type="yang" markers="true" name="ietf-otn-topology@2024-06-21.yang"><![CDATA[
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
      "RFC YYYY: A YANG Data Model for Layer 1 Types";
  }
  // RFC Editor: replace YYYY with actual RFC number assigned to 
  // [I-D.ietf-ccamp-layer1-types] and remove this note

  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-06-21 {
    description
      "Initial Revision";
    reference
      "RFC XXXX: A YANG Data Model for Optical Transport Network 
      Topology";
  }
  // RFC Editor: 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;
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<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>

<ul empty="true"><li>
  <t>RFC Editor Note: Please replace XXXX with the number assigned to the
RFC once this draft becomes an RFC.</t>
</li></ul>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This section is modeled after the template described in Section 3.7
of <xref target="I-D.ietf-netmod-rfc8407bis"/>.</t>

<t>The "ietf-te-types" and the "ietf-te-packet-types" YANG modules define data models that are
designed to be accessed via YANG-based management protocols, such as
NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>. These protocols have to
use a secure transport layer (e.g., SSH <xref target="RFC4252"/>, TLS <xref target="RFC8446"/>, and
QUIC <xref target="RFC9000"/>) and have to use mutual authentication.</t>

<t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
provides the means to restrict access for particular NETCONF or
RESTCONF users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content.</t>

<t>There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default).
These data nodes can be considered sensitive or vulnerable in some network environments.
Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations.
Specifically, the following subtrees and data nodes have particular sensitivities/vulnerabilities:</t>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nw:network-types/tet:te-topology/otnt:otn-topology"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the OTN topology type. Modifying the configurations can render the OTN topology type invalid. By making such modifications, a malicious attacker may disable the OTN capabilities on the related networks and cause traffic to be disrupted or misrouted.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/otnt:otn-node"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the OTN node type. By configuring the OTN node type, an attacker may create an unauthorized OTN traffic path. By removing it, a malicious attacker may cause OTN traffic to be disabled or misrouted. Such traffic changes may also affect the traffic on the surrounding OTN nodes and OTN links in this OTN topology and the connected OTN topologies.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/otnt:otn-link/otnt:odtu-flex-type"</t>
</list></t>

<ul empty="true"><li>
  <t>This node is used, together with the other attributes in the otn-bandwidth container, to compute the OTN bandwidth information for an OTN link, as described in <xref target="sec-bandwidth"/>. By configuring, modifying or removing this data node, a malicious attacker may modify the OTN bandwidth. The consequences of modifying the OTN bandwidth are reported below for the otn-bandwidth container.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/otnt:otn-link/otnt:tsg"</t>
</list></t>

<ul empty="true"><li>
  <t>This node represents the TSG of the OTN link, as described in <xref target="sec-attributes"/>. By configuring, modifying or removing this data node, a malicious attacker may modify the resouces assigned to the OTN LSPs setup over that OTN link. The consequences of modifying the TSG would be to disrupt the traffic carried by the OTN LSPs setup over that OTN link.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/otnt:otn-link/otnt:distance"</t>
</list></t>

<ul empty="true"><li>
  <t>This node is describes the geographical distance between a pair of OTN link termination points. By configuring, modifying or removing the distance, an attacker may cause OTN traffic to be misrouted. Such traffic changes may also affect the traffic on the surrounding OTN nodes and OTN links in this OTN topology and the connected OTN topologies.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/otnt:client-svc"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the client traffic type supported by a link. By configuring it, an attacker may create an unauthorized client traffic path. By removing it, a malicious attacker may cause client traffic to be disabled or misrouted. Such traffic changes may also affect the traffic on the surrounding OTN nodes and OTN links in this OTN topology and the connected OTN topologies.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nw:node/nt:termination-point/tet:te/otnt:otn-link-tp/otnt:odtu-flex-type"</t>
</list></t>

<ul empty="true"><li>
  <t>This node is used, together with the other attributes in the otn-bandwidth container, to compute the OTN bandwidth information for an OTN link termination point, as described in <xref target="sec-bandwidth"/>. By configuring, modifying or removing this data node, a malicious attacker may modify the OTN bandwidth. The consequences of modifying the OTN bandwidth are reported below for the otn-bandwidth container.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nw:node/nt:termination-point/tet:te/otnt:client-svc"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the client traffic type supported by a link termination point. By configuring it, an attacker may create an unauthorized client traffic path. By removing it, a malicious attacker may cause client traffic to be disabled or misrouted. Such traffic changes may also affect the traffic on the surrounding OTN nodes and OTN links in this OTN topology and the connected topologies.</t>
</li></ul>

<t><list style="symbols">
  <t>"otnt:otn-bandwidth"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific information under any occurrence of the tet:te-bandwidth container, as defined in <xref target="RFC8795"/> (e.g., "/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:max-resv-link-bandwidth/tet:te-bandwidth/otnt:otn-bandwidth"). By configuring the OTN bandwidth attributes, an attacker may create an unauthorized OTN traffic path. By removing or modifying it, a malicious attacker may cause OTN traffic to be disabled or misrouted. Such traffic changes may also affect the traffic on the surrounding OTN nodes and OTN links in this OTN topology and the connected OTN topologies.</t>
</li></ul>

<t><list style="symbols">
  <t>"otnt:otn-label-range"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific label range information under any occurrence of the tet:te-label-restriction container, as defined in <xref target="RFC8795"/> (e.g., "/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label-restrictions/tet:label-restriction\otnt:otn-label-range"). By configuring the OTN label range attributes, an attacker may create an unauthorized OTN traffic path. By removing or modifying, a malicious attacker may cause OTN traffic to be disabled or misrouted. Such traffic changes may also affect the traffic on the surrounding OTN nodes and OTN links in this OTN topology and the connected OTN topologies.</t>
</li></ul>

<t><list style="symbols">
  <t>"otnt:otn-label"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific label information under any occurrence of the tet:te-label container, as defined in <xref target="RFC8795"/> (e.g., "/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/otnt:otn-label"). By configuring, removing or modifying the OTN label attributes, a malicious attacker may cause OTN traffic to be disabled or misrouted. Such traffic changes may also affect the traffic on the surrounding OTN nodes and OTN links in this OTN topology and the connected OTN topologies.</t>
</li></ul>

<t>Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments.
It is thus important to control read access (e.g., via get, get-config, or
notification) to these data nodes.
Specifically, the following subtrees and data nodes have particular sensitivities/vulnerabilities:</t>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nw:network-types/tet:te-topology/otnt:otn-topology"</t>
</list></t>

<ul empty="true"><li>
  <t>Unauthorized access to this subtree can disclose the OTN topology type.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/otnt:otn-node"</t>
</list></t>

<ul empty="true"><li>
  <t>Unauthorized access to this subtree can disclose the OTN nodes.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/otnt:otn-link/otnt:odtu-flex-type"</t>
</list></t>

<ul empty="true"><li>
  <t>This node is used, together with the other attributes in the otn-bandwidth container, to compute the OTN bandwidth information for an OTN link, as described in <xref target="sec-bandwidth"/>. Unauthorized access to this data node can disclose the OTN bandwidth information of OTN links.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/otnt:otn-link/otnt:tsg"</t>
</list></t>

<ul empty="true"><li>
  <t>Unauthorized access to this data node can disclose configuration information of OTN links.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/otnt:otn-link/otnt:distance"</t>
</list></t>

<ul empty="true"><li>
  <t>Unauthorized access to this data node can disclose state information of OTN links.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/otnt:client-svc"</t>
</list></t>

<ul empty="true"><li>
  <t>Unauthorized access to this data node can disclose capabilities of OTN links.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nw:node/nt:termination-point/tet:te/otnt:otn-link-tp/otnt:odtu-flex-type"</t>
</list></t>

<ul empty="true"><li>
  <t>This node is used, together with the other attributes in the otn-bandwidth container, to compute the OTN bandwidth information for an OTN link termination point, as described in <xref target="sec-bandwidth"/>. Unauthorized access to this data node can disclose the OTN bandwidth information of OTN link termination points.</t>
</li></ul>

<t><list style="symbols">
  <t>"/nw:networks/nw:network/nw:node/nt:termination-point/tet:te/otnt:client-svc"</t>
</list></t>

<ul empty="true"><li>
  <t>Unauthorized access to this data node can disclose capabilities of OTN link termination points.</t>
</li></ul>

<t><list style="symbols">
  <t>"otnt:otn-bandwidth"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific information under any occurrence of the tet:te-bandwidth container, as defined in <xref target="RFC8795"/> (e.g., "/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:max-resv-link-bandwidth/tet:te-bandwidth/otnt:otn-bandwidth"). Unauthorized access to this data node can disclose the OTN bandwidth information of OTN links and link termination points.</t>
</li></ul>

<t><list style="symbols">
  <t>"otnt:otn-label-range"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific label range information under any occurrence of the tet:te-label-restriction container, as defined in <xref target="RFC8795"/> (e.g., "/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label-restrictions/tet:label-restriction\otnt:otn-label-range"). Unauthorized access to this data node can disclose the state information of OTN links and link termination points.</t>
</li></ul>

<t><list style="symbols">
  <t>"otnt:otn-label"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific label information under any occurrence of the tet:te-label container, as defined in <xref target="RFC8795"/> (e.g., "/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/otnt:otn-label"). Unauthorized access to this data node can disclose the state information of OTN links and link termination points.</t>
</li></ul>

<t>This YANG module does not define RPC operations.</t>

<t>This YANG module uses groupings from other YANG modules that
define nodes that may be considered sensitive or vulnerable
in network environments. Refer to the Security Considerations
of <xref target="I-D.ietf-ccamp-layer1-types"/> for information as to which nodes may
be considered sensitive or vulnerable in network environments.</t>

<t>Finally, the YANG module described in this document augments the "ietf-network" YANG module <xref target="RFC8345"/> and the "ietf-te-topology" YANG module <xref target="RFC8795"/> by adding data nodes. The security considerations for the subtrees described in those RFCs apply equally to the new data nodes that this module adds.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

<reference anchor="ITU-T_G.709" >
  <front>
    <title>Interfaces for the optical transport network</title>
    <author >
      <organization>ITU-T Recommendation G.709</organization>
    </author>
    <date year="2020" month="March"/>
  </front>
  <seriesInfo name="ITU-T G.709" value=""/>
</reference>


<reference anchor="RFC7950">
  <front>
    <title>The YANG 1.1 Data Modeling Language</title>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <date month="August" year="2016"/>
    <abstract>
      <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7950"/>
  <seriesInfo name="DOI" value="10.17487/RFC7950"/>
</reference>

<reference anchor="RFC8795">
  <front>
    <title>YANG Data Model for Traffic Engineering (TE) Topologies</title>
    <author fullname="X. Liu" initials="X." surname="Liu"/>
    <author fullname="I. Bryskin" initials="I." surname="Bryskin"/>
    <author fullname="V. Beeram" initials="V." surname="Beeram"/>
    <author fullname="T. Saad" initials="T." surname="Saad"/>
    <author fullname="H. Shah" initials="H." surname="Shah"/>
    <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
    <date month="August" year="2020"/>
    <abstract>
      <t>This document defines a YANG data model for representing, retrieving, and manipulating Traffic Engineering (TE) Topologies. The model serves as a base model that other technology-specific TE topology models can augment.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8795"/>
  <seriesInfo name="DOI" value="10.17487/RFC8795"/>
</reference>


<reference anchor="I-D.ietf-ccamp-layer1-types">
   <front>
      <title>Common YANG Data Types for Layer 1 Networks</title>
      <author fullname="Haomian Zheng" initials="H." surname="Zheng">
         <organization>Huawei Technologies</organization>
      </author>
      <author fullname="Italo Busi" initials="I." surname="Busi">
         <organization>Huawei Technologies</organization>
      </author>
      <date day="23" month="February" year="2024"/>
      <abstract>
	 <t>   This document defines a collection of common common data types,
   identities, and groupings in the YANG data modeling language.  These
   derived common common data types, identities, and groupings are
   intended to be imported by modules that model Layer 1 configuration
   and state capabilities.  The Layer 1 types are representative of
   Layer 1 client signals applicable to transport networks, such as
   Optical Transport Networks (OTN).  The Optical Transport Network
   (OTN) data structures are included in this document as Layer 1 types.


	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-layer1-types-18"/>
   
</reference>

<reference anchor="RFC8345">
  <front>
    <title>A YANG Data Model for Network Topologies</title>
    <author fullname="A. Clemm" initials="A." surname="Clemm"/>
    <author fullname="J. Medved" initials="J." surname="Medved"/>
    <author fullname="R. Varga" initials="R." surname="Varga"/>
    <author fullname="N. Bahadur" initials="N." surname="Bahadur"/>
    <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
    <author fullname="X. Liu" initials="X." surname="Liu"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>This document defines an abstract (generic, or base) YANG data model for network/service topologies and inventories. The data model serves as a base model that is augmented with technology-specific details in other, more specific topology and inventory data models.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8345"/>
  <seriesInfo name="DOI" value="10.17487/RFC8345"/>
</reference>

<reference anchor="RFC8342">
  <front>
    <title>Network Management Datastore Architecture (NMDA)</title>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
    <author fullname="P. Shafer" initials="P." surname="Shafer"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <author fullname="R. Wilton" initials="R." surname="Wilton"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8342"/>
  <seriesInfo name="DOI" value="10.17487/RFC8342"/>
</reference>

<reference anchor="RFC6241">
  <front>
    <title>Network Configuration Protocol (NETCONF)</title>
    <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
    <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
    <date month="June" year="2011"/>
    <abstract>
      <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6241"/>
  <seriesInfo name="DOI" value="10.17487/RFC6241"/>
</reference>

<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC7139">
  <front>
    <title>GMPLS Signaling Extensions for Control of Evolving G.709 Optical Transport Networks</title>
    <author fullname="F. Zhang" initials="F." role="editor" surname="Zhang"/>
    <author fullname="G. Zhang" initials="G." surname="Zhang"/>
    <author fullname="S. Belotti" initials="S." surname="Belotti"/>
    <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
    <author fullname="K. Pithewan" initials="K." surname="Pithewan"/>
    <date month="March" year="2014"/>
    <abstract>
      <t>ITU-T Recommendation G.709 [G709-2012] introduced new Optical channel Data Unit (ODU) containers (ODU0, ODU4, ODU2e, and ODUflex) and enhanced Optical Transport Network (OTN) flexibility.</t>
      <t>This document updates the ODU-related portions of RFC 4328 to provide extensions to GMPLS signaling to control the full set of OTN features, including ODU0, ODU4, ODU2e, and ODUflex.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7139"/>
  <seriesInfo name="DOI" value="10.17487/RFC7139"/>
</reference>

<reference anchor="RFC3688">
  <front>
    <title>The IETF XML Registry</title>
    <author fullname="M. Mealling" initials="M." surname="Mealling"/>
    <date month="January" year="2004"/>
    <abstract>
      <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="81"/>
  <seriesInfo name="RFC" value="3688"/>
  <seriesInfo name="DOI" value="10.17487/RFC3688"/>
</reference>

<reference anchor="RFC8341">
  <front>
    <title>Network Configuration Access Control Model</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
      <t>This document obsoletes RFC 6536.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="91"/>
  <seriesInfo name="RFC" value="8341"/>
  <seriesInfo name="DOI" value="10.17487/RFC8341"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC7062">
  <front>
    <title>Framework for GMPLS and PCE Control of G.709 Optical Transport Networks</title>
    <author fullname="F. Zhang" initials="F." role="editor" surname="Zhang"/>
    <author fullname="D. Li" initials="D." surname="Li"/>
    <author fullname="H. Li" initials="H." surname="Li"/>
    <author fullname="S. Belotti" initials="S." surname="Belotti"/>
    <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
    <date month="November" year="2013"/>
    <abstract>
      <t>This document provides a framework to allow the development of protocol extensions to support Generalized Multi-Protocol Label Switching (GMPLS) and Path Computation Element (PCE) control of Optical Transport Networks (OTNs) as specified in ITU-T Recommendation G.709 as published in 2012.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7062"/>
  <seriesInfo name="DOI" value="10.17487/RFC7062"/>
</reference>


<reference anchor="I-D.ietf-teas-actn-yang">
   <front>
      <title>Applicability of YANG models for Abstraction and Control of Traffic Engineered Networks</title>
      <author fullname="Young Lee" initials="Y." surname="Lee">
         <organization>Samsung</organization>
      </author>
      <author fullname="Haomian Zheng" initials="H." surname="Zheng">
         <organization>Huawei</organization>
      </author>
      <author fullname="Daniele Ceccarelli" initials="D." surname="Ceccarelli">
         <organization>Cisco</organization>
      </author>
      <author fullname="Bin Yeong Yoon" initials="B. Y." surname="Yoon">
         <organization>ETRI</organization>
      </author>
      <author fullname="Sergio Belotti" initials="S." surname="Belotti">
         <organization>Nokia</organization>
      </author>
      <date day="7" month="March" year="2023"/>
      <abstract>
	 <t>   Abstraction and Control of TE Networks (ACTN) refers to the set of
   virtual network operations needed to orchestrate, control and manage
   large-scale multi-domain TE networks, so as to facilitate network
   programmability, automation, efficient resource sharing, and end-to-
   end virtual service aware connectivity and network function
   virtualization services.

   This document explains how the different types of YANG models
   defined in the Operations and Management Area and in the Routing
   Area are applicable to the ACTN framework. This document also shows
   how the ACTN architecture can be satisfied using classes of data
   model that have already been defined, and discusses the
   applicability of specific data models that are under development. It
   also highlights where new data models may need to be developed.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-teas-actn-yang-11"/>
   
</reference>

<reference anchor="RFC8453">
  <front>
    <title>Framework for Abstraction and Control of TE Networks (ACTN)</title>
    <author fullname="D. Ceccarelli" initials="D." role="editor" surname="Ceccarelli"/>
    <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
    <date month="August" year="2018"/>
    <abstract>
      <t>Traffic Engineered (TE) networks have a variety of mechanisms to facilitate the separation of the data plane and control plane. They also have a range of management and provisioning protocols to configure and activate network resources. These mechanisms represent key technologies for enabling flexible and dynamic networking. The term "Traffic Engineered network" refers to a network that uses any connection-oriented technology under the control of a distributed or centralized control plane to support dynamic provisioning of end-to- end connectivity.</t>
      <t>Abstraction of network resources is a technique that can be applied to a single network domain or across multiple domains to create a single virtualized network that is under the control of a network operator or the customer of the operator that actually owns the network resources.</t>
      <t>This document provides a framework for Abstraction and Control of TE Networks (ACTN) to support virtual network services and connectivity services.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8453"/>
  <seriesInfo name="DOI" value="10.17487/RFC8453"/>
</reference>


<reference anchor="I-D.ietf-ccamp-transport-nbi-app-statement">
   <front>
      <title>Transport Northbound Interface Applicability Statement</title>
      <author fullname="Italo Busi" initials="I." surname="Busi">
         <organization>Huawei</organization>
      </author>
      <author fullname="Daniel King" initials="D." surname="King">
         <organization>Old Dog Consulting</organization>
      </author>
      <author fullname="Haomian Zheng" initials="H." surname="Zheng">
         <organization>Huawei</organization>
      </author>
      <author fullname="Yunbin Xu" initials="Y." surname="Xu">
         <organization>CAICT</organization>
      </author>
      <date day="10" month="July" year="2023"/>
      <abstract>
	 <t>   This document provides an analysis of the applicability of the YANG
   models defined by the IETF (in particular in the Traffic Engineering
   Architecture and Signaling (TEAS) and Common Control and Measurement
   Plane (CCAMP) working groups) to support ODU transit services,
   transparent client services, and Ethernet Private Line/Ethernet
   Virtual Private Line (EPL/EVPL) services over Optical Transport
   Network (OTN) in single and multi-domain network scenarios.

   This document also describes how existing YANG models can be used
   through several worked examples and JSON fragments.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-transport-nbi-app-statement-17"/>
   
</reference>

<reference anchor="RFC8340">
  <front>
    <title>YANG Tree Diagrams</title>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="215"/>
  <seriesInfo name="RFC" value="8340"/>
  <seriesInfo name="DOI" value="10.17487/RFC8340"/>
</reference>


<reference anchor="I-D.ietf-netmod-rfc8407bis">
   <front>
      <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
      <author fullname="Andy Bierman" initials="A." surname="Bierman">
         <organization>YumaWorks</organization>
      </author>
      <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
         <organization>Orange</organization>
      </author>
      <author fullname="Qin Wu" initials="Q." surname="Wu">
         <organization>Huawei</organization>
      </author>
      <date day="21" month="October" year="2024"/>
      <abstract>
	 <t>   This memo provides guidelines for authors and reviewers of
   specifications containing YANG modules, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.  The document also updates RFC 6020 by
   clarifying how modules and their revisions are handled by IANA.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-20"/>
   
</reference>

<reference anchor="RFC8040">
  <front>
    <title>RESTCONF Protocol</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <date month="January" year="2017"/>
    <abstract>
      <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8040"/>
  <seriesInfo name="DOI" value="10.17487/RFC8040"/>
</reference>

<reference anchor="RFC4252">
  <front>
    <title>The Secure Shell (SSH) Authentication Protocol</title>
    <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
    <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
    <date month="January" year="2006"/>
    <abstract>
      <t>The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4252"/>
  <seriesInfo name="DOI" value="10.17487/RFC4252"/>
</reference>

<reference anchor="RFC8446">
  <front>
    <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <date month="August" year="2018"/>
    <abstract>
      <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
      <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8446"/>
  <seriesInfo name="DOI" value="10.17487/RFC8446"/>
</reference>

<reference anchor="RFC9000">
  <front>
    <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
    <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
    <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
    <date month="May" year="2021"/>
    <abstract>
      <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9000"/>
  <seriesInfo name="DOI" value="10.17487/RFC9000"/>
</reference>

<reference anchor="RFC7951">
  <front>
    <title>JSON Encoding of Data Modeled with YANG</title>
    <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
    <date month="August" year="2016"/>
    <abstract>
      <t>This document defines encoding rules for representing configuration data, state data, parameters of Remote Procedure Call (RPC) operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7951"/>
  <seriesInfo name="DOI" value="10.17487/RFC7951"/>
</reference>




    </references>

</references>


<?line 2747?>

<section anchor="yang-tree"><name>YANG Tree</name>

<t>This section provides the YANG Tree of the OTN topology data model.</t>

<figure><artwork type="ascii-art"><![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>

</section>
<section anchor="json-examples"><name>JSON Examples</name>

<t>This appendix contains an example of an instance data tree in JSON
encoding <xref target="RFC7951"/>.</t>

<t>The example instantiates the "ietf-otn-topology" model for the OTN
topology depicted in <xref target="fig-example"/> below.</t>

<t>The OTN topology consists of three nodes (D1, D2, and D3) with three
link termination (LTPs) each: two LTPs which terminates the links
that belongs to the OTN topology and one LTP which terminates inter-
domain links, as defined in <xref target="RFC8795"/>.</t>

<t>The OTN links within the OTN network are 100G OTN links while the
links at the edge of the network are 10G links.  All these OTN links
support ODU4, ODU2 and ODU0 connections.  The link between nodes D1
and D2 also supports ODUflex.</t>

<t>The OTN links within the OTN network are bidirectional and
symmetrical: for this reasons, the link attributes (e.g., support for
OTN switching capability or transparent client signal and the OTN
maximum link bandwidth) are instantiated only on the link
representing the forward direction, while the link representing the
reverse direction are instantiated without any link attribute (other
than the name) to indicate that the OTN links are bidirectional and
symmetrical.</t>

<t>The link between nodes D1 and D2 is an example of a multi-function
link, as defined in <xref target="sec-attributes"/>, which can support both OTN and 100G
client signal (e.g., 100GE): the interface-switching-capability list
indicates support for OTN switching capability and the client-svc
presence container is instantiated.</t>

<t>For the LTPs which terminate OTN links, only the identifiers
information is instantiated.  All the other properties are defined in
the links they terminate.</t>

<t>For the LTPs at the edge network, additional properties are
instantiated to indicate whether the link can support OTN or
transparent client signals.  In particular:</t>

<t><list style="symbols">
  <t>LTP 1 on Node D1 is an example of an LTP terminating a multi-
function access link, as defined in <xref target="sec-attributes"/>, which can support
both OTN and 10G client signals (e.g., 10GE and STM-64): the
interface-switching-capability list indicates support for OTN
switching capability and the client-svc presence container is
instantiated;</t>
  <t>LTP 2 on Node D2 is an example of an LTP which can support only
10G OTN (ODU2) signal: the interface-switching-capability list
indicates support for OTN switching capability and the client-svc
presence container is not instantiated;</t>
  <t>LTP 3 on Node D3 is an example of an LTP which can support only
10G (e.g., 10GE and STM-64) client signals: the interface-
switching-capability list does not indicate support for OTN
switching capability and the client-svc presence container is
instantiated.</t>
</list></t>

<figure title="Example of OTN topology" anchor="fig-example"><artwork type="ascii-art"><![CDATA[
                   +------------+                   +------------+
                   |     D1     |                   |     D2     |
                  /-\          /-\                 /-\          /-\
                  | | 1        | |---------------->| | 1        | |
                  | |        2 | |<----------------| |        2 | |
                  \-/    3     \-/                 \-/    3     \-/
                   |   /----\   |                   |   /----\   |
                   +---|    |---+                   +---|    |---+
                       \----/                           \----/
                        A  |                             A  |
                        |  |                             |  |
                        |  |                             |  |
                        |  |       +------------+        |  |
                        |  |       |     D3     |        |  |
                        |  |      /-\          /-\       |  |
                        |  +----->| | 1        | |-------+  |
                        +---------| |        2 | |<---------+
                                  \-/    3     \-/
                                   |   /----\   |
                                   +---|    |---+
                                       \----/
]]></artwork></figure>

<figure><artwork type="ascii-art"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-network:networks": {
    "network": [
      {
        "network-id": "example:otn-topology-example",
        "network-types": {
          "ietf-te-topology:te-topology": {
            "ietf-otn-topology:otn-topology": {}
          }
        },
        "ietf-te-topology:te-topology-identifier": {
          "topology-id": "otn-topology-example"
        },
        "ietf-te-topology:te": {},
        "node": [
          {
            "node-id": "example:D1",
            "ietf-te-topology:te-node-id": "192.0.0.1",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node D1",
                "ietf-otn-topology:otn-node": {}
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:D1-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "name": "Interface 1 of Node D1",
                  "interface-switching-capability": [
                    {
                      "switching-capability": "ietf-te-types:switchi\
ng-otn",
                      "encoding": "ietf-te-types:lsp-encoding-oduk"
                    }
                  ],
                  "ietf-otn-topology:client-svc": {
                    "supported-client-signal": [
                      "ietf-layer1-types:ETH-10Gb-LAN",
                      "ietf-layer1-types:STM-64"
                    ]
                  }
                }
              },
              {
                "tp-id": "example:D1-2",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "name": "Interface 2 of Node D1"
                }
              },
              {
                "tp-id": "example:D1-3",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "name": "Interface 3 of Node D1"
                }
              }
            ]
          },
          {
            "node-id": "example:D2",
            "ietf-te-topology:te-node-id": "192.0.0.2",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node D2",
                "ietf-otn-topology:otn-node": {}
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:D2-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "name": "Interface 1 of Node D2"
                }
              },
              {
                "tp-id": "example:D2-2",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "name": "Interface 2 of Node D2",
                  "interface-switching-capability": [
                    {
                      "switching-capability": "ietf-te-types:switchi\
ng-otn",
                      "encoding": "ietf-te-types:lsp-encoding-oduk"
                    }
                  ]
                }
              },
              {
                "tp-id": "example:D2-3",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "name": "Interface 3 of Node D2"
                }
              }
            ]
          },
          {
            "node-id": "example:D3",
            "ietf-te-topology:te-node-id": "192.0.0.3",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node D3",
                "ietf-otn-topology:otn-node": {}
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:D3-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "name": "Interface 1 of Node D3"
                }
              },
              {
                "tp-id": "example:D3-2",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "name": "Interface 2 of Node D3"
                }
              },
              {
                "tp-id": "example:D3-3",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "name": "Interface 3 of Node D3",
                  "ietf-otn-topology:client-svc": {
                    "supported-client-signal": [
                      "ietf-layer1-types:ETH-10Gb-LAN",
                      "ietf-layer1-types:STM-64"
                    ]
                  }
                }
              }
            ]
          }
        ],
        "ietf-network-topology:link": [
          {
            "link-id": "example:link/D1-2/D2-1",
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "name": "Link between Node D1 and Node D2 (forward d\
irection)",
                "interface-switching-capability": [
                  {
                    "switching-capability": "ietf-te-types:switching\
-otn",
                    "encoding": "ietf-te-types:lsp-encoding-oduk"
                  }
                ],
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU4",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 10
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 80
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODUflex",
                          "number": 80,
                          "ts-number": 80
                        }
                      ]
                    }
                  }
                },
                "ietf-otn-topology:otn-link": {
                  "odtu-flex-type": "4"
                },
                "ietf-otn-topology:client-svc": {
                  "supported-client-signal": [
                    "ietf-layer1-types:ETH-100Gb"
                  ]
                }
              }
            }
          },
          {
            "link-id": "example:link/D2-1/D1-2",
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "name": "Link between Node D1 and Node D2 (reverse d\
irection)"
              }
            }
          },
          {
            "link-id": "example:link/D2-3/D3-2",
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "name": "Link between Node D2 and Node D3 (forward d\
irection)",
                "interface-switching-capability": [
                  {
                    "switching-capability": "ietf-te-types:switching\
-otn",
                    "encoding": "ietf-te-types:lsp-encoding-oduk"
                  }
                ],
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU4",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 10
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 80
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          {
            "link-id": "example:link/D3-2/D2-3",
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "name": "Link between Node D2 and Node D3 (reverse d\
irection)"
              }
            }
          },
          {
            "link-id": "example:link/D3-1/D1-3",
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "name": "Link between Node D1 and Node D3 (reverse d\
irection)"
              }
            }
          },
          {
            "link-id": "example:link/D1-3/D3-1",
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "name": "Link between Node D1 and Node D3 (forward d\
irection)",
                "interface-switching-capability": [
                  {
                    "switching-capability": "ietf-te-types:switching\
-otn",
                    "encoding": "ietf-te-types:lsp-encoding-oduk"
                  }
                ],
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU4",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 10
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 80
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        ]
      }
    ]
  }
}
]]></artwork></figure>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>We would like to thank Igor Bryskin, Zhe Liu, Zheyu Fan and Daniele
Ceccarelli for their comments and discussions.</t>

</section>

    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="A." surname="Guo" fullname="Aihua Guo">
      <organization>Futurewei</organization>
      <address>
        <email>aihuaguo.ietf@gmail.com</email>
      </address>
    </contact>
    <contact initials="A." surname="Sharma" fullname="Anurag Sharma">
      <organization>Google</organization>
      <address>
        <email>ansha@google.com</email>
      </address>
    </contact>
    <contact initials="Y." surname="Xu" fullname="Yunbin Xu">
      <organization>CAICT</organization>
      <address>
        <email>xuyunbin@caict.ac.cn</email>
      </address>
    </contact>
    <contact initials="L." surname="Wang" fullname="Lei Wang">
      <organization>China Mobile</organization>
      <address>
        <email>wangleiyj@chinamobile.com</email>
      </address>
    </contact>
    <contact initials="B." surname="Rao" fullname="Baoquan Rao">
      <organization>Huawei Technologies</organization>
      <address>
        <email>raobaoquan@huawei.com</email>
      </address>
    </contact>
    <contact initials="X." surname="Zhang" fullname="Xian Zhang">
      <organization>Huawei Technologies</organization>
      <address>
        <email>Huawei Technologies</email>
      </address>
    </contact>
    <contact initials="H." surname="van Helvoort" fullname="Huub van Helvoort">
      <organization>Hai Gaoming BV</organization>
      <address>
        <email>huubatwork@gmail.com</email>
      </address>
    </contact>
    <contact initials="V." surname="Lopez" fullname="Victor Lopez">
      <organization>Nokia</organization>
      <address>
        <email>victor.lopez@nokia.com</email>
      </address>
    </contact>
    <contact initials="Y." surname="Li" fullname="Yunbo Li">
      <organization>China Mobile</organization>
      <address>
        <email>liyunbo@chinamobile.com</email>
      </address>
    </contact>
    <contact initials="D." surname="Beller" fullname="Dieter Beller">
      <organization>Nokia</organization>
      <address>
        <email>dieter.beller@nokia.com</email>
      </address>
    </contact>
    <contact initials="" surname="TBD" fullname="TBD">
      <organization></organization>
      <address>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
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
+xdTPbUO4skDj6oxvTlsE0Rp5YvHaJh4ONEuVTJLtHiIvPzQ4C7ocvLhwBuJ
bFxvx0dzWKgnLN5YFiXd+ye0nYPn8B/isq6+7eCrjYYgVU/bT7OwQqlOHFdI
12NjZ35HZ47llPnCyj26WiJUO/b2A35IuzwjrJTvRL7bxq5tSqmC9qeh03aD
NnZr54bcod5yR2cHt0J26GQVk9s26Y2Ne+HqVXP3VnRnCXdULLCDRX5kUZsV
XwXKXPwB1y3GeiidPcMGjYxwJWTopcAMBRAjTSAB4NEuJCBbM7fVoXN4UfG8
AmWpTa4MaSrHHE8fbq+UsUidAuskwzzgfw4OtA2hdsFOjWmFkAdRo4KtIDnE
P8Zoyz9JWXw+BEMmakCuF3Kxfs/vm679p7TbtBC6xFV0k4poJiNlyQh357c3
7Dd+3WZ/U1eQcEsCj1V/5H5y3elWXmI6+ElyC7qd23h16W94GD302ul7VD8J
2uCluFJw1yh+qTFK7vPkB8te6MmNVHh5Jz9O9vZObpzSOzv5sYou7eTGK7uu
kx9u3H2d3LAVruH8pMyZyPBGGlzUsTg0tcnJ4/jolH5gVKrAAYRL2o4O0ZJs
ZbW004i9CPN/dS5JNk2fTmKTDyftXrx7dSLiPRrg1Bvd+XZ/ELJdaw8vEDwT
Fxc7fhSEqt6M51IDPPAl8izMemR3M5CXFpIsCYjFLUjw8TQu7iLRUZxuMukH
jvUQ8tmU3YuyLHpaUTeiT64haPfpDMwQgmHSfk9e46B3WK4AzsSnjilkH2Gw
H2JFfBT5QWRSKi4Kv0FEZxHSjHNsi7sBl6d8VNCBTl+ELh/4jY354curV4Bt
aisHwMgWaAvxyCdT24XPWpbiQ8LFLwN2zvtgtS4xwwzEUS/JB3k3Aqih9q9k
PVo12FWmJMSBuHZrUhJuYESniZMAqBy5OkGixxzII9OnnFgdPvgB1qJWJXfC
8bQ3d3pkqxF3zKEF4CFvvDWgTacfI/oSjw99uS/+xcNA+Lc6RoR/0+mh+A85
hmwnjhAlfyX945ND+DZzmOjLfTnKl+9Ofv9SCPpLdaToy+pHipTmZQ4WscNn
bBf5gceK9sSfeKhor/BMUcLDO1btZJGyJD4XwCAFNJ4+N44OldPNGRn0Sq4d
4jXRD7LbeEeMMi5zxOWXctQQnVRUN85LJyc1cl56X53Xx//IIVLFx1KffPAV
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

-->

</rfc>

