draft-ietf-ccamp-wson-yang-10.txt   draft-ietf-ccamp-wson-yang-11.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 X. Zhang Intended status: Standard Track A. Guo
Expires: August 27, 2018 A. Guo Expires: February 21, 2019 Huawei
Huawei
V. Lopez V. Lopez
Telefonica Telefonica
D. King D. King
U. of Lancaster U. of Lancaster
B. Yoon B. Yoon
ETRI ETRI
Ricard Vilalta Ricard Vilalta
CTTC CTTC
February 27, 2018 August 21, 2018
A Yang Data Model for WSON Optical Networks A Yang Data Model for WSON Optical Networks
draft-ietf-ccamp-wson-yang-10 draft-ietf-ccamp-wson-yang-11
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). optical networks (WSONs).
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with This Internet-Draft is submitted to IETF in full conformance with
skipping to change at page 2, line 4 skipping to change at page 1, line 48
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
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 February 21, 2019.
This Internet-Draft will expire on August 27, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 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
2. YANG Model (Tree Structure)....................................3 2. YANG Model (Tree Structure)....................................3
3. IETF-WSON-Topology YANG Model..................................4 3. IETF-WSON-Topology YANG Model.................................17
4. IETF-TE-WSON-Types YANG Model.................................11 4. IETF-TE-WSON-Types YANG Model.................................53
5. Security Considerations.......................................13 5. Security Considerations.......................................63
6. IANA Considerations...........................................14 6. IANA Considerations...........................................63
7. Acknowledgments...............................................14 7. Acknowledgments...............................................64
8. References....................................................15 8. References....................................................65
8.1. Normative References.....................................15 8.1. Normative References.....................................65
8.2. Informative References...................................15 8.2. Informative References...................................65
9. Contributors..................................................15 9. Contributors..................................................65
Authors' Addresses...............................................15 Authors' Addresses...............................................65
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 18 skipping to change at page 3, line 16
What is not in scope of this document is both impairment-aware WSON What is not in scope of this document is both impairment-aware WSON
and flex-grid. and flex-grid.
This document defines two YANG models: ietf-wson-topology (Section This document defines two YANG models: ietf-wson-topology (Section
3) and ietf-te-wson-types (Section 4). 3) and ietf-te-wson-types (Section 4).
2. YANG Model (Tree Structure) 2. YANG Model (Tree Structure)
module: ietf-wson-topology module: ietf-wson-topology
augment /nd:networks/nd:network/nd:network-types/tet:te-topology: augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
+--rw wson-topology! +--rw wson-topology!
augment /nd:networks/nd:network/nd:node/tet:te/tet:te-node- augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes:
attributes/tet:connectivity-matrices/tet:connectivity-matrix: augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te:
+--rw wavelength-availability-range? te-wson-types:wavelength-range-type +--rw supported-payload-types* [index]
augment /nd:networks/nd:network/lnk:link/tet:te/tet:te-link-attributes: | +--rw index uint16
+--rw channel-num? int32 | +--rw payload-type? string
+--rw first-channel-frequency? decimal64 +--rw client-facing? boolean
+--rw channel-spacing? decimal64 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes:
+--rw available-wavelength-info* [priority]
+--rw priority uint8
+--rw wavelength-availability-range? te-wson-types:wavelength-range-
type
augment /nd:networks/nd:network/nd:node/tet:te/tet:te-node-attributes:
+--rw wson-node +--rw wson-node
+--rw node-type? identityref +--rw node-type? identityref
augment /nd:networks/nd:network/nd:node/tet:te/tet:tunnel-termination-point: augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-point:
+--rw available-operational-mode* te-wson-types:operational-mode +--rw supported-operational-modes* te-wson-types:operational-mode
+--rw operational-mode? te-wson-types:operational-mode +--rw configured-operational-modes? te-wson-types:operational-mode
+--rw supported-fec-types* identityref
+--rw supported-termination-types* identityref
+--rw supports-bit-stuffing? boolean
augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te/tet:interface-
switching-capability/tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--rw bandwidth-type? identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:path-constraints/tet:te-
bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:path-
constraints/tet:te-bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:path-constraints/tet:te-bandwidth/tet:technology:
+--:(wson)
+--ro supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:path-constraints/tet:te-
bandwidth/tet:technology:
+--:(wson)
+--ro supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-
point/tet:client-layer-adaptation/tet:switching-capability/tet:te-
bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-
point/tet:local-link-connectivities/tet:path-constraints/tet:te-
bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-
point/tet:local-link-connectivities/tet:local-link-connectivity/tet:path-
constraints/tet:te-bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:interface-
switching-capability/tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--rw bandwidth-type? identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:max-link-
bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:max-resv-
link-bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-
attributes/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source-
entry/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te-
bandwidth/tet:technology:
+--:(wson)
+--ro bandwidth-type? identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source-entry/tet:max-
link-bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--ro supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source-entry/tet:max-
resv-link-bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--ro supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source-
entry/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--ro supported-bandwidth-list* identityref
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link-
attributes/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te-
bandwidth/tet:technology:
+--:(wson)
+--rw bandwidth-type? identityref
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link-
attributes/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link-
attributes/tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link-
attributes/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology:
+--:(wson)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label-
restriction/tet:label-start/tet:te-label/tet:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw channel-freq? decimal64
+--:(cwdm)
+--rw channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label-
restriction/tet:label-end/tet:te-label/tet:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw channel-freq? decimal64
+--:(cwdm)
+--rw channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:underlay/tet:primary-path/tet:path-
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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? decimal64
+--:(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? decimal64
+--:(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? decimal64
+--:(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? decimal64
+--:(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: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 channel-freq? decimal64
+--:(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: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 channel-freq? decimal64
+--:(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: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 channel-freq? decimal64
+--:(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: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 channel-freq? decimal64
+--:(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: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 channel-freq? decimal64
+--:(cwdm)
+--ro channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:label-restrictions/tet:label-
restriction/tet:label-start/tet:te-label/tet:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro channel-freq? decimal64
+--:(cwdm)
+--ro channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:label-restrictions/tet:label-
restriction/tet:label-end/tet:te-label/tet:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro channel-freq? decimal64
+--:(cwdm)
+--ro channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:underlay/tet:primary-path/tet:path-
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro channel-freq? decimal64
+--:(cwdm)
+--ro channel-wavelength? uint32
augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source-
entry/tet:connectivity-matrices/tet:underlay/tet:backup-path/tet:path-
element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro channel-freq? decimal64
+--:(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-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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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? decimal64
+--:(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? decimal64
+--:(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? decimal64
+--:(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? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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? decimal64
+--:(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? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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? decimal64
+--:(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? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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 channel-freq? decimal64
+--:(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-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 channel-freq? decimal64
+--:(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: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 channel-freq? decimal64
+--:(cwdm)
+--ro channel-wavelength? uint32
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 channel-freq? decimal64
+--:(cwdm)
+--rw channel-wavelength? uint32
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 channel-freq? decimal64
+--:(cwdm)
+--rw channel-wavelength? uint32
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 channel-freq? decimal64
+--:(cwdm)
+--rw channel-wavelength? uint32
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 channel-freq? decimal64
+--:(cwdm)
+--rw channel-wavelength? uint32
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 channel-freq? decimal64
+--:(cwdm)
+--ro channel-wavelength? uint32
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 channel-freq? decimal64
+--:(cwdm)
+--ro channel-wavelength? uint32
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 channel-freq? decimal64
+--:(cwdm)
+--rw channel-wavelength? uint32
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 channel-freq? decimal64
+--:(cwdm)
+--rw channel-wavelength? uint32
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 channel-freq? decimal64
+--:(cwdm)
+--rw channel-wavelength? uint32
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 channel-freq? decimal64
+--:(cwdm)
+--rw channel-wavelength? uint32
3. IETF-WSON-Topology YANG Model 3. IETF-WSON-Topology YANG Model
<CODE BEGINS> file "ietf-wson-topology@2018-02-27.yang" <CODE BEGINS> file "ietf-wson-topology@2018-08-21.yang"
module ietf-wson-topology { module ietf-wson-topology {
//TODO: FIXME
//yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology"; yang-version 1.1;
prefix "wson"; namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology";
import ietf-network { prefix "wson";
prefix "nd";
}
import ietf-network-topology { import ietf-network {
prefix "lnk"; prefix "nw";
} }
import ietf-inet-types { import ietf-network-topology {
prefix "inet"; prefix "nt";
}
import ietf-te-topology {
prefix "tet";
}
import ietf-te-wson-types {
prefix "te-wson-types";
}
organization
"IETF CCAMP Working Group";
contact
"Editor: Young Lee <leeyoung@huawei.com>";
description
"This module contains a collection of YANG definitions for
RWA WSON.
Copyright (c) 2018 IETF Trust and the persons identified
as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with
or without modification, is permitted pursuant to, and
subject to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).";
revision 2018-08-21 {
description
"version 11.";
reference
"RFC XXX: A Yang Data Model for WSON Optical Networks ";
}
grouping wson-node-attributes {
description "WSON node attributes";
container wson-node {
description "WSON node attrtibutes.";
leaf node-type {
type identityref {
base te-wson-types:wson-node-type;
}
description "WSON node type.";
} }
import ietf-te-topology { }
prefix "tet"; }
grouping wson-link-attributes {
description
"Future WSON link attributes extensions";
}
grouping wson-tp-attributes {
description "wson-tp-attributes";
list supported-payload-types {
key "index";
description
"Supported payload types of a TP. The payload type is defined
as the generalized PIDs in GMPLS.";
leaf index {
type uint16;
description "payload type index";
} }
import ietf-te-wson-types { //Modified leaf payload-type {
prefix "te-wson-types"; type string;
description "the payload type supported by this client tp";
reference
"http://www.iana.org/assignments/gmpls-sig-parameters
/gmpls-sig-parameters.xhtml";
} }
}
leaf client-facing {
type boolean;
default 'false';
description
"Indicating if it is a client-facing TP.";
}
}
//NOT NEEDED grouping wson-ttp-attributes {
/*import ietf-transport-types { description
prefix "tran-types"; "WSON tunnel termination point (e.g.tranponder)
} */ attributes";
organization
"IETF CCAMP Working Group";
contact leaf-list supported-operational-modes {
"Editor: Young Lee <leeyoung@huawei.com>"; type te-wson-types:operational-mode;
description
"List of all supported vendor-specific
mode identifiers";
}
leaf configured-operational-modes {
type te-wson-types:operational-mode;
description
"Vendor-specific mode identifier configured
on the TTP.";
}
leaf-list supported-fec-types {
type identityref {
base te-wson-types:fec-type;
}
description description
"This module contains a collection of YANG definitions "List of all supported FEC types by this TTP.";
for }
RWA WSON.
Copyright (c) 2017 IETF Trust and the persons identified leaf-list supported-termination-types {
as type identityref {
authors of the code. All rights reserved. base te-wson-types:term-type;
}
description
"List of all supported termination types by this TTP.";
}
Redistribution and use in source and binary forms, with leaf supports-bit-stuffing {
or type boolean;
without modification, is permitted pursuant to, and description
subject "Indicate whether bit stuffing is supported by this TTP.";
to the license terms contained in, the Simplified BSD }
License set forth in Section 4.c of the IETF Trust's }
Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).";
revision 2018-02-27 { /*
description * Data nodes
"version 10."; */
reference augment "/nw:networks/nw:network/nw:network-types"
"RFC XXX: A Yang Data Model for WSON Optical + "/tet:te-topology" {
Networks "; description "wson-topology augmented";
container wson-topology {
presence "indicates a topology of WSON";
description
"Container to identify WSON topology type";
} }
}
typedef wson-topology-id { augment "/nw:networks/nw:network/nt:link/tet:te"
type inet:uri; + "/tet:te-link-attributes" {
description
"The WSON Topology ID";
}
grouping wson-topology-type { when "/nw:networks/nw:network/nw:network-types"
description "wson-topology type"; +"/tet:te-topology/wson:wson-topology" {
container wson-topology { description "This augment is only valid for WSON.";
presence "indicates a topology of wson"; }
description description "WSON Link augmentation.";
"Container to identify wson topology type"; uses wson-link-attributes;
} }
}
grouping wson-node-attributes { augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
description "WSON node attributes"; + "tet:te" {
container wson-node { when "/nw:networks/nw:network/nw:network-types"
description "WSON node attrtibutes."; +"/tet:te-topology/wson:wson-topology" {
leaf node-type { description "This augment is only valid for WSON.";
type identityref { }
base te-wson-types:wson-node-type; description "WSON TP attributes.";
} uses wson-tp-attributes;
description "WSON node type."; }
}
}
}
grouping wson-wavelength-availability-range{ augment "/nw:networks/nw:network/nw:node/tet:te"
description "wavelength availability range"; + "/tet:te-node-attributes" {
when "/nw:networks/nw:network/nw:network-types"
+"/tet:te-topology/wson:wson-topology" {
description "This augment is only valid for WSON.";
}
description "WSON Node augmentation.";
uses wson-node-attributes;
}
leaf wavelength-availability-range{ augment "/nw:networks/nw:network/nw:node/tet:te"
type te-wson-types:wavelength-range-type; + "/tet:tunnel-termination-point" {
description when "/nw:networks/nw:network/nw:network-types"
"range that indicates if a wavelength is +"/tet:te-topology/wson:wson-topology" {
available or not on each channel at description "This augment is only valid for WSON.";
specified priority level."; }
} description "WSON tunnel termination point augmentation.";
} uses wson-ttp-attributes;
grouping wson-link-attributes { }
description "WSON link attributes";
leaf channel-num {
type int32;
description "Number of OCh channels available";
}
leaf first-channel-frequency {
type decimal64 {
fraction-digits 5;
}
units THz;
description "First channel frequency in the grid";
}
leaf channel-spacing {
type decimal64 {
fraction-digits 5;
}
units GHz;
description "This is fixed channel spacing for
WSON,
e.g, 12.5, 25, 50, 100, ..";
}
list available-wavelength-info{ /*
key "priority"; * Augment TE bandwidth
max-elements "8"; */
description /* Augment maximum LSP bandwidth of link terminationpoint (LTP) */
"List of available wavelength channels on augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
this link"; + "tet:te/"
leaf priority { + "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
type uint8 { + "tet:te-bandwidth/tet:technology" {
range "0..7";
}
description "priority";
}
uses wson-wavelength-availability-range;
}
}
grouping wson-tp-attributes {
description "wson-tp-attributes";
leaf client-facing { when "../../../../../../../nw:network-types/tet:te-topology/"
type empty; + "wson:wson-topology" {
description description "Augment WSON TE bandwidth";
"if present, it means this tp is a client- }
facing tp. description "WSON bandwidth.";
adding/dropping client signal flow."; case wson {
} uses te-wson-types:wson-path-bandwidth;
}
}
/* Augment bandwidth path constraints of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE bandwidth";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment bandwidth path constraints of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE bandwidth";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment bandwidth path constraints of connectivity-matrices
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE bandwidth";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment bandwidth path constraints of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE bandwidth";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment client bandwidth of tunnel termination point (TTP) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:client-layer-adaptation/tet:switching-capability/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE bandwidth";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment bandwidth path constraints of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/tet:path-constraints/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE bandwidth";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment bandwidth path constraints of local-link-connectivity
(LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/tet:path-constraints/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE bandwidth";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment maximum LSP bandwidth of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "WSON TE bandwidth.";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-path-bandwidth;
}
}
/* Augment maximum bandwidth of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "WSON TE bandwidth.";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment maximum reservable bandwidth of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "WSON TE bandwidth.";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment unreserved bandwidth of TE Link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "WSON TE bandwidth.";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment maximum LSP bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:interface-switching-capability/"
+ "tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "WSON TE bandwidth.";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-path-bandwidth;
}
}
/* Augment maximum bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "WSON TE bandwidth.";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment maximum reservable bandwidth of TE link information-source
*/
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "WSON TE bandwidth.";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment unreserved bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "WSON TE bandwidth.";
}
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
/* Augment maximum LSP bandwidth of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:interface-switching-capability/"
+ "tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
/* /*
//can it be fully covered by interface-switching-capability of base when "../../../../../../../nw:network-types/tet:te-topology/"
TE model? + "wson:wson-topology" {
leaf-list supported-client-signals { description "WSON TE bandwidth.";
type identityref { }
base tran-types:client-signal;
}
description
"Supported client signals at this TP";
}
*/ */
} description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-path-bandwidth;
}
}
grouping wson-ttp-attributes { /* Augment maximum bandwidth of TE link template */
description "WSON tunnel termination point (e.g. augment "/nw:networks/tet:te/tet:templates/"
tranponder) + "tet:link-template/tet:te-link-attributes/"
attributes"; + "tet:max-link-bandwidth/"
leaf-list available-operational-mode { + "tet:te-bandwidth/tet:technology" {
type te-wson-types:operational-mode; /*
description "List of all vendor-specific supported when "../../../../../../nw:network-types/tet:te-topology/"
mode identifiers"; + "wson:wson-topology" {
} description "WSON TE bandwidth.";
}
*/
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
leaf operational-mode { /* Augment maximum reservable bandwidth of TE link template */
type te-wson-types:operational-mode; augment "/nw:networks/tet:te/tet:templates/"
description "Vendor-specific mode identifier"; + "tet:link-template/tet:te-link-attributes/"
} + "tet:max-resv-link-bandwidth/"
} + "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
/* AUGMENTS */ description "WSON TE bandwidth.";
}
*/
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
augment "/nd:networks/nd:network/nd:network-types" /* Augment unreserved bandwidth of TE link template */
+ "/tet:te-topology" { augment "/nw:networks/tet:te/tet:templates/"
description "wson-topology augmented"; + "tet:link-template/tet:te-link-attributes/"
uses wson-topology-type; + "tet:unreserved-bandwidth/"
} + "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "WSON TE bandwidth.";
}
*/
description "WSON bandwidth.";
case wson {
uses te-wson-types:wson-link-bandwidth;
}
}
//FIXING NMDA /*
augment "/nd:networks/nd:network/nd:node/tet:te" * Augment TE label.
+"/tet:te-node-attributes/tet:connectivity-matrices" */
+ "/tet:connectivity-matrix" {
when "/nd:networks/nd:network/nd:network-types"
+"/tet:te-topology/wson:wson-topology" {
description
"This augment is only valid for WSON
connectivity
matrix.";
}
description "WSON connectivity matrix config
augmentation";
uses wson-wavelength-availability-range;
}
//REMOVING /* Augment label restrictions of connectivity-matrices */
/* augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nd:networks/nd:network/nd:node/tet:te/tet:state" + "tet:te-node-attributes/tet:connectivity-matrices/"
+"/tet:te-node-attributes/tet:connectivity-matrices" + "tet:label-restrictions/tet:label-restriction" {
+ "/tet:connectivity-matrix" { when "../../../../../nw:network-types/tet:te-topology/"
when "/nd:networks/nd:network/nd:network-types" + "wson:wson-topology" {
+"/tet:te-topology/wson-topology" { description "Augment WSON TE label";
description }
"This augment is only valid for WSON description "WSON label.";
connectivity uses te-wson-types:wson-label-restriction;
matrix."; }
}
description "WSON connectivity matrix state augmentation";
uses wson-wavelength-availability-range;
}*/
//FIXING NMDA /* Augment label restrictions start of connectivity-matrices */
augment "/nd:networks/nd:network/lnk:link/tet:te" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "/tet:te-link-attributes" { + "tet:te-node-attributes/tet:connectivity-matrices/"
when "/nd:networks/nd:network/nd:network-types" + "tet:label-restrictions/tet:label-restriction/tet:label-
+"/tet:te-topology/wson:wson-topology" { start/"
description + "tet:te-label/tet:technology" {
"This augment is only valid for WSON."; when "../../../../../../../../nw:network-types/tet:te-topology/"
} + "wson:wson-topology" {
description "WSON Link augmentation."; description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
uses wson-link-attributes; /* Augment label restrictions end of connectivity-matrices */
} augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:label-restrictions/tet:label-restriction/tet:label-end/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
//REMOVING /* Augment label hop of underlay primary path of connectivity-
/* matrices */
augment "/nd:networks/nd:network/lnk:link/tet:te/tet:state" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "/tet:te-link-attributes" { + "tet:te-node-attributes/tet:connectivity-matrices/"
when "/nd:networks/nd:network/nd:network-types" + "tet:underlay/tet:primary-path/tet:path-element/"
+"/tet:te-topology/wson:wson-topology" { + "tet:type/tet:label/tet:label-hop/"
description + "tet:te-label/tet:technology" {
"This augment is only valid for WSON."; when "../../../../../../../../../../../../"
} + "nw:network-types/tet:te-topology/"
description "WSON Link augmentation."; + "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
uses wson-link-attributes; /* Augment label hop of underlay backup path of connectivity-matrices
}*/ */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:underlay/tet:backup-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
//FIXING NMDA /* Augment label hop of route-exclude of connectivity-matrices */
augment "/nd:networks/nd:network/nd:node/tet:te" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "/tet:te-node-attributes" { + "tet:te-node-attributes/tet:connectivity-matrices/"
when "/nd:networks/nd:network/nd:network-types" + "tet:optimizations/tet:algorithm/tet:metric/"
+"/tet:te-topology/wson:wson-topology" { + "tet:optimization-metric/"
description + "tet:explicit-route-exclude-objects/"
"This augment is only valid for WSON."; + "tet:route-object-exclude-object/"
} + "tet:type/tet:label/tet:label-hop/"
description "WSON Node augmentation."; + "tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
uses wson-node-attributes; /* Augment label hop of route-include of connectivity-matrices
} (added) */
//REMOVING augment "/nw:networks/nw:network/nw:node/tet:te/"
/* + "tet:te-node-attributes/tet:connectivity-matrices/"
augment "/nd:networks/nd:network/nd:node/tet:te/tet:state" + "tet:optimizations/tet:algorithm/tet:metric/"
+ "/tet:te-node-attributes" { + "tet:optimization-metric/"
when "/nd:networks/nd:network/nd:network-types" + "tet:explicit-route-include-objects/"
+"/tet:te-topology/wson:wson-topology" { + "tet:route-object-include-object/"
description + "tet:type/tet:label/tet:label-hop/"
"This augment is only valid for WSON."; + "tet:te-label/tet:technology" {
} when "../../../../../../../../../../../../../../"
description "WSON Node augmentation."; + "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
uses wson-node-attributes; /* Augment label hop of path-route of connectivity-matrices */
}*/ augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology"{
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
//FIXING NMDA /* Augment ingress label restrictions of connectivity-matrix */
augment "/nd:networks/nd:network/nd:node/tet:te" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "/tet:tunnel-termination-point" { + "tet:te-node-attributes/tet:connectivity-matrices/"
when "/nd:networks/nd:network/nd:network-types" + "tet:connectivity-matrix/tet:from/"
+"/tet:te-topology/wson:wson-topology" { + "tet:label-restrictions/tet:label-restriction" {
description when "../../../../../../../nw:network-types/tet:te-topology/"
"This augment is only valid for WSON."; + "wson:wson-topology" {
} description "Augment WSON TE label";
description "WSON tunnel termination point }
augmentation."; description "WSON label.";
uses te-wson-types:wson-label-restriction;
}
uses wson-ttp-attributes; /* Augment ingress label restrictions start of connectivity-matrix */
} augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restrictions/tet:label-restriction/tet:label-
start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
//removing /* Augment ingress label restrictions end of connectivity-matrix */
/*augment "/nd:networks/nd:network/nd:node/tet:te" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "/tet:tunnel-termination-point/tet:state" { + "tet:te-node-attributes/tet:connectivity-matrices/"
when "/nd:networks/nd:network/nd:network-types" + "tet:connectivity-matrix/tet:from/"
+"/tet:te-topology/wson:wson-topology" { + "tet:label-restrictions/tet:label-restriction/tet:label-end/"
description + "tet:te-label/tet:technology" {
"This augment is only valid for WSON."; when "../../../../../../../../../../"
} + "nw:network-types/tet:te-topology/"
description "WSON tunnel termination point + "wson:wson-topology" {
augmentation."; description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
uses wson-ttp-attributes; /* Augment egress label restrictions of connectivity-matrix */
}*/ augment "/nw:networks/nw:network/nw:node/tet:te/"
} + "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:to/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
uses te-wson-types:wson-label-restriction;
}
/* Augment egress label restrictions start of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:to/"
+ "tet:label-restrictions/tet:label-restriction/tet:label-
start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment egress label restrictions end of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:to/"
+ "tet:label-restrictions/tet:label-restriction/tet:label-end/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label hop of underlay primary path of connectivity-matrix
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:primary-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of underlay backup path of connectivity-matrix
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:backup-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of route-exclude of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:optimizations/"
+ "tet:algorithm/tet:metric/tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of route-include of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:optimizations/"
+ "tet:algorithm/tet:metric/tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of path-route of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label restrictions of connectivity-matrices information-
source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/"
+ "tet:connectivity-matrices/tet:label-restrictions/tet:label-
restriction" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
uses te-wson-types:wson-label-restriction;
}
/* Augment label restrictions start of connectivity-matrices
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/"
+ "tet:connectivity-matrices/tet:label-restrictions/tet:label-
restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label restrictions end of connectivity-matrices
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/"
+ "tet:connectivity-matrices/tet:label-restrictions/tet:label-
restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label hop of underlay primary path of connectivity-
matrices information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of underlay backup path of connectivity-matrices
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of route-exclude of connectivity-matrices
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of route-include of connectivity-matrices
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of path-route of connectivity-matrices
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment ingress label restrictions of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:from/tet:label-restrictions/tet:label-restriction" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
uses te-wson-types:wson-label-restriction;
}
/* Augment ingress label restrictions start of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:from/tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment ingress label restrictions end of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:from/tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment egress label restrictions of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:to/tet:label-restrictions/tet:label-restriction" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
uses te-wson-types:wson-label-restriction;
}
/* Augment egress label restrictions start of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:to/tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment egress label restrictions end of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:to/tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label hop of underlay primary path of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of underlay backup path of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of route-exclude of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of route-include of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of path-route of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label restrictions of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
uses te-wson-types:wson-label-restriction;
}
/* Augment label restrictions start of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:label-restrictions/tet:label-restriction/tet:label-
start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label restrictions end of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:label-restrictions/tet:label-restriction/tet:label-end/"
+ "tet:te-label/tet:technology"{
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label hop of underlay primary path of local-link-
connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of underlay backup path of local-link-
connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of route-exclude of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of route-include of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of path-route of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label restrictions of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
uses te-wson-types:wson-label-restriction;
}
/* Augment label restrictions start of local-link-connectivity (LLC)
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label restrictions end of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label hop of underlay primary path of local-link-
connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of underlay backup path of local-link-
connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of route-exclude of local-link-connectivity
(LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of route-include of local-link-connectivity
(LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of path-route of local-link-connectivity (LLC)
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of underlay primary path of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of underlay backup path of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label restrictions of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
uses te-wson-types:wson-label-restriction;
}
/* Augment label restrictions start of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label restrictions end of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label restrictions of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
uses te-wson-types:wson-label-restriction;
}
/* Augment label restrictions start of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label restrictions end of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label hop of underlay primary path of TE link template */
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" {
/*
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
*/
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label hop of underlay backup path of TE link template */
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" {
/*
when "../../../../../../../../../../../../nw:network-types/tet:te-
topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
*/
description "WSON label.";
case wson {
uses te-wson-types:wson-path-label;
}
}
/* Augment label restrictions of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction" {
/*
when "../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
*/
description "WSON label.";
uses te-wson-types:wson-label-restriction;
}
/* Augment label restrictions start of TE link template */
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" {
/*
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
*/
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
/* Augment label restrictions end of TE link template */
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" {
/*
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "wson:wson-topology" {
description "Augment WSON TE label";
}
*/
description "WSON label.";
case wson {
uses te-wson-types:wson-link-label;
}
}
}
<CODE ENDS> <CODE ENDS>
4. IETF-TE-WSON-Types YANG Model 4. IETF-TE-WSON-Types YANG Model
<CODE BEGINS> file "ietf-te-wson-types@2018-02-27.yang" <CODE BEGINS> file "ietf-te-wson-types@2018-08-15.yang"
module ietf-te-wson-types { module ietf-te-wson-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-te-wson-types"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-wson-types";
prefix "te-wson-types"; prefix "te-wson-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>";
description description
"This module defines WSON types."; "This module defines WSON types.";
revision "2018-02-27" { revision "2018-08-15" {
description description
"Revision 2"; "Revision 3";
reference "TBD"; reference "TBD";
} }
typedef operational-mode { typedef operational-mode {
type string; type string;
description description
"Vendor-specific mode that guarantees interoperability. "Vendor-specific 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";
} }
identity wson-node-type { identity wson-node-type {
description description
"WSON node type."; "WSON node type.";
reference reference
""; "RFC6163";
} }
identity wson-node-foadm { identity wson-node-foadm {
base wson-node-type; base wson-node-type;
description description
"Fixed OADM node."; "Fixed OADM node.";
} }
identity wson-node-roadm { identity wson-node-roadm {
base wson-node-type; base wson-node-type;
description description
"ROADM or OXC node."; "ROADM or OXC node.";
} }
identity wson-node-ila { identity wson-node-ila {
base wson-node-type; base wson-node-type;
description description
"ILA (In-Line Amplifier) node."; "ILA (In-Line Amplifier) node.";
} }
//ADDED identity wavelength-assignment {
typedef wavelength-range-type { description
type string { "Wavelength selection base";
pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?" + }
"(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)";
}
description
"A list of WDM channel numbers (starting at 1)
in ascending order. For example: 1,12-20,40,50-80";
}
identity wavelength-assignment { identity unspecified-wavelength-assignment {
description "Wavelength selection base"; base wavelength-assignment;
} description
"No method specified";
}
identity unspecified-wavelength-assignment { identity first-fit-wavelength-asignment {
base wavelength-assignment; base wavelength-assignment;
description "No method specified"; description
} "All the available wavelengths are numbered,
and this WA method chooses the available wavelength
with the lowest index.";
}
identity first-fit-wavelength-asignment { identity random-wavelength-asignment {
base wavelength-assignment; base wavelength-assignment;
description "All the available wavelengths are numbered, description
and this WA method chooses the available wavelength "This WA method chooses an available
with the lowest index."; wavelength randomly.";
} }
identity random-wavelength-asignment { identity least-loaded-wavelength-asignment {
base wavelength-assignment; base wavelength-assignment;
description "This WA method chooses an available description
wavelength randomly."; "This WA method selects the wavelength that
} has the largest residual capacity on the most loaded
link along the route (in muli-fiber networks).";
}
identity least-loaded-wavelength-asignment { identity wson-grid-type {
base wavelength-assignment; description
description "This WA method selects the wavelength that "WSON grid type.";
has the largest residual capacity on the most loaded }
link along the route (in muli-fiber networks).";
} identity wson-grid-dwdm {
base wson-grid-type;
description
"DWDM grid.";
}
identity wson-grid-cwdm {
base wson-grid-type;
description
"CWDM grid.";
}
identity wson-bandwidth-type {
description
"Bandwidth type carried by a single wavelength channel.";
}
identity wson-bw-otu1 {
base wson-bandwidth-type;
description
"OTU1 (2.66G)";
}
identity wson-bw-otu1e {
base wson-bandwidth-type;
description
"OTU1e(11.04G)";
}
identity wson-bw-otu1f {
base wson-bandwidth-type;
description
"OTU1f(11.27G)";
}
identity wson-bw-otu2 {
base wson-bandwidth-type;
description
"OTU2 (10.70G)";
}
identity wson-bw-otu2e {
base wson-bandwidth-type;
description
"OTU2e (11.09G)";
}
identity wson-bw-otu2f {
base wson-bandwidth-type;
description
"OTU2f (11.31G)";
}
identity wson-bw-otu3 {
base wson-bandwidth-type;
description
"OTU3 (43.01G)";
}
identity wson-bw-otu3e1 {
base wson-bandwidth-type;
description
"OTU3e1 (44.57G)";
}
identity wson-bw-otu3e2 {
base wson-bandwidth-type;
description
"OTU3e2 (44.58G)";
}
identity wson-bw-otu4 {
base wson-bandwidth-type;
description
"OTU4 (111.80G)";
}
identity wson-bw-otucn {
base wson-bandwidth-type;
description
"OTUCn (beyond 100G)";
}
identity dwdm-ch-spc-type {
description
"DWDM channel spacing type.";
}
identity dwdm-100ghz {
base dwdm-ch-spc-type;
description
"100GHz channel spacing";
}
identity dwdm-50ghz {
base dwdm-ch-spc-type;
description
"50GHz channel spacing";
}
identity dwdm-25ghz {
base dwdm-ch-spc-type;
description
"25GHz channel spacing";
}
identity dwdm-12p5ghz {
base dwdm-ch-spc-type;
description
"12.5GHz channel spacing";
}
identity cwdm-ch-spc-type {
description
"CWDM channel spacing type.";
}
identity cwdm-20nm {
base cwdm-ch-spc-type;
description
"20nm channel spacing";
}
identity fec-type {
description
"FEC type.";
}
identity g-fec {
base fec-type;
description
"G-FEC.";
}
identity e-fec {
base fec-type;
description
"E-FEC.";
}
identity no-fec {
base fec-type;
description
"No FEC.";
}
identity term-type {
description
"Termination type.";
}
identity term-phys {
base term-type;
description
"PHYS.";
}
identity term-otu {
base term-type;
description
"OTU.";
}
identity term-odu {
base term-type;
description
"ODU.";
}
identity term-opu {
base term-type;
description
"OPU.";
}
identity term-section {
base term-type;
description
"Section.";
}
/* Groupings. */
grouping wson-path-bandwidth {
description "WSON path bandwidth attributes";
leaf bandwidth-type {
type identityref {
base wson-bandwidth-type;
}
description "WSON bandwidth type";
} }
}
<CODE ENDS> grouping wson-link-bandwidth {
description "WSON link bandwidth attributes";
leaf-list supported-bandwidth-list {
type identityref {
base wson-bandwidth-type;
}
description "WSON bandwidth type";
}
}
grouping wson-label {
description
"Generic label for WSON links and paths";
choice grid-type {
description
"Label for DWDM or CWDM grid";
case dwdm {
leaf channel-freq {
type decimal64 {
fraction-digits 5;
}
units THz;
description
"The DWDM frequency in THz, e.g. 193.12500";
reference
"RFC6205";
}
}
case cwdm {
leaf channel-wavelength {
type uint32;
units nm;
description
"The CWDM wavelength in nanometer, e.g. 1511";
reference
"RFC6205";
}
}
}
}
grouping wson-link-label {
description
"Link label information for WSON links, for label-start/end";
uses te-wson-types:wson-label;
}
grouping wson-path-label {
description
"Path label information for WSON links, for label-hop";
uses te-wson-types:wson-label;
}
grouping wson-label-restriction {
description
"WSON label restriction.";
leaf grid-type {
type identityref {
base te-wson-types:wson-grid-type;
}
description "Grid type";
}
leaf priority {
type uint8;
description "priority.";
}
}
grouping wson-label-step {
description "Label step information for WSON";
choice wson-grid-type {
description
" WSON grid-type: DWDM, CWDM, etc.";
case dwdm {
leaf wson-dwdm {
type identityref {
base te-wson-types:dwdm-ch-spc-type;
}
description
"Label-step is the channel-spacing (GHz), e.g.,
100, 50, 25, or 12.5 GHz for DWDM.";
reference
"rfc6205";
}
}
case cwdm {
leaf wson-cwdm {
type identityref {
base te-wson-types:cwdm-ch-spc-type;
}
description
"label-step is the channel-spacing (nm), i.e.,
20 nm for CWDM, which is the only value defined for
CWDM.";
reference
"rfc6205.";
}
}
}
}
}
<CODE ENDS>
5. Security Considerations 5. Security Considerations
The configuration, state, and action data defined in this document The configuration, state, and action data defined in this document
are designed to be accessed via a management protocol with a secure are designed to be accessed via a management protocol with a secure
transport layer, such as NETCONF [RFC6241]. The NETCONF access transport layer, such as NETCONF [RFC6241]. The NETCONF access
control model [RFC6536] provides the means to restrict access for control model [RFC6536] provides the means to restrict access for
particular NETCONF users to a preconfigured subset of all available particular NETCONF users to a preconfigured subset of all available
NETCONF protocol operations and content. NETCONF protocol operations and content.
A number of configuration data nodes defined in this document are A number of configuration data nodes defined in this document are
 End of changes. 81 change blocks. 
382 lines changed or deleted 2715 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/