<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ccamp-otn-tunnel-model-25" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="OTN Tunnel Model">A YANG Data Model for Optical Transport Network (OTN) Tunnels and Label Switched Paths</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-otn-tunnel-model-25"/>
    <author initials="H." surname="Zheng" fullname="Haomian Zheng">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>H1, Huawei Xiliu Beipo Village, 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="S." surname="Belotti" fullname="Sergio Belotti">
      <organization>Nokia</organization>
      <address>
        <email>sergio.belotti@nokia.com</email>
      </address>
    </author>
    <author initials="V." surname="Lopez" fullname="Victor Lopez">
      <organization>Nokia</organization>
      <address>
        <email>victor.lopez@nokia.com</email>
      </address>
    </author>
    <author initials="Y." surname="Xu" fullname="Yunbin Xu">
      <organization>CAICT</organization>
      <address>
        <email>xuyunbin@caict.ac.cn</email>
      </address>
    </author>
    <date year="2026" month="May" day="27"/>
    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    <abstract>
      <?line 99?>

<t>This document describes the YANG data model for tunnels in OTN TE
networks.  The model can be used to do the configuration in order to
establish the tunnel in OTN network.  This work is independent with
the control plane protocols.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://haomianzheng.github.io/IETF-ACTN-YANG-Model/draft-ietf-ccamp-otn-tunnel-model.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-otn-tunnel-model/"/>.
      </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/IETF-ACTN-YANG-Model"/>.</t>
    </note>
  </front>
  <middle>
    <?line 106?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>OTN transport networks, specified in <xref target="ITU-T_G.709"/>, can carry various
types of client signals.  In many cases, the client signal is carried
over an OTN tunnel across connected domains in a multi-domain
network.</t>
      <t>This document provides YANG model for creating OTN tunnel.  The model
augments the generic TE Tunnel model specified in
<xref target="I-D.ietf-teas-yang-te"/>.</t>
      <section anchor="editorial-note-to-be-removed-by-rfc-editor">
        <name>Editorial Note (To be removed by RFC Editor)</name>
        <ul empty="true">
          <li>
            <t>Note to the RFC Editor: This section is to be removed prior to publication.</t>
          </li>
        </ul>
        <t>This document contains placeholder values that need to be replaced
with finalized values at the time of publication.  This note
summarizes all of the substitutions that are needed.</t>
        <t>Please apply the following replacements:</t>
        <ul spacing="normal">
          <li>
            <t>XXXX --&gt; the assigned RFC number for this I-D</t>
          </li>
          <li>
            <t>YYYY --&gt; the assigned RFC number fpr <xref target="I-D.ietf-ccamp-layer1-types"/></t>
          </li>
          <li>
            <t>ZZZZ --&gt; the assigned RFC number for <xref target="I-D.ietf-teas-yang-te"/></t>
          </li>
          <li>
            <t>2026-05-19 --&gt; the actual date of the publication of this document</t>
          </li>
        </ul>
      </section>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <t>Refer to <xref target="I-D.ietf-ccamp-otn-topo-yang"/> for the OTN specific terms
terms used in this document.</t>
        <t>The following terms are defined in <xref target="RFC7950"/> and are not redefined
here:</t>
        <ul spacing="normal">
          <li>
            <t>client</t>
          </li>
          <li>
            <t>server</t>
          </li>
          <li>
            <t>augment</t>
          </li>
          <li>
            <t>data model</t>
          </li>
          <li>
            <t>data node</t>
          </li>
        </ul>
        <t>The following terms are defined in <xref target="RFC6241"/> and are not redefined
here:</t>
        <ul spacing="normal">
          <li>
            <t>configuration data</t>
          </li>
          <li>
            <t>state data</t>
          </li>
        </ul>
        <t>The terminology for describing YANG data models is found in
<xref target="RFC7950"/>.</t>
      </section>
      <section anchor="tree-diagram">
        <name>Tree Diagram</name>
        <t>A simplified graphical representation of the data model is used in
