draft-ietf-ccamp-wson-yang-18.txt   draft-ietf-ccamp-wson-yang-19.txt 
CCAMP Working Group Y. Lee (Editor) CCAMP Working Group Y. Lee (Editor)
Internet Draft D. Dhody Internet Draft D. Dhody
Intended status: Standard Track A. Guo Intended status: Standard Track A. Guo
Expires: June 3, 2019 Huawei Expires: August 26, 2019 Huawei
V. Lopez V. Lopez
Telefonica Telefonica
D. King D. King
U. of Lancaster U. of Lancaster
December 3, 2018 February 27, 2019
A YANG Data Model for WSON (Wavelength Switched Optical Networks) A YANG Data Model for WSON (Wavelength Switched Optical Networks)
draft-ietf-ccamp-wson-yang-18 draft-ietf-ccamp-wson-yang-19
Abstract Abstract
This document provides a YANG data model for the routing and This document provides a YANG data model for the routing and
wavelength assignment (RWA) TE topology in wavelength switched wavelength assignment (RWA) TE topology in wavelength switched
optical networks (WSONs). The YANG data model defined in this optical networks (WSONs). The YANG data model defined in this
document conforms to the Network Management Datastore Architecture document conforms to the Network Management Datastore Architecture
defined in RFC 8342. defined in RFC 8342.
Status of this Memo Status of this Memo
skipping to change at page 1, line 48 skipping to change at page 1, line 48
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress." reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on June 3, 2019. This Internet-Draft will expire on August 26, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License. warranty as described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction...................................................2 1. Introduction...................................................2
1.1. Requirements Language.....................................3 1.1. Requirements Language.....................................3
1.2. Terminology...............................................3 1.2. Terminology...............................................3
1.3. Tree diagram..............................................4 1.3. Tree diagram..............................................4
1.4. Prefixes in Data Node Names...............................4 1.4. Prefixes in Data Node Names...............................4
2. YANG Model (Tree Structure)....................................4 2. YANG Model (Tree Structure)....................................4
3. IETF-WSON-Topology YANG Model.................................22 3. IETF-WSON-Topology YANG Model.................................28
4. IETF-Layer0-Types YANG Model..................................58 4. IETF-Layer0-Types YANG Model..................................67
5. Security Considerations.......................................71 5. Security Considerations.......................................83
6. IANA Considerations...........................................72 6. IANA Considerations...........................................84
7. Acknowledgments...............................................73 7. Acknowledgments...............................................85
8. References....................................................74 8. References....................................................86
8.1. Normative References.....................................74 8.1. Normative References.....................................86
8.2. Informative References...................................74 8.2. Informative References...................................86
9. Contributors..................................................76 9. Contributors..................................................88
Authors' Addresses...............................................76 Authors' Addresses...............................................88
1. Introduction 1. Introduction
This document provides a YANG data model for the routing and This document provides a YANG data model for the routing and
wavelength assignment (RWA) Traffic Engineering (TE) topology in wavelength assignment (RWA) Traffic Engineering (TE) topology in
wavelength switched optical networks (WSONs). The YANG model wavelength switched optical networks (WSONs). The YANG model
described in this document is a WSON technology-specific YANG model described in this document is a WSON technology-specific YANG model
based on the information model developed in [RFC7446] and the two based on the information model developed in [RFC7446] and the two
encoding documents [RFC7581] and [RFC7579] that developed protocol encoding documents [RFC7581] and [RFC7579] that developed protocol
independent encodings based on [RFC7446]. independent encodings based on [RFC7446].
skipping to change at page 3, line 26 skipping to change at page 3, line 26
topology and expose it to a controller. A controller can further topology and expose it to a controller. A controller can further
propagate the topology to other controllers. The YANG model is used propagate the topology to other controllers. The YANG model is used
by NETCONF [RFC6020], [RFC8341] or a RESTCONF [RFC8040] protocol. by NETCONF [RFC6020], [RFC8341] or a RESTCONF [RFC8040] protocol.
The YANG data model defined in this document conforms to the Network The YANG data model defined in this document conforms to the Network
Management Datastore Architecture [RFC8342]. Management Datastore Architecture [RFC8342].
1.1. Requirements Language 1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
1.2. Terminology 1.2. Terminology
Refer to [RFC7446] and [RFC7581] for the key terms used in this Refer to [RFC7446] and [RFC7581] for the key terms used in this
document. document.
The following terms are defined in [RFC7950] and are not redefined The following terms are defined in [RFC7950] and are not redefined
here: here:
skipping to change at page 4, line 44 skipping to change at page 4, line 44
Table 1: Prefixes and corresponding YANG modules Table 1: Prefixes and corresponding YANG modules
Note: The RFC Editor will replace XXXX with the number assigned to Note: The RFC Editor will replace XXXX with the number assigned to
the RFC once this draft becomes an RFC. the RFC once this draft becomes an RFC.
YANG module "ietf-layer0-types" (defined in Section 4) references YANG module "ietf-layer0-types" (defined in Section 4) references
[RFC6163], [RFC7205], and [RFC7698]. [RFC6163], [RFC7205], and [RFC7698].
2. YANG Model (Tree Structure) 2. YANG Model (Tree Structure)
module: ietf-wson-topology module: ietf-wson-topology
augment /nw:networks/nw:network/nw:network-types/tet:te-topology: augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
+-rw wson-topology! +--rw wson-topology!
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes:
augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te: augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-
+-rw supported-payload-types* [index] attributes:
| +-rw index uint16 augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te:
| +-rw payload-type? string +--rw supported-payload-types* [index]
+-rw client-facing? boolean | +--rw index uint16
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes: | +--rw payload-type? string
+-rw wson-node +--rw client-facing? boolean
+-rw node-type? identityref augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-point: attributes:
+-rw supported-operational-modes* layer0-types:operational-mode +--rw wson-node
+-rw configured-operational-modes? layer0-types:operational-mode +--rw node-type? identityref
+-rw supported-fec-types* identityref augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
+-rw supported-termination-types* identityref termination-point:
+-rw supports-bit-stuffing? boolean +--rw supported-operational-modes* layer0-types:operational-mode
+-rw is-tunable? boolean +--rw configured-operational-modes? layer0-types:operational-mode
+-rw max-subcarrier-channel-num? uint8 +--rw supported-fec-types* identityref
augment /nw:networks/nw:network/nw:node/nt:termination- +--rw supported-termination-types* identityref
point/tet:te/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te- +--rw supports-bit-stuffing? boolean
bandwidth/tet:technology: +--rw is-tunable? boolean
+-:(wson) +--rw max-subcarrier-channel-num? uint8
+-rw bandwidth-type? identityref augment /nw:networks/nw:network/nw:node/nt:termination-
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- point/tet:te/tet:interface-switching-capability/tet:max-lsp-
attributes/tet:connectivity-matrices/tet:path-constraints/tet:te- bandwidth/tet:te-bandwidth/tet:technology:
bandwidth/tet:technology: +--:(wson)
+-:(wson) +--rw bandwidth-type? identityref
+-rw supported-bandwidth-list* identityref augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- attributes/tet:connectivity-matrices/tet:path-constraints/tet:te-
attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:path- bandwidth/tet:technology:
constraints/tet:te-bandwidth/tet:technology: +--:(wson)
+-:(wson) +--rw supported-bandwidth-list* identityref
+-rw supported-bandwidth-list* identityref augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:path-
entry/tet:connectivity-matrices/tet:path-constraints/tet:te- constraints/tet:te-bandwidth/tet:technology:
bandwidth/tet:technology: +--:(wson)
+-:(wson) +--rw supported-bandwidth-list* identityref
+-ro supported-bandwidth-list* identityref augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- source-entry/tet:connectivity-matrices/tet:path-constraints/tet:te-
entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:path- bandwidth/tet:technology:
constraints/tet:te-bandwidth/tet:technology: +--:(wson)
+-:(wson) +--ro supported-bandwidth-list* identityref
+-ro supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-
point/tet:client-layer-adaptation/tet:switching-capability/tet:te-
bandwidth/tet:technology:
+-:(wson)
+-rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-
point/tet:local-link-connectivities/tet:path-constraints/tet:te-
bandwidth/tet:technology:
+-:(wson) augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
+-rw supported-bandwidth-list* identityref source-entry/tet:connectivity-matrices/tet:connectivity-
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- matrix/tet:path-constraints/tet:te-bandwidth/tet:technology:
point/tet:local-link-connectivities/tet:local-link-connectivity/tet:path- +--:(wson)
constraints/tet:te-bandwidth/tet:technology: +--ro supported-bandwidth-list* identityref
+-:(wson) augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
+-rw supported-bandwidth-list* identityref termination-point/tet:client-layer-adaptation/tet:switching-
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- capability/tet:te-bandwidth/tet:technology:
attributes/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te- +--:(wson)
bandwidth/tet:technology: +--rw supported-bandwidth-list* identityref
+-:(wson) augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
+-rw bandwidth-type? identityref termination-point/tet:local-link-connectivities/tet:path-
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:max- constraints/tet:te-bandwidth/tet:technology:
link-bandwidth/tet:te-bandwidth/tet:technology: +--:(wson)
+-:(wson) +--rw supported-bandwidth-list* identityref
+-rw supported-bandwidth-list* identityref augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:max- termination-point/tet:local-link-connectivities/tet:local-link-
resv-link-bandwidth/tet:te-bandwidth/tet:technology: connectivity/tet:path-constraints/tet:te-bandwidth/tet:technology:
+-:(wson) +--:(wson)
+-rw supported-bandwidth-list* identityref +--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-
attributes/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: attributes/tet:interface-switching-capability/tet:max-lsp-
+-:(wson) bandwidth/tet:te-bandwidth/tet:technology:
+-rw supported-bandwidth-list* identityref +--:(wson)
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- +--rw bandwidth-type? identityref
entry/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te- augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-
bandwidth/tet:technology: attributes/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology:
+-:(wson) +--:(wson)
+-ro bandwidth-type? identityref +--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-
entry/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology: attributes/tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology:
+-:(wson) +--:(wson)
+-ro supported-bandwidth-list* identityref +--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-
entry/tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology: attributes/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology:
+-:(wson) +--:(wson)
+-ro supported-bandwidth-list* identityref +--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- augment /nw:networks/nw:network/nt:link/tet:te/tet:information-
entry/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: source-entry/tet:interface-switching-capability/tet:max-lsp-
+-:(wson) bandwidth/tet:te-bandwidth/tet:technology:
+-ro supported-bandwidth-list* identityref +--:(wson)
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- +--ro bandwidth-type? identityref
attributes/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te- augment /nw:networks/nw:network/nt:link/tet:te/tet:information-
bandwidth/tet:technology: source-entry/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology:
+-:(wson) +--:(wson)
+-rw bandwidth-type? identityref +--ro supported-bandwidth-list* identityref
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- augment /nw:networks/nw:network/nt:link/tet:te/tet:information-
attributes/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology: source-entry/tet:max-resv-link-bandwidth/tet:te-
+-:(wson) bandwidth/tet:technology:
+-rw supported-bandwidth-list* identityref +--:(wson)
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- +--ro supported-bandwidth-list* identityref
attributes/tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology: augment /nw:networks/nw:network/nt:link/tet:te/tet:information-
+-:(wson) source-entry/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology:
+-rw supported-bandwidth-list* identityref +--:(wson)
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- +--ro supported-bandwidth-list* identityref
attributes/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-
+-:(wson) link-attributes/tet:interface-switching-capability/tet:max-lsp-
+-rw supported-bandwidth-list* identityref bandwidth/tet:te-bandwidth/tet:technology:
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- +--:(wson)
attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction: +--rw bandwidth-type? identityref
+-rw grid-type? identityref augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-
+-rw priority? uint8 link-attributes/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology:
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- +--:(wson)
attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label- +--rw supported-bandwidth-list* identityref
restriction/tet:label-start/tet:te-label/tet:technology: augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-
+-:(wson) link-attributes/tet:max-resv-link-bandwidth/tet:te-
+-rw (grid-type)? bandwidth/tet:technology:
+-:(dwdm) +--:(wson)
| +-rw channel-freq? frequency-thz +--rw supported-bandwidth-list* identityref
+-:(cwdm) augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-
+-rw channel-wavelength? uint32 link-attributes/tet:unreserved-bandwidth/tet:te-
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- bandwidth/tet:technology:
attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label- +--:(wson)
restriction/tet:label-end/tet:te-label/tet:technology: +--rw supported-bandwidth-list* identityref
+-:(wson) augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
+-rw (grid-type)? attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label-
+-:(dwdm) restriction:
| +-rw channel-freq? frequency-thz +--rw grid-type? identityref
+-:(cwdm) +--rw priority? uint8
+-rw channel-wavelength? uint32 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label-
attributes/tet:connectivity-matrices/tet:underlay/tet:primary-path/tet:path- restriction/tet:label-start/tet:te-label/tet:technology:
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-ro subcarrier-channels* frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label-
restrictions/tet:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label-
restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw channel-freq? frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label-
restrictions/tet:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label-
restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw channel-freq? frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- +--:(wson)
attributes/tet:connectivity-matrices/tet:connectivity- +--rw (grid-type)?
matrix/tet:underlay/tet:primary-path/tet:path- +--:(dwdm)
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: | +--rw dwdm-n? int16
+-:(wson) +--:(cwdm)
+-rw (grid-type)? +--rw cwdm-n? int16
+-:(dwdm) augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
| +-rw (single-or-super-channel)? attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label-
| +-:(single) restriction/tet:label-end/tet:te-label/tet:technology:
| | +-rw channel-freq? frequency-thz +--:(wson)
| +-:(super) +--rw (grid-type)?
| +-rw subcarrier-channels* frequency-thz +--:(dwdm)
+-:(cwdm) | +--rw dwdm-n? int16
+-rw channel-wavelength? uint32 +--:(cwdm)
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- +--rw cwdm-n? int16
attributes/tet:connectivity-matrices/tet:connectivity- augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
matrix/tet:underlay/tet:backup-path/tet:path-element/tet:type/tet:label/tet:label- attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label-
hop/tet:te-label/tet:technology: restriction/tet:label-step/tet:technology:
+-:(wson) +--:(wson)
+-rw (grid-type)? +--rw (layer0-grid-type)?
+-:(dwdm) +--:(dwdm)
| +-rw (single-or-super-channel)? | +--rw wson-dwdm? identityref
| +-:(single) +--:(cwdm)
| | +-rw channel-freq? frequency-thz +--rw wson-cwdm? identityref
| +-:(super) augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
| +-rw subcarrier-channels* frequency-thz attributes/tet:connectivity-matrices/tet:underlay/tet:primary-
+-:(cwdm) path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-
+-rw channel-wavelength? uint32 label/tet:technology:
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- +--:(wson)
attributes/tet:connectivity-matrices/tet:connectivity- +--rw (grid-type)?
matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- +--:(dwdm)
metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- | +--rw (single-or-super-channel)?
object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: | +--:(single)
+-:(wson) | | +--rw dwdm-n? int16
+-rw (grid-type)? | +--:(super)
+-:(dwdm) | +--rw subcarrier-dwdm-n* int16
| +-rw (single-or-super-channel)? +--:(cwdm)
| +-:(single) +--rw cwdm-n? int16
| | +-rw channel-freq? frequency-thz augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
| +-:(super) attributes/tet:connectivity-matrices/tet:underlay/tet:backup-
| +-rw subcarrier-channels* frequency-thz path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-
+-:(cwdm) label/tet:technology:
+-rw channel-wavelength? uint32 +--:(wson)
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- +--rw (grid-type)?
attributes/tet:connectivity-matrices/tet:connectivity- +--:(dwdm)
matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- | +--rw (single-or-super-channel)?
metric/tet:explicit-route-include-objects/tet:route-object-include- | +--:(single)
object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: | | +--rw dwdm-n? int16
+-:(wson) | +--:(super)
+-rw (grid-type)? | +--rw subcarrier-dwdm-n* int16
+-:(dwdm) +--:(cwdm)
| +-rw (single-or-super-channel)? +--rw cwdm-n? int16
| +-:(single) augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
| | +-rw channel-freq? frequency-thz attributes/tet:connectivity-
| +-:(super) matrices/tet:optimizations/tet:algorithm/tet:metric/tet:optimization-
| +-rw subcarrier-channels* frequency-thz metric/tet:explicit-route-exclude-objects/tet:route-object-exclude-
+-:(cwdm) object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+-rw channel-wavelength? uint32 +--:(wson)
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- +--rw (grid-type)?
attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:path- +--:(dwdm)
properties/tet:path-route-objects/tet:path-route- | +--rw (single-or-super-channel)?
object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: | +--:(single)
+-:(wson) | | +--rw dwdm-n? int16
+-ro (grid-type)? | +--:(super)
+-:(dwdm) | +--rw subcarrier-dwdm-n* int16
| +-ro (single-or-super-channel)? +--:(cwdm)
| +-:(single) +--rw cwdm-n? int16
| | +-ro channel-freq? frequency-thz augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
| +-:(super) attributes/tet:connectivity-
| +-ro subcarrier-channels* frequency-thz matrices/tet:optimizations/tet:algorithm/tet:metric/tet:optimization-
+-:(cwdm) metric/tet:explicit-route-include-objects/tet:route-object-include-
+-ro channel-wavelength? uint32 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- +--:(wson)
entry/tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction: +--rw (grid-type)?
+-ro grid-type? identityref +--:(dwdm)
+-ro priority? uint8 | +--rw (single-or-super-channel)?
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- | +--:(single)
entry/tet:connectivity-matrices/tet:label-restrictions/tet:label- | | +--rw dwdm-n? int16
restriction/tet:label-start/tet:te-label/tet:technology: | +--:(super)
+-:(wson) | +--rw subcarrier-dwdm-n* int16
+-ro (grid-type)? +--:(cwdm)
+-:(dwdm) +--rw cwdm-n? int16
| +-ro channel-freq? frequency-thz augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
+-:(cwdm) attributes/tet:connectivity-matrices/tet:path-properties/tet:path-
+-ro channel-wavelength? uint32 route-objects/tet:path-route-object/tet:type/tet:label/tet:label-
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- hop/tet:te-label/tet:technology:
entry/tet:connectivity-matrices/tet:label-restrictions/tet:label- +--:(wson)
restriction/tet:label-end/tet:te-label/tet:technology: +--ro (grid-type)?
+-:(wson) +--:(dwdm)
+-ro (grid-type)? | +--ro (single-or-super-channel)?
+-:(dwdm) | +--:(single)
| +-ro channel-freq? frequency-thz | | +--ro dwdm-n? int16
+-:(cwdm) | +--:(super)
+-ro channel-wavelength? uint32 | +--ro subcarrier-dwdm-n* int16
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- +--:(cwdm)
entry/tet:connectivity-matrices/tet:underlay/tet:primary-path/tet:path- +--ro cwdm-n? int16
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
+-:(wson) attributes/tet:connectivity-matrices/tet:connectivity-
+-ro (grid-type)? matrix/tet:from/tet:label-restrictions/tet:label-restriction:
+-:(dwdm) +--rw grid-type? identityref
| +-ro (single-or-super-channel)? +--rw priority? uint8
| +-:(single) augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
| | +-ro channel-freq? frequency-thz attributes/tet:connectivity-matrices/tet:connectivity-
| +-:(super) matrix/tet:from/tet:label-restrictions/tet:label-restriction/tet:label-
| +-ro subcarrier-channels* frequency-thz start/tet:te-label/tet:technology:
+-:(cwdm) +--:(wson)
+-ro channel-wavelength? uint32 +--rw (grid-type)?
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- +--:(dwdm)
entry/tet:connectivity-matrices/tet:underlay/tet:backup-path/tet:path- | +--rw dwdm-n? int16
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: +--:(cwdm)
+-:(wson) +--rw cwdm-n? int16
+-ro (grid-type)? augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
+-:(dwdm) attributes/tet:connectivity-matrices/tet:connectivity-
| +-ro (single-or-super-channel)? matrix/tet:from/tet:label-restrictions/tet:label-restriction/tet:label-
| +-:(single) end/tet:te-label/tet:technology:
| | +-ro channel-freq? frequency-thz +--:(wson)
| +-:(super) +--rw (grid-type)?
| +-ro subcarrier-channels* frequency-thz +--:(dwdm)
+-:(cwdm) | +--rw dwdm-n? int16
+-ro channel-wavelength? uint32 +--:(cwdm)
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- +--rw cwdm-n? int16
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 channel-freq? frequency-thz
| +-:(super)
| +-ro subcarrier-channels* frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-ro subcarrier-channels* frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-ro subcarrier-channels* frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label-
restrictions/tet:label-restriction:
+-ro grid-type? identityref
+-ro priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label-
restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology:
+-:(wson)
+-ro (grid-type)?
+-:(dwdm)
| +-ro channel-freq? frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
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 channel-freq? frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label-
restrictions/tet:label-restriction:
+-ro grid-type? identityref
+-ro priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label-
restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology:
+-:(wson)
+-ro (grid-type)?
+-:(dwdm)
| +-ro channel-freq? frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
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 channel-freq? frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-ro subcarrier-channels* frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-ro subcarrier-channels* frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-ro subcarrier-channels* frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-ro subcarrier-channels* frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-ro subcarrier-channels* frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-
point/tet:local-link-connectivities/tet:label-restrictions/tet:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-
point/tet:local-link-connectivities/tet:label-restrictions/tet:label-
restriction/tet:label-start/tet:te-label/tet:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw channel-freq? frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-ro subcarrier-channels* frequency-thz
+-:(cwdm)
+-ro channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-
point/tet:local-link-connectivities/tet:local-link-connectivity/tet:label-
restrictions/tet:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-
point/tet:local-link-connectivities/tet:local-link-connectivity/tet:label-
restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw channel-freq? frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
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 channel-freq? frequency-thz
| +-:(super)
| +-rw subcarrier-channels* frequency-thz
+-:(cwdm)
+-rw channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
point/tet:local-link-connectivities/tet:local-link- attributes/tet:connectivity-matrices/tet:connectivity-
connectivity/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- matrix/tet:from/tet:label-restrictions/tet:label-restriction/tet:label-
metric/tet:explicit-route-include-objects/tet:route-object-include- step/tet:technology:
object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: +--:(wson)
+-:(wson) +--rw (layer0-grid-type)?
+-rw (grid-type)? +--:(dwdm)
+-:(dwdm) | +--rw wson-dwdm? identityref
| +-rw (single-or-super-channel)? +--:(cwdm)
| +-:(single) +--rw wson-cwdm? identityref
| | +-rw channel-freq? frequency-thz augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
| +-:(super) attributes/tet:connectivity-matrices/tet:connectivity-
| +-rw subcarrier-channels* frequency-thz matrix/tet:to/tet:label-restrictions/tet:label-restriction:
+-:(cwdm) +--rw grid-type? identityref
+-rw channel-wavelength? uint32 +--rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
point/tet:local-link-connectivities/tet:local-link-connectivity/tet:path- attributes/tet:connectivity-matrices/tet:connectivity-
properties/tet:path-route-objects/tet:path-route- matrix/tet:to/tet:label-restrictions/tet:label-restriction/tet:label-
object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: start/tet:te-label/tet:technology:
+-:(wson) +--:(wson)
+-ro (grid-type)? +--rw (grid-type)?
+-:(dwdm) +--:(dwdm)
| +-ro (single-or-super-channel)? | +--rw dwdm-n? int16
| +-:(single) +--:(cwdm)
| | +-ro channel-freq? frequency-thz +--rw cwdm-n? int16
| +-:(super) augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
| +-ro subcarrier-channels* frequency-thz attributes/tet:connectivity-matrices/tet:connectivity-
+-:(cwdm) matrix/tet:to/tet:label-restrictions/tet:label-restriction/tet:label-
+-ro channel-wavelength? uint32 end/tet:te-label/tet:technology:
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- +--:(wson)
attributes/tet:underlay/tet:primary-path/tet:path- +--rw (grid-type)?
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: +--:(dwdm)
+-:(wson) | +--rw dwdm-n? int16
+-rw (grid-type)? +--:(cwdm)
+-:(dwdm) +--rw cwdm-n? int16
| +-rw (single-or-super-channel)? augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
| +-:(single) attributes/tet:connectivity-matrices/tet:connectivity-
| | +-rw channel-freq? frequency-thz matrix/tet:to/tet:label-restrictions/tet:label-restriction/tet:label-
| +-:(super) step/tet:technology:
| +-rw subcarrier-channels* frequency-thz +--:(wson)
+-:(cwdm) +--rw (layer0-grid-type)?
+-rw channel-wavelength? uint32 +--:(dwdm)
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- | +--rw wson-dwdm? identityref
attributes/tet:underlay/tet:backup-path/tet:path- +--:(cwdm)
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: +--rw wson-cwdm? identityref
+-:(wson) augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
+-rw (grid-type)? attributes/tet:connectivity-matrices/tet:connectivity-
+-:(dwdm) matrix/tet:underlay/tet:primary-path/tet:path-
| +-rw (single-or-super-channel)? element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
| +-:(single) +--:(wson)
| | +-rw channel-freq? frequency-thz +--rw (grid-type)?
| +-:(super) +--:(dwdm)
| +-rw subcarrier-channels* frequency-thz | +--rw (single-or-super-channel)?
+-:(cwdm) | +--:(single)
+-rw channel-wavelength? uint32 | | +--rw dwdm-n? int16
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label- | +--:(super)
restrictions/tet:label-restriction: | +--rw subcarrier-dwdm-n* int16
+-rw grid-type? identityref +--:(cwdm)
+-rw priority? uint8 +--rw cwdm-n? int16
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label- augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: attributes/tet:connectivity-matrices/tet:connectivity-
+-:(wson) matrix/tet:underlay/tet:backup-path/tet:path-
+-rw (grid-type)? element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+-:(dwdm) +--:(wson)
| +-rw channel-freq? frequency-thz +--rw (grid-type)?
+-:(cwdm) +--:(dwdm)
+-rw channel-wavelength? uint32 | +--rw (single-or-super-channel)?
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label- | +--:(single)
restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: | | +--rw dwdm-n? int16
+-:(wson) | +--:(super)
+-rw (grid-type)? | +--rw subcarrier-dwdm-n* int16
+-:(dwdm) +--:(cwdm)
| +-rw channel-freq? frequency-thz +--rw cwdm-n? int16
+-:(cwdm) augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
+-rw channel-wavelength? uint32 attributes/tet:connectivity-matrices/tet:connectivity-
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization-
entry/tet:label-restrictions/tet:label-restriction: metric/tet:explicit-route-exclude-objects/tet:route-object-exclude-
+-ro grid-type? identityref object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+-ro priority? uint8 +--:(wson)
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- +--rw (grid-type)?
entry/tet:label-restrictions/tet:label-restriction/tet:label-start/tet:te- +--:(dwdm)
label/tet:technology: | +--rw (single-or-super-channel)?
+-:(wson) | +--:(single)
+-ro (grid-type)? | | +--rw dwdm-n? int16
+-:(dwdm) | +--:(super)
| +-ro channel-freq? frequency-thz | +--rw subcarrier-dwdm-n* int16
+-:(cwdm) +--:(cwdm)
+-ro channel-wavelength? uint32 +--rw cwdm-n? int16
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
entry/tet:label-restrictions/tet:label-restriction/tet:label-end/tet:te- attributes/tet:connectivity-matrices/tet:connectivity-
label/tet:technology: matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization-
+-:(wson) metric/tet:explicit-route-include-objects/tet:route-object-include-
+-ro (grid-type)? object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+-:(dwdm) +--:(wson)
| +-ro channel-freq? frequency-thz +--rw (grid-type)?
+-:(cwdm) +--:(dwdm)
+-ro channel-wavelength? uint32 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
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/tet:te/tet:templates/tet:link-template/tet:te-link- augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
attributes/tet:underlay/tet:primary-path/tet:path- source-entry/tet:connectivity-matrices/tet:label-
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: restrictions/tet:label-restriction/tet:label-start/tet:te-
+-:(wson) label/tet:technology:
+-rw (grid-type)? +--:(wson)
+-:(dwdm) +--ro (grid-type)?
| +-rw (single-or-super-channel)? +--:(dwdm)
| +-:(single) | +--ro dwdm-n? int16
| | +-rw channel-freq? frequency-thz +--:(cwdm)
| +-:(super) +--ro cwdm-n? int16
| +-rw subcarrier-channels* frequency-thz augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
+-:(cwdm) source-entry/tet:connectivity-matrices/tet:label-
+-rw channel-wavelength? uint32 restrictions/tet:label-restriction/tet:label-end/tet:te-
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- label/tet:technology:
attributes/tet:underlay/tet:backup-path/tet:path- +--:(wson)
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: +--ro (grid-type)?
+-:(wson) +--:(dwdm)
+-rw (grid-type)? | +--ro dwdm-n? int16
+-:(dwdm) +--:(cwdm)
| +-rw (single-or-super-channel)? +--ro cwdm-n? int16
| +-:(single) augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
| | +-rw channel-freq? frequency-thz source-entry/tet:connectivity-matrices/tet:label-
| +-:(super) restrictions/tet:label-restriction/tet:label-step/tet:technology:
| +-rw subcarrier-channels* frequency-thz +--:(wson)
+-:(cwdm) +--ro (layer0-grid-type)?
+-rw channel-wavelength? uint32 +--:(dwdm)
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- | +--ro wson-dwdm? identityref
attributes/tet:label-restrictions/tet:label-restriction: +--:(cwdm)
+-rw grid-type? identityref +--ro wson-cwdm? identityref
+-rw priority? uint8 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- source-entry/tet:connectivity-matrices/tet:underlay/tet:primary-
attributes/tet:label-restrictions/tet:label-restriction/tet:label-start/tet:te- path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-
label/tet:technology: label/tet:technology:
+-:(wson) +--:(wson)
+-rw (grid-type)? +--ro (grid-type)?
+-:(dwdm) +--:(dwdm)
| +-rw channel-freq? frequency-thz | +--ro (single-or-super-channel)?
+-:(cwdm) | +--:(single)
+-rw channel-wavelength? uint32 | | +--ro dwdm-n? int16
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- | +--:(super)
attributes/tet:label-restrictions/tet:label-restriction/tet:label-end/tet:te- | +--ro subcarrier-dwdm-n* int16
label/tet:technology: +--:(cwdm)
+-:(wson) +--ro cwdm-n? int16
+-rw (grid-type)? augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
+-:(dwdm) source-entry/tet:connectivity-matrices/tet:underlay/tet:backup-
| +-rw channel-freq? frequency-thz path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-
+-:(cwdm) label/tet:technology:
+-rw channel-wavelength? uint32 +--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
source-entry/tet:connectivity-matrices/tet:connectivity-
matrix/tet:from/tet:label-restrictions/tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
source-entry/tet:connectivity-matrices/tet:connectivity-
matrix/tet:from/tet:label-restrictions/tet:label-restriction/tet:label-
start/tet:te-label/tet:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro dwdm-n? int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
+--:(cwdm)
+--ro cwdm-n? int16
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
source-entry/tet:connectivity-matrices/tet:connectivity-
matrix/tet:from/tet:label-restrictions/tet:label-restriction/tet:label-
step/tet:technology:
+--:(wson)
+--ro (layer0-grid-type)?
+--:(dwdm)
| +--ro wson-dwdm? identityref
+--:(cwdm)
+--ro wson-cwdm? identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
source-entry/tet:connectivity-matrices/tet:connectivity-
matrix/tet:to/tet:label-restrictions/tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
source-entry/tet:connectivity-matrices/tet:connectivity-
matrix/tet:to/tet:label-restrictions/tet:label-restriction/tet:label-
start/tet:te-label/tet:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro dwdm-n? int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
+--:(cwdm)
+--ro cwdm-n? int16
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
source-entry/tet:connectivity-matrices/tet:connectivity-
matrix/tet:to/tet:label-restrictions/tet:label-restriction/tet:label-
step/tet:technology:
+--:(wson)
+--ro (layer0-grid-type)?
+--:(dwdm)
| +--ro wson-dwdm? identityref
+--:(cwdm)
+--ro wson-cwdm? identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-
source-entry/tet:connectivity-matrices/tet:connectivity-
matrix/tet:underlay/tet:primary-path/tet:path-
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
termination-point/tet:local-link-connectivities/tet:label-
restrictions/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
termination-point/tet:local-link-connectivities/tet:label-
restrictions/tet:label-restriction/tet:label-start/tet:te-
label/tet:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
+--:(cwdm)
+--rw cwdm-n? int16
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
termination-point/tet:local-link-connectivities/tet:label-
restrictions/tet:label-restriction/tet:label-step/tet:technology:
+--:(wson)
+--rw (layer0-grid-type)?
+--:(dwdm)
| +--rw wson-dwdm? identityref
+--:(cwdm)
+--rw wson-cwdm? identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
termination-point/tet:local-link-
connectivities/tet:underlay/tet:primary-path/tet:path-
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
termination-point/tet:local-link-
connectivities/tet:optimizations/tet:algorithm/tet:metric/tet:optimizat
ion-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? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
termination-point/tet:local-link-
connectivities/tet:optimizations/tet:algorithm/tet:metric/tet:optimizat
ion-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? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
termination-point/tet:local-link-connectivities/tet:local-link-
connectivity/tet:label-restrictions/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
termination-point/tet:local-link-connectivities/tet:local-link-
connectivity/tet:label-restrictions/tet:label-restriction/tet:label-
start/tet:te-label/tet:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
+--:(cwdm)
+--rw cwdm-n? int16
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
termination-point/tet:local-link-connectivities/tet:local-link-
connectivity/tet:label-restrictions/tet:label-restriction/tet:label-
step/tet:technology:
+--:(wson)
+--rw (layer0-grid-type)?
+--:(dwdm)
| +--rw wson-dwdm? identityref
+--:(cwdm)
+--rw wson-cwdm? identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-
termination-point/tet:local-link-connectivities/tet:local-link-
connectivity/tet:underlay/tet:primary-path/tet:path-
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
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:optimizatio
n-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? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
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:optimizatio
n-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? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-
attributes/tet:label-restrictions/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-
attributes/tet:label-restrictions/tet:label-restriction/tet:label-
start/tet:te-label/tet:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
+--:(cwdm)
+--rw cwdm-n? int16
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-
attributes/tet:label-restrictions/tet:label-restriction/tet:label-
step/tet:technology:
+--:(wson)
+--rw (layer0-grid-type)?
+--:(dwdm)
| +--rw wson-dwdm? identityref
+--:(cwdm)
+--rw wson-cwdm? identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-
source-entry/tet:label-restrictions/tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-
source-entry/tet:label-restrictions/tet:label-restriction/tet:label-
start/tet:te-label/tet:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro dwdm-n? int16
+--:(cwdm)
+--ro cwdm-n? int16
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? int16
+--:(cwdm)
+--ro cwdm-n? int16
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-
source-entry/tet:label-restrictions/tet:label-restriction/tet:label-
step/tet:technology:
+--:(wson)
+--ro (layer0-grid-type)?
+--:(dwdm)
| +--ro wson-dwdm? identityref
+--:(cwdm)
+--ro wson-cwdm? identityref
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-
link-attributes/tet:underlay/tet:primary-path/tet:path-
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n? int16
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-
link-attributes/tet:label-restrictions/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-
link-attributes/tet:label-restrictions/tet:label-restriction/tet:label-
start/tet:te-label/tet:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? int16
+--:(cwdm)
+--rw cwdm-n? int16
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? int16
+--:(cwdm)
+--rw cwdm-n? int16
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-
link-attributes/tet:label-restrictions/tet:label-restriction/tet:label-
step/tet:technology:
+--:(wson)
+--rw (layer0-grid-type)?
+--:(dwdm)
| +--rw wson-dwdm? identityref
+--:(cwdm)
+--rw wson-cwdm? identityref
3. IETF-WSON-Topology YANG Model 3. IETF-WSON-Topology YANG Model
<CODE BEGINS> file "ietf-wson-topology@2018-12-03.yang" <CODE BEGINS> file ietf-wson-topology@2019-02-27.yang
module ietf-wson-topology { module ietf-wson-topology {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology";
prefix "wson"; prefix "wson";
import ietf-network { import ietf-network {
prefix "nw"; prefix "nw";
reference reference
"RFC 8345: A YANG Data Model for Network Topologies"; "RFC 8345: A YANG Data Model for Network Topologies";
} }
import ietf-network-topology { import ietf-network-topology {
prefix "nt"; prefix "nt";
reference reference
"RFC 8345: A YANG Data Model for Network Topologies"; "RFC 8345: A YANG Data Model for Network Topologies";
skipping to change at page 22, line 36 skipping to change at page 29, line 23
"RFC 8345: A YANG Data Model for Network Topologies"; "RFC 8345: A YANG Data Model for Network Topologies";
} }
import ietf-te-topology { import ietf-te-topology {
prefix "tet"; prefix "tet";
reference reference
"RFC YYYY: YANG Data Model for "RFC YYYY: YANG Data Model for
Traffic Engineering (TE) Topologies"; Traffic Engineering (TE) Topologies";
} }
/* Note: The RFC Editor will replace YYYY with the number assigned to /* Note: The RFC Editor will replace YYYY with the number assigned to
the RFC once draft-ietf-teas-yang-te-topo becomes an RFC.*/ the RFC once draft-ietf-teas-yang-te-topo becomes an RFC.*/
import ietf-layer0-types { import ietf-layer0-types {
prefix "layer0-types"; prefix "layer0-types";
reference reference
"RFC XXXX: A YANG Data Model for WSON "RFC XXXX: A YANG Data Model for WSON
(Wavelength Switched Optical Networks)"; (Wavelength Switched Optical Networks)";
} }
/* Note: The RFC Editor will replace XXXX with the number assigned to /* Note: The RFC Editor will replace XXXX with the number assigned to
the RFC once draft-ietf-ccamp-wson-yang becomes an RFC.*/ the RFC once draft-ietf-ccamp-wson-yang becomes an RFC.*/
organization organization
"IETF CCAMP Working Group"; "IETF CCAMP Working Group";
contact contact
"Editor: Young Lee <leeyoung@huawei.com> "Editor: Young Lee <leeyoung@huawei.com>
Editor: Aihua Guo <aihuaguo@huawei.com>"; Editor: Aihua Guo <aihuaguo@huawei.com>";
description description
"This module provides a YANG data model for the routing and "This module provides a YANG data model for the routing and
skipping to change at page 23, line 30 skipping to change at page 30, line 15
Copyright (c) 2018 IETF Trust and the persons identified Copyright (c) 2018 IETF Trust and the persons identified
as authors of the code. All rights reserved. as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with Redistribution and use in source and binary forms, with
or without modification, is permitted pursuant to, and or without modification, is permitted pursuant to, and
subject to the license terms contained in, the Simplified subject to the license terms contained in, the Simplified
BSD License set forth in Section 4.c of the IETF Trust's BSD License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info)."; (http://trustee.ietf.org/license-info).";
revision 2018-12-03 { revision 2019-02-27 {
description description
"Initial Version"; "Initial Version";
reference reference
"RFC XXXX: A YANG Data Model for WSON (Wavelenghth Switched "RFC XXXX: A YANG Data Model for WSON (Wavelenghth Switched
Optical Networks)"; Optical Networks)";
} }
/* /*
* Groupings * Groupings
skipping to change at page 34, line 42 skipping to change at page 40, line 53
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment WSON label restrictions end of "Augment WSON label restrictions end of
connectivity-matrices"; connectivity-matrices";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:label-restrictions/"
+ "tet:label-restriction/tet:label-step/"
+ "tet:technology" {
when "../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description
"Augment WSON label restrictions step of
connectivity-matrices";
case wson {
uses layer0-types:wson-label-step;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:underlay/tet:primary-path/tet:path-element/" + "tet:underlay/tet:primary-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/" + "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" { + "tet:te-label/tet:technology" {
when "../../../../../../../../../" when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment WSON label hop of underlay primary path of "Augment WSON label hop of underlay primary path of
connectivity-matrices"; connectivity-matrices";
case wson { case wson {
uses layer0-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
augment "/nw:networks/nw:network/nw:node/tet:te/" augment "/nw:networks/nw:network/nw:node/tet:te/"
skipping to change at page 38, line 5 skipping to change at page 44, line 24
description description
"Augment ingress WSON label restrictions end of "Augment ingress WSON label restrictions end of
connectivity-matrix"; connectivity-matrix";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/nw:network/nw:node/tet:te/" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/"
+ "tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description
"Augment ingress WSON label restrictions step of
connectivity-matrix";
case wson {
uses layer0-types:wson-label-step;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:to/" + "tet:connectivity-matrix/tet:to/"
+ "tet:label-restrictions/tet:label-restriction" { + "tet:label-restrictions/tet:label-restriction" {
when "../../../../../../../../" when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment egress WSON label restrictions of "Augment egress WSON label restrictions of
connectivity-matrix"; connectivity-matrix";
skipping to change at page 39, line 4 skipping to change at page 45, line 41
+ "tet:label-end/" + "tet:label-end/"
+ "tet:te-label/tet:technology" { + "tet:te-label/tet:technology" {
when "../../../../../../../../../../" when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment egress WSON label restrictions end of "Augment egress WSON label restrictions end of
connectivity-matrix"; connectivity-matrix";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/nw:network/nw:node/tet:te/" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:to/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/"
+ "tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description
"Augment egress WSON label restrictions step of
connectivity-matrix";
case wson {
uses layer0-types:wson-label-step;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/" + "tet:connectivity-matrix/"
+ "tet:underlay/tet:primary-path/tet:path-element/" + "tet:underlay/tet:primary-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/" + "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" { + "tet:te-label/tet:technology" {
when "../../../../../../../../../../" when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
skipping to change at page 42, line 16 skipping to change at page 49, line 16
} }
description description
"Augment WSON label restrictions end of "Augment WSON label restrictions end of
connectivity-matrices information-source"; connectivity-matrices information-source";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/nw:network/nw:node/tet:te/" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/"
+ "tet:connectivity-matrices/tet:label-restrictions/"
+ "tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description
"Augment WSON label restrictions step of
connectivity-matrices information-source";
case wson {
uses layer0-types:wson-label-step;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../" when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment WSON label hop of underlay primary path of "Augment WSON label hop of underlay primary path of
skipping to change at page 45, line 22 skipping to change at page 52, line 32
"Augment ingress WSON label restrictions end of "Augment ingress WSON label restrictions end of
connectivity-matrix information-source"; connectivity-matrix information-source";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/nw:network/nw:node/tet:te/" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/" + "tet:connectivity-matrix/"
+ "tet:from/tet:label-restrictions/"
+ "tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description
"Augment ingress WSON label restrictions step of
connectivity-matrix information-source";
case wson {
uses layer0-types:wson-label-step;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:to/tet:label-restrictions/tet:label-restriction" { + "tet:to/tet:label-restrictions/tet:label-restriction" {
when "../../../../../../../../" when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment egress WSON label restrictions of connectivity-matrix "Augment egress WSON label restrictions of connectivity-matrix
information-source"; information-source";
uses layer0-types:layer0-label-restriction; uses layer0-types:layer0-label-restriction;
skipping to change at page 46, line 25 skipping to change at page 54, line 4
"Augment egress WSON label restrictions end of "Augment egress WSON label restrictions end of
connectivity-matrix information-source"; connectivity-matrix information-source";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/nw:network/nw:node/tet:te/" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/" + "tet:connectivity-matrix/"
+ "tet:to/tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description
"Augment egress WSON label restrictions step of
connectivity-matrix information-source";
case wson {
uses layer0-types:wson-label-step;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../" when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment WSON label hop of underlay primary path of "Augment WSON label hop of underlay primary path of
connectivity-matrix information-source"; connectivity-matrix information-source";
skipping to change at page 49, line 34 skipping to change at page 57, line 24
"Augment WSON label restrictions end of "Augment WSON label restrictions end of
local-link-connectivities"; local-link-connectivities";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/nw:network/nw:node/tet:te/" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/" + "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/" + "tet:local-link-connectivities/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/"
+ "tet:technology"{
when "../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description
"Augment WSON label restrictions step of
local-link-connectivities";
case wson {
uses layer0-types:wson-label-step;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../" when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment WSON label hop of underlay primary path of "Augment WSON label hop of underlay primary path of
local-link-connectivities"; local-link-connectivities";
skipping to change at page 52, line 44 skipping to change at page 60, line 46
local-link-connectivity (LLC)"; local-link-connectivity (LLC)";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/nw:network/nw:node/tet:te/" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/" + "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/" + "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/" + "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description
"Augment WSON label restrictions step of
local-link-connectivity (LLC)";
case wson {
uses layer0-types:wson-label-step;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../" when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment WSON label hop of underlay primary path of "Augment WSON label hop of underlay primary path of
local-link-connectivity (LLC)"; local-link-connectivity (LLC)";
skipping to change at page 56, line 30 skipping to change at page 64, line 43
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment WSON label restrictions end of TE link"; "Augment WSON label restrictions end of TE link";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/nw:network/nt:link/tet:te/" augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description
"Augment WSON label restrictions step of TE link";
case wson {
uses layer0-types:wson-label-step;
}
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/" + "tet:information-source-entry/"
+ "tet:label-restrictions/tet:label-restriction" { + "tet:label-restrictions/tet:label-restriction" {
when "../../../../../nw:network-types/tet:te-topology/" when "../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" { + "wson:wson-topology" {
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment WSON label restrictions of TE link "Augment WSON label restrictions of TE link
information-source"; information-source";
uses layer0-types:layer0-label-restriction; uses layer0-types:layer0-label-restriction;
skipping to change at page 57, line 26 skipping to change at page 65, line 53
description "Augment WSON TE label"; description "Augment WSON TE label";
} }
description description
"Augment WSON label restrictions end of TE link "Augment WSON label restrictions end of TE link
information-source"; information-source";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description
"Augment WSON label restrictions step of TE link
information-source";
case wson {
uses layer0-types:wson-label-step;
}
}
augment "/nw:networks/tet:te/tet:templates/" augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/" + "tet:link-template/tet:te-link-attributes/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
description description
"Augment WSON label hop of underlay primary path of TE link "Augment WSON label hop of underlay primary path of TE link
template"; template";
case wson { case wson {
uses layer0-types:wson-path-label; uses layer0-types:wson-path-label;
} }
skipping to change at page 58, line 32 skipping to change at page 67, line 23
augment "/nw:networks/tet:te/tet:templates/" augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/" + "tet:link-template/tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" { + "tet:label-end/tet:te-label/tet:technology" {
description description
"Augment WSON label restrictions end of TE link template"; "Augment WSON label restrictions end of TE link template";
case wson { case wson {
uses layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/tet:technology" {
description
"Augment WSON label restrictions step of TE link template";
case wson {
uses layer0-types:wson-label-step;
}
}
} }
<CODE ENDS> <CODE ENDS>
4. IETF-Layer0-Types YANG Model 4. IETF-Layer0-Types YANG Model
<CODE BEGINS> file "ietf-layer0-types@2018-11-19.yang" <CODE BEGINS> file ietf-layer0-types@2019-02-07.yang
module ietf-layer0-types { module ietf-layer0-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-layer0-types"; namespace "urn:ietf:params:xml:ns:yang:ietf-layer0-types";
prefix "layer0-types"; prefix "layer0-types";
organization organization
"IETF CCAMP Working Group"; "IETF CCAMP Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/ccamp/> "WG Web: <http://tools.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org> WG List: <mailto:ccamp@ietf.org>
skipping to change at page 58, line 48 skipping to change at page 68, line 4
module ietf-layer0-types { module ietf-layer0-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-layer0-types"; namespace "urn:ietf:params:xml:ns:yang:ietf-layer0-types";
prefix "layer0-types"; prefix "layer0-types";
organization organization
"IETF CCAMP Working Group"; "IETF CCAMP Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/ccamp/> "WG Web: <http://tools.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org> WG List: <mailto:ccamp@ietf.org>
Editor: Aihua Guo Editor: Aihua Guo
<mailto:aihuaguo@huawei.com> <mailto:aihuaguo@huawei.com>
Editor: Young Lee Editor: Young Lee
<mailto:leeyoung@huawei.com>"; <mailto:leeyoung@huawei.com>
Editor: Italo Busi
<mailto:Italo.Busi@huawei.com>";
description description
"This module defines Optical Layer 0 types. This module "This module defines Optical Layer 0 types. This module
provides groupings that can be applicable to Layer 0 provides groupings that can be applicable to Layer 0
Fixed Optical Networks (e.g., CWDM (Coarse Wavelength Fixed Optical Networks (e.g., CWDM (Coarse Wavelength
Division Multiplexing) and DWDM (Dense Wavelength Division Division Multiplexing) and DWDM (Dense Wavelength Division
Multiplexing)) and Flexi-grid Optical Networks. Multiplexing)) and Flexi-grid Optical Networks.
Copyright (c) 2018 IETF Trust and the persons identified Copyright (c) 2018 IETF Trust and the persons identified
as authors of the code. All rights reserved. as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with Redistribution and use in source and binary forms, with
or without modification, is permitted pursuant to, and or without modification, is permitted pursuant to, and
subject to the license terms contained in, the Simplified subject to the license terms contained in, the Simplified
BSD License set forth in Section 4.c of the IETF Trust's BSD License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info)."; (http://trustee.ietf.org/license-info).";
revision "2018-11-26" { revision "2018-02-07" {
description description
"Initial Version"; "Initial Version";
reference reference
"RFC XXXX: A YANG Data Model for WSON (Wavelenghth Switched "RFC XXXX: A YANG Data Model for WSON (Wavelenghth Switched
Optical Networks)"; Optical Networks)";
} }
typedef operational-mode { typedef operational-mode {
type string; type string;
description description
"Vendor-specific mode that guarantees interoperability. "Vendor-specific mode that guarantees interoperability.";
}
typedef standard-mode {
type string;
description
"ITU-T G.698.2 standard mode that guarantees interoperability.
It must be an string with the following format: It must be an string with the following format:
B-DScW-ytz(v) where all these attributes are conformant B-DScW-ytz(v) where all these attributes are conformant
to the ITU-T recomendation"; to the ITU-T recomendation";
reference "ITU-T G.698.2 (11/2009) Section 5.3"; reference "ITU-T G.698.2 (11/2009) Section 5.3";
} }
typedef vendor-identifier { typedef vendor-identifier {
type string; type string;
description description
"vendor identifier that uses vendor-specific mode"; "vendor identifier that uses vendor-specific mode";
skipping to change at page 65, line 4 skipping to change at page 74, line 37
base dwdm-ch-spc-type; base dwdm-ch-spc-type;
description description
"25GHz channel spacing"; "25GHz channel spacing";
} }
identity dwdm-12p5ghz { identity dwdm-12p5ghz {
base dwdm-ch-spc-type; base dwdm-ch-spc-type;
description description
"12.5GHz channel spacing"; "12.5GHz channel spacing";
} }
identity dwdm-6p25ghz {
base dwdm-ch-spc-type; identity flex-ch-spc-type {
description
"Flex-grid channel spacing type";
}
identity flex-ch-spc-6p25ghz {
base flex-ch-spc-type;
description description
"6.25GHz channel spacing"; "6.25GHz channel spacing";
} }
identity flex-slot-width-granularity {
description
"Flex-grid slot width granularity";
}
identity flex-swg-12p5ghz {
base flex-slot-width-granularity;
description
"12.5GHz slot width granularity";
}
identity cwdm-ch-spc-type { identity cwdm-ch-spc-type {
description description
"CWDM channel spacing type."; "CWDM channel spacing type";
} }
identity cwdm-20nm { identity cwdm-20nm {
base cwdm-ch-spc-type; base cwdm-ch-spc-type;
description description
"20nm channel spacing"; "20nm channel spacing";
} }
identity fec-type { identity fec-type {
description description
skipping to change at page 66, line 21 skipping to change at page 76, line 31
} }
} }
grouping wson-link-label { grouping wson-link-label {
description description
"Generic label for WSON links"; "Generic label for WSON links";
choice grid-type { choice grid-type {
description description
"Label for DWDM or CWDM grid"; "Label for DWDM or CWDM grid";
case dwdm { case dwdm {
leaf channel-freq { leaf dwdm-n {
type frequency-thz; type int16;
description description
"The DWDM fixed-grid channel frequency in THz, "N is used to determine the Nominal Central Frequency.
e.g., 193.12500"; The set of nominal central frequencies can be
built using the following expression
f = 193.1 THz + N x 0.00625 THz,
where 193.1 THz is ITU-T 'anchor frequency'
for transmission over the C band, N is a positive or
negative integer including 0.";
reference reference
"RFC6205"; "RFC6205";
} }
} }
case cwdm { case cwdm {
leaf channel-wavelength { leaf cwdm-n {
type uint32; type int16;
units nm;
description description
"The CWDM wavelength in nanometer, e.g., 1511"; "N is a two's-complement integer to take either a
positive, negative, or zero value. This value is
used to compute the channel wavelength as such
in G.694.2:
Wavelength (nm) = 1471 nm + N * 20 nm";
reference reference
"RFC6205"; "RFC6205";
} }
} }
} }
} }
grouping wson-path-label { grouping wson-path-label {
description description
"Generic label for WSON paths"; "Generic label for WSON paths";
choice grid-type { choice grid-type {
description description
"Label for DWDM or CWDM grid"; "Label for DWDM or CWDM grid";
case dwdm { case dwdm {
choice single-or-super-channel { choice single-or-super-channel {
description "single or super channel"; description "single or super channel";
case single { case single {
leaf channel-freq { leaf dwdm-n {
type frequency-thz; type int16;
description description
"The DWDM fixed-grid channel frequency in THz, "N is used to determine the Nominal Central Frequency.
e.g., 193.12500"; The set of nominal central frequencies can be
} built using the following expression
} f = 193.1 THz + N x 0.00625 THz,
where 193.1 THz is ITU-T 'anchor frequency'
for transmission over the C band, N is a positive or
negative integer including 0.";
}
}
case super { case super {
leaf-list subcarrier-channels { leaf-list subcarrier-dwdm-n {
type frequency-thz; type int16;
description description
"List of subcarrier channels for super channel"; "List of subcarrier channels for super channel.
} Each of the channels is represented by an
} integer, n, a two's-complement integer to take
either a positive, negative, or zero value.
This value is used to compute the frequency as
such in G.694.1:
Frequency (THz) =
193.1 THz + n * channel spacing (THz)";
}
}
} }
} }
case cwdm { case cwdm {
leaf channel-wavelength { leaf cwdm-n {
type uint32; type int16;
units nm;
description description
"The CWDM wavelength in nanometer, e.g., 1511"; "Represented by an integer, n, a two's-complement
integer to take either a positive, negative, or
zero value. This value is used to compute the
channel wavelength as such in G.694.2:
Wavelength (nm) = 1471 nm + n * 20 nm";
reference reference
"RFC6205"; "RFC6205";
} }
} }
} }
} }
grouping layer0-label-restriction { grouping layer0-label-restriction {
description description
"layer0 label restriction."; "layer0 label restriction.";
skipping to change at page 68, line 6 skipping to change at page 78, line 46
leaf priority { leaf priority {
type uint8; type uint8;
description "priority"; description "priority";
} }
} }
grouping wson-label-step { grouping wson-label-step {
description "Label step information for WSON"; description "Label step information for WSON";
choice layer0-grid-type { choice layer0-grid-type {
description description
"WSON grid-type: DWDM, CWDM, etc."; "Grid type: DWDM, CWDM, etc.";
case dwdm { case dwdm {
leaf wson-dwdm { leaf wson-dwdm {
type identityref { type identityref {
base dwdm-ch-spc-type; base dwdm-ch-spc-type;
} }
description description
"Label-step is the channel-spacing (GHz), e.g., "Label-step is the channel-spacing (GHz), e.g.,
100, 50, 25, or 12.5 GHz for DWDM"; 100, 50, 25, or 12.5 GHz for DWDM";
reference reference
"RFC6205"; "RFC6205";
skipping to change at page 69, line 22 skipping to change at page 80, line 20
leaf-list supported-bandwidth-list { leaf-list supported-bandwidth-list {
type identityref { type identityref {
base layer0-bandwidth-type; base layer0-bandwidth-type;
} }
description "Flex-grid bandwidth type"; description "Flex-grid bandwidth type";
} }
} }
grouping flex-grid-link-label { grouping flex-grid-link-label {
description "Flex-grid link label."; description "Flex-grid link label.";
leaf central-frequency { leaf flex-n {
type frequency-thz; type uint16;
description description
"The DWDM flex-grid channel central frequency "N is used to determine the Nominal Central Frequency.
in THz, e.g., 193.12500"; The set of nominal central frequencies can be
built using the following expression
f = 193.1 THz + N x 0.00625 THz,
where 193.1 THz is ITU-T 'anchor frequency'
for transmission over the C band, N is a positive or
negative integer including 0.";
reference reference
"RFC7698"; "RFC7698";
} }
} }
grouping flex-grid-channel { grouping flex-grid-channel {
description "Flex-grid channel grouping."; description "Flex-grid channel grouping.";
leaf central-frequency {
type frequency-thz;
description
"Flex-grid central frequency in THz, e.g., 193.12500";
reference
"RFC7698";
}
leaf slot-width { uses flex-grid-link-label;
type frequency-ghz;
leaf flex-m {
type uint16 {
range "1..max";
}
description description
"Flex-grid The DWDM slot width in GHz, e.g., 50, 100, 150"; "M is used to determine the slot width. A slot width is
constrained to be M x SWG (that is, M x 12.5 GHz),
where M is an integer greater than or equal to 1.";
reference reference
"RFC7698"; "RFC7698";
} }
} }
grouping flex-grid-path-label { grouping flex-grid-path-label {
description "Flex-grid path label."; description "Flex-grid path label.";
choice single-or-super-channel { choice single-or-super-channel {
description "single of super channel"; description "single of super channel";
case single { case single {
uses flex-grid-channel; uses flex-grid-channel;
} }
case super { case super {
list subcarrier-channels { list subcarrier-flex-n {
key central-frequency; key flex-n;
uses flex-grid-channel; uses flex-grid-channel;
description description
"List of subcarrier channels for flex-grid "List of subcarrier channels for flex-grid
super channel"; super channel.";
} }
} }
} }
} }
grouping flex-grid-label-restriction { grouping flex-grid-label-restriction {
description description
"Flex Grid-specific label restriction"; "Flex Grid-specific label restriction";
uses layer0-label-restriction; uses layer0-label-restriction;
container flex-grid { container flex-grid {
description "flex-grid definition"; description "flex-grid definition";
leaf nominal-central-frequency-granularity { leaf nominal-central-frequency-granularity {
type frequency-ghz; type identityref {
default 6.25; base flex-ch-spc-type;
}
default flex-ch-spc-6p25ghz;
description description
"It is the spacing between allowed nominal central "It is the spacing between allowed nominal central
frequencies and it is set to 6.25 GHz"; frequencies. Default is 6.25 GHz";
reference reference
"RFC7698"; "RFC7698";
} }
leaf slot-width-granularity { leaf slot-width-granularity {
type frequency-ghz; type identityref {
default 12.5; base flex-slot-width-granularity;
}
default flex-swg-12p5ghz;
description description
"Minimum space between slot widths"; "Minimum space between slot widths. Default is
12.5 GHz";
reference reference
"RFC7698"; "RFC7698";
}
leaf min-slot-width-factor {
type uint16 {
range "1..max";
}
default 1;
description
"Minimum slot width is calculated by:
Minimum slot width (GHz) =
min-slot-width-factor * slot-width-granularity";
reference
"RFC8363";
} }
leaf max-slot-width-factor {
type uint16 {
range "1..max";
}
description
"Maximum slot width is calculated by:
Maximum slot width (GHz) =
max-slot-width-factor * slot-width-granularity";
reference
"RFC8363";
}
} }
} }
grouping flex-grid-label-step { grouping flex-grid-label-step {
description "Label step information for flex grid"; description "Label step information for flex grid";
leaf flex { leaf flex {
type identityref { type identityref {
base dwdm-ch-spc-type; base flex-ch-spc-type;
} }
default flex-ch-spc-6p25ghz;
description description
"Label-step is the nominal central frequency "Label-step is the nominal central frequency
granularity (GHz), e.g., 6.25 GHz"; granularity (GHz), e.g., 6.25 GHz";
reference reference
"RFC7698"; "RFC7698";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
5. Security Considerations 5. Security Considerations
The YANG module specified in this document defines a schema for data The YANG module specified in this document defines a schema for data
that is designed to be accessed via network management protocols that is designed to be accessed via network management protocols
such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF
layer is the secure transport layer, and the mandatory-to-implement layer is the secure transport layer, and the mandatory-to-implement
secure transport is Secure Shell (SSH) [RFC6242]. The lowest secure transport is Secure Shell (SSH) [RFC6242]. The lowest
RESTCONF layer is HTTPS, and the mandatory-to-implement secure RESTCONF layer is HTTPS, and the mandatory-to-implement secure
 End of changes. 69 change blocks. 
920 lines changed or deleted 1331 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/