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


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-ccamp-otn-tunnel-model-24" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="OTN Tunnel Model">A YANG Data Model for Optical Transport Network (OTN) Tunnels and Label Switched Paths</title>

    <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="2025" month="December" day="01"/>

    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    

    <abstract>


<?line 98?>

<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 title="About This Document" removeInRFC="true">
      <t>
        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 105?>

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

<t>The YANG module ietf-otn-tunnel defined in this document conforms to
the Network Management Datastore Architecture (NMDA) defined in
<xref target="RFC8342"/>.</t>

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

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

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

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

<t>The terminology for describing YANG data models is found in
<xref target="RFC7950"/>.</t>

</section>
<section anchor="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>

<texttable title="Prefixes and corresponding YANG modules" anchor="tab-prefixes">
      <ttcol align='left'>Prefix</ttcol>
      <ttcol align='left'>YANG module</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>l1-types</c>
      <c>ietf-layer1-types</c>
      <c>[RFC YYYY]</c>
      <c>otn-tnl</c>
      <c>ietf-otn-tunnel</c>
      <c>RFC XXXX</c>
      <c>te</c>
      <c>ietf-te</c>
      <c>[RFC ZZZZ]</c>
</texttable>

<t>RFC Editor Note: Please replace XXXX with the number assigned to the
RFC once this draft becomes an RFC.  Please replace YYYY with the RFC
numbers assigned to <xref target="I-D.ietf-ccamp-layer1-types"/>.  Please replace
ZZZZ with the RFC numbers assigned to <xref target="I-D.ietf-teas-yang-te"/>.</t>

</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 title="Relationship between OTN and TE tunnel models" anchor="fig-overview"><artwork type="ascii-art"><![CDATA[
                           +----------------+
              TE generic   |     ietf-te    |
                           +----------------+
                                    ^
                                    |
                                    | Augments
                                    |
                           +--------+--------+
              OTN          | ietf-otn-tunnel |
                           +-----------------+
]]></artwork></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-tree"><name>OTN Tunnel YANG Tree</name>

<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 anchor="otn-tunnel-yang-code"><name>OTN Tunnel YANG Code</name>

