summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9094.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc9094.txt')
-rw-r--r--doc/rfc/rfc9094.txt2976
1 files changed, 2976 insertions, 0 deletions
diff --git a/doc/rfc/rfc9094.txt b/doc/rfc/rfc9094.txt
new file mode 100644
index 0000000..7015890
--- /dev/null
+++ b/doc/rfc/rfc9094.txt
@@ -0,0 +1,2976 @@
+
+
+
+
+Internet Engineering Task Force (IETF) 郑好棉 (H. Zheng)
+Request for Comments: 9094 华为技术有限公司 (Huawei Technologies)
+Category: Standards Track Y. Lee
+ISSN: 2070-1721 Samsung
+ A. Guo
+ Futurewei
+ V. Lopez
+ Nokia
+ D. King
+ University of Lancaster
+ August 2021
+
+
+ A YANG Data Model for Wavelength Switched Optical Networks (WSONs)
+
+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 is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc9094.
+
+Copyright Notice
+
+ Copyright (c) 2021 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 1.1. Terminology and Notations
+ 1.2. Tree Diagram
+ 1.3. Prefix in Data Node Names
+ 2. YANG Data Model (Tree Structure) for WSON Topology
+ 3. YANG Module for WSON Topology
+ 4. Security Considerations
+ 5. IANA Considerations
+ 6. References
+ 6.1. Normative References
+ 6.2. Informative References
+ Contributors
+ Authors' Addresses
+
+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
+ data model described in this document is a WSON technology-specific
+ YANG data 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].
+
+ Neither impairment-aware optical networks nor flexi-grid are in scope
+ for this document. Refer to [OPT-IMPAIR-AWARE-YANG] for the
+ impairment-aware optical network topology model and [FLEXI-GRID-YANG]
+ for the flexi-grid optical network topology model.
+
+ Additionally, neither transponder models nor resource block models
+ (e.g., 3R) are in scope for this document.
+
+ This document defines one YANG module: "ietf-wson-topology"
+ (Section 3). This document augments the generic TE topology
+ specification [RFC8795].
+
+ 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 data 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. 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:
+
+ * client
+
+ * server
+
+ * augment
+
+ * data model
+
+ * data node
+
+ The following terms are defined in [RFC6241] and are not redefined
+ here:
+
+ * configuration data
+
+ * state data
+
+ The terminology for describing YANG data models is found in
+ [RFC7950].
+
+1.2. Tree Diagram
+
+ A simplified graphical representation of the data model is used in
+ Section 2 of this document. The meaning of the symbols in these
+ diagrams is defined in [RFC8340].
+
+1.3. 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 |
+ +==========+=======================+===========+
+ | l0-types | ietf-layer0-types | [RFC9093] |
+ +----------+-----------------------+-----------+
+ | wsont | ietf-wson-topology | RFC 9094 |
+ +----------+-----------------------+-----------+
+ | nw | ietf-network | [RFC8345] |
+ +----------+-----------------------+-----------+
+ | nt | ietf-network-topology | [RFC8345] |
+ +----------+-----------------------+-----------+
+ | tet | ietf-te-topology | [RFC8795] |
+ +----------+-----------------------+-----------+
+
+ Table 1: Data Node Names
+
+2. YANG Data 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
+ /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:to/tet:label-restrictions
+ /tet:label-restriction:
+ +--rw grid-type? identityref
+ +--rw priority? uint8
+ 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: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:to/tet:label-restrictions
+ /tet:label-restriction:
+ +--ro grid-type? identityref
+ +--ro 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:
+ +--rw grid-type? identityref
+ +--rw priority? uint8
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnel-termination-point
+ /tet:local-link-connectivities
+ /tet:local-link-connectivity/tet:label-restrictions
+ /tet:label-restriction:
+ +--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:
+ +--rw grid-type? identityref
+ +--rw priority? uint8
+ 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/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/nw:network/nw:node/tet:te
+ /tet:te-node-attributes/tet:connectivity-matrices
+ /tet:label-restrictions/tet:label-restriction
+ /tet:label-start/tet:te-label/tet:technology:
+ +--:(wson)
+ +--rw (grid-type)?
+ +--:(dwdm)
+ | +--rw dwdm-n? 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:
+ +--:(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/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/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
+ +--:(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/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)?
+ +--:(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)
+ +--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
+ /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)
+ +--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/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
+ /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/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
+ 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
+ | +--:(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/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
+ 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)
+ +--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/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
+ | +--:(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)?
+ +--:(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)
+ | | +--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/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/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/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)
+ | | +--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/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. YANG Module for WSON Topology
+
+ <CODE BEGINS> file "ietf-wson-topology@2021-08-13.yang"
+ module ietf-wson-topology {
+ yang-version 1.1;
+ namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology";
+ prefix wsont;
+
+ 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 8795: YANG Data Model for
+ Traffic Engineering (TE) Topologies";
+ }
+
+ import ietf-layer0-types {
+ prefix l0-types;
+ reference
+ "RFC 9093: A YANG Data Model for Layer 0 Types";
+ }
+
+ organization
+ "IETF CCAMP Working Group";
+
+ contact
+ "WG Web: <https://datatracker.ietf.org/wg/ccamp/>
+ WG List: <mailto:ccamp@ietf.org>
+
+ Editor: Haomian Zheng <zhenghaomian@huawei.com>
+ Editor: Young Lee <younglee.tx@gmail.com>
+ Editor: Aihua Guo <aihuaguo.ietf@gmail.com>
+ Editor: Victor Lopez <victor.lopez@nokia.com>
+ Editor: Daniel King <d.king@lancaster.ac.uk>";
+
+ description
+ "This module provides a YANG data model for the routing and
+ wavelength assignment (RWA) Traffic Engineering (TE)
+ topology in Wavelength Switched Optical Networks (WSONs).
+ The YANG data model described in this document is a WSON
+ technology-specific YANG data 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 and RFC 7581.
+
+ Copyright (c) 2021 IETF Trust and the persons identified
+ as authors of the code. All rights reserved.
+
+ Redistribution and use in source and binary forms, with
+ or without modification, is permitted pursuant to, and
+ subject to the license terms contained in, the Simplified
+ BSD License set forth in Section 4.c of the IETF Trust's
+ Legal Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info).
+
+ This version of this YANG module is part of RFC 9094; see
+ the RFC itself for full legal notices.";
+
+ revision 2021-08-13 {
+ description
+ "Initial version";
+
+ reference
+ "RFC 9094: A YANG Data Model for Wavelength Switched
+ Optical Networks (WSONs)";
+ }
+
+ /*
+ * Data nodes
+ */
+
+ augment "/nw:networks/nw:network/nw:network-types"
+ + "/tet:te-topology" {
+ description
+ "Augment network types to define the WSON topology type.";
+ container wson-topology {
+ presence "Its presence identifies the WSON topology type.";
+ description
+ "Introduce a new network type for WSON topology.";
+ }
+ }
+
+ augment "/nw:networks/nw:network/nw:node/tet:te"
+ + "/tet:te-node-attributes" {
+ when '/nw:networks/nw:network/nw:network-types'
+ + '/tet:te-topology/wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE 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, i.e.,
+ it is representing a Reconfigurable Optical
+ Add/Drop Multiplexer (ROADM) node;
+ - false: the node is not reconfigurable, i.e.,
+ it is representing a Fixed Optical Add/Drop
+ Multiplexer (FOADM) node.";
+ }
+ }
+ }
+
+ /*
+ * Augment TE label range information
+ */
+
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range information for the TE node
+ 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/"
+ + "tet:connectivity-matrix/tet:from/"
+ + "tet:label-restrictions/tet:label-restriction" {
+ when '../../../../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range information for the source LTP
+ of the connectivity matrix entry.";
+ 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" {
+ when '../../../../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range information for the destination LTP
+ of the connectivity matrix entry.";
+ 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" {
+ when '../../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range information for the TE node
+ 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:connectivity-matrix/"
+ + "tet:from/tet:label-restrictions/tet:label-restriction" {
+ when '../../../../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range information for the source LTP
+ of the connectivity matrix entry 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" {
+ when '../../../../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range information for the destination LTP
+ of the connectivity matrix entry information source.";
+ 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" {
+ when '../../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range information for the Tunnel
+ Termination Point (TTP) 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:local-link-connectivity/"
+ + "tet:label-restrictions/tet:label-restriction" {
+ when '../../../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range information for the TTP
+ Local Link Connectivity entry.";
+ 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" {
+ when '../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range information for the TE link.";
+ 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" {
+ when '../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range information for the TE link
+ information source.";
+ 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" {
+ description
+ "Augment TE label range information for the TE link template.";
+ uses l0-types:l0-label-range-info;
+ }
+
+ /*
+ * 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/"
+ + "tet:label-start/"
+ + "tet:te-label/tet:technology" {
+ when '../../../../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range start for the TE node
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range end for the TE node
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range step for the TE node
+ connectivity matrices.";
+ 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: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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay primary path of the
+ TE node 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay backup path of the
+ TE node 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the TE node 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the TE node 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the computed path route objects
+ of the TE node 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: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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range start for the source LTP
+ of the connectivity matrix entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range end for the source LTP
+ of the connectivity matrix entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range step for the source LTP
+ of the connectivity matrix entry.";
+ 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/"
+ + "tet:label-start/"
+ + "tet:te-label/tet:technology" {
+ when '../../../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range start for the destination LTP
+ of the connectivity matrix entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range end for the destination LTP
+ of the connectivity matrix entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range step for the destination LTP
+ of the connectivity matrix entry.";
+ 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: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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay primary path
+ of the connectivity matrix entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay backup path
+ of the connectivity matrix entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the connectivity matrix entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the connectivity matrix entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the computed path route objects
+ of the connectivity matrix entry.";
+ 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:label-restrictions/"
+ + "tet:label-restriction/"
+ + "tet:label-start/tet:te-label/tet:technology" {
+ when '../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range start for the TE node 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range end for the TE node 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-step/tet:technology" {
+ when '../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range step for the TE node 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay primary path
+ of the TE node connectivity matrices of the information
+ source entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay backup path
+ of the TE node connectivity matrices of the information
+ source entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the TE node 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the TE node 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: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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the computed path route objects
+ of the TE node 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/"
+ + "tet:label-start/tet:te-label/tet:technology" {
+ when '../../../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range start for the source LTP
+ of the connectivity matrix entry 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-end/tet:te-label/tet:technology" {
+ when '../../../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range end for the source LTP
+ of the connectivity matrix entry 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range step for the source LTP
+ of the connectivity matrix entry 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/"
+ + "tet:label-start/tet:te-label/tet:technology" {
+ when '../../../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range start for the destination LTP
+ of the connectivity matrix entry 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range end for the destination LTP
+ of the connectivity matrix entry 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 '../../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range step for the destination LTP
+ of the connectivity matrix entry 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay primary path
+ of the connectivity matrix entry 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay backup path
+ of the connectivity matrix entry 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-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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the connectivity matrix entry
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the connectivity matrix entry
+ 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" {
+ when '../../../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the computed path route objects
+ of the connectivity matrix entry 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/"
+ + "tet:label-start/"
+ + "tet:te-label/tet:technology" {
+ when '../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range start for the TTP
+ 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-end/"
+ + "tet:te-label/tet:technology" {
+ when '../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range end for the TTP
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range step for the TTP
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay primary path
+ of the TTP 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay backup path
+ of the TTP 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the TTP 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-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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the TTP 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the computed path route objects
+ of the TTP 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/"
+ + "tet:label-start/tet:te-label/tet:technology" {
+ when '../../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range start for the TTP
+ Local Link Connectivity entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range end for the TTP
+ Local Link Connectivity entry.";
+ 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" {
+ when '../../../../../../../../'
+ + 'nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range step for the TTP
+ Local Link Connectivity entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay primary path
+ of the TTP Local Link Connectivity entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay backup path
+ of the TTP Local Link Connectivity entry.";
+ 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-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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the TTP Local Link
+ Connectivity entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the TTP Local Link
+ Connectivity entry.";
+ 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: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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the computed path route objects
+ of the TTP Local Link Connectivity entry.";
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay primary path
+ of the 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label hop for the underlay backup path
+ of the TE link.";
+ case wson {
+ uses l0-types:wson-label-hop;
+ }
+ }
+
+ 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range start for the 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range end for the 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" {
+ when '../../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range step for the 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/"
+ + "tet:label-start/tet:te-label/tet:technology" {
+ when '../../../../../../../nw:network-types/tet:te-topology/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range start for the 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range end for the 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/'
+ + 'wsont:wson-topology' {
+ description
+ "Augmentation parameters apply only for networks with
+ WSON topology type.";
+ }
+ description
+ "Augment TE label range step for the 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 TE label hop for the underlay primary path
+ of the 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 TE label hop for the underlay backup path
+ of the 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:label-restrictions/tet:label-restriction/"
+ + "tet:label-start/tet:te-label/tet:technology" {
+ description
+ "Augment TE label range start for the 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 TE label range end for the 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 TE label range step for the TE link template.";
+ case wson {
+ uses l0-types:wson-label-step;
+ }
+ }
+ }
+ <CODE ENDS>
+
+4. Security Considerations
+
+ The YANG module specified in this document defines a schema for data
+ that is designed to be accessed via network management protocols such
+ as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer
+ is the secure transport layer, and the mandatory-to-implement secure
+ transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer
+ is HTTPS, and the mandatory-to-implement secure transport is TLS
+ [RFC8446].
+
+ The NETCONF protocol over Secure Shell (SSH) specification [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. Considerations in Section 8 of
+ [RFC8795] are also applicable to the module defined in this document.
+
+ Some of the readable data nodes in this YANG module may be considered
+ sensitive or vulnerable in some network environments. It is thus
+ important to control read access (e.g., via get, get-config, or
+ notification) to these data nodes. Considerations in Section 8 of
+ [RFC8795] are also applicable to the module defined in this document.
+
+ Finally, the YANG module described in this document augments the
+ "ietf-network" YANG module [RFC8345] and the "ietf-te-topology" YANG
+ module [RFC8795] by adding data nodes. The security considerations
+ for the subtrees described in those RFCs apply equally to the new
+ data nodes that this module adds.
+
+5. IANA Considerations
+
+ IANA has assigned 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] [RFC6020].
+
+ Name: ietf-wson-topology
+ Namespace: urn:ietf:params:xml:ns:yang:ietf-wson-topology
+ Prefix: wsont
+ Reference: RFC 9094
+
+6. References
+
+6.1. Normative References
+
+ [ITU-Tg6982]
+ ITU-T, "Amplified multichannel dense wavelength division
+ multiplexing applications with single channel optical
+ interfaces", ITU-T Recommendation G.698.2, November 2018.
+
+ [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>.
+
+ [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>.
+
+ [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>.
+
+ [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>.
+
+ [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
+ O. Gonzalez de Dios, "YANG Data Model for Traffic
+ Engineering (TE) Topologies", RFC 8795,
+ DOI 10.17487/RFC8795, August 2020,
+ <https://www.rfc-editor.org/info/rfc8795>.
+
+ [RFC9093] Zheng, H., Lee, Y., Guo, A., Lopez, V., and D. King, "A
+ YANG Data Model for Layer 0 Types", RFC 9093,
+ DOI 10.17487/RFC9093, August 2021,
+ <https://www.rfc-editor.org/info/rfc9093>.
+
+6.2. Informative References
+
+ [FLEXI-GRID-YANG]
+ Lopez de Vergara, J., Perdices Burrero, D., King, D., Lee,
+ Y., and H. Zheng, "A YANG Data Model for Flexi-Grid
+ Optical Networks", Work in Progress, Internet-Draft,
+ draft-ietf-ccamp-flexigrid-yang-10, 12 July 2021,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-ccamp-
+ flexigrid-yang-10>.
+
+ [OPT-IMPAIR-AWARE-YANG]
+ Lee, Y., Le Rouzic, E., Lopez, V., Galimberti, G., and D.
+ Beller, "A YANG Data Model for Optical Impairment-aware
+ Topology", Work in Progress, Internet-Draft, draft-ietf-
+ ccamp-optical-impairment-topology-yang-07, 8 July 2021,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-ccamp-
+ optical-impairment-topology-yang-07>.
+
+ [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>.
+
+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
+
+
+Authors' Addresses
+
+ Haomian Zheng
+ Huawei Technologies
+ H1, Huawei Xiliu Beipo Village, Songshan Lake
+ Dongguan
+ Guangdong, 523808
+ China
+
+ Email: zhenghaomian@huawei.com
+
+ Additional contact information:
+
+ 郑好棉
+ 中国
+ 523808
+ 广东 东莞
+ 松山湖华为溪流背坡村H1
+ 华为技术有限公司
+
+
+ Young Lee
+ Samsung
+ South Korea
+
+ Email: younglee.tx@gmail.com
+
+
+ Aihua Guo
+ Futurewei
+
+ Email: aihuaguo.ietf@gmail.com
+
+
+ Victor Lopez
+ Nokia
+
+ Email: victor.lopez@nokia.com
+
+
+ Daniel King
+ University of Lancaster
+
+ Email: d.king@lancaster.ac.uk