<xref target="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, 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 the following table.</t>
        <table anchor="tab-prefixes">
          <name>Prefixes and corresponding YANG modules</name>
          <thead>
            <tr>
              <th align="left">Prefix</th>
              <th align="left">YANG module</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">l1-types</td>
              <td align="left">ietf-layer1-types</td>
              <td align="left">[RFC YYYY]</td>
            </tr>
            <tr>
              <td align="left">otn-tnl</td>
              <td align="left">ietf-otn-tunnel</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">te</td>
              <td align="left">ietf-te</td>
              <td align="left">[RFC ZZZZ]</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="otn-tunnel-model-description">
      <name>OTN Tunnel Model Description</name>
      <section anchor="overview-of-otn-tunnel-model">
        <name>Overview of OTN Tunnel Model</name>
        <t>This document aims to describe the data model for OTN tunnel.  The
OTN tunnel model is using TE tunnel <xref target="I-D.ietf-teas-yang-te"/> as a
basic model and augments it with OTN-specific parameters, including
the bandwidth information and label information.  <xref target="fig-overview"/> shows the
augmentation relationship.</t>
        <figure anchor="fig-overview">
          <name>Relationship between OTN and TE tunnel models</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="264" viewBox="0 0 264 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 112,32 L 112,64" fill="none" stroke="black"/>
                <path d="M 112,144 L 112,176" fill="none" stroke="black"/>
                <path d="M 184,72 L 184,144" fill="none" stroke="black"/>
                <path d="M 248,32 L 248,64" fill="none" stroke="black"/>
                <path d="M 256,144 L 256,176" fill="none" stroke="black"/>
                <path d="M 112,32 L 248,32" fill="none" stroke="black"/>
                <path d="M 112,64 L 248,64" fill="none" stroke="black"/>
                <path d="M 112,144 L 256,144" fill="none" stroke="black"/>
                <path d="M 112,176 L 256,176" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="192,72 180,66.4 180,77.6" fill="black" transform="rotate(270,184,72)"/>
                <g class="text">
                  <text x="12" y="52">TE</text>
                  <text x="56" y="52">generic</text>
                  <text x="184" y="52">ietf-te</text>
                  <text x="228" y="116">Augments</text>
                  <text x="16" y="164">OTN</text>
                  <text x="184" y="164">ietf-otn-tunnel</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                           +----------------+
              TE generic   |     ietf-te    |
                           +----------------+
                                    ^
                                    |
                                    | Augments
                                    |
                           +--------+--------+
              OTN          | ietf-otn-tunnel |
                           +-----------------+
]]></artwork>
          </artset>
        </figure>
        <t>It is also worth noting that the OTN tunnel provisioning is usually
based on the OTN topology.  Therefore the OTN tunnel model is usually
used together with OTN topology model specified in
<xref target="I-D.ietf-ccamp-otn-topo-yang"/>.  The OTN tunnel model also imports a
few type modules, including ietf-layer1-types, ietf-te-types and
ietf-inet-types.  The OTN-specific attributes in <xref target="RFC7139"/>, including
the Tributary Slot (TS) and Tributary Port Number (TPN), 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 tunnel model.</t>
        <t>More scenarios and model applications can be found in
<xref target="I-D.ietf-ccamp-transport-nbi-app-statement"/> and
<xref target="I-D.ietf-teas-actn-yang"/>.</t>
      </section>
      <section anchor="bandwidth-augmentation">
        <name>Bandwidth Augmentation</name>
        <t>The model augments all the occurrences of the te-bandwidth container
