Skip to main content

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

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 9094.
Authors Haomian Zheng , Young Lee , Aihua Guo , Victor Lopez , Daniel King
Last updated 2020-05-08
Replaces draft-lee-ccamp-wson-yang
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state In WG Last Call
Document shepherd (None)
IESG IESG state Became RFC 9094 (Proposed Standard)
Consensus boilerplate Yes
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-ccamp-wson-yang-24
CCAMP Working Group                                             H. Zheng
Internet-Draft                                       Huawei Technologies
Intended status: Standards Track                                  Y. Lee
Expires: November 9, 2020                                        Samsung
                                                                  A. Guo
                                                               Futurewei
                                                                V. Lopez
                                                              Telefonica
                                                                 D. King
                                                 University of Lancaster
                                                             May 8, 2020

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

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 November 9, 2020.

Copyright Notice

   Copyright (c) 2020 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

Zheng, et al.           Expires November 9, 2020                [Page 1]
Internet-Draft          WSON Topology YANG Model                May 2020

   (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  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
     1.2.  Terminology and Notations . . . . . . . . . . . . . . . .   3
     1.3.  Tree Diagram  . . . . . . . . . . . . . . . . . . . . . .   4
     1.4.  Prefix in Data Node Names . . . . . . . . . . . . . . . .   4
   2.  YANG Model (Tree Structure) for WSON topology . . . . . . . .   4
   3.  The YANG Code for WSON topology . . . . . . . . . . . . . . .  24
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .  56
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  56
   6.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  57
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  57
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  57
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  59
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  59

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.

Zheng, et al.           Expires November 9, 2020                [Page 2]
Internet-Draft          WSON Topology YANG Model                May 2020

   Additionally, transponders and resource blocks (e.g., 3R
   Regeneration) models are not in the scope of this 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:

   o  client

   o  server

   o  augment

   o  data model

   o  data node

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

   o  configuration data

   o  state data

Zheng, et al.           Expires November 9, 2020                [Page 3]
Internet-Draft          WSON Topology YANG Model                May 2020

   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/nw:node/tet:te
               /tet:te-node-attributes:
       +--rw wson-node!
          +--rw is-reconfigurable-node?   boolean
     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

Zheng, et al.           Expires November 9, 2020                [Page 4]
Internet-Draft          WSON Topology YANG Model                May 2020

               /tet:label-restrictions/tet:label-restriction
               /tet:label-start/tet:te-label/tet:technology:
       +--:(wson)
          +--rw (grid-type)?
             +--:(dwdm)
             |  +--rw dwdm-n?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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 (l0-grid-type)?
             +--:(dwdm)
             |  +--rw wson-dwdm-channel-spacing?   identityref
             +--:(cwdm)
                +--rw wson-cwdm-channel-spacing?   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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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:

Zheng, et al.           Expires November 9, 2020                [Page 5]
Internet-Draft          WSON Topology YANG Model                May 2020

       +--:(wson)
          +--rw (grid-type)?
             +--:(dwdm)
             |  +--rw (single-or-super-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-types:cwdm-n
     augment /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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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

Zheng, et al.           Expires November 9, 2020                [Page 6]
Internet-Draft          WSON Topology YANG Model                May 2020

               /tet:label-hop/tet:te-label/tet:technology:
       +--:(wson)
          +--ro (grid-type)?
             +--:(dwdm)
             |  +--ro (single-or-super-channel)?
             |     +--:(single)
             |     |  +--ro dwdm-n?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-types:cwdm-n
     augment /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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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 (l0-grid-type)?
             +--:(dwdm)
             |  +--rw wson-dwdm-channel-spacing?   identityref

Zheng, et al.           Expires November 9, 2020                [Page 7]
Internet-Draft          WSON Topology YANG Model                May 2020

             +--:(cwdm)
                +--rw wson-cwdm-channel-spacing?   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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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 (l0-grid-type)?
             +--:(dwdm)
             |  +--rw wson-dwdm-channel-spacing?   identityref
             +--:(cwdm)
                +--rw wson-cwdm-channel-spacing?   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)?

Zheng, et al.           Expires November 9, 2020                [Page 8]
Internet-Draft          WSON Topology YANG Model                May 2020

             +--:(dwdm)
             |  +--rw (single-or-super-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-types:cwdm-n
     augment /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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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)

Zheng, et al.           Expires November 9, 2020                [Page 9]
Internet-Draft          WSON Topology YANG Model                May 2020

          +--rw (grid-type)?
             +--:(dwdm)
             |  +--rw (single-or-super-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-types:cwdm-n
     augment /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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?   l0-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)

Zheng, et al.           Expires November 9, 2020               [Page 10]
Internet-Draft          WSON Topology YANG Model                May 2020

          +--ro (grid-type)?
             +--:(dwdm)
             |  +--ro dwdm-n?   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?   l0-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 (l0-grid-type)?
             +--:(dwdm)
             |  +--ro wson-dwdm-channel-spacing?   identityref
             +--:(cwdm)
                +--ro wson-cwdm-channel-spacing?   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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-types:cwdm-n
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:information-source-entry
               /tet:connectivity-matrices/tet:optimizations

Zheng, et al.           Expires November 9, 2020               [Page 11]
Internet-Draft          WSON Topology YANG Model                May 2020

               /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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-types:cwdm-n
     augment /nw:networks/nw:network/nw:node/tet:te

Zheng, et al.           Expires November 9, 2020               [Page 12]
Internet-Draft          WSON Topology YANG Model                May 2020

               /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?   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?   l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?   l0-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 (l0-grid-type)?
             +--:(dwdm)
             |  +--ro wson-dwdm-channel-spacing?   identityref
             +--:(cwdm)
                +--ro wson-cwdm-channel-spacing?   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

Zheng, et al.           Expires November 9, 2020               [Page 13]
Internet-Draft          WSON Topology YANG Model                May 2020

               /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?   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?   l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?   l0-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 (l0-grid-type)?
             +--:(dwdm)
             |  +--ro wson-dwdm-channel-spacing?   identityref
             +--:(cwdm)
                +--ro wson-cwdm-channel-spacing?   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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-types:cwdm-n

Zheng, et al.           Expires November 9, 2020               [Page 14]
Internet-Draft          WSON Topology YANG Model                May 2020

     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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-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?              l0-types:dwdm-n

Zheng, et al.           Expires November 9, 2020               [Page 15]
Internet-Draft          WSON Topology YANG Model                May 2020

             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-types:cwdm-n

Zheng, et al.           Expires November 9, 2020               [Page 16]
Internet-Draft          WSON Topology YANG Model                May 2020

     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 (l0-grid-type)?
             +--:(dwdm)
             |  +--rw wson-dwdm-channel-spacing?   identityref
             +--:(cwdm)
                +--rw wson-cwdm-channel-spacing?   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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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)

