<?xml version="1.0" encoding="US-ASCII"?> 
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<!--  vi: set et smarttab sw=2 tabstop=4:--> 
<?rfc toc="yes"?> 
<?rfc tocompact="yes"?> 
<?rfc tocdepth="3"?> 
<?rfc tocindent="yes"?> 
<?rfc symrefs="yes"?> 
<?rfc sortrefs="yes"?> 
<?rfc comments="yes"?> 
<?rfc inline="yes"?> 
<?rfc compact="yes"?> 
<?rfc subcompact="no"?>

<rfc category="std" docName="draft-ietf-ccamp-wson-tunnel-model-08" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
 <front>
  <title abbrev="WSON Tunnel YANG"> A Yang Data Model for WSON Tunnel </title> 
 
     <author fullname="Young Lee" initials="Y." surname="Lee">
      <organization>Samsung</organization>
      <address>
        <postal>
          <street></street>
          <city>Seoul</city>
          <region></region>
          <code></code>
          <country>South Korea</country>
        </postal>
        <email>younglee.tx@gmail.com</email>
      </address>
    </author>
 
  <author initials="H." surname="Zheng" fullname="Haomian Zheng">
   <organization>Huawei Technologies</organization>
   <address>
    <postal>
     <street>H1, Huawei Industrial Base, Songshan Lake</street>
     <city>Dongguan</city>
     <region>Guangdong</region>
     <code>523808</code>
     <country>China</country>
    </postal>
    <email>zhenghaomian@huawei.com</email>
   </address>
  </author>

 <author initials="A." surname="Guo" fullname="Aihua Guo">
   <organization>Futurewei</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>aihuaguo.ietf@gmail.com</email>
   </address>
  </author>

  <author initials="V." surname="Lopez" fullname="Victor Lopez">
   <organization>Nokia</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>victor.lopez@nokia.com</email>
   </address>
  </author>

  <author initials="D." surname="King" fullname="Daniel King">
   <organization>Lancaster University</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>d.king@lancaster.ac.uk</email>
   </address>
  </author>

  <author initials="B." surname="Yoon" fullname="Bin Yeong Yoon">
   <organization>ETRI</organization>
   <address>
    <postal>
     <street>218 Gaijeongro, Yuseong-gu</street>
     <city>Daejeon</city>
     <region></region>
     <code></code>
     <country>Korea</country>
    </postal>
    <email>byyun@etri.re.kr</email>
   </address>
  </author>
  
    <author initials="R." surname="Vilalta" fullname="Ricard Vilalta">
   <organization>CTTC</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>ricard.vilalta@cttc.es</email>
   </address>
  </author>

  <date month="January" day="08" year="2023"></date>
  <workgroup>CCAMP Working Group</workgroup>

 <abstract>
  <t>
  This document provides a YANG data model for WSON TE tunnel.
  </t>
 </abstract>
 <!--
 <note title="Requirements Language">
  <t>
  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119" />.
  </t>
 </note>
 -->
 </front>


 <middle>
 <section title="Introduction" toc="default">
  <t>
  This document provides a YANG data model for WSON tunnel model. The YANG model described in this document is a WSON technology-specific Yang Tunnel model based on the information model developed in <xref target="RFC7446" /> and the two encoding documents <xref target="RFC7579" /> and <xref target="RFC7581" /> that developed protocol independent encodings based on <xref target="RFC7446" />.
  </t>
  <t>
  This document augments the generic TE tunnel model <xref target="I-D.ietf-teas-yang-te" />.
  </t>
   <section title="Terminology" toc="default">
  <t>
  Refer to <xref target="RFC7446" /> and <xref target="RFC7581" /> for the key terms used in this document.
  </t>
  <t>
  The following terms are defined in <xref target="RFC7950" /> and are not redefined here:
    <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:
      <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 title="Tree Diagram" toc="default">
  <t>
  A simplified graphical representation of the data model is used in <xref target="tree" /> of this this document.  The meaning of the symbols in these diagrams is defined in <xref target="RFC8340" />.
  </t>
  </section>
  <section title="Prefixes in Data Node Names" toc="default">
   <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. The module ietf-layer0-types specified in <xref target="RFC9093" />, ietf-layer1-types specified in <xref target="I-D.ietf-ccamp-layer1-types" />, ietf-te-path-computation specified in <xref target="I-D.ietf-teas-yang-path-computation" /> and ietf-te specified in <xref target="I-D.ietf-teas-yang-te" /> are imported in this module. 
  </t>
    <figure>
    <artwork>
      <![CDATA[
    +-------------+-------------------+------------------------------+
    | Prefix      | YANG module       |         Reference            |
    +-------------+-------------------+------------------------------+
    | layer0-types|ietf-layer0-types  |[RFC 9093]                    |
    | layer1-types|ietf-layer1-types  |[I-D.ietf-ccamp-layer1-types] |
    | tepc  |ietf-te-path-computation |[I-D.ietf-teas-yang-path-comp]|
    | te          | ietf-te           |[I-D.ietf-teas-yang-te]       |
    | wson-tunnel | ietf-wson-tunnel  |[RFC XXXX]                    |
    +-------------+-------------------+------------------------------+
     ]]>
   </artwork>
  </figure>
  <t>
  Note: The RFC Editor will replace XXXX with the number assigned to the RFC once this draft becomes an RFC.
  </t>
  </section>
 </section>
 <!--  Introduction END  -->

 <section anchor="Overview" title="WSON Tunnel Model Description" toc="default">
  <section title="Overview of WSON Tunnel Model">
   <t>
   The WSON tunnel model is using TE tunnel <xref target="I-D.ietf-teas-yang-te" /> and TE types <xref target="RFC8776" /> as a basic model and augment to the TE tunnel with WSON-specific parameters, including the bandwidth information and label information. It is also worth noting that the WSON tunnel provisioning is usually based on the WSON topology. Therefore the WSON tunnel model is usually used together with WSON topology model specified in <xref target="RFC9094" />. 
   </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" />. The current model is following the YANG language specification as <xref target="RFC7950" />, and the corresponding protocol is recommended to be Netconf protocol in <xref target="RFC6241" /> or RESTconf protocol in <xref target="RFC8040" />.
   </t>
   <t>
   The YANG module ietf-wson-tunnel defined in this document conforms to the Network Management Datastore Architecture (NMDA) defined in <xref target="RFC8342" />.
   </t>
  </section>

  <section title="WSON-specific Parameters in Tunnel Model">
   <t>
   WSON specific parameters have been augmenting to the TE tunnel models. The attributes on both of the source and destination need to be configured when setting up the tunnel. Typical parameters, including bandwidth and grid information, are required in the WSON tunnel model. These parameters are consistent with the framework in <xref target="RFC6163" />, and the specification in <xref target="RFC7579" /> and <xref target="RFC7581" />.
   </t>
   <t>
   The WSON bandwidth information has been augmenting to various sections of TE tunnel models, including tunnel bandwidth, primary path bandwidth and so on. The WSON label information has been augmenting to label hop of a group of routing objects and also LSPs.
   </t>
  </section>
   </section>
  <!--  WSON Tunnel Model Overview END  --> 

  <section anchor="tree" title="WSON Tunnel YANG Tree" toc="default">
   <t>
   <figure anchor="treefigure" title="" suppress-title="true" align="left" alt="" width="" height="">
    <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
