CCAMP Working Group H. Zheng
Internet-Draft Huawei Technologies
Intended status: Standards Track Y. Lee
Expires: May 7, 2020 SKKU
A. Guo
Individual
V. Lopez
Telefonica
D. King
University of Lancaster
November 4, 2019

A YANG Data Model for WSON (Wavelength Switched Optical Networks)
draft-ietf-ccamp-wson-yang-23

Abstract

This document provides a YANG data model for the routing and wavelength assignment (RWA) TE topology in wavelength switched optical networks (WSONs). The YANG data model defined in this document conforms to the Network Management Datastore Architecture (NMDA).

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on May 7, 2020.

Copyright Notice

Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

This document provides a YANG data model for the routing and wavelength assignment (RWA) Traffic Engineering (TE) topology in transparent wavelength switched optical networks (WSONs). The YANG model described in this document is a WSON technology-specific YANG model based on the information model developed in [RFC7446] and the two encoding documents [RFC7581] and [RFC7579] that developed protocol independent encodings based on [RFC7446].

[ITU-Tg6982] defines amplified multichannel dense wavelength division multiplexing applications with single channel optical interfaces. The YANG data model defined in this document refers to the standard application mode defined in [ITU-Tg6982].

What is not in scope of this document is both impairment-aware optical networks and flexi-grid. Refer to [I-D.ietf-ccamp-optical-impairment-topology-yang] for impairement-aware optical network topology model and [I-D.ietf-ccamp-flexigrid-yang] for flexi-grid optical network topology model.

Additionally, resource block models (e.g., 3R Regeneration) is not also in the scope of this document, which will be addressed in a separate document.

This document defines one YANG model: ietf-wson-topology (Section 3). This document augments the generic TE topology draft [I-D.ietf-teas-yang-te-topo].

There are multiple applications for the yang data model defined in this document. For example, nodes within the network can use the data model to capture their understanding of the overall WSON topology and expose it to a controller. A controller can further propagate the topology to other controllers. The YANG model is used by NETCONF [RFC6020], [RFC8341] or a RESTCONF [RFC8040] protocol. The YANG data model defined in this document conforms to the Network Management Datastore Architecture [RFC8342].

1.1. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

1.2. Terminology and Notations

Refer to [RFC7446] and [RFC7581] for the key terms used in this document. The following terms are defined in [RFC7950] and are not redefined here:

The following terms are defined in [RFC6241] and are not redefined here:

The terminology for describing YANG data models is found in [RFC7950].

1.3. Tree Diagram

A simplified graphical representation of the data model is used in chapter 2 of this this document. The meaning of the symbols in these diagrams is defined in [RFC8340].

1.4. Prefix in Data Node Names

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.

      
    +-------------+-------------------------+------------------------+
    | Prefix      | YANG module             | Reference              |
    +-------------+-------------------------+------------------------+
    | layer0-types| ietf-layer0-types       |[ietf-ccamp-layer-types]|
    | wson        | ietf-wson-topology      | [RFCXXXX]              |
    | nw          | ietf-network            | [RFC8345]              |
    | nt          | ietf-network-topology   | [RFC8345]              |
    | tet         | ietf-te-topology        |[ietf-teas-yang-te-topo]|
    +-------------+-------------------------+------------------------+
     
   

Note: The RFC Editor will replace XXXX with the number assigned to the RFC once this draft becomes an RFC.

2. YANG Model (Tree Structure) for WSON topology