Zheng, et al.           Expires November 9, 2020               [Page 17]
Internet-Draft          WSON Topology YANG Model                May 2020

          +--rw (grid-type)?
             +--:(dwdm)
             |  +--rw (single-or-super-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-types:cwdm-n
     augment /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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-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

Zheng, et al.           Expires November 9, 2020               [Page 18]
Internet-Draft          WSON Topology YANG Model                May 2020

       +--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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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 (l0-grid-type)?
             +--:(dwdm)
             |  +--rw wson-dwdm-channel-spacing?   identityref
             +--:(cwdm)
                +--rw wson-cwdm-channel-spacing?   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?              l0-types:dwdm-n

Zheng, et al.           Expires November 9, 2020               [Page 19]
Internet-Draft          WSON Topology YANG Model                May 2020

             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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)?

Zheng, et al.           Expires November 9, 2020               [Page 20]
Internet-Draft          WSON Topology YANG Model                May 2020

             +--:(dwdm)
             |  +--rw (single-or-super-channel)?
             |     +--:(single)
             |     |  +--rw dwdm-n?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-types:cwdm-n
     augment /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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?                    l0-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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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)

Zheng, et al.           Expires November 9, 2020               [Page 21]
Internet-Draft          WSON Topology YANG Model                May 2020

             |     |  +--rw dwdm-n?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-types:cwdm-n
     augment /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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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 (l0-grid-type)?
             +--:(dwdm)
             |  +--rw wson-dwdm-channel-spacing?   identityref
             +--:(cwdm)
                +--rw wson-cwdm-channel-spacing?   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:

Zheng, et al.           Expires November 9, 2020               [Page 22]
Internet-Draft          WSON Topology YANG Model                May 2020

       +--:(wson)
          +--ro (grid-type)?
             +--:(dwdm)
             |  +--ro dwdm-n?   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?   l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--ro cwdm-n?   l0-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 (l0-grid-type)?
             +--:(dwdm)
             |  +--ro wson-dwdm-channel-spacing?   identityref
             +--:(cwdm)
                +--ro wson-cwdm-channel-spacing?   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?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-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)

Zheng, et al.           Expires November 9, 2020               [Page 23]
Internet-Draft          WSON Topology YANG Model                May 2020

             |     |  +--rw dwdm-n?              l0-types:dwdm-n
             |     +--:(super)
             |        +--rw subcarrier-dwdm-n*   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?                    l0-types:cwdm-n
     augment /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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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?   l0-types:dwdm-n
             +--:(cwdm)
                +--rw cwdm-n?   l0-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 (l0-grid-type)?
             +--:(dwdm)
             |  +--rw wson-dwdm-channel-spacing?   identityref
             +--:(cwdm)
                +--rw wson-cwdm-channel-spacing?   identityref

3.  The YANG Code for WSON topology

 <CODE BEGINS> file "ietf-wson-topology@2020-05-08.yang"
 module ietf-wson-topology {

Zheng, et al.           Expires November 9, 2020               [Page 24]
Internet-Draft          WSON Topology YANG Model                May 2020

   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 "l0-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>";

Zheng, et al.           Expires November 9, 2020               [Page 25]
Internet-Draft          WSON Topology YANG Model                May 2020

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

      Copyright (c) 2020 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 2020-05-08 {
     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 {
       presence "The TE node is a WSON node.";
       description "WSON node attributes";
       leaf is-reconfigurable-node {
         type boolean;
         default true;
         description
           "Indicates whether the WSON node is reconfigurable:
            - true: the node is reconfigurable
              (e.g., it is representing a ROADM node);

Zheng, et al.           Expires November 9, 2020               [Page 26]
Internet-Draft          WSON Topology YANG Model                May 2020

            - false: the node is not reconfigurable
              (e.g., it is representing a FOADM node).";
       }
     }
   }

   /*
    * 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/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 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 l0-types:l0-label-range-info;
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:te-node-attributes/tet:connectivity-matrices/"

Zheng, et al.           Expires November 9, 2020               [Page 27]
Internet-Draft          WSON Topology YANG Model                May 2020

         + "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 l0-types:wson-label-start-end;
     }
   }

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

Zheng, et al.           Expires November 9, 2020               [Page 28]
Internet-Draft          WSON Topology YANG Model                May 2020

   }
   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 l0-types:wson-label-hop;
     }
   }

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

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:te-node-attributes/tet:connectivity-matrices/"
         + "tet:optimizations/tet:algorithm/tet:metric/"
         + "tet:optimization-metric/"
         + "tet:explicit-route-exclude-objects/"
         + "tet:route-object-exclude-object/"
         + "tet:type/tet:label/tet:label-hop/"
         + "tet:te-label/tet:technology" {
     when "../../../../../../../../../../"
        + "nw:network-types/tet:te-topology/"
        + "wson:wson-topology" {

Zheng, et al.           Expires November 9, 2020               [Page 29]
Internet-Draft          WSON Topology YANG Model                May 2020

       description "Augment WSON TE label";
     }
     description
       "Augment WSON label hop of route-exclude of
        connectivity-matrices";
     case wson {
       uses l0-types:wson-label-hop;
     }
   }

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

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

Zheng, et al.           Expires November 9, 2020               [Page 30]
Internet-Draft          WSON Topology YANG Model                May 2020

   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 l0-types:l0-label-range-info;
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:te-node-attributes/tet:connectivity-matrices/"
         + "tet:connectivity-matrix/tet:from/"
         + "tet:label-restrictions/tet:label-restriction/"
         + "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 l0-types:wson-label-start-end;
     }
   }

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

Zheng, et al.           Expires November 9, 2020               [Page 31]
Internet-Draft          WSON Topology YANG Model                May 2020

     case wson {
       uses l0-types:wson-label-start-end;
     }
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:te-node-attributes/tet:connectivity-matrices/"
         + "tet:connectivity-matrix/tet:from/"
         + "tet:label-restrictions/tet:label-restriction/"
         + "tet:label-step/"
         + "tet:technology" {
     when "../../../../../../../../../"
        + "nw:network-types/tet:te-topology/"
        + "wson:wson-topology" {
       description "Augment WSON TE label";
     }
     description
       "Augment ingress WSON label restrictions step of
        connectivity-matrix";
     case wson {
       uses l0-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 l0-types:l0-label-range-info;
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:te-node-attributes/tet:connectivity-matrices/"
         + "tet:connectivity-matrix/tet:to/"
         + "tet:label-restrictions/tet:label-restriction/"
         + "tet:label-start/"
         + "tet:te-label/tet:technology" {
     when "../../../../../../../../../../"
        + "nw:network-types/tet:te-topology/"
        + "wson:wson-topology" {

Zheng, et al.           Expires November 9, 2020               [Page 32]
Internet-Draft          WSON Topology YANG Model                May 2020

       description "Augment WSON TE label";
     }
     description
       "Augment egress WSON label restrictions start of
        connectivity-matrix";
     case wson {
       uses l0-types:wson-label-start-end;
     }
   }

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

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

Zheng, et al.           Expires November 9, 2020               [Page 33]
Internet-Draft          WSON Topology YANG Model                May 2020

   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 l0-types:wson-label-hop;
     }
   }

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

Zheng, et al.           Expires November 9, 2020               [Page 34]
Internet-Draft          WSON Topology YANG Model                May 2020

     }
     description
       "Augment WSON label hop of route-exclude of
        connectivity-matrix";
     case wson {
       uses l0-types:wson-label-hop;
     }
   }

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

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

Zheng, et al.           Expires November 9, 2020               [Page 35]
Internet-Draft          WSON Topology YANG Model                May 2020

   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 l0-types:l0-label-range-info;
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:information-source-entry/"
         + "tet:connectivity-matrices/tet:label-restrictions/"
         + "tet:label-restriction/"
         + "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 l0-types:wson-label-start-end;
     }
   }

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

Zheng, et al.           Expires November 9, 2020               [Page 36]
Internet-Draft          WSON Topology YANG Model                May 2020

   }

   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 l0-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 l0-types:wson-label-hop;
     }
   }

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

Zheng, et al.           Expires November 9, 2020               [Page 37]
Internet-Draft          WSON Topology YANG Model                May 2020

        connectivity-matrices information-source";
     case wson {
       uses l0-types:wson-label-hop;
     }
   }

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

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

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:information-source-entry/tet:connectivity-matrices/"

Zheng, et al.           Expires November 9, 2020               [Page 38]
Internet-Draft          WSON Topology YANG Model                May 2020

         + "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 l0-types:wson-label-hop;
     }
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:information-source-entry/tet:connectivity-matrices/"
         + "tet:connectivity-matrix/"
         + "tet:from/tet:label-restrictions/tet:label-restriction" {
     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 l0-types:l0-label-range-info;
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:information-source-entry/tet:connectivity-matrices/"
         + "tet:connectivity-matrix/"
         + "tet:from/tet:label-restrictions/"
         + "tet:label-restriction/"
         + "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 l0-types:wson-label-start-end;
     }

Zheng, et al.           Expires November 9, 2020               [Page 39]
Internet-Draft          WSON Topology YANG Model                May 2020

   }
   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 l0-types:wson-label-start-end;
     }
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:information-source-entry/tet:connectivity-matrices/"
         + "tet:connectivity-matrix/"
         + "tet:from/tet:label-restrictions/"
         + "tet:label-restriction/"
         + "tet:label-step/tet:technology" {
     when "../../../../../../../../../"
        + "nw:network-types/tet:te-topology/"
        + "wson:wson-topology" {
       description "Augment WSON TE label";
     }
     description
       "Augment ingress WSON label restrictions step of
        connectivity-matrix information-source";
     case wson {
       uses l0-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";
     }

Zheng, et al.           Expires November 9, 2020               [Page 40]
Internet-Draft          WSON Topology YANG Model                May 2020

     description
       "Augment egress WSON label restrictions of connectivity-matrix
        information-source";
     uses l0-types:l0-label-range-info;
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:information-source-entry/tet:connectivity-matrices/"
         + "tet:connectivity-matrix/"
         + "tet:to/tet:label-restrictions/tet:label-restriction/"
         + "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 l0-types:wson-label-start-end;
     }
   }

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

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:information-source-entry/tet:connectivity-matrices/"
         + "tet:connectivity-matrix/"
         + "tet:to/tet:label-restrictions/tet:label-restriction/"
         + "tet:label-step/tet:technology" {
     when "../../../../../../../../../"

Zheng, et al.           Expires November 9, 2020               [Page 41]
Internet-Draft          WSON Topology YANG Model                May 2020

        + "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 l0-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 l0-types:wson-label-hop;
     }
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:information-source-entry/tet:connectivity-matrices/"
         + "tet:connectivity-matrix/"
         + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
         + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
     when "../../../../../../../../../../"
        + "nw:network-types/tet:te-topology/"
        + "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 l0-types:wson-label-hop;
     }
   }

Zheng, et al.           Expires November 9, 2020               [Page 42]
Internet-Draft          WSON Topology YANG Model                May 2020

   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 l0-types:wson-label-hop;
     }
   }

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

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:information-source-entry/tet:connectivity-matrices/"
         + "tet:connectivity-matrix/"
         + "tet:path-properties/tet:path-route-objects/"
         + "tet:path-route-object/tet:type/"
         + "tet:label/tet:label-hop/tet:te-label/tet:technology" {

Zheng, et al.           Expires November 9, 2020               [Page 43]
Internet-Draft          WSON Topology YANG Model                May 2020

     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 l0-types:wson-label-hop;
     }
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:tunnel-termination-point/"
         + "tet:local-link-connectivities/"
         + "tet:label-restrictions/tet:label-restriction" {
     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 l0-types:l0-label-range-info;
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
       + "tet:tunnel-termination-point/"
       + "tet:local-link-connectivities/"
       + "tet:label-restrictions/tet:label-restriction/"
       + "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 l0-types:wson-label-start-end;
     }
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:tunnel-termination-point/"

Zheng, et al.           Expires November 9, 2020               [Page 44]
Internet-Draft          WSON Topology YANG Model                May 2020

         + "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 l0-types:wson-label-start-end;
     }
   }

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

Zheng, et al.           Expires November 9, 2020               [Page 45]
Internet-Draft          WSON Topology YANG Model                May 2020

        local-link-connectivities";
     case wson {
       uses l0-types:wson-label-hop;
     }
   }

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

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

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:tunnel-termination-point/"
         + "tet:local-link-connectivities/"

Zheng, et al.           Expires November 9, 2020               [Page 46]
Internet-Draft          WSON Topology YANG Model                May 2020

         + "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 l0-types:wson-label-hop;
     }
   }

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

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

Zheng, et al.           Expires November 9, 2020               [Page 47]
Internet-Draft          WSON Topology YANG Model                May 2020

        local-link-connectivity (LLC)";
     uses l0-types:l0-label-range-info;
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:tunnel-termination-point/"
         + "tet:local-link-connectivities/"
         + "tet:local-link-connectivity/"
         + "tet:label-restrictions/tet:label-restriction/"
         + "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 l0-types:wson-label-start-end;
     }
   }

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

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:tunnel-termination-point/"
         + "tet:local-link-connectivities/"
         + "tet:local-link-connectivity/"
         + "tet:label-restrictions/tet:label-restriction/"
         + "tet:label-step/tet:technology" {

Zheng, et al.           Expires November 9, 2020               [Page 48]
Internet-Draft          WSON Topology YANG Model                May 2020

     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 l0-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 l0-types:wson-label-hop;
     }
   }

   augment "/nw:networks/nw:network/nw:node/tet:te/"
         + "tet:tunnel-termination-point/"
         + "tet:local-link-connectivities/"
         + "tet:local-link-connectivity/"
         + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
         + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
     when "../../../../../../../../../../"
        + "nw:network-types/tet:te-topology/"
        + "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 l0-types:wson-label-hop;

Zheng, et al.           Expires November 9, 2020               [Page 49]
Internet-Draft          WSON Topology YANG Model                May 2020

     }
   }

   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 l0-types:wson-label-hop;
     }
   }

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

   augment "/nw:networks/nw:network/nw:node/tet:te/"

Zheng, et al.           Expires November 9, 2020               [Page 50]
Internet-Draft          WSON Topology YANG Model                May 2020

         + "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 l0-types:wson-label-hop;
     }
   }
   augment "/nw:networks/nw:network/nt:link/tet:te/"
         + "tet:te-link-attributes/"
         + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
         + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
     when "../../../../../../../../"
        + "nw:network-types/tet:te-topology/"
        + "wson:wson-topology" {
       description "Augment WSON TE label";
     }
     description
       "Augment WSON label hop of underlay primary path of TE link";
     case wson {
       uses l0-types:wson-label-hop;
     }
   }

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

Zheng, et al.           Expires November 9, 2020               [Page 51]
Internet-Draft          WSON Topology YANG Model                May 2020

   }

   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 l0-types:l0-label-range-info;
   }

   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 l0-types:wson-label-start-end;
     }
   }

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

   augment "/nw:networks/nw:network/nt:link/tet:te/"
         + "tet:te-link-attributes/"
         + "tet:label-restrictions/tet:label-restriction/"
         + "tet:label-step/tet:technology" {

Zheng, et al.           Expires November 9, 2020               [Page 52]
Internet-Draft          WSON Topology YANG Model                May 2020

     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 l0-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 l0-types:l0-label-range-info;
   }

   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 l0-types:wson-label-start-end;
     }
   }

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

Zheng, et al.           Expires November 9, 2020               [Page 53]
Internet-Draft          WSON Topology YANG Model                May 2020

     description
       "Augment WSON label restrictions end of TE link
        information-source";
     case wson {
       uses l0-types:wson-label-start-end;
     }
   }

   augment "/nw:networks/nw:network/nt:link/tet:te/"
         + "tet:information-source-entry/"
         + "tet:label-restrictions/tet:label-restriction/"
         + "tet:label-step/tet:technology" {
     when "../../../../../../nw:network-types/tet:te-topology/"
        + "wson:wson-topology" {
       description "Augment WSON TE label";
     }
     description
       "Augment WSON label restrictions step of TE link
        information-source";
     case wson {
       uses l0-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 l0-types:wson-label-hop;
     }
   }

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

Zheng, et al.           Expires November 9, 2020               [Page 54]
Internet-Draft          WSON Topology YANG Model                May 2020

   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 l0-types:l0-label-range-info;
   }

   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 l0-types:wson-label-start-end;
     }
   }

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

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

 <CODE ENDS>

Zheng, et al.           Expires November 9, 2020               [Page 55]
Internet-Draft          WSON Topology YANG Model                May 2020

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

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

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

   This document registers a YANG module in the YANG Module Names
   registry [RFC7950] and [RFC6020].

Zheng, et al.           Expires November 9, 2020               [Page 56]
Internet-Draft          WSON Topology YANG Model                May 2020

      name:         ietf-wson-topology
      namespace:    urn:ietf:params:xml:ns:yang:ietf-wson-topology
      prefix:       wson
      reference:    RFC XXXX

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., Lee,
              Y., and H. Zheng, "YANG data model for Flexi-Grid Optical
              Networks", draft-ietf-ccamp-flexigrid-yang-05 (work in
              progress), January 2020.

   [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", draft-ietf-
              ccamp-layer0-types-04 (work in progress), May 2020.

   [I-D.ietf-ccamp-optical-impairment-topology-yang]
              Lee, Y., Lopezalvarez, V., Galimberti, G., and D. Beller,
              "A Yang Data Model for Optical Impairment-aware Topology",
              draft-ietf-ccamp-optical-impairment-topology-yang-03 (work
              in progress), March 2020.

Zheng, et al.           Expires November 9, 2020               [Page 57]
Internet-Draft          WSON Topology YANG Model                May 2020

   [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", draft-ietf-teas-yang-te-topo-22 (work in
              progress), 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,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/info/rfc6020>.

   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A. Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
              <https://www.rfc-editor.org/info/rfc6241>.

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
              <https://www.rfc-editor.org/info/rfc6242>.

   [RFC7579]  Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and
              J. Han, "General Network Element Constraint Encoding for
              GMPLS-Controlled Networks", RFC 7579,
              DOI 10.17487/RFC7579, June 2015,
              <https://www.rfc-editor.org/info/rfc7579>.

   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 2016,
              <https://www.rfc-editor.org/info/rfc7950>.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/info/rfc8040>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

Zheng, et al.           Expires November 9, 2020               [Page 58]
Internet-Draft          WSON Topology YANG Model                May 2020

   [RFC8340]  Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
              BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
              <https://www.rfc-editor.org/info/rfc8340>.

   [RFC8341]  Bierman, A. and M. Bjorklund, "Network Configuration
              Access Control Model", STD 91, RFC 8341,
              DOI 10.17487/RFC8341, March 2018,
              <https://www.rfc-editor.org/info/rfc8341>.

   [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,
              <https://www.rfc-editor.org/info/rfc8342>.

   [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, <https://www.rfc-editor.org/info/rfc8345>.

   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.

7.2.  Informative References

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.

   [RFC7446]  Lee, Y., Ed., Bernstein, G., Ed., Li, D., and W. Imajuku,
              "Routing and Wavelength Assignment Information Model for
              Wavelength Switched Optical Networks", RFC 7446,
              DOI 10.17487/RFC7446, February 2015,
              <https://www.rfc-editor.org/info/rfc7446>.

   [RFC7581]  Bernstein, G., Ed., Lee, Y., Ed., 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,
              <https://www.rfc-editor.org/info/rfc7581>.

Authors' Addresses

Zheng, et al.           Expires November 9, 2020               [Page 59]
Internet-Draft          WSON Topology YANG Model                May 2020

   Haomian Zheng
   Huawei Technologies
   H1, Huawei Xiliu Beipo Village, Songshan Lake
   Dongguan, Guangdong  523808
   China

   Email: zhenghaomian@huawei.com

   Young Lee
   Samsung
   South Korea

   Email: younglee.tx@gmail.com

   Aihua Guo
   Futurewei

   Email: aihuaguo@futurewei.com

   Victor Lopez
   Telefonica

   Email: victor.lopezalvarez@telefonica.com

   Daniel King
   University of Lancaster

   Email: d.king@lancaster.ac.uk

Zheng, et al.           Expires November 9, 2020               [Page 60]