<figure anchor="fig-otn-tunnel-yang"><sourcecode type="yang" markers="true" name="ietf-otn-tunnel@2024-03-21.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.";
  }
  /* Note: The RFC Editor will replace ZZZZ with the number assigned
     to the RFC once draft-ietf-teas-yang-te becomes an RFC.*/

  import ietf-layer1-types {
    prefix "l1-types";
    reference 
      "RFC YYYY: Common YANG Data Types for Layer 1 Networks.";
  }
  /* Note: The RFC Editor will replace YYYY with the number assigned
     to the RFC once draft-ietf-ccamp-layer1-types becomes an RFC.*/

  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.

    The model fully conforms to the Network Management 
    Datastore Architecture (NMDA).
    
    Copyright (c) 2024 IETF Trust and the persons
    identified as authors of the code.  All rights reserved.

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

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

  revision "2024-03-21" {
    description
      "Initial version";
    reference
      "RFC XXXX: A YANG Data Model for Optical Transport Network
      (OTN) Tunnels and Label Switched Paths";
    // RFC Ed.: replace XXXX with actual RFC number, update date
    // information and remove this note
  }

 /*
  * 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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 primay 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" subregistry within the "IETF XML Registry" <xref target="RFC3688"/>:</t>

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

<t>IANA is requested to register the following YANG module in the "YANG Module Names" subregistry <xref target="RFC6020"/> within the "YANG Parameters" registry.</t>

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

<ul empty="true"><li>
  <t>RFC Editor Note: Please replace XXXX with the number assigned to the RFC once this draft becomes an RFC.</t>
</li></ul>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This section is modeled after the template described in Section 3.7
of <xref target="I-D.ietf-netmod-rfc8407bis"/>.</t>

<t>The "ietf-te-types" and the "ietf-te-packet-types" YANG modules define data models that are
designed to be accessed via YANG-based management protocols, such as
NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>. These protocols have to
use a secure transport layer (e.g., SSH <xref target="RFC4252"/>, TLS <xref target="RFC8446"/>, and
QUIC <xref target="RFC9000"/>) and have to use mutual authentication.</t>

<t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
provides the means to restrict access for particular NETCONF or
RESTCONF users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content.</t>

<t>There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default).
These data nodes can be considered sensitive or vulnerable in some network environments.
Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations.
Specifically, the following subtrees and data nodes have particular sensitivities/vulnerabilities:</t>

<t><list style="symbols">
  <t>"otnt:otn-bandwidth"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific information under any occurrence of the tet:te-bandwidth container, as defined in <xref target="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>

<t><list style="symbols">
  <t>"otnt:otn-label-range"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific label range information under any occurrence of the tet: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>

<t><list style="symbols">
  <t>"otnt:otn-label"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific label information under any occurrence of the tet:te-label container, as defined in <xref target="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>

<t><list style="symbols">
  <t>"otnt:otn-bandwidth"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific information under any occurrence of the tet:te-bandwidth container, as defined in <xref target="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>

<t><list style="symbols">
  <t>"otnt:otn-label-range"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific label range information under any occurrence of the tet: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>

<t><list style="symbols">
  <t>"otnt:otn-label"</t>
</list></t>

<ul empty="true"><li>
  <t>This subtree specifies the configurations of OTN technology-specific label information under any occurrence of the tet:te-label container, as defined in <xref target="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 title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

<reference anchor="ITU-T_G.709" >
  <front>
    <title>Interfaces for the optical transport network</title>
    <author >
      <organization>ITU-T Recommendation G.709</organization>
    </author>
    <date year="2020" month="March"/>
  </front>
  <seriesInfo name="ITU-T G.709" value=""/>
</reference>



<reference anchor="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="2" month="November" year="2025"/>
      <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 that is independent of
   any technology or dataplane encapsulation and is divided into two
   YANG modules that cover device-specific, and device independent data.

   This model covers data for configuration, operational state, remote
   procedural calls, and event notifications.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-te-40"/>
   
</reference>
<reference anchor="RFC8342">
  <front>
    <title>Network Management Datastore Architecture (NMDA)</title>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
    <author fullname="P. Shafer" initials="P." surname="Shafer"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <author fullname="R. Wilton" initials="R." surname="Wilton"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8342"/>
  <seriesInfo name="DOI" value="10.17487/RFC8342"/>
</reference>

<reference anchor="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="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="RFC7139">
  <front>
    <title>GMPLS Signaling Extensions for Control of Evolving G.709 Optical Transport Networks</title>
    <author fullname="F. Zhang" initials="F." role="editor" surname="Zhang"/>
    <author fullname="G. Zhang" initials="G." surname="Zhang"/>
    <author fullname="S. Belotti" initials="S." surname="Belotti"/>
    <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
    <author fullname="K. Pithewan" initials="K." surname="Pithewan"/>
    <date month="March" year="2014"/>
    <abstract>
      <t>ITU-T Recommendation G.709 [G709-2012] introduced new Optical channel Data Unit (ODU) containers (ODU0, ODU4, ODU2e, and ODUflex) and enhanced Optical Transport Network (OTN) flexibility.</t>
      <t>This document updates the ODU-related portions of RFC 4328 to provide extensions to GMPLS signaling to control the full set of OTN features, including ODU0, ODU4, ODU2e, and ODUflex.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7139"/>
  <seriesInfo name="DOI" value="10.17487/RFC7139"/>
</reference>
<reference anchor="RFC3688">
  <front>
    <title>The IETF XML Registry</title>
    <author fullname="M. Mealling" initials="M." surname="Mealling"/>
    <date month="January" year="2004"/>
    <abstract>
      <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="81"/>
  <seriesInfo name="RFC" value="3688"/>
  <seriesInfo name="DOI" value="10.17487/RFC3688"/>
</reference>
<reference anchor="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 title='Informative References' anchor="sec-informative-references">



<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="I-D.ietf-netmod-rfc8407bis">
   <front>
      <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
      <author fullname="Andy Bierman" initials="A." surname="Bierman">
         <organization>YumaWorks</organization>
      </author>
      <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
         <organization>Orange</organization>
      </author>
      <author fullname="Qin Wu" initials="Q." surname="Wu">
         <organization>Huawei</organization>
      </author>
      <date day="5" month="June" year="2025"/>
      <abstract>
	 <t>   This document provides guidelines for authors and reviewers of
   specifications containing YANG data models, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF Protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-28"/>
   
</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 2099?>

<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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
bVwnUEMLF2UkYBup1lZ9/x83iI8Hzi8BAA==

-->

</rfc>