module: ietf-wson-topology
  augment /nw:networks/nw:network/nw:network-types
            /tet:te-topology:
    +--rw wson-topology!
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes:
  augment /nw:networks/nw:network/nw:node
            /nt:termination-point/tet:te:
    +--rw supported-payload-types* [index]
    |  +--rw index           uint16
    |  +--rw payload-type?   string
    +--rw client-facing?             boolean
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes:
    +--rw wson-node
       +--rw node-type?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point:
    +--rw supported-operational-modes*
    |       layer0-types:operational-mode
    +--rw configured-operational-modes?
    |       layer0-types:operational-mode
    +--rw supported-fec-types*            identityref
    +--rw supported-termination-types*    identityref
    +--rw supports-bit-stuffing?          boolean
    +--rw is-tunable?                     boolean
    +--rw max-subcarrier-channel-num?     uint8
  augment /nw:networks/nw:network/nw:node
            /nt:termination-point/tet:te
            /tet:interface-switching-capability
            /tet:max-lsp-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--rw bandwidth-type?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(wson)
       +--ro supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(wson)
       +--ro supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:client-layer-adaptation
            /tet:switching-capability/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:path-constraints/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity
            /tet:path-constraints/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes
            /tet:interface-switching-capability
            /tet:max-lsp-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--rw bandwidth-type?   identityref
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:max-link-bandwidth
            /tet:te-bandwidth/tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes
            /tet:max-resv-link-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:unreserved-bandwidth
            /tet:te-bandwidth/tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry
            /tet:interface-switching-capability
            /tet:max-lsp-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--ro bandwidth-type?   identityref
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry
            /tet:max-link-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--ro supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry
            /tet:max-resv-link-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--ro supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry
            /tet:unreserved-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--ro supported-bandwidth-list*   identityref
  augment /nw:networks/tet:te/tet:templates
            /tet:link-template/tet:te-link-attributes
            /tet:interface-switching-capability
            /tet:max-lsp-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--rw bandwidth-type?   identityref
  augment /nw:networks/tet:te/tet:templates
            /tet:link-template/tet:te-link-attributes
            /tet:max-link-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/tet:te/tet:templates
            /tet:link-template/tet:te-link-attributes
            /tet:max-resv-link-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/tet:te/tet:templates
            /tet:link-template/tet:te-link-attributes
            /tet:unreserved-bandwidth/tet:te-bandwidth
            /tet:technology:
    +--:(wson)
       +--rw supported-bandwidth-list*   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(wson)
       +--rw (layer0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm?   identityref
          +--:(cwdm)
             +--rw wson-cwdm?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices/tet:underlay
            /tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices/tet:underlay
            /tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices/tet:path-properties
            /tet:path-route-objects/tet:path-route-object
            /tet:type/tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from
            /tet:label-restrictions/tet:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(wson)
       +--rw (layer0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm?   identityref
          +--:(cwdm)
             +--rw wson-cwdm?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to
            /tet:label-restrictions/tet:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(wson)
       +--rw (layer0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm?   identityref
          +--:(cwdm)
             +--rw wson-cwdm?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay
            /tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay
            /tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-properties
            /tet:path-route-objects/tet:path-route-object
            /tet:type/tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction:
    +--ro grid-type?   identityref
    +--ro priority?    uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(wson)
       +--ro (layer0-grid-type)?
          +--:(dwdm)
          |  +--ro wson-dwdm?   identityref
          +--:(cwdm)
             +--ro wson-cwdm?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices/tet:underlay
            /tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices/tet:underlay
            /tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices/tet:path-properties
            /tet:path-route-objects/tet:path-route-object
            /tet:type/tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from
            /tet:label-restrictions/tet:label-restriction:
    +--ro grid-type?   identityref
    +--ro priority?    uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(wson)
       +--ro (layer0-grid-type)?
          +--:(dwdm)
          |  +--ro wson-dwdm?   identityref
          +--:(cwdm)
             +--ro wson-cwdm?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to
            /tet:label-restrictions/tet:label-restriction:
    +--ro grid-type?   identityref
    +--ro priority?    uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(wson)
       +--ro (layer0-grid-type)?
          +--:(dwdm)
          |  +--ro wson-dwdm?   identityref
          +--:(cwdm)
             +--ro wson-cwdm?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay
            /tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay
            /tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry
            /tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-properties
            /tet:path-route-objects/tet:path-route-object
            /tet:type/tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:label-restrictions/tet:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(wson)
       +--rw (layer0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm?   identityref
          +--:(cwdm)
             +--rw wson-cwdm?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:underlay
            /tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:underlay
            /tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:path-properties/tet:path-route-objects
            /tet:path-route-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity
            /tet:label-restrictions/tet:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(wson)
       +--rw (layer0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm?   identityref
          +--:(cwdm)
             +--rw wson-cwdm?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:underlay
            /tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:underlay
            /tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:optimizations
            /tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:path-properties
            /tet:path-route-objects/tet:path-route-object
            /tet:type/tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--ro subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--ro cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:underlay
            /tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:underlay
            /tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-start
            /tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-end
            /tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-step
            /tet:technology:
    +--:(wson)
       +--rw (layer0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm?   identityref
          +--:(cwdm)
             +--rw wson-cwdm?   identityref
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry
            /tet:label-restrictions/tet:label-restriction:
    +--ro grid-type?   identityref
    +--ro priority?    uint8
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--ro cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(wson)
       +--ro (layer0-grid-type)?
          +--:(dwdm)
          |  +--ro wson-dwdm?   identityref
          +--:(cwdm)
             +--ro wson-cwdm?   identityref
  augment /nw:networks/tet:te/tet:templates
            /tet:link-template/tet:te-link-attributes
            /tet:underlay/tet:primary-path/tet:path-element
            /tet:type/tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/tet:te/tet:templates
            /tet:link-template/tet:te-link-attributes
            /tet:underlay/tet:backup-path/tet:path-element
            /tet:type/tet:label/tet:label-hop/tet:te-label
            /tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw dwdm-n?
          |     |          layer0-types:dwdm-n
          |     +--:(super)
          |        +--rw subcarrier-dwdm-n*   int16
          +--:(cwdm)
             +--rw cwdm-n?
                     layer0-types:cwdm-n
  augment /nw:networks/tet:te/tet:templates
            /tet:link-template/tet:te-link-attributes
            /tet:label-restrictions/tet:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /nw:networks/tet:te/tet:templates
            /tet:link-template/tet:te-link-attributes
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/tet:te/tet:templates
            /tet:link-template/tet:te-link-attributes
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw dwdm-n?   layer0-types:dwdm-n
          +--:(cwdm)
             +--rw cwdm-n?   layer0-types:cwdm-n
  augment /nw:networks/tet:te/tet:templates
            /tet:link-template/tet:te-link-attributes
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(wson)
       +--rw (layer0-grid-type)?
          +--:(dwdm)
          |  +--rw wson-dwdm?   identityref
          +--:(cwdm)
             +--rw wson-cwdm?   identityref


 
    

3. The YANG Code for WSON topology

  
<CODE BEGINS> file "ietf-wson-topology@2019-11-04.yang"
module ietf-wson-topology {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology";
  prefix "wson";

  import ietf-network {
    prefix "nw";
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }

  import ietf-network-topology {
    prefix "nt";
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }

  import ietf-te-topology {
    prefix "tet";
    reference
      "RFC YYYY: YANG Data Model for
       Traffic Engineering (TE) Topologies";
  }

  /* Note: The RFC Editor will replace YYYY with the number assigned to	
 	the RFC once draft-ietf-teas-yang-te-topo becomes an RFC.*/

  import ietf-layer0-types {
    prefix "layer0-types";
    reference
      "RFC XXXX: A YANG Data Model for WSON
       (Wavelength Switched Optical Networks)";
  }

/* Note: The RFC Editor will replace XXXX with the number assigned to  
   the RFC once draft-ietf-ccamp-layer0-types becomes an RFC.*/
  
  organization
    "IETF CCAMP Working Group";

  contact
    "Editor:   Haomian Zheng  <zhenghaomian@huawei.com>
     Editor:   Young Lee  <younglee.tx@gmail.com>
     Editor:   Aihua Guo  <aihuaguo.ietf@gmail.com>
     Editor:   Victor Lopez <victor.lopezalvarez@telefonica.com>
     Editor:   Daniel King  <d.king@lancaster.ac.uk>";

  description
    "This module provides a YANG data model for the routing and
     wavelength assignment (RWA) Traffic Engineering (TE)
     topology in wavelength switched optical networks (WSONs).
     The YANG model described in this document is a WSON
     technology-specific YANG model augmenting the generic TE
     topology module (ietf-te-topology) based on the information model
     developed in RFC 7446 and the two encoding documents
     RFC 7581 and RFC 7579 that developed protocol independent
     encodings based on RFC 7446. The model fully conforms
     to the Network Management Datastore Architecture (NMDA).

     Copyright (c) 2019 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
     (http://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 2019-11-04 {
    description
      "Initial Version";

    reference
      "RFC XXXX: A YANG Data Model for WSON (Wavelength Switched
       Optical Networks)";
  }

  /*
   * Groupings
   */
  grouping wson-node-attributes {
    description "WSON node attributes";
    container wson-node {
      description "WSON node attrtibutes";
      leaf node-type {
        type identityref {
          base layer0-types:layer0-node-type;
        }
        description "WSON node type";
      }
    }
  }

  grouping wson-link-attributes {
    description
      "Future WSON link attributes extensions";
  }

  grouping wson-tp-attributes {
    description "wson-tp-attributes";

    list supported-payload-types {
      key "index";
      description
        "Supported payload types of a TP (Termination Point).
         The payload type is defined as the generalized PIDs
         (Payload Identifiers) in GMPLS";
      leaf index {
        type uint16;
        description "payload type index";
      }
      leaf payload-type {
        type string;
        description "the payload type supported by this client TP";
        reference
          "http://www.iana.org/assignments/gmpls-sig-parameters
           /gmpls-sig-parameters.xhtml";
      }
    }
    leaf client-facing {
      type boolean;
      default 'false';
      description
        "Indicates if it is a client-facing TP";
    }
  }

  grouping wson-ttp-attributes {
    description
      "WSON tunnel termination point (e.g., tranponder) attributes";

    leaf-list supported-operational-modes {
      type layer0-types:operational-mode;
      description
        "List of all supported vendor-specific
         mode identifiers";
    }

    leaf configured-operational-modes {
      type layer0-types:operational-mode;
      description
        "Vendor-specific mode identifier configured
         on the TTP (TE-tunnel Termination Point)";
    }

    leaf-list supported-fec-types {
      type identityref {
        base layer0-types:fec-type;
      }
       description
         "List of all supported FEC (Forward Error Correction)
          types by this TTP";
    }

    leaf-list supported-termination-types {
      type identityref {
        base layer0-types:term-type;
      }
        description
          "List of all supported termination types by this TTP";
    }

    leaf supports-bit-stuffing {
       type boolean;
       description
         "Indicates whether bit stuffing is supported by this TTP";
    }

    leaf is-tunable {
      type boolean;
      description
        "Indicates if the TTP, or transponder, is tunable. Tunable
         transponders are assumed to be fully tunable to any of the
         96 channels within DWDM C-band";
    }

    leaf max-subcarrier-channel-num {
      type uint8 {
        range "1..max";
      }
      default 1;
      description
         "Indicates the maximum number of subcarrier channels for
         super-channel transponders. When the value equals 1 it
         represents regular single-channel transponder";
    }
  }

  /*
   * Data nodes
   */

  augment "/nw:networks/nw:network/nw:network-types"
   + "/tet:te-topology" {
      description "wson-topology augmented";
      container wson-topology {
        presence "indicates a topology of WSON";
        description
          "Container to identify WSON topology type";
      }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te"
        + "/tet:te-link-attributes"   {
    when "/nw:networks/nw:network/nw:network-types"
        +"/tet:te-topology/wson:wson-topology" {
       description "This augment is only valid for WSON";
    }
    description "WSON Link augmentation.";
    uses wson-link-attributes;
  }

  augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
        + "tet:te" {
    when "/nw:networks/nw:network/nw:network-types"
        +"/tet:te-topology/wson:wson-topology" {
       description "This augment is only valid for WSON";
    }
    description "WSON TP attributes";
    uses wson-tp-attributes;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te"
        + "/tet:te-node-attributes" {
    when "/nw:networks/nw:network/nw:network-types"
       +"/tet:te-topology/wson:wson-topology" {
       description "This augment is only valid for WSON";
    }
    description "WSON Node augmentation";
    uses wson-node-attributes;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te"
        + "/tet:tunnel-termination-point" {
    when "/nw:networks/nw:network/nw:network-types"
       +"/tet:te-topology/wson:wson-topology" {
      description "This augment is only valid for WSON";
    }
    description "WSON tunnel termination point augmentation";
    uses wson-ttp-attributes;
  }

  /*
   * Augment TE bandwidth
   */

  augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
        + "tet:te/"
        + "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE bandwidth";
    }
    description
      "Augment maximum LSP WSON bandwidth of link termination point
       (LTP)";
    case wson {
      uses layer0-types:wson-path-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE bandwidth";
    }
    description
      "Augment WSON bandwidth path constraints of
       connectivity-matrices";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE bandwidth";
    }
    description
      "Augment WSON bandwidth path constraints of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE bandwidth";
    }
    description
      "Augment WSON bandwidth path constraints of
       connectivity-matrices information-source";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE bandwidth";
    }
    description
      "Augment WSON bandwidth path constraints of
       connectivity-matrix information-source";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:client-layer-adaptation/tet:switching-capability/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE bandwidth";
    }
    description
      "Augment client WSON bandwidth of tunnel termination point
       (TTP)";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/tet:path-constraints/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE bandwidth";
    }
    description
      "Augment WSON bandwidth path constraints of
       local-link-connectivities";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/tet:path-constraints/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE bandwidth";
    }
    description
      "Augment WSON bandwidth path constraints of
       local-link-connectivity (LLC)";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "WSON TE bandwidth";
    }
    description "Augment maximum LSP WSON bandwidth of TE link";
    case wson {
      uses layer0-types:wson-path-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "WSON TE bandwidth";
    }
    description
      "Augment maximum WSON bandwidth of TE link";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:max-resv-link-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "WSON TE bandwidth";
    }
    description
      "Augment maximum reservable WSON bandwidth of
       TE link";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:unreserved-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "WSON TE bandwidth";
    }
    description
      "Augment unreserved WSON bandwidth of TE Link";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:interface-switching-capability/"
        + "tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "WSON TE bandwidth";
    }
    description
      "Augment maximum LSP WSON bandwidth of TE link
       information-source";
    case wson {
      uses layer0-types:wson-path-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "WSON TE bandwidth";
    }
    description
      "Augment maximum WSON bandwidth of TE link
       information-source";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:max-resv-link-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "WSON TE bandwidth";
    }
    description
      "Augment maximum reservable WSON bandwidth of TE link
       information-source";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:unreserved-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "WSON TE bandwidth";
    }
    description
      "Augment unreserved WSON bandwidth of TE link
       information-source";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:interface-switching-capability/"
        + "tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    description
      "Augment maximum WSON LSP bandwidth of TE link
       template";
    case wson {
      uses layer0-types:wson-path-bandwidth;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    description
      "Augment maximum WSON bandwidth of TE link template";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:max-resv-link-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    description
      "Augment maximum reservable WSON bandwidth of TE link
       template";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:unreserved-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    description
      "Augment unreserved WSON bandwidth of TE link template";
    case wson {
      uses layer0-types:wson-link-bandwidth;
    }
  }

  /*
   * Augment TE label.
   */

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions of connectivity-matrices";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions start of
       connectivity-matrices";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/"
        + "tet:label-restriction/tet:label-end/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions end of
       connectivity-matrices";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/"
        + "tet:label-restriction/tet:label-step/"
        + "tet:technology" {
    when "../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions step of
       connectivity-matrices";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:underlay/tet:primary-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay primary path of
       connectivity-matrices";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:underlay/tet:backup-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay backup path of
       connectivity-matrices";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of route-exclude of
       connectivity-matrices";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of route-include of
       connectivity-matrices";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology"{
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of path-route of
       connectivity-matrices";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment ingress WSON label restrictions of
       connectivity-matrix";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment ingress WSON label restrictions start of
       connectivity-matrix ";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment ingress WSON label restrictions end of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/"
        + "tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment ingress WSON label restrictions step of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment egress WSON label restrictions of
       connectivity-matrix";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment egress WSON label restrictions start of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment egress WSON label restrictions end of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/"
        + "tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment egress WSON label restrictions step of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:primary-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay primary path of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:backup-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay backup path of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:optimizations/"
        + "tet:algorithm/tet:metric/tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of route-exclude of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:optimizations/"
        + "tet:algorithm/tet:metric/tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of route-include of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of path-route of
       connectivity-matrix";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions of connectivity-matrices
       information-source";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions start of
       connectivity-matrices information-source";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions end of
       connectivity-matrices information-source";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions step of
       connectivity-matrices information-source";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay primary path of
       connectivity-matrices information-source";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment label hop of underlay backup path of
       connectivity-matrices information-source";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of route-exclude of
       connectivity-matrices information-source";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of route-include of
       connectivity-matrices information-source";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of path-route of connectivity-matrices
       information-source";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment ingress WSON label restrictions of
       connectivity-matrix information-source";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment ingress WSON label restrictions start of
       connectivity-matrix information-source";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment ingress WSON label restrictions end of
       connectivity-matrix information-source";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment ingress WSON label restrictions step of
       connectivity-matrix information-source";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment egress WSON label restrictions of connectivity-matrix
       information-source";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment egress WSON label restrictions start of
       connectivity-matrix information-source";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment egress WSON label restrictions end of
       connectivity-matrix information-source";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment egress WSON label restrictions step of
       connectivity-matrix information-source";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay primary path of
       connectivity-matrix information-source";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay backup path of
       connectivity-matrix information-source";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment label hop of route-exclude of connectivity-matrix
       information-source";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of route-include of
       connectivity-matrix information-source";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of path-route of connectivity-matrix
       information-source";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions of
       local-link-connectivities";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
      + "tet:tunnel-termination-point/"
      + "tet:local-link-connectivities/"
      + "tet:label-restrictions/tet:label-restriction/"
      + "tet:label-start/"
      + "tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions start of
       local-link-connectivities";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/"
        + "tet:te-label/tet:technology"{
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions end of
       local-link-connectivities";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/"
        + "tet:technology"{
    when "../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions step of
       local-link-connectivities";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay primary path of
       local-link-connectivities";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay backup path of
       local-link-connectivities";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of route-exclude of
       local-link-connectivities";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment label hop of route-include of
       local-link-connectivities";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of path-route of
       local-link-connectivities";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions of
       local-link-connectivity (LLC)";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions start of
       local-link-connectivity (LLC)";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions end of
       local-link-connectivity (LLC)";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions step of
       local-link-connectivity (LLC)";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay primary path of
       local-link-connectivity (LLC)";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay backup path of
       local-link-connectivity (LLC)";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of route-exclude of
       local-link-connectivity (LLC)";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of route-include of
       local-link-connectivity (LLC)";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of path-route of
       local-link-connectivity (LLC)";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }
  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay primary path of TE link";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label hop of underlay backup path of TE link";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions of TE link";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions start of TE link";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions end of TE link";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions step of TE link";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }
  
  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions of TE link
       information-source";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions start of TE link
       information-source";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions end of TE link
       information-source";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "wson:wson-topology" {
      description "Augment WSON TE label";
    }
    description
      "Augment WSON label restrictions step of TE link
       information-source";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }
  
  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    description
      "Augment WSON label hop of underlay primary path of TE link
       template";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    description
      "Augment WSON label hop of underlay backup path of TE link
       template";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction" {
    description
      "Augment WSON label restrictions of TE link template";
    uses layer0-types:layer0-label-restriction;
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    description
      "Augment WSON label restrictions start of TE link template";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    description
      "Augment WSON label restrictions end of TE link template";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    description
      "Augment WSON label restrictions step of TE link template";
    case wson {
      uses layer0-types:wson-label-step;
    }
  }  
}

<CODE ENDS>
 
    

4. Security Considerations

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 [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS [RFC8446].

The NETCONF Protocol over Secure Shell (SSH) [RFC6242] describes a method for invoking and running NETCONF within a Secure Shell (SSH) session as an SSH subsystem. The NETCONF access control model [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.

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. These are the subtrees and data nodes and their sensitivity/vulnerability:

/nw:networks/nw:network/nw:network-types/tet:te-topology /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes /nw:networks/nw:network/nw:node/nt:termination-point/tet:te /nw:networks/nw:network/.../tet:te-bandwidth/tet:technology /nw:networks/nw:network/nw:node/tet:te/.../tet:label-restriction /nw:networks/nw:network/nw:node/.../tet:te-label/tet:technology

5. IANA Considerations

 
	  
      URI: urn:ietf:params:xml:ns:yang:ietf-wson-topology
      Registrant Contact: The IESG
      XML: N/A; the requested URI is an XML namespace.
		
       
   
   name:         ietf-wson-topology
   namespace:    urn:ietf:params:xml:ns:yang:ietf-wson-topology
   prefix:       wson
   reference:    RFC XXXX
		
    

It is proposed that IANA should assign new URIs from the "IETF XML Registry" [RFC3688] as follows: [RFC7950] and [RFC6020].

6. Contributors

Dhruv Dhody
Huawei Technologies
Email: dhruv.ietf@gmail.com

Bin Yeong Yoon
ETRI
Email: byyun@etri.re.kr

Ricard Vilalta
CTTC
Email: vricard.vilalta@cttc.es

Italo Busi
Huawei Technologies
Email: Italo.Busi@huawei.com

7. References

7.1. Normative References

[I-D.ietf-ccamp-flexigrid-yang] Madrid, U., Perdices, D., Lopezalvarez, V., King, D. and Y. Lee, "YANG data model for Flexi-Grid Optical Networks", Internet-Draft draft-ietf-ccamp-flexigrid-yang-04, July 2019.
[I-D.ietf-ccamp-layer0-types] Zheng, H., Lee, Y., Guo, A., Lopezalvarez, V. and D. King, "A YANG Data Model for Layer 0 Types", Internet-Draft draft-ietf-ccamp-layer0-types-02, October 2019.
[I-D.ietf-ccamp-optical-impairment-topology-yang] Lee, Y., Lopezalvarez, V., Galimberti, G., Auge, L. and D. Beller, "A Yang Data Model for Optical Impairment-aware Topology", Internet-Draft draft-ietf-ccamp-optical-impairment-topology-yang-01, May 2019.
[I-D.ietf-teas-yang-te-topo] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H. and O. Dios, "YANG Data Model for Traffic Engineering (TE) Topologies", Internet-Draft draft-ietf-teas-yang-te-topo-22, June 2019.
[ITU-Tg6982] International Telecommunication Union, "Amplified multichannel dense wavelength division multiplexing applications with single channel optical interfaces", ITU-T G.698.2, November 2018.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010.
[RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J. and A. Bierman, "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011.
[RFC7579] Bernstein, G., Lee, Y., Li, D., Imajuku, W. and J. Han, "General Network Element Constraint Encoding for GMPLS-Controlled Networks", RFC 7579, DOI 10.17487/RFC7579, June 2015.
[RFC7950] Bjorklund, M., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016.
[RFC8040] Bierman, A., Bjorklund, M. and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017.
[RFC8340] Bjorklund, M. and L. Berger, "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018.
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10.17487/RFC8341, March 2018.
[RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K. and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018.
[RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., Ananthakrishnan, H. and X. Liu, "A YANG Data Model for Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March 2018.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018.

7.2. Informative References

[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004.
[RFC7446] Lee, Y., Bernstein, G., Li, D. and W. Imajuku, "Routing and Wavelength Assignment Information Model for Wavelength Switched Optical Networks", RFC 7446, DOI 10.17487/RFC7446, February 2015.
[RFC7581] Bernstein, G., Lee, Y., Li, D., Imajuku, W. and J. Han, "Routing and Wavelength Assignment Information Encoding for Wavelength Switched Optical Networks", RFC 7581, DOI 10.17487/RFC7581, June 2015.

Authors' Addresses

Haomian Zheng Huawei Technologies H1-1-A043S Huawei Industrial Base, Songshanhu Dongguan, Guangdong 523808 China EMail: zhenghaomian@huawei.com
Young Lee SKKU Sung Kyun Kwan University Seoul, South Korea EMail: younglee.tx@gmail.com
Aihua Guo Individual EMail: aihuaguo.ietf@gmail.com
Victor Lopez Telefonica EMail: victor.lopezalvarez@telefonica.com
Daniel King University of Lancaster EMail: d.king@lancaster.ac.uk