draft-ietf-ccamp-wson-tunnel-model-01.txt   draft-ietf-ccamp-wson-tunnel-model-02.txt 
CCAMP Working Group Y. Lee CCAMP Working Group Y. Lee
Internet Draft D. Dhody Internet Draft D. Dhody
Intended status: Standard Track A. Guo Intended status: Standard Track A. Guo
Expires: February 22, 2019 Huawei Expires: April 19, 2019 Huawei
V. Lopez V. Lopez
Telefonica Telefonica
D. King D. King
U. of Lancaster U. of Lancaster
B. Yoon B. Yoon
ETRI ETRI
R. Vilalta R. Vilalta
CTTC CTTC
August 22, 2018 October 18, 2018
A Yang Data Model for WSON Tunnel A Yang Data Model for WSON Tunnel
draft-ietf-ccamp-wson-tunnel-model-01 draft-ietf-ccamp-wson-tunnel-model-02
Abstract Abstract
This document provides a YANG data model for WSON TE tunnel. This document provides a YANG data model for WSON TE tunnel.
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
the provisions of BCP 78 and BCP 79. the provisions of BCP 78 and BCP 79.
skipping to change at page 1, line 50 skipping to change at page 1, line 50
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 22, 2019. This Internet-Draft will expire on April 19, 2019.
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)....................................2 1.1. Terminology...............................................3
3. TE Tunnel Model for WSON......................................17 1.2. Tree diagram..............................................3
4. Security Considerations.......................................41 1.3. Prefixes in Data Node Names...............................3
5. IANA Considerations...........................................41 2. YANG Model (Tree Structure)....................................4
6. Acknowledgments...............................................42 3. TE Tunnel Model for WSON......................................20
7. References....................................................43 4. Security Considerations.......................................44
7.1. Normative References.....................................43 5. IANA Considerations...........................................44
7.2. Informative References...................................43 6. Acknowledgments...............................................45
8. Contributors..................................................43 7. References....................................................46
Authors' Addresses...............................................43 7.1. Normative References.....................................46
7.2. Informative References...................................46
8. Contributors..................................................47
Authors' Addresses...............................................47
1. Introduction 1. Introduction
This document provides a YANG data model for WSON tunnel model. The This document provides a YANG data model for WSON tunnel model. The
YANG model described in this document is a WSON technology-specific YANG model described in this document is a WSON technology-specific
Yang Tunnel model based on the information model developed in Yang Tunnel model based on the information model developed in
[RFC7446] and the two encoding documents [RFC7581] and [RFC7579] [RFC7446] and the two encoding documents [RFC7581] and [RFC7579]
that developed protocol independent encodings based on [RFC7446]. that developed protocol independent encodings based on [RFC7446].
This document augments the generic TE tunnel model [TE-Tunnel]. This document augments the generic TE tunnel model [TE-Tunnel].
1.1. Terminology
Refer to [RFC7446] and [RFC7581] for the key terms used in this
document.
The following terms are defined in [RFC7950] and are not redefined
here:
o client
o server
o augment
o data model
o data node
The following terms are defined in [RFC6241] and are not redefined
here:
o configuration data
o state data
The terminology for describing YANG data models is found in
[RFC7950].
1.2. Tree diagram
A simplified graphical representation of the data model is used in
chapter 2 of this this document. The meaning of the symbols in
these diagrams is defined in [RFC8340].
1.3. Prefixes in Data Node Names
In this document, names of data nodes and other data model objects
are prefixed using the standard prefix associated with the
corresponding YANG imported modules, as shown in Table 1.
+-------------+--------------------------+-----------------+
| Prefix | YANG module | Reference |
+-------------+--------------------------+-----------------+
| layer0-types| ietf-layer0-types | [WSON-TOPO] |
| wson-tunnel | ietf-wson-tunnel | [RFCXXXX] |
| tepc | ietf-te-path-computation | [TE-PC] |
| te | ietf-te | [TE-Tunnel] |
| otn-types | ietf-otn-types | [OTN-TOPO] |
+-------------+--------------------------+-----------------+
Table 1: Prefixes and corresponding YANG modules
Note: The RFC Editor will replace XXXX with the number assigned to
the RFC once this draft becomes an RFC.
2. YANG Model (Tree Structure) 2. YANG Model (Tree Structure)
module: ietf-wson-tunnel module: ietf-wson-tunnel
augment /te:te/te:tunnels/te:tunnel: augment /te:te/te:tunnels/te:tunnel:
+--rw src-client-signal? identityref +--rw src-client-signal? identityref
+--rw dst-client-signal? identityref +--rw dst-client-signal? identityref
+--rw fec-type? identityref +--rw fec-type? identityref
+--rw termination-type? identityref +--rw termination-type? identityref
+--rw bit-stuffing? boolean +--rw bit-stuffing? boolean
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:te-bandwidth/te:technology: constraint/te:te-bandwidth/te:technology:
+--:(wson) +--:(wson)
skipping to change at page 3, line 36 skipping to change at page 5, line 4
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:te-bandwidth/te:technology: path/te:te-bandwidth/te:technology:
+--:(wson) +--:(wson)
+--rw bandwidth-type? identityref +--rw bandwidth-type? identityref
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:explicit-route-objects/te:route-object-exclude- constraint/te:explicit-route-objects/te:route-object-exclude-
always/te:type/te:label/te:label-hop/te:te-label/te:technology: always/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:explicit-route-objects/te:route-object-include- constraint/te:explicit-route-objects/te:route-object-include-
exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label- constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction: restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label- constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label- constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label- constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction: restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label- constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
skipping to change at page 4, line 39 skipping to change at page 6, line 16
constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label- constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction: restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label- constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label- constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label- constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction: restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label- constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label- constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label- constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction: restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label- constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:globals/te:named-path-constraints/te:named-path- augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label- constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:optimizations/te:algorithm/te:metric/te:optimization- path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-exclude-objects/te:route-object-exclude- metric/te:explicit-route-exclude-objects/te:route-object-exclude-
object/te:type/te:label/te:label-hop/te:te-label/te:technology: object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:optimizations/te:algorithm/te:metric/te:optimization- path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-include-objects/te:route-object-include- metric/te:explicit-route-include-objects/te:route-object-include-
object/te:type/te:label/te:label-hop/te:te-label/te:technology: object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:explicit-route-objects/te:route-object-exclude- path/te:explicit-route-objects/te:route-object-exclude-
always/te:type/te:label/te:label-hop/te:te-label/te:technology: always/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:explicit-route-objects/te:route-object-include- path/te:explicit-route-objects/te:route-object-include-
exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label-restriction: path/te:path-in-segment/te:forward/te:label-restrictions/te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label- path/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label- path/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-restriction: path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label- path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label- path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label- path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction: restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label- path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label- path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction: restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:state/te:path-properties/te:path-route-objects/te:path-computed-route- path/te:state/te:path-properties/te:path-route-objects/te:path-computed-route-
object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology: object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--ro (grid-type)? +--ro (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--ro channel-freq? decimal64 | +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro channel-freq? frequency-thz
| +--:(super)
| +--ro subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--ro channel-wavelength? uint32 +--ro channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/te:record-route- path/te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/te:record-route-
subobject/te:type/te:label/te:label-hop/te:te-label/te:technology: subobject/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--ro (grid-type)? +--ro (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--ro channel-freq? decimal64 | +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro channel-freq? frequency-thz
| +--:(super)
| +--ro subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--ro channel-wavelength? uint32 +--ro channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:state/te:lsps/te:lsp/te:path-properties/te:path-route-objects/te:path- path/te:state/te:lsps/te:lsp/te:path-properties/te:path-route-objects/te:path-
computed-route-object/te:state/te:type/te:label/te:label-hop/te:te- computed-route-object/te:state/te:type/te:label/te:label-hop/te:te-
label/te:technology: label/te:technology:
+--:(wson) +--:(wson)
+--ro (grid-type)? +--ro (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--ro channel-freq? decimal64 | +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro channel-freq? frequency-thz
| +--:(super)
| +--ro subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--ro channel-wavelength? uint32 +--ro channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary- path/te:p2p-reverse-primary-
path/te:optimizations/te:algorithm/te:metric/te:optimization- path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-exclude-objects/te:route-object-exclude- metric/te:explicit-route-exclude-objects/te:route-object-exclude-
object/te:type/te:label/te:label-hop/te:te-label/te:technology: object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary- path/te:p2p-reverse-primary-
path/te:optimizations/te:algorithm/te:metric/te:optimization- path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-include-objects/te:route-object-include- metric/te:explicit-route-include-objects/te:route-object-include-
object/te:type/te:label/te:label-hop/te:te-label/te:technology: object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:explicit-route-objects/te:route-object- path/te:p2p-reverse-primary-path/te:explicit-route-objects/te:route-object-
exclude-always/te:type/te:label/te:label-hop/te:te-label/te:technology: exclude-always/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:explicit-route-objects/te:route-object- path/te:p2p-reverse-primary-path/te:explicit-route-objects/te:route-object-
include-exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: include-exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label- path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label-
restrictions/te:label-restriction: restrictions/te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label- path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label- path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label-
restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: restrictions/te:label-restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label- path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label-
restrictions/te:label-restriction: restrictions/te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label- path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label- path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label-
restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: restrictions/te:label-restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label- path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label-
restrictions/te:label-restriction: restrictions/te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label- path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label- path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label-
restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: restrictions/te:label-restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label- path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label-
restrictions/te:label-restriction: restrictions/te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label- path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
skipping to change at page 12, line 16 skipping to change at page 14, line 34
path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label- path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label-
restrictions/te:label-restriction: restrictions/te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label- path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label- path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label-
restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: restrictions/te:label-restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:state/te:path-properties/te:path-route- path/te:p2p-reverse-primary-path/te:state/te:path-properties/te:path-route-
objects/te:path-computed-route-object/te:state/te:type/te:label/te:label- objects/te:path-computed-route-object/te:state/te:type/te:label/te:label-
hop/te:te-label/te:technology: hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--ro (grid-type)? +--ro (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--ro channel-freq? decimal64 | +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro channel-freq? frequency-thz
| +--:(super)
| +--ro subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--ro channel-wavelength? uint32 +--ro channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:state/te:lsps/te:lsp/te:lsp-record-route- path/te:p2p-reverse-primary-path/te:state/te:lsps/te:lsp/te:lsp-record-route-
subobjects/te:record-route-subobject/te:type/te:label/te:label-hop/te:te- subobjects/te:record-route-subobject/te:type/te:label/te:label-hop/te:te-
label/te:technology: label/te:technology:
+--:(wson) +--:(wson)
+--ro (grid-type)? +--ro (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--ro channel-freq? decimal64 | +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro channel-freq? frequency-thz
| +--:(super)
| +--ro subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--ro channel-wavelength? uint32 +--ro channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:state/te:lsps/te:lsp/te:path- path/te:p2p-reverse-primary-path/te:state/te:lsps/te:lsp/te:path-
properties/te:path-route-objects/te:path-computed-route- properties/te:path-route-objects/te:path-computed-route-
object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology: object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--ro (grid-type)? +--ro (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--ro channel-freq? decimal64 | +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro channel-freq? frequency-thz
| +--:(super)
| +--ro subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--ro channel-wavelength? uint32 +--ro channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:optimizations/te:algorithm/te:metric/te:optimization- path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-exclude-objects/te:route-object-exclude- metric/te:explicit-route-exclude-objects/te:route-object-exclude-
object/te:type/te:label/te:label-hop/te:te-label/te:technology: object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:optimizations/te:algorithm/te:metric/te:optimization- path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-include-objects/te:route-object-include- metric/te:explicit-route-include-objects/te:route-object-include-
object/te:type/te:label/te:label-hop/te:te-label/te:technology: object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:explicit-route-objects/te:route-object-exclude- path/te:explicit-route-objects/te:route-object-exclude-
always/te:type/te:label/te:label-hop/te:te-label/te:technology: always/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:explicit-route-objects/te:route-object-include- path/te:explicit-route-objects/te:route-object-include-
exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw channel-freq? frequency-thz
| +--:(super)
| +--rw subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label-restriction: path/te:path-in-segment/te:forward/te:label-restrictions/te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label- path/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label- path/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-restriction: path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label- path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label- path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label- path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction: restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label- path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
skipping to change at page 15, line 16 skipping to change at page 18, line 18
path/te:path-out-segment/te:forward/te:label-restrictions/te:label- path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction: restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label- path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label- path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction: restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology: restriction/te:label-start/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology: restriction/te:label-end/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--rw (grid-type)? +--rw (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--rw channel-freq? decimal64 | +--rw channel-freq? frequency-thz
+--:(cwdm) +--:(cwdm)
+--rw channel-wavelength? uint32 +--rw channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:state/te:path-properties/te:path-route-objects/te:path-computed-route- path/te:state/te:path-properties/te:path-route-objects/te:path-computed-route-
object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology: object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--ro (grid-type)? +--ro (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--ro channel-freq? decimal64 | +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro channel-freq? frequency-thz
| +--:(super)
| +--ro subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--ro channel-wavelength? uint32 +--ro channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/te:record-route- path/te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/te:record-route-
subobject/te:type/te:label/te:label-hop/te:te-label/te:technology: subobject/te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(wson) +--:(wson)
+--ro (grid-type)? +--ro (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--ro channel-freq? decimal64 | +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro channel-freq? frequency-thz
| +--:(super)
| +--ro subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--ro channel-wavelength? uint32 +--ro channel-wavelength? uint32
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:state/te:lsps/te:lsp/te:path-properties/te:path-route-objects/te:path- path/te:state/te:lsps/te:lsp/te:path-properties/te:path-route-objects/te:path-
computed-route-object/te:state/te:type/te:label/te:label-hop/te:te- computed-route-object/te:state/te:type/te:label/te:label-hop/te:te-
label/te:technology: label/te:technology:
+--:(wson) +--:(wson)
+--ro (grid-type)? +--ro (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--ro channel-freq? decimal64 | +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro channel-freq? frequency-thz
| +--:(super)
| +--ro subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--ro channel-wavelength? uint32 +--ro channel-wavelength? uint32
augment /te:te/te:lsps-state/te:lsp/te:lsp-record-route- augment /te:te/te:lsps-state/te:lsp/te:lsp-record-route-
subobjects/te:record-route-subobject/te:type/te:label/te:label-hop/te:te- subobjects/te:record-route-subobject/te:type/te:label/te:label-hop/te:te-
label/te:technology: label/te:technology:
+--:(wson) +--:(wson)
+--ro (grid-type)? +--ro (grid-type)?
+--:(dwdm) +--:(dwdm)
| +--ro channel-freq? decimal64 | +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro channel-freq? frequency-thz
| +--:(super)
| +--ro subcarrier-channels* frequency-thz
+--:(cwdm) +--:(cwdm)
+--ro channel-wavelength? uint32 +--ro channel-wavelength? uint32
augment /te:tunnels-rpc/te:input/te:tunnel-info/tepc:path-request: augment /te:tunnels-rpc/te:input/te:tunnel-info/tepc:path-request:
+---- src-client-signal? identityref +---- src-client-signal? identityref
+---- dst-client-signal? identityref +---- dst-client-signal? identityref
+---- fec-type? identityref +---- fec-type? identityref
+---- termination-type? identityref +---- termination-type? identityref
+---- bit-stuffing? boolean +---- bit-stuffing? boolean
+---- wavelength-assignment? identityref +---- wavelength-assignment? identityref
3. TE Tunnel Model for WSON 3. TE Tunnel Model for WSON
<CODE BEGINS> file "ietf-wson-tunnel@2018-08-15.yang" <CODE BEGINS> file "ietf-wson-tunnel@2018-10-15.yang"
module ietf-wson-tunnel { module ietf-wson-tunnel {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-wson-tunnel"; namespace "urn:ietf:params:xml:ns:yang:ietf-wson-tunnel";
prefix "wson-tunnel"; prefix "wson-tunnel";
import ietf-te { prefix "te"; } import ietf-te { prefix "te"; }
import ietf-te-wson-types{ prefix "wson-types"; } import ietf-layer0-types{ prefix "layer0-types"; }
import ietf-te-path-computation { prefix "tepc"; } import ietf-te-path-computation { prefix "tepc"; }
import ietf-otn-types { prefix "otn-types";} import ietf-otn-types { prefix "otn-types";}
organization organization
"IETF CCAMP Working Group"; "IETF CCAMP Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/ccamp/> "WG Web: <http://tools.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org> WG List: <mailto:ccamp@ietf.org>
skipping to change at page 17, line 40 skipping to change at page 21, line 19
WG Chair: Fatai Zhang WG Chair: Fatai Zhang
<mailto:zhangfatai@huawei.com> <mailto:zhangfatai@huawei.com>
Editor: Young Lee <leeyoung@huawei.com> Editor: Young Lee <leeyoung@huawei.com>
Editor: Aihua Guo <aihuaguo@huawei.com> Editor: Aihua Guo <aihuaguo@huawei.com>
Editor: Dhruv Dhody <dhruv.ietf@gmail.com> Editor: Dhruv Dhody <dhruv.ietf@gmail.com>
Editor: Ricard Vilalta <ricard.vilalta@cttc.es>"; Editor: Ricard Vilalta <ricard.vilalta@cttc.es>";
description description
"This module defines a model for WSON Tunnel Services."; "This module defines a model for WSON Tunnel Services.";
revision "2018-08-15" { revision "2018-10-15" {
description description
"Updates to version 1"; "Updates to version 2";
reference "version 1"; reference "version 2";
} }
/* Groupings. */ /* Groupings. */
grouping wson-tunnel-attributes { grouping wson-tunnel-attributes {
description "Parameters for WSON tunnel."; description "Parameters for WSON tunnel.";
leaf src-client-signal { leaf src-client-signal {
type identityref { type identityref {
base otn-types:client-signal; base otn-types:client-signal;
} }
skipping to change at page 18, line 31 skipping to change at page 22, line 5
type identityref { type identityref {
base otn-types:client-signal; base otn-types:client-signal;
} }
description description
"Client signal at the destination endpoint of "Client signal at the destination endpoint of
the tunnel."; the tunnel.";
} }
leaf fec-type { leaf fec-type {
type identityref { type identityref {
base wson-types:fec-type; base layer0-types:fec-type;
} }
description description
"FEC type."; "FEC type.";
} }
leaf termination-type { leaf termination-type {
type identityref { type identityref {
base wson-types:term-type; base layer0-types:term-type;
} }
description description
"Termination type."; "Termination type.";
} }
leaf bit-stuffing { leaf bit-stuffing {
type boolean; type boolean;
description description
"Bit stuffing enabled/disabled."; "Bit stuffing enabled/disabled.";
} }
skipping to change at page 19, line 4 skipping to change at page 22, line 24
} }
description description
"Termination type."; "Termination type.";
} }
leaf bit-stuffing { leaf bit-stuffing {
type boolean; type boolean;
description description
"Bit stuffing enabled/disabled."; "Bit stuffing enabled/disabled.";
} }
} }
grouping wson-path-constraints { grouping wson-path-constraints {
description description
"Global named path constraints configuration "Global named path constraints configuration
grouping for WSON tunnel"; grouping for WSON tunnel";
leaf wavelength-assignment { leaf wavelength-assignment {
type identityref { type identityref {
base wson-types:wavelength-assignment; base layer0-types:wavelength-assignment;
} }
description "Wavelength Allocation Method"; description "Wavelength Allocation Method";
} }
} }
/* /*
* Data nodes * Data nodes
*/ */
augment "/te:te/te:tunnels/te:tunnel" { augment "/te:te/te:tunnels/te:tunnel" {
skipping to change at page 19, line 40 skipping to change at page 23, line 14
/* /*
* Augment TE bandwidth * Augment TE bandwidth
*/ */
/* Augment bandwidth of named-path-constraints */ /* Augment bandwidth of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/" + "te:named-path-constraint/"
+ "te:te-bandwidth/te:technology" { + "te:te-bandwidth/te:technology" {
description "WSON bandwidth."; description "WSON bandwidth.";
case wson { case wson {
uses wson-types:wson-path-bandwidth; uses layer0-types:wson-path-bandwidth;
} }
} }
/* Augment bandwdith of tunnel */ /* Augment bandwdith of tunnel */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:te-bandwidth/te:technology" { + "te:te-bandwidth/te:technology" {
description "WSON bandwidth."; description "WSON bandwidth.";
case wson { case wson {
uses wson-types:wson-path-bandwidth; uses layer0-types:wson-path-bandwidth;
} }
} }
/* Augment bandwidth of primary path */ /* Augment bandwidth of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:te-bandwidth/te:technology" { + "te:te-bandwidth/te:technology" {
description "WSON bandwidth."; description "WSON bandwidth.";
case wson { case wson {
uses wson-types:wson-path-bandwidth; uses layer0-types:wson-path-bandwidth;
} }
} }
/* Augment bandwidth of reverse primary path */ /* Augment bandwidth of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:te-bandwidth/te:technology" { + "te:te-bandwidth/te:technology" {
description "WSON bandwidth."; description "WSON bandwidth.";
case wson { case wson {
uses wson-types:wson-path-bandwidth; uses layer0-types:wson-path-bandwidth;
} }
} }
/* Augment bandwidht of secondary path */ /* Augment bandwidht of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:te-bandwidth/te:technology" { + "te:te-bandwidth/te:technology" {
description "WSON bandwidth."; description "WSON bandwidth.";
case wson { case wson {
uses wson-types:wson-path-bandwidth; uses layer0-types:wson-path-bandwidth;
} }
} }
/* /*
* Augment TE label. * Augment TE label.
*/ */
/* Augment label hop of route-object-exclude-always of named-path- /* Augment label hop of route-object-exclude-always of named-path-
constraints */ constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:explicit-route-objects/" + "te:named-path-constraint/te:explicit-route-objects/"
+ "te:route-object-exclude-always/te:type/te:label/" + "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-object-include-exclude of named-path- /* Augment label hop of route-object-include-exclude of named-path-
constraints */ constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:explicit-route-objects/" + "te:named-path-constraint/te:explicit-route-objects/"
+ "te:route-object-include-exclude/te:type/te:label/" + "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label restrictions for the forwarding direction of path-in- /* Augment label restrictions for the forwarding direction of path-in-
segment of named-path-constraints */ segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/" + "te:named-path-constraint/te:path-in-segment/"
+ "te:forward/te:label-restrictions/" + "te:forward/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of path-in- /* Augment label restrictions start for the forwarding direction of path-in-
segment of named-path-constraints */ segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/" + "te:named-path-constraint/te:path-in-segment/"
+ "te:forward/te:label-restrictions/" + "te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of path-in- /* Augment label restrictions end for the forwarding direction of path-in-
segment of named-path-constraints */ segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/" + "te:named-path-constraint/te:path-in-segment/"
+ "te:forward/te:label-restrictions/" + "te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of path-in-segment /* Augment label restrictions for the reverse direction of path-in-segment
of named-path-constraints */ of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/" + "te:named-path-constraint/te:path-in-segment/"
+ "te:reverse/te:label-restrictions/" + "te:reverse/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of path-in- /* Augment label restrictions start for the reverse direction of path-in-
segment of named-path-constraints */ segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/" + "te:named-path-constraint/te:path-in-segment/"
+ "te:reverse/te:label-restrictions/" + "te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of path-in- /* Augment label restrictions end for the reverse direction of path-in-
segment of named-path-constraints */ segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/" + "te:named-path-constraint/te:path-in-segment/"
+ "te:reverse/te:label-restrictions/" + "te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the forwarding direction of path-out- /* Augment label restrictions for the forwarding direction of path-out-
segment of named-path-constraints */ segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/" + "te:named-path-constraint/te:path-out-segment/"
+ "te:forward/te:label-restrictions/" + "te:forward/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of path- /* Augment label restrictions start for the forwarding direction of path-
out-segment of named-path-constraints */ out-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/" + "te:named-path-constraint/te:path-out-segment/"
+ "te:forward/te:label-restrictions/" + "te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of path-out- /* Augment label restrictions end for the forwarding direction of path-out-
segment of named-path-constraints */ segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/" + "te:named-path-constraint/te:path-out-segment/"
+ "te:forward/te:label-restrictions/" + "te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of path-out-segment /* Augment label restrictions for the reverse direction of path-out-segment
of named-path-constraints */ of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/" + "te:named-path-constraint/te:path-out-segment/"
+ "te:reverse/te:label-restrictions/" + "te:reverse/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of path-out- /* Augment label restrictions start for the reverse direction of path-out-
segment of named-path-constraints */ segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/" + "te:named-path-constraint/te:path-out-segment/"
+ "te:reverse/te:label-restrictions/" + "te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of path-out- /* Augment label restrictions end for the reverse direction of path-out-
segment of named-path-constraints */ segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/" + "te:named-path-constraint/te:path-out-segment/"
+ "te:reverse/te:label-restrictions/" + "te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label hop of route-exclude of primary path */ /* Augment label hop of route-exclude of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-exclude-objects/" + "te:optimization-metric/te:explicit-route-exclude-objects/"
+ "te:route-object-exclude-object/te:type/te:label/" + "te:route-object-exclude-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-include of primary path */ /* Augment label hop of route-include of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-include-objects/" + "te:optimization-metric/te:explicit-route-include-objects/"
+ "te:route-object-include-object/te:type/te:label/" + "te:route-object-include-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-object-exclude-always of primary path */ /* Augment label hop of route-object-exclude-always of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects/"
+ "te:route-object-exclude-always/te:type/te:label/" + "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-object-include-exclude of primary path */ /* Augment label hop of route-object-include-exclude of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects/"
+ "te:route-object-include-exclude/te:type/te:label/" + "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label restrictions for the forwarding direction of path-in- /* Augment label restrictions for the forwarding direction of path-in-
segment of primary path */ segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of path-in- /* Augment label restrictions start for the forwarding direction of path-in-
segment of primary path */ segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of path-in- /* Augment label restrictions end for the forwarding direction of path-in-
segment of primary path */ segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of path-in-segment /* Augment label restrictions for the reverse direction of path-in-segment
of primary path */ of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/" + "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of path-in- /* Augment label restrictions start for the reverse direction of path-in-
segment of primary path */ segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/" + "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of path-in- /* Augment label restrictions end for the reverse direction of path-in-
segment of primary path */ segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/" + "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the forwarding direction of path-out- /* Augment label restrictions for the forwarding direction of path-out-
segment of primary path */ segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of path- /* Augment label restrictions start for the forwarding direction of path-
out-segment of primary path */ out-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of path-out- /* Augment label restrictions end for the forwarding direction of path-out-
segment of primary path */ segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of path-out-segment /* Augment label restrictions for the reverse direction of path-out-segment
of primary path */ of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of path-out- /* Augment label restrictions start for the reverse direction of path-out-
segment of primary path */ segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of path-out- /* Augment label restrictions end for the reverse direction of path-out-
segment of primary path */ segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label hop of path-route of primary path */ /* Augment label hop of path-route of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:state/te:path-properties/" + "te:state/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/" + "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/" + "te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of record-route of primary LSP */ /* Augment label hop of record-route of primary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/" + "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/"
+ "te:record-route-subobject/te:type/te:label/" + "te:record-route-subobject/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of path-route of primary LSP */ /* Augment label hop of path-route of primary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:state/te:lsps/te:lsp/te:path-properties/" + "te:state/te:lsps/te:lsp/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/" + "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/" + "te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-exclude of reverse primary path */ /* Augment label hop of route-exclude of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-exclude-objects/" + "te:optimization-metric/te:explicit-route-exclude-objects/"
+ "te:route-object-exclude-object/te:type/te:label/" + "te:route-object-exclude-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-include of reverse primary path */ /* Augment label hop of route-include of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-include-objects/" + "te:optimization-metric/te:explicit-route-include-objects/"
+ "te:route-object-include-object/te:type/te:label/" + "te:route-object-include-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
skipping to change at page 30, line 17 skipping to change at page 33, line 35
/* Augment label hop of route-include of reverse primary path */ /* Augment label hop of route-include of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-include-objects/" + "te:optimization-metric/te:explicit-route-include-objects/"
+ "te:route-object-include-object/te:type/te:label/" + "te:route-object-include-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-object-exclude-always of reverse primary path /* Augment label hop of route-object-exclude-always of reverse primary path
*/ */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects/"
+ "te:route-object-exclude-always/" + "te:route-object-exclude-always/"
+ "te:type/te:label/" + "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-object-include-exclude of reverse primary path /* Augment label hop of route-object-include-exclude of reverse primary path
*/ */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects/"
+ "te:route-object-include-exclude/" + "te:route-object-include-exclude/"
+ "te:type/te:label/" + "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label restrictions for the forwarding direction of path-in- /* Augment label restrictions for the forwarding direction of path-in-
segment of reverse primary path */ segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of path-in- /* Augment label restrictions start for the forwarding direction of path-in-
segment of reverse primary path */ segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of path-in- /* Augment label restrictions end for the forwarding direction of path-in-
segment of reverse primary path */ segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
skipping to change at page 31, line 39 skipping to change at page 35, line 14
/* Augment label restrictions end for the forwarding direction of path-in- /* Augment label restrictions end for the forwarding direction of path-in-
segment of reverse primary path */ segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of path-in-segment /* Augment label restrictions for the reverse direction of path-in-segment
of reverse primary path */ of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/" + "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of path-in- /* Augment label restrictions start for the reverse direction of path-in-
segment of reverse primary path */ segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/" + "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of path-in- /* Augment label restrictions end for the reverse direction of path-in-
segment of reverse primary path */ segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/" + "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the forwarding direction of path-out- /* Augment label restrictions for the forwarding direction of path-out-
segment of reverse primary path */ segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of path- /* Augment label restrictions start for the forwarding direction of path-
out-segment of reverse primary path */ out-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
skipping to change at page 33, line 14 skipping to change at page 36, line 33
/* Augment label restrictions start for the forwarding direction of path- /* Augment label restrictions start for the forwarding direction of path-
out-segment of reverse primary path */ out-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of path-out- /* Augment label restrictions end for the forwarding direction of path-out-
segment of reverse primary path */ segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of path-out-segment /* Augment label restrictions for the reverse direction of path-out-segment
of reverse primary path */ of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
skipping to change at page 33, line 40 skipping to change at page 37, line 15
} }
/* Augment label restrictions for the reverse direction of path-out-segment /* Augment label restrictions for the reverse direction of path-out-segment
of reverse primary path */ of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of path-out- /* Augment label restrictions start for the reverse direction of path-out-
segment of reverse primary path */ segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of path-out- /* Augment label restrictions end for the reverse direction of path-out-
segment of reverse primary path */ segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label hop of path-route of reverse primary path */ /* Augment label hop of path-route of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:state/te:path-properties/" + "te:state/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/" + "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/" + "te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of record-route of reverse primary LSP */ /* Augment label hop of record-route of reverse primary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/" + "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/"
+ "te:record-route-subobject/te:type/te:label/" + "te:record-route-subobject/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of path-route of reverse primary LSP */ /* Augment label hop of path-route of reverse primary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-reverse-primary-path/"
+ "te:state/te:lsps/te:lsp/te:path-properties/" + "te:state/te:lsps/te:lsp/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/" + "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/" + "te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-exclude of secondary path */ /* Augment label hop of route-exclude of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-exclude-objects/" + "te:optimization-metric/te:explicit-route-exclude-objects/"
+ "te:route-object-exclude-object/te:type/te:label/" + "te:route-object-exclude-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-include of secondary path */ /* Augment label hop of route-include of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-include-objects/" + "te:optimization-metric/te:explicit-route-include-objects/"
+ "te:route-object-include-object/te:type/te:label/" + "te:route-object-include-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-object-exclude-always of secondary path */ /* Augment label hop of route-object-exclude-always of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects/"
+ "te:route-object-exclude-always/te:type/te:label/" + "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of route-object-include-exclude of secondary path */ /* Augment label hop of route-object-include-exclude of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects/"
+ "te:route-object-include-exclude/te:type/te:label/" + "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label restrictions for the forwarding direction of path-in- /* Augment label restrictions for the forwarding direction of path-in-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of path-in- /* Augment label restrictions start for the forwarding direction of path-in-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of path-in- /* Augment label restrictions end for the forwarding direction of path-in-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of path-in-segment /* Augment label restrictions for the reverse direction of path-in-segment
of secondary path */ of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/" + "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of path-in- /* Augment label restrictions start for the reverse direction of path-in-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/" + "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of path-in- /* Augment label restrictions end for the reverse direction of path-in-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/" + "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the forwarding direction of path-out- /* Augment label restrictions for the forwarding direction of path-out-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of path- /* Augment label restrictions start for the forwarding direction of path-
out-segment of secondary path */ out-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of path-out- /* Augment label restrictions end for the forwarding direction of path-out-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
skipping to change at page 38, line 41 skipping to change at page 42, line 16
/* Augment label restrictions end for the forwarding direction of path-out- /* Augment label restrictions end for the forwarding direction of path-out-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of path-out-segment /* Augment label restrictions for the reverse direction of path-out-segment
of secondary path */ of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses wson-types:wson-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of path-out- /* Augment label restrictions start for the reverse direction of path-out-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of path-out- /* Augment label restrictions end for the reverse direction of path-out-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
skipping to change at page 39, line 30 skipping to change at page 43, line 4
} }
} }
/* Augment label restrictions end for the reverse direction of path-out- /* Augment label restrictions end for the reverse direction of path-out-
segment of secondary path */ segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label hop of path-route of secondary path */ /* Augment label hop of path-route of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:state/te:path-properties/te:path-route-objects/" + "te:state/te:path-properties/te:path-route-objects/"
+ "te:path-computed-route-object/te:state/te:type/te:label/" + "te:path-computed-route-object/te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of record-route of secondary LSP */ /* Augment label hop of record-route of secondary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/" + "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/"
+ "te:record-route-subobject/te:type/te:label/" + "te:record-route-subobject/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of path-route of secondary LSP */ /* Augment label hop of path-route of secondary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:state/te:lsps/te:lsp/te:path-properties/" + "te:state/te:lsps/te:lsp/te:path-properties/"
+ "te:path-route-objects/" + "te:path-route-objects/"
+ "te:path-computed-route-object/te:state/te:type/te:label/" + "te:path-computed-route-object/te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label hop of record-route of LSP */ /* Augment label hop of record-route of LSP */
augment "/te:te/te:lsps-state/" augment "/te:te/te:lsps-state/"
+ "te:lsp/te:lsp-record-route-subobjects/" + "te:lsp/te:lsp-record-route-subobjects/"
+ "te:record-route-subobject/te:type/te:label/" + "te:record-route-subobject/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "WSON label."; description "WSON label.";
case wson { case wson {
uses wson-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
augment "/te:tunnels-rpc/te:input/te:tunnel-info/" augment "/te:tunnels-rpc/te:input/te:tunnel-info/"
+ "tepc:path-request" { + "tepc:path-request" {
description description
"Augment with additional constraints WSON "Augment with additional constraints WSON
tunnel."; tunnel.";
uses wson-tunnel-attributes; uses wson-tunnel-attributes;
uses wson-path-constraints; uses wson-path-constraints;
skipping to change at page 43, line 14 skipping to change at page 46, line 14
7. References 7. References
7.1. Normative References 7.1. Normative References
[TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work
in progress: draft-ietf-teas-yang-te-topo. in progress: draft-ietf-teas-yang-te-topo.
7.2. Informative References 7.2. Informative References
[RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and [RFC3688] M. Mealling, "The IETF XML Registry", RFC 3688, January
2004.
[RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, June 2011.
[RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and
Wavelength Assignment Information Model for Wavelength Wavelength Assignment Information Model for Wavelength
Switched Optical Networks", RFC 7446, Feburary 2015. Switched Optical Networks", RFC 7446, Feburary 2015.
[RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General Network
Network Element Constraint Encoding for GMPLS Controlled Element Constraint Encoding for GMPLS Controlled
Networks", RFC 7579, June 2015. Networks", RFC 7579, June 2015.
[RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and
Wavelength Assignment Information Encoding for Wavelength Wavelength Assignment Information Encoding for Wavelength
Switched Optical Networks", RFC 7581, June 2015. Switched Optical Networks", RFC 7581, June 2015.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, August 2016.
[RFC8340] M. Bjorklund and L. Berger, Ed., "YANG Tree Diagrams", RFC
8340, March 2018.
[TE-Tunnel] T. Saad, Ed., X. Liu, V. Beeram, H. Shah, and I.
Bryskin, "A YANG Data Model for Traffic Engineering
Tunnels and Interfaces", draft-ietf-teas-yang-te-16, work
in progress.
[WSON-Topo] Y. Lee, Ed., D. Dhody, A. Guo, V. Lopez, D. King, B.
Yoon, and R. Vilalta, "A Yang Data Model for WSON Optical
Networks", draft-ietf-ccamp-wson-yang-13, work in
progress.
[TE-PC] Italo Busi (Ed.), Sergio Belotti (Ed.), "Yang model for
requesting Path Computation", draft-ietf-teas-yang-path-
computation-02, work in progress.
[OTN-Topo] H. Zheng, et al, "A YANG Data Model for Optical Transport
Network Topology", draft-ietf-ccamp-otn-topo-yang-02, work
in progress.
8. Contributors 8. Contributors
Italo Busi Italo Busi
Huawei Huawei
Email: Italo.Busi@huawei.com Email: Italo.Busi@huawei.com
Authors' Addresses Authors' Addresses
Young Lee (ed.) Young Lee (ed.)
Huawei Technologies Huawei Technologies
 End of changes. 196 change blocks. 
195 lines changed or deleted 382 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/