<![CDATA[ 
module: ietf-wson-tunnel

  augment /te:te/te:tunnels/te:tunnel:
    +--rw fec-type?           identityref
    +--rw termination-type?   identityref
    +--rw bit-stuffing?       boolean
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction:
    +--rw grid-type?   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 grid-type?   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 grid-type?   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 grid-type?   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 grid-type?   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 grid-type?   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 grid-type?   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 grid-type?   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 grid-type?   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 grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint
            /te:explicit-route-objects-always
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint
            /te:explicit-route-objects-always
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wson)
       +--rw (l0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm-channel-spacing?   identityref
          +--:(cwdm)
             +--rw wson-cwdm-channel-spacing?   identityref
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:globals/te:named-path-constraints
            /te:named-path-constraint/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wson)
       +--rw (l0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm-channel-spacing?   identityref
          +--:(cwdm)
             +--rw wson-cwdm-channel-spacing?   identityref
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:explicit-route-objects-always
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:explicit-route-objects-always
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-start/te:te-label
            /te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-end/te:te-label
            /te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-step/te:technology:
    +--:(wson)
       +--rw (l0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm-channel-spacing?   identityref
          +--:(cwdm)
             +--rw wson-cwdm-channel-spacing?   identityref
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wson)
       +--rw (l0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm-channel-spacing?   identityref
          +--:(cwdm)
             +--rw wson-cwdm-channel-spacing?   identityref
  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:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?                    l0-types:cwdm-n
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:explicit-route-objects-always
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:explicit-route-objects-always
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-start/te:te-label
            /te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-end/te:te-label
            /te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-in-segment/te:label-restrictions
            /te:label-restriction/te:label-step/te:technology:
    +--:(wson)
       +--rw (l0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm-channel-spacing?   identityref
          +--:(cwdm)
             +--rw wson-cwdm-channel-spacing?   identityref
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-out-segment/te:label-restrictions
            /te:label-restriction/te:label-end/te:te-label
            /te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:path-out-segment/te:label-restrictions
            /te:label-restriction/te:label-step/te:technology:
    +--:(wson)
       +--rw (l0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm-channel-spacing?   identityref
          +--:(cwdm)
             +--rw wson-cwdm-channel-spacing?   identityref
  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:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?                    l0-types:cwdm-n
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:explicit-route-objects-always
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:explicit-route-objects-always
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wson)
       +--rw (l0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm-channel-spacing?   identityref
          +--:(cwdm)
             +--rw wson-cwdm-channel-spacing?   identityref
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wson)
       +--rw (l0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm-channel-spacing?   identityref
          +--:(cwdm)
             +--rw wson-cwdm-channel-spacing?   identityref
  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:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?                    l0-types:cwdm-n
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path
            /te:explicit-route-objects-always
            /te:route-object-exclude-always/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path
            /te:explicit-route-objects-always
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction
            /te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-in-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wson)
       +--rw (l0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm-channel-spacing?   identityref
          +--:(cwdm)
             +--rw wson-cwdm-channel-spacing?   identityref
  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:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-end
            /te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   l0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   l0-types:cwdm-n
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:path-out-segment
            /te:label-restrictions/te:label-restriction/te:label-step
            /te:technology:
    +--:(wson)
       +--rw (l0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm-channel-spacing?   identityref
          +--:(cwdm)
             +--rw wson-cwdm-channel-spacing?   identityref
  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:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?                    l0-types:cwdm-n
  augment /te:te/te:lsps/te:lsp/te:lsp-record-route-information
            /te:lsp-record-route-information/te:type/te:label
            /te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?              l0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?                    l0-types:cwdm-n
]]> 
    </artwork>
   </figure>
   </t>
  </section>
  <!--  tree END  --> 

  <section anchor="code" title="WSON Tunnel YANG Code" toc="default">
   <figure anchor="TheYANGCode" title="" suppress-title="true" align="left" alt="" width="" height="">
    <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
<![CDATA[ 
<CODE BEGINS>file "ietf-wson-tunnel@2021-10-19.yang"
module ietf-wson-tunnel {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-wson-tunnel";
  prefix "wson-tnl";

  import ietf-te {
    prefix "te";
    revision-date "2021-02-20";
    reference
      "I-D.ietf-teas-yang-te-19: A YANG Data Model for Traffic
      Engineering Tunnels and Interfaces. ";
  }

  import ietf-layer0-types {
    prefix "l0-types";
  }

  import ietf-layer0-types-ext {
    prefix "l0-types-ext";
  }

  organization
    "IETF CCAMP Working Group";

  contact
    "WG Web:   <http://tools.ietf.org/wg/ccamp/>
     WG List:  <mailto:ccamp@ietf.org>

     Editor:   Young Lee
               <leeyoung.tx@gmail.com>

     Editor:   Haomian Zheng
               <zhenghaomian@huawei.com>

     Editor:   Aihua Guo
               <aihuaguo.ietf@gmail.com>

     Editor:   Victor Lopez
               <victor.lopez@nokia.com>

     Editor:   Daniel King
               <d.king@lancaster.ac.uk>

     Editor:   Bin Yeong Yoon
               <byyun@etri.re.kr>

     Editor:   Ricard Vilalta
               <ricard.vilalta@cttc.es>";

  description
    "This module defines a model for WSON Tunnel Services.

    The model fully conforms to the Network Management 
    Datastore Architecture (NMDA).
    
    Copyright (c) 2021 IETF Trust and the persons
    identified as authors of the code.  All rights reserved.
    Redistribution and use in source and binary forms, with or
    without modification, is permitted pursuant to, and subject
    to the license terms contained in, the Simplified BSD License
    set forth in Section 4.c of the IETF Trust's Legal Provisions
    Relating to IETF Documents
    (https://trustee.ietf.org/license-info).
    This version of this YANG module is part of RFC XXXX; see
    the RFC itself for full legal notices.";

  revision "2021-10-19" {
    description
      "Initial Revision";
    reference
      "RFC XXXX: A Yang Data Model for WSON Tunnel";
    // RFC Ed.: replace XXXX with actual RFC number, update date 
    // information and remove this note
  }

 /*
  * Data nodes
  */

  augment "/te:te/te:tunnels/te:tunnel" {
    description
      "Augment with additional parameters required for flexi-grid
       media channel.";
    uses l0-types-ext:l0-tunnel-attributes;
  }

  /*
   * Augment TE label range information
   */

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:label-restrictions/te:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
      of the named path constraint.";
    uses l0-types:l0-label-range-info;
  }

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"
        + "te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the egress segment
      of the named path constraint.";
    uses l0-types:l0-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
      of the primay path.";
    uses l0-types:l0-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the egress segment
      of the primay path.";
    uses l0-types:l0-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
      of the primay reverse path.";
    uses l0-types:l0-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the egress segment
      of the primay reverse path.";
    uses l0-types:l0-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
      of the secondary path.";
    uses l0-types:l0-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the egress segment
      of the secondary path.";
    uses l0-types:l0-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:path-in-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
      of the secondary reverse path.";
    uses l0-types:l0-label-range-info;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:path-out-segment/te:label-restrictions/"
        + "te:label-restriction" {
    description
      "Augment TE label range information for the egress segment
      of the secondary reverse path.";
    uses l0-types:l0-label-range-info;
  }

  /*
   * Augment TE label.
   */

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/"
        + "te:explicit-route-objects-always/"
        + "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 wson {
      uses l0-types:wson-label-hop;
    }
  }

  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/"
        + "te:explicit-route-objects-always/"
        + "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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:explicit-route-objects-always/"
        + "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 wson {
      uses l0-types:wson-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:explicit-route-objects-always/"
        + "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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:explicit-route-objects-always/"
        + "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 wson {
      uses l0-types:wson-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/"
        + "te:explicit-route-objects-always/"
        + "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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:explicit-route-objects-always/"
        + "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 wson {
      uses l0-types:wson-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-paths/te:secondary-path/"
        + "te:explicit-route-objects-always/"
        + "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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:explicit-route-objects-always/"
        + "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 wson {
      uses l0-types:wson-label-hop;
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:secondary-reverse-paths/te:secondary-reverse-path/"
        + "te:explicit-route-objects-always/"
        + "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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-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 wson {
      uses l0-types:wson-label-hop;
    }
  }

  augment "/te:te/te:lsps/"
        + "te:lsp/te:lsp-record-route-information/"
        + "te:lsp-record-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 wson {
      uses l0-types:wson-label-hop;
    }
  }
}