with the OTN technology specific attributes using the otn-link-
bandwidth and otn-path-bandwidth groupings defined in
<xref target="I-D.ietf-ccamp-layer1-types"/>.</t>
      </section>
      <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, 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">
      <name>OTN Tunnel YANG Code</name>
      <figure anchor="fig-otn-tunnel-yang">
        <sourcecode type="yang" markers="true" name="ietf-otn-tunnel@2026-05-19.yang"><![CDATA[
module ietf-otn-tunnel {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-otn-tunnel";
  prefix otn-tnl;

  import ietf-te {
    prefix te;
    reference
      "RFC ZZZZ: A YANG Data Model for Traffic Engineering Tunnels
                 and Interfaces.";
  }
  import ietf-layer1-types {
    prefix l1-types;
    reference
      "RFC YYYY: Common YANG Data Types for Layer 1 Networks.";
  }

  organization
    "IETF CCAMP Working Group";
  contact
    "WG Web:   <http://tools.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:   Sergio Belotti
               <mailto:sergio.belotti@nokia.com>

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

     Editor:   Yunbin Xu
               <mailto:xuyunbin@caict.ac.cn>";
  description
    "This module defines a model for OTN Tunnel Services.

     Copyright (c) 2026 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Revised BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     All revisions of IETF and IANA published modules can be found
     at the YANG Parameters registry group
     (https://www.iana.org/assignments/yang-parameters).

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

  revision 2026-05-19 {
    description
      "Initial version";
    reference
      "RFC XXXX: A YANG Data Model for Optical Transport Network
                 (OTN) Tunnels and Label Switched Paths";
  }

  /*
   * Data nodes
   */
  /*
   * Augment TE bandwidth
   */

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/"
        + "te:te-bandwidth/te:technology" {
    description
      "Augment TE bandwidth of the named path constraint.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:te-bandwidth/te:technology" {
    description
      "Augment TE bandwidth of the tunnel.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:te-bandwidth/te:technology" {
    description
      "Augment TE bandwidth of the primary path.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:te-bandwidth/te:technology" {
    description
      "Augment TE bandwidth of primary path's computed path
       properties.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:te-bandwidth/te:technology" {
    description
      "Augment TE bandwidth of the primary reverse path.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:te-bandwidth/te:technology" {
    description
      "Augment TE bandwidth of the primary reverse path's computed
       path properties.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:te-bandwidth/te:technology" {
    description
      "Augment TE bandwidth of the secondary path.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:te-bandwidth/te:technology" {
    description
      "Augment TE bandwidth of the secondary path's computed path
       properties.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/"
        + "te:te-bandwidth/te:technology" {
    description
      "Augment TE bandwidth of the secondary reverse path.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/"
        + "te:secondary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:te-bandwidth/te:technology" {
    description
      "Augment TE bandwidth of the secondary reverse path's computed
       path properties.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  /*
   * Augment TE label range information
   */

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

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

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

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

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

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

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

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

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

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

  /*
   * Augment TE label.
   */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  augment "/te:te/te:lsps/"
        + "te:lsp/te:lsp-actual-route-information/"
        + "te:lsp-actual-route-information/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description
      "Augment TE label hop for the record route of the LSP.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URI in the "ns"
registry within the "IETF XML Registry" group <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
   URI: urn:ietf:params:xml:ns:yang:ietf-otn-tunnel
   Registrant Contact: The IESG
   XML: N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>IANA is requested to register the following YANG module in the "YANG
Module Names" registry <xref target="RFC6020"/> within the "YANG Parameters"
registry group.</t>
      <artwork><![CDATA[
   Name:         ietf-otn-tunnel
   Maintained by IANA?  N
   Namespace:    urn:ietf:params:xml:ns:yang:ietf-otn-tunnel
   Prefix:       otn-tnl
   Reference:    RFC XXXX
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section is modeled after the template described in <xref section="3.7" sectionFormat="of" target="RFC9907"/>.</t>
      <t>The "ietf-otn-tunnel" YANG module defines a data model that is
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>
      <ul spacing="normal">
        <li>
          <t>"otnt:otn-bandwidth"</t>
        </li>
      </ul>
      <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="I-D.ietf-teas-yang-te"/> (e.g., "/te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology/otnt:otn/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.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>"otnt:otn-label-range"</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>This subtree specifies the configurations of OTN technology-specific label range information under any occurrence of the tet:label-restriction container, as defined in <xref target="I-D.ietf-teas-yang-te"/> (e.g., "/te:te/te:tunnels/te:tunnel/te:primary-paths/te:primary-path/te:path-in-segment/te:label-restrictions/te: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.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>"otnt:otn-label"</t>
        </li>
      </ul>
      <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="I-D.ietf-teas-yang-te"/> (e.g., "/te:te/te:tunnels/te:tunnel/te:primary-paths/te:primary-path/te:explicit-route-objects/te:route-object-include-exclude/te:type/te:label/te:label-hop/te:te-label/te:technology/otnt:otn/otnt:otn-label"). By configuring, removing or modifying the OTN label attributes, a malicious attacker may cause OTN traffic to be disabled or misrouted.</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>
      <ul spacing="normal">
        <li>
          <t>"otnt:otn-bandwidth"</t>
        </li>
      </ul>
      <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="I-D.ietf-teas-yang-te"/> (e.g., "/te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology/otnt:otn/otnt:otn-bandwidth"). Unauthorized access to this data node can disclose the OTN bandwidth information of OTN tunnels and LSPs.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>"otnt:otn-label-range"</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>This subtree specifies the configurations of OTN technology-specific label range information under any occurrence of the tet:label-restriction container, as defined in <xref target="I-D.ietf-teas-yang-te"/> (e.g., "/te:te/te:tunnels/te:tunnel/te:primary-paths/te:primary-path/te:path-in-segment/te:label-restrictions/te:label-restriction/otnt:otn-label-range"). Unauthorized access to this data node can disclose the state information of OTN tunnels and LSPs.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>"otnt:otn-label"</t>
        </li>
      </ul>
      <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="I-D.ietf-teas-yang-te"/> (e.g., "/te:te/te:tunnels/te:tunnel/te:primary-paths/te:primary-path/te:explicit-route-objects/te:route-object-include-exclude/te:type/te:label/te:label-hop/te:te-label/te:technology/otnt:otn/otnt:otn-label"). Unauthorized access to this data node can disclose the state information of OTN tunnels and LSPs.</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-te" YANG module <xref target="I-D.ietf-teas-yang-te"/> 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 anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="I-D.ietf-teas-yang-te">
          <front>
            <title>A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths, and Interfaces</title>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems Inc</organization>
            </author>
            <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi">
              <organization>Cisco Systems Inc</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Alef Edge</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Igor Bryskin" initials="I." surname="Bryskin">
              <organization>Individual</organization>
            </author>
            <date day="26" month="March" year="2026"/>
            <abstract>
              <t>   This document defines a YANG data model for the provisioning and
   management of Traffic Engineering (TE) tunnels, Label Switched Paths
   (LSPs), and interfaces.  The model covers data pertinent to TE
   tunnels, TE LSPs, and TE interfaces that are independent of any
   technology or dataplane encapsulation.  The model is divided into two
   YANG modules that address both device-specific and device-independent
   data, supporting configuration, operational state, Remote Procedure
   Calls (RPCs), and event notifications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-te-44"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-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="I-D.ietf-ccamp-otn-topo-yang">
          <front>
            <title>A YANG Data Model for Optical Transport Network Topology</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>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Alef Edge</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <date day="7" month="November" year="2024"/>
            <abstract>
              <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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-otn-topo-yang-20"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="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="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <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 anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-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="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="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="RFC9907">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>This document provides guidelines for authors and reviewers of specifications containing YANG data models, including IANA-maintained YANG 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.</t>
              <t>This document obsoletes RFC 8407; it also updates RFC 8126 by providing additional guidelines for writing the IANA considerations for RFCs that specify IANA-maintained YANG modules.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="216"/>
          <seriesInfo name="RFC" value="9907"/>
          <seriesInfo name="DOI" value="10.17487/RFC9907"/>
        </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>
      </references>
    </references>
    <?line 1350?>

<section anchor="yang-tree">
      <name>OTN Tunnel YANG Tree</name>
      <t>This appendix presents the complete tree of the YANG data model defined in module "ietf-otn-tunnel.yang", defined in <xref target="yang"/>. See <xref target="RFC8340"/> for an explanation of the symbols used.</t>
      <figure anchor="fig-otn-tunnel-tree">
        <artwork type="ascii-art" name="ietf-otn-tunnel.tree"><![CDATA[
module: ietf-otn-tunnel

  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:te-bandwidth/te:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odu-type?                     identityref
          +--rw (oduflex-type)?
             +--:(generic)
             |  +--rw nominal-bit-rate        union
             +--:(cbr)
             |  +--rw client-type             identityref
             +--:(gfp-n-k)
             |  +--rw gfp-n                   uint8
             |  +--rw gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--rw flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--rw flexe-aware-n           uint16
             +--:(packet)
                +--rw opuflex-payload-rate    union
  augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odu-type?                     identityref
          +--rw (oduflex-type)?
             +--:(generic)
             |  +--rw nominal-bit-rate        union
             +--:(cbr)
             |  +--rw client-type             identityref
             +--:(gfp-n-k)
             |  +--rw gfp-n                   uint8
             |  +--rw gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--rw flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--rw flexe-aware-n           uint16
             +--:(packet)
                +--rw opuflex-payload-rate    union
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:te-bandwidth/te:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odu-type?                     identityref
          +--rw (oduflex-type)?
             +--:(generic)
             |  +--rw nominal-bit-rate        union
             +--:(cbr)
             |  +--rw client-type             identityref
             +--:(gfp-n-k)
             |  +--rw gfp-n                   uint8
             |  +--rw gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--rw flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--rw flexe-aware-n           uint16
             +--:(packet)
                +--rw opuflex-payload-rate    union
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:te-bandwidth/te:technology:
    +--:(otn)
       +--ro otn-bandwidth
          +--ro odu-type?                     identityref
          +--ro (oduflex-type)?
             +--:(generic)
             |  +--ro nominal-bit-rate        union
             +--:(cbr)
             |  +--ro client-type             identityref
             +--:(gfp-n-k)
             |  +--ro gfp-n                   uint8
             |  +--ro gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--ro flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--ro flexe-aware-n           uint16
             +--:(packet)
                +--ro opuflex-payload-rate    union
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path/te:te-bandwidth
            /te:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odu-type?                     identityref
          +--rw (oduflex-type)?
             +--:(generic)
             |  +--rw nominal-bit-rate        union
             +--:(cbr)
             |  +--rw client-type             identityref
             +--:(gfp-n-k)
             |  +--rw gfp-n                   uint8
             |  +--rw gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--rw flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--rw flexe-aware-n           uint16
             +--:(packet)
                +--rw opuflex-payload-rate    union
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:computed-paths-properties/te:computed-path-properties
            /te:path-properties/te:te-bandwidth/te:technology:
    +--:(otn)
       +--ro otn-bandwidth
          +--ro odu-type?                     identityref
          +--ro (oduflex-type)?
             +--:(generic)
             |  +--ro nominal-bit-rate        union
             +--:(cbr)
             |  +--ro client-type             identityref
             +--:(gfp-n-k)
             |  +--ro gfp-n                   uint8
             |  +--ro gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--ro flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--ro flexe-aware-n           uint16
             +--:(packet)
                +--ro opuflex-payload-rate    union
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:te-bandwidth/te:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odu-type?                     identityref
          +--rw (oduflex-type)?
             +--:(generic)
             |  +--rw nominal-bit-rate        union
             +--:(cbr)
             |  +--rw client-type             identityref
             +--:(gfp-n-k)
             |  +--rw gfp-n                   uint8
             |  +--rw gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--rw flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--rw flexe-aware-n           uint16
             +--:(packet)
                +--rw opuflex-payload-rate    union
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:te-bandwidth/te:technology:
    +--:(otn)
       +--ro otn-bandwidth
          +--ro odu-type?                     identityref
          +--ro (oduflex-type)?
             +--:(generic)
             |  +--ro nominal-bit-rate        union
             +--:(cbr)
             |  +--ro client-type             identityref
             +--:(gfp-n-k)
             |  +--ro gfp-n                   uint8
             |  +--ro gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--ro flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--ro flexe-aware-n           uint16
             +--:(packet)
                +--ro opuflex-payload-rate    union
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:te-bandwidth/te:technology:
    +--:(otn)
       +--rw otn-bandwidth
          +--rw odu-type?                     identityref
          +--rw (oduflex-type)?
             +--:(generic)
             |  +--rw nominal-bit-rate        union
             +--:(cbr)
             |  +--rw client-type             identityref
             +--:(gfp-n-k)
             |  +--rw gfp-n                   uint8
             |  +--rw gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--rw flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--rw flexe-aware-n           uint16
             +--:(packet)
                +--rw opuflex-payload-rate    union
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:te-bandwidth/te:technology:
    +--:(otn)
       +--ro otn-bandwidth
          +--ro odu-type?                     identityref
          +--ro (oduflex-type)?
             +--:(generic)
             |  +--ro nominal-bit-rate        union
             +--:(cbr)
             |  +--ro client-type             identityref
             +--:(gfp-n-k)
             |  +--ro gfp-n                   uint8
             |  +--ro gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--ro flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--ro flexe-aware-n           uint16
             +--:(packet)
                +--ro opuflex-payload-rate    union
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te: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 /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-out-segment
            /te:label-restrictions/te: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 /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te: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 /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-out-segment
            /te:label-restrictions/te: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 /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction:
    +--rw otn-label-range
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-out-segment/te:label-restrictions
            /te:label-restriction:
    +--rw otn-label-range
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te: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 /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-out-segment
            /te:label-restrictions/te: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 /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction:
    +--rw otn-label-range
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction:
    +--rw otn-label-range
       +--rw range-type?      otn-label-range-type
       +--rw tsg?             identityref
       +--rw odu-type-list*   identityref
       +--rw priority?        uint8
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:explicit-route-objects
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-out-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:optimizations/te:algorithm/te:metric
            /te:optimization-metric/te:explicit-route-exclude-objects
            /te:route-object-exclude-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:optimizations/te:algorithm/te:metric
            /te:optimization-metric/te:explicit-route-include-objects
            /te:route-object-include-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:explicit-route-objects
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-start/te:te-label
            /te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-end/te:te-label
            /te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-step/te:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:label/te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path/te:optimizations
            /te:algorithm/te:metric/te:optimization-metric
            /te:explicit-route-exclude-objects
            /te:route-object-exclude-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path/te:optimizations
            /te:algorithm/te:metric/te:optimization-metric
            /te:explicit-route-include-objects
            /te:route-object-include-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:explicit-route-objects/te:route-object-exclude-always
            /te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-start/te:te-label
            /te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-end/te:te-label
            /te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-step/te:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-out-segment/te:label-restrictions
            /te:label-restriction/te:label-start/te:te-label
            /te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-out-segment/te:label-restrictions
            /te:label-restriction/te:label-end/te:te-label
            /te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-out-segment/te:label-restrictions
            /te:label-restriction/te:label-step/te:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:computed-paths-properties/te:computed-path-properties
            /te:path-properties/te:path-route-objects
            /te:path-route-object/te:type/te:label/te:label-hop
            /te:te-label/te:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:optimizations/te:algorithm
            /te:metric/te:optimization-metric
            /te:explicit-route-exclude-objects
            /te:route-object-exclude-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:optimizations/te:algorithm
            /te:metric/te:optimization-metric
            /te:explicit-route-include-objects
            /te:route-object-include-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:explicit-route-objects
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:label/te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:optimizations/te:algorithm
            /te:metric/te:optimization-metric
            /te:explicit-route-exclude-objects
            /te:route-object-exclude-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:optimizations/te:algorithm
            /te:metric/te:optimization-metric
            /te:explicit-route-include-objects
            /te:route-object-include-object/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:explicit-route-objects
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?       otn-tpn
          +--rw tsg?       identityref
          +--rw ts-list?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(otn)
       +--rw otn-label
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(otn)
       +--rw otn-label-step
          +--rw tpn?   otn-tpn
          +--rw ts?    otn-ts
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:label/te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
  augment /te:te/te:lsps/te:lsp/te:lsp-actual-route-information
            /te:lsp-actual-route-information/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(otn)
       +--ro otn-label
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
]]></artwork>
      </figure>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank Yu Chaode for his 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="R." surname="Rao" fullname="Rajan Rao">
        <organization>Infinera</organization>
        <address>
          <email>rrao@infinera.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="Y." surname="Zheng" fullname="Yanlei Zheng">
        <organization>China Unicom</organization>
        <address>
          <email>zhengyanlei@chinaunicom.cn</email>
        </address>
      </contact>
      <contact initials="X." surname="Zhang" fullname="Xian Zhang">
        <organization>Huawei Technologies</organization>
        <address>
          <email>Huawei Technologies</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="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
        <organization>Telefonica</organization>
        <address>
          <email>oscar.gonzalezdedios@telefonica.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
KHce+syX2ku0Ri/Tdf4fS+A46cIwAQA=

-->

</rfc>