<CODE ENDS>

]]> 
    </artwork>
   </figure>  
  </section>
  <!--  YANG CODE END  --> 


 <section anchor="Security" title="Security Considerations" toc="default">
  <t>
  The YANG module specified in this document defines a schema for data that is designed to be accessed via network management protocols such as NETCONF <xref target="RFC6241" /> or RESTCONF <xref target="RFC8040" />.  The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) <xref target="RFC6242" />.  The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS <xref target="RFC8446" />.
  </t>
  <t>
   The NETCONF protocol over Secure Shell (SSH) specification <xref target="RFC6242" /> describes a method for invoking and running NETCONF within a Secure Shell (SSH) session as an SSH subsystem.  The NETCONF access control model <xref target="RFC8341" /> provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.
  </t>
  <t>
   There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default).  These data nodes may be considered sensitive or vulnerable
   in some network environments.  Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations.  Considerations in Section 8 of
   <xref target="I-D.ietf-teas-yang-te" /> are also applicable to the module defined in this document.
  </t>
  <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.  Considerations in Section 8 of <xref target="I-D.ietf-teas-yang-te" />are also applicable to the module defined in this document.
  </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>
 <!--  Security END  --> 

 <section anchor="IANA" title="IANA Considerations" toc="default">
  <t>
  It is proposed that IANA should assign new URIs from the "IETF XML Registry" <xref target="RFC3688" /> as follows:
  </t>
  <figure>
    <artwork>
      <![CDATA[
      URI: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel
      Registrant Contact: The IESG
      XML: N/A; the requested URI is an XML namespace.

    ]]>
            </artwork>
    </figure>
  <t> 
   This document registers following YANG modules in the YANG Module Names registry <xref target="RFC7950" />.
    </t>
    <figure>
        <artwork>
      <![CDATA[
   name:         ietf-wson-tunnel
   namespace:    urn:ietf:params:xml:ns:yang:ietf-wson-tunnel
   prefix:       wson-tnl
   reference:    RFC XXXX

        ]]>
        </artwork>
    </figure>

 </section>
 <!--  IANA END  --> 

 <section title="Acknowledgements" toc="default">
  <t>
  TBD.
  </t>
 </section>

 <section anchor="Contributor" title="Contributors" toc="default">
  <t>
  Dhruv Dhody
  <vspace blankLines="0" /> 
  Huawei Technologies
  <vspace blankLines="0" /> 
  Email: dhruv.ietf@gmail.com
  <vspace blankLines="0" /> 
  </t>

  <t>
  Italo Busi
  <vspace blankLines="0" /> 
  Huawei Technologies
  <vspace blankLines="0" /> 
  Email: Italo.Busi@huawei.com
  <vspace blankLines="0" /> 
  </t>
  
  
 </section>
 <!--  Contributor END  --> 
 </middle>

 <back>
 <references title="Normative References">
  <!--<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?> --> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6241.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6242.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8040.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8340.xml"?>   
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8341.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8342.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8446.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8776.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9093.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9094.xml"?> 
  <?rfc include="reference.I-D.ietf-teas-yang-te"?>  
  <?rfc include="reference.I-D.ietf-ccamp-layer1-types"?> 
  <?rfc include="reference.I-D.ietf-teas-yang-path-computation"?>   
 </references>
 <!--  Normative END  -->

 <references title="Informative References">
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6163.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7446.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7579.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7581.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7950.xml"?>
  <?rfc include="reference.I-D.ietf-teas-actn-yang"?> 
  <?rfc include="reference.I-D.ietf-ccamp-transport-nbi-app-statement"?>
  </references>
 <!--  Informative END  -->
 
 </back>
</rfc>
