draft-ietf-ccamp-wson-tunnel-model-03.txt   draft-ietf-ccamp-wson-tunnel-model-04.txt 
CCAMP Working Group Y. Lee
Internet Draft D. Dhody
Intended status: Standard Track A. Guo
Expires: September 7, 2019 Huawei
V. Lopez
Telefonica
D. King CCAMP Working Group Y. Lee
U. of Lancaster Internet-Draft SKKU
Intended status: Standards Track H. Zheng
B. Yoon Expires: March 14, 2020 Huawei Technologies
A. Guo
Individual
V. Lopez
Telefonica
D. King
Univ. of Lancaster
B. Yoon
ETRI ETRI
R. Vilalta R. Vilalta
CTTC CTTC
September 11, 2019
March 7, 2019 A Yang Data Model for WSON Tunnel
draft-ietf-ccamp-wson-tunnel-model-04
A Yang Data Model for WSON Tunnel
draft-ietf-ccamp-wson-tunnel-model-03
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 in full conformance with the
the provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF). Note that other groups may also distribute
other groups may also distribute working documents as Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at Internet-Drafts are draft documents valid for a maximum of six months
http://www.ietf.org/shadow.html and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 7, 2019. This Internet-Draft will expire on March 14, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (https://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
respect to this document. Code Components extracted from this to this document. Code Components extracted from this document must
document must include Simplified BSD License text as described in include Simplified BSD License text as described in Section 4.e of
Section 4.e of the Trust Legal Provisions and are provided without the Trust Legal Provisions and are provided without warranty as
warranty as described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction...................................................2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology...............................................3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Tree diagram..............................................3 1.2. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Prefixes in Data Node Names...............................3 1.3. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3
2. YANG Model (Tree Structure)....................................4 2. WSON Tunnel Model Description . . . . . . . . . . . . . . . . 4
3. TE Tunnel Model for WSON......................................16 2.1. Overview of WSON Tunnel Model . . . . . . . . . . . . . . 4
4. Security Considerations.......................................33 2.2. WSON-specific Parameters in Tunnel Model . . . . . . . . 4
5. IANA Considerations...........................................34 3. WSON Tunnel YANG Tree . . . . . . . . . . . . . . . . . . . . 4
6. Acknowledgments...............................................34 4. WSON Tunnel YANG Code . . . . . . . . . . . . . . . . . . . . 19
7. References....................................................35 5. Security Considerations . . . . . . . . . . . . . . . . . . . 35
7.1. Normative References.....................................35 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35
7.2. Informative References...................................35 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 36
8. Contributors..................................................36 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 36
Authors' Addresses...............................................36 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.1. Normative References . . . . . . . . . . . . . . . . . . 36
9.2. Informative References . . . . . . . . . . . . . . . . . 37
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39
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 [RFC7579] and [RFC7581] that
that developed protocol independent encodings based on [RFC7446]. 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
[I-D.ietf-teas-yang-te].
1.1. Terminology 1.1. Terminology
Refer to [RFC7446] and [RFC7581] for the key terms used in this Refer to [RFC7446] and [RFC7581] for the key terms used in this
document. document.
The following terms are defined in [RFC7950] and are not redefined The following terms are defined in [RFC7950] and are not redefined
here: here:
o client o client
o server
o server
o augment o augment
o data model o data model
o data node o data node
The following terms are defined in [RFC6241] and are not redefined The following terms are defined in [RFC6241] and are not redefined
here: here:
o configuration data o configuration data
o state data o state data
The terminology for describing YANG data models is found in The terminology for describing YANG data models is found in
[RFC7950]. [RFC7950].
1.2. Tree diagram 1.2. Tree Diagram
A simplified graphical representation of the data model is used in A simplified graphical representation of the data model is used in
chapter 2 of this this document. The meaning of the symbols in Section 3 of this this document. The meaning of the symbols in these
these diagrams is defined in [RFC8340]. diagrams is defined in [RFC8340].
1.3. Prefixes in Data Node Names 1.3. Prefixes in Data Node Names
In this document, names of data nodes and other data model objects In this document, names of data nodes and other data model objects
are prefixed using the standard prefix associated with the are prefixed using the standard prefix associated with the
corresponding YANG imported modules, as shown in Table 1. corresponding YANG imported modules. The module ietf-layer0-types
specified in [I-D.ietf-ccamp-layer0-types], ietf-layer1-types
+-------------+--------------------------+-----------------+ specified in [I-D.ietf-ccamp-layer1-types], ietf-te-path-computation
| Prefix | YANG module | Reference | specified in [I-D.ietf-teas-yang-path-computation] and ietf-te
+-------------+--------------------------+-----------------+ specified in [I-D.ietf-teas-yang-te] are imported in this module.
| 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 +-------------+-------------------+------------------------------+
| Prefix | YANG module | Reference |
+-------------+-------------------+------------------------------+
| layer0-types|ietf-layer0-types |[I-D.ietf-ccamp-layer0-types] |
| layer1-types|ietf-layer1-types |[I-D.ietf-ccamp-layer1-types] |
| tepc |ietf-te-path-computation |[I-D.ietf-teas-yang-path-computation]|
| te | ietf-te |[I-D.ietf-teas-yang-te] |
| wson-tunnel | ietf-wson-tunnel |[RFC XXXX] |
+-------------+-------------------+------------------------------+
Note: The RFC Editor will replace XXXX with the number assigned to Note: The RFC Editor will replace XXXX with the number assigned to
the RFC once this draft becomes an RFC. the RFC once this draft becomes an RFC.
2. YANG Model (Tree Structure) 2. WSON Tunnel Model Description
module: ietf-wson-tunnel 2.1. Overview of WSON Tunnel Model
augment /te:te/te:tunnels/te:tunnel:
+-rw src-client-signal? identityref
+-rw dst-client-signal? identityref
+-rw fec-type? identityref
+-rw termination-type? identityref
+-rw bit-stuffing? boolean
augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:te-bandwidth/te:technology:
+-:(wson)
+-rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology:
+-:(wson)
+-rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:te-bandwidth/te:technology:
+-:(wson)
+-rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:te-bandwidth/te:technology:
+-:(wson)
+-rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:te-bandwidth/te:technology:
+-:(wson)
+-rw bandwidth-type? identityref
augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:explicit-route-objects-always/te:route-object-exclude-
always/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:explicit-route-objects-always/te:route-object-include-
exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:label-restrictions/te:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:label-restrictions/te:label-restriction:
+-rw grid-type? identityref The WSON tunnel model is using TE tunnel [I-D.ietf-teas-yang-te] and
+-rw priority? uint8 TE types [I-D.ietf-teas-yang-te-types] as a basic model and augment
augment /te:te/te:globals/te:named-path-constraints/te:named-path- to the TE tunnel with WSON-specific parameters, including the
constraint/te:path-out-segment/te:label-restrictions/te:label- bandwidth information and label information. It is also worth noting
restriction/te:label-start/te:te-label/te:technology: that the WSON tunnel provisioning is usually based on the WSON
+-:(wson) topology. Therefore the WSON tunnel model is usually used together
+-rw (grid-type)? with WSON topology model specified in [I-D.ietf-ccamp-wson-yang].
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-exclude-objects/te:route-object-exclude-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-include-objects/te:route-object-include-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:explicit-route-objects-always/te:route-object-exclude-
always/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:explicit-route-objects-always/te:route-object-include-
exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:label-restrictions/te:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:label-restrictions/te:label-restriction/te:label-
start/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:label-restrictions/te:label-restriction/te:label-
end/te:te-label/te:technology:
+-:(wson) More scenarios and model applications can be found in
+-rw (grid-type)? [I-D.ietf-ccamp-transport-nbi-app-statement] and
+-:(dwdm) [I-D.ietf-teas-actn-yang]. The current model is following the YANG
| +-rw dwdm-n? int16 language specification as [RFC7950], and the corresponding protocol
+-:(cwdm) is recommended to be Netconf protocol in [RFC6241] or RESTconf
+-rw cwdm-n? int16 protocol in [RFC8040].
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:label-restrictions/te:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:label-restrictions/te:label-restriction/te:label-
start/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:label-restrictions/te:label-restriction/te:label-
end/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:computed-paths-properties/te:computed-path-properties/te:path-
properties/te:path-route-objects/te:path-computed-route-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-ro (grid-type)?
+-:(dwdm)
| +-ro (single-or-super-channel)?
| +-:(single)
| | +-ro dwdm-n? int16
| +-:(super)
| +-ro subcarrier-dwdm-n* int16
+-:(cwdm)
+-ro cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:lsps/te:lsp/te:lsp-record-route-information/te:lsp-record-route-
information/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson) The YANG module ietf-wson-tunnel defined in this document conforms to
+-ro (grid-type)? the Network Management Datastore Architecture (NMDA) defined in
+-:(dwdm) [RFC8342].
| +-ro (single-or-super-channel)?
| +-:(single)
| | +-ro dwdm-n? int16
| +-:(super)
| +-ro subcarrier-dwdm-n* int16
+-:(cwdm)
+-ro cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:lsps/te:lsp/te:path-properties/te:path-route-objects/te:path-computed-
route-object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-ro (grid-type)?
+-:(dwdm)
| +-ro (single-or-super-channel)?
| +-:(single)
| | +-ro dwdm-n? int16
| +-:(super)
| +-ro subcarrier-dwdm-n* int16
+-:(cwdm)
+-ro cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-exclude-objects/te:route-object-exclude-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-include-objects/te:route-object-include-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:explicit-route-objects-always/te:route-
object-exclude-always/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:explicit-route-objects-always/te:route-
object-include-exclude/te:type/te:label/te:label-hop/te:te-
label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:path-in-segment/te:label-
restrictions/te:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:path-in-segment/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:path-in-segment/te:label-
restrictions/te:label-restriction/te:label-end/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:path-out-segment/te:label-
restrictions/te:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:path-out-segment/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:path-out-segment/te:label-
restrictions/te:label-restriction/te:label-end/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:computed-paths-properties/te:computed-
path-properties/te:path-properties/te:path-route-objects/te:path-computed-
route-object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-ro (grid-type)?
+-:(dwdm)
| +-ro (single-or-super-channel)?
| +-:(single)
| | +-ro dwdm-n? int16
| +-:(super)
| +-ro subcarrier-dwdm-n* int16
+-:(cwdm)
+-ro cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:lsps/te:lsp/te:lsp-record-route-
information/te:lsp-record-route-information/te:type/te:label/te:label-
hop/te:te-label/te:technology:
+-:(wson)
+-ro (grid-type)?
+-:(dwdm)
| +-ro (single-or-super-channel)?
| +-:(single)
| | +-ro dwdm-n? int16
| +-:(super)
| +-ro subcarrier-dwdm-n* int16
+-:(cwdm)
+-ro cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-primary-reverse-path/te:lsps/te:lsp/te:path-properties/te:path-
route-objects/te:path-computed-route-object/te:type/te:label/te:label-
hop/te:te-label/te:technology:
+-:(wson)
+-ro (grid-type)?
+-:(dwdm)
| +-ro (single-or-super-channel)?
| +-:(single)
| | +-ro dwdm-n? int16
| +-:(super)
| +-ro subcarrier-dwdm-n* int16
+-:(cwdm)
+-ro cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-exclude-objects/te:route-object-exclude-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-include-objects/te:route-object-include-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:explicit-route-objects-always/te:route-object-exclude-
always/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:explicit-route-objects-always/te:route-object-include-
exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw (single-or-super-channel)?
| +-:(single)
| | +-rw dwdm-n? int16
| +-:(super)
| +-rw subcarrier-dwdm-n* int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:label-restrictions/te:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:label-restrictions/te:label-restriction/te:label-
start/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:label-restrictions/te:label-restriction/te:label-
end/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:label-restrictions/te:label-restriction:
+-rw grid-type? identityref
+-rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:label-restrictions/te:label-restriction/te:label-
start/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:label-restrictions/te:label-restriction/te:label-
end/te:te-label/te:technology:
+-:(wson)
+-rw (grid-type)?
+-:(dwdm)
| +-rw dwdm-n? int16
+-:(cwdm)
+-rw cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:computed-paths-properties/te:computed-path-properties/te:path-
properties/te:path-route-objects/te:path-computed-route-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson) 2.2. WSON-specific Parameters in Tunnel Model
+-ro (grid-type)?
+-:(dwdm)
| +-ro (single-or-super-channel)?
| +-:(single)
| | +-ro dwdm-n? int16
| +-:(super)
| +-ro subcarrier-dwdm-n* int16
+-:(cwdm)
+-ro cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:lsps/te:lsp/te:lsp-record-route-information/te:lsp-record-route-
information/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-ro (grid-type)?
+-:(dwdm)
| +-ro (single-or-super-channel)?
| +-:(single)
| | +-ro dwdm-n? int16
| +-:(super)
| +-ro subcarrier-dwdm-n* int16
+-:(cwdm)
+-ro cwdm-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:lsps/te:lsp/te:path-properties/te:path-route-objects/te:path-computed-
route-object/te:type/te:label/te:label-hop/te:te-label/te:technology:
+-:(wson)
+-ro (grid-type)?
+-:(dwdm)
| +-ro (single-or-super-channel)?
| +-:(single)
| | +-ro dwdm-n? int16
| +-:(super)
| +-ro subcarrier-dwdm-n* int16
+-:(cwdm)
+-ro cwdm-n? int16
augment /te:te/te:lsps-state/te:lsp/te:lsp-record-route-information/te:lsp-
record-route-information/te:type/te:label/te:label-hop/te:te-
label/te:technology:
+-:(wson)
+-ro (grid-type)?
+-:(dwdm)
| +-ro (single-or-super-channel)?
| +-:(single)
| | +-ro dwdm-n? int16
| +-:(super)
| +-ro subcarrier-dwdm-n* int16
+-:(cwdm)
+-ro cwdm-n? int16
augment /te:tunnels-rpc/te:input/te:tunnel-info/tepc:path-request:
+- src-client-signal? identityref
+- dst-client-signal? identityref
+- fec-type? identityref
+- termination-type? identityref
+- bit-stuffing? boolean
+- wavelength-assignment? identityref
3. TE Tunnel Model for WSON WSON specific parameters have been augmenting to the TE tunnel
models. The attributes on both of the source and destination need to
be configured when setting up the tunnel. Typical parameters,
including bandwidth and grid information, are required in the WSON
tunnel model. These parameters are consistent with the framework in
[RFC6163], and the specification in [RFC7579] and [RFC7581].
<CODE BEGINS> file "ietf-wson-tunnel@2019-03-06.yang" The WSON bandwidth information has been augmenting to various
sections of TE tunnel models, including tunnel bandwidth, primary
path bandwidth and so on. The WSON label information has been
augmenting to label hop of a group of routing objects and also LSPs.
3. WSON Tunnel YANG Tree
module: ietf-wson-tunnel
augment /te:te/te:tunnels/te:tunnel:
+--rw src-client-signal? identityref
+--rw dst-client-signal? identityref
+--rw fec-type? identityref
+--rw termination-type? identityref
+--rw bit-stuffing? boolean
augment /te:te/te:globals/te:named-path-constraints
/te:named-path-constraint/te:te-bandwidth
/te:technology:
+--:(wson)
+--rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth
/te:technology:
+--:(wson)
+--rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:te-bandwidth
/te:technology:
+--:(wson)
+--rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:te-bandwidth/te:technology:
+--:(wson)
+--rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:te-bandwidth
/te:technology:
+--:(wson)
+--rw bandwidth-type? identityref
augment /te:te/te:globals/te:named-path-constraints
/te:named-path-constraint
/te:explicit-route-objects-always
/te:route-object-exclude-always/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:globals/te:named-path-constraints
/te:named-path-constraint
/te:explicit-route-objects-always
/te:route-object-include-exclude/te:type
/te:label/te:label-hop/te:te-label
/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:globals/te:named-path-constraints
/te:named-path-constraint/te:path-in-segment
/te:label-restrictions/te:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /te:te/te:globals/te:named-path-constraints
/te:named-path-constraint/te:path-in-segment
/te:label-restrictions/te:label-restriction
/te:label-start/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:globals/te:named-path-constraints
/te:named-path-constraint/te:path-in-segment
/te:label-restrictions/te:label-restriction
/te:label-end/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:globals/te:named-path-constraints
/te:named-path-constraint/te:path-out-segment
/te:label-restrictions/te:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /te:te/te:globals/te:named-path-constraints
/te:named-path-constraint/te:path-out-segment
/te:label-restrictions/te:label-restriction
/te:label-start/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:globals/te:named-path-constraints
/te:named-path-constraint/te:path-out-segment
/te:label-restrictions/te:label-restriction
/te:label-end/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:optimizations
/te:algorithm/te:metric/te:optimization-metric
/te:explicit-route-exclude-objects
/te:route-object-exclude-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:optimizations
/te:algorithm/te:metric/te:optimization-metric
/te:explicit-route-include-objects
/te:route-object-include-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path
/te:explicit-route-objects-always
/te:route-object-exclude-always/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path
/te:explicit-route-objects-always
/te:route-object-include-exclude/te:type
/te:label/te:label-hop/te:te-label
/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:path-in-segment
/te:label-restrictions/te:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:path-in-segment
/te:label-restrictions/te:label-restriction
/te:label-start/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:path-in-segment
/te:label-restrictions/te:label-restriction
/te:label-end/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:path-out-segment
/te:label-restrictions/te:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:path-out-segment
/te:label-restrictions/te:label-restriction
/te:label-start/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:path-out-segment
/te:label-restrictions/te:label-restriction
/te:label-end/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path
/te:computed-paths-properties
/te:computed-path-properties/te:path-properties
/te:path-route-objects
/te:path-computed-route-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:lsps/te:lsp
/te:lsp-record-route-information
/te:lsp-record-route-information/te:type
/te:label/te:label-hop/te:te-label
/te:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:lsps/te:lsp
/te:path-properties/te:path-route-objects
/te:path-computed-route-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:optimizations/te:algorithm/te:metric
/te:optimization-metric
/te:explicit-route-exclude-objects
/te:route-object-exclude-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:optimizations/te:algorithm/te:metric
/te:optimization-metric
/te:explicit-route-include-objects
/te:route-object-include-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:explicit-route-objects-always
/te:route-object-exclude-always/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:explicit-route-objects-always
/te:route-object-include-exclude/te:type
/te:label/te:label-hop/te:te-label
/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:path-in-segment/te:label-restrictions
/te:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:path-in-segment/te:label-restrictions
/te:label-restriction/te:label-start/te:te-label
/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:path-in-segment/te:label-restrictions
/te:label-restriction/te:label-end/te:te-label
/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:path-out-segment/te:label-restrictions
/te:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:path-out-segment/te:label-restrictions
/te:label-restriction/te:label-start/te:te-label
/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:path-out-segment/te:label-restrictions
/te:label-restriction/te:label-end/te:te-label
/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:computed-paths-properties
/te:computed-path-properties/te:path-properties
/te:path-route-objects
/te:path-computed-route-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:lsps/te:lsp/te:lsp-record-route-information
/te:lsp-record-route-information/te:type
/te:label/te:label-hop/te:te-label
/te:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths
/te:p2p-primary-path/te:p2p-primary-reverse-path
/te:lsps/te:lsp/te:path-properties
/te:path-route-objects
/te:path-computed-route-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:optimizations
/te:algorithm/te:metric/te:optimization-metric
/te:explicit-route-exclude-objects
/te:route-object-exclude-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:optimizations
/te:algorithm/te:metric/te:optimization-metric
/te:explicit-route-include-objects
/te:route-object-include-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path
/te:explicit-route-objects-always
/te:route-object-exclude-always/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path
/te:explicit-route-objects-always
/te:route-object-include-exclude/te:type
/te:label/te:label-hop/te:te-label
/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw (single-or-super-channel)?
| +--:(single)
| | +--rw dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--rw subcarrier-dwdm-n* int16
+--:(cwdm)
+--rw cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:path-in-segment
/te:label-restrictions/te:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:path-in-segment
/te:label-restrictions/te:label-restriction
/te:label-start/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:path-in-segment
/te:label-restrictions/te:label-restriction
/te:label-end/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:path-out-segment
/te:label-restrictions/te:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:path-out-segment
/te:label-restrictions/te:label-restriction
/te:label-start/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:path-out-segment
/te:label-restrictions/te:label-restriction
/te:label-end/te:te-label/te:technology:
+--:(wson)
+--rw (grid-type)?
+--:(dwdm)
| +--rw dwdm-n? layer0-types:dwdm-n
+--:(cwdm)
+--rw cwdm-n? layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path
/te:computed-paths-properties
/te:computed-path-properties/te:path-properties
/te:path-route-objects
/te:path-computed-route-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:lsps/te:lsp
/te:lsp-record-route-information
/te:lsp-record-route-information/te:type
/te:label/te:label-hop/te:te-label
/te:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths
/te:p2p-secondary-path/te:lsps/te:lsp
/te:path-properties/te:path-route-objects
/te:path-computed-route-object/te:type/te:label
/te:label-hop/te:te-label/te:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n?
layer0-types:cwdm-n
augment /te:te/te:lsps-state/te:lsp
/te:lsp-record-route-information
/te:lsp-record-route-information/te:type
/te:label/te:label-hop/te:te-label
/te:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n?
| | layer0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* int16
+--:(cwdm)
+--ro cwdm-n?
layer0-types:cwdm-n
augment /te:tunnels-rpc/te:input/te:tunnel-info
/tepc:path-request:
+-- src-client-signal? identityref
+-- dst-client-signal? identityref
+-- fec-type? identityref
+-- termination-type? identityref
+-- bit-stuffing? boolean
+-- wavelength-assignment? identityref
4. WSON Tunnel YANG Code
<CODE BEGINS>file "ietf-wson-tunnel@2019-09-11.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-layer0-types{ prefix "layer0-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-layer1-types { prefix "layer1-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>
WG Chair: Daniele Ceccarelli WG Chair: Daniele Ceccarelli
<mailto:daniele.ceccarelli@ericsson.com> <daniele.ceccarelli@ericsson.com>
WG Chair: Fatai Zhang WG Chair: Fatai Zhang
<mailto:zhangfatai@huawei.com> <zhangfatai@huawei.com>
Editor: Young Lee <leeyoung@huawei.com> Editor: Young Lee <leeyoung.tx@gmail.com>
Editor: Aihua Guo <aihuaguo@huawei.com> Editor: Haomian Zheng <zhenghaomian@huawei.com>
Editor: Dhruv Dhody <dhruv.ietf@gmail.com> Editor: Aihua Guo <aihuaguo.ietf@gmail.com>
Editor: Victor Lopez <victor.lopezalvarez@telefonica.com>
Editor: Daniel King <d.king@lancaster.ac.uk>
Editor: Bin Yeong Yoon <byyun@etri.re.kr>
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 "2019-03-06" { Copyright (c) 2019 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision "2019-09-11" {
description description
"Updates to version 3"; "Updates to version 4";
reference "version 3"; reference "version 4";
} }
/* 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 layer1-types:client-signal;
} }
description description
"Client signal at the source endpoint of "Client signal at the source endpoint of
the tunnel."; the tunnel.";
} }
leaf dst-client-signal { leaf dst-client-signal {
type identityref { type identityref {
base otn-types:client-signal; base layer1-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 layer0-types:fec-type; base layer0-types:fec-type;
} }
skipping to change at page 23, line 23 skipping to change at page 25, line 50
/* Augment label restrictions for the path-in-segment of primary path */ /* Augment label restrictions for the path-in-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:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses layer0-types:layer0-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the path-in-segment of primary path /* Augment label restrictions start for the path-in-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:label-restrictions/" + "te:path-in-segment/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 layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
skipping to change at page 24, line 12 skipping to change at page 26, line 35
/* Augment label restrictions for the path-out-segment of primary path */ /* Augment label restrictions for the 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:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses layer0-types:layer0-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the path-out-segment of primary path /* Augment label restrictions start for the 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:label-restrictions/" + "te:path-out-segment/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 layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the path-out-segment of primary path /* Augment label restrictions end for the 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:label-restrictions/" + "te:path-out-segment/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 layer0-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:computed-paths-properties/" + "te:computed-paths-properties/"
+ "te:computed-path-properties/te:path-properties/" + "te:computed-path-properties/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/" + "te:path-route-objects/te:path-computed-route-object/"
+ "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 layer0-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:lsps/te:lsp/te:lsp-record-route-information/" + "te:lsps/te:lsp/te:lsp-record-route-information/"
+ "te:lsp-record-route-information/te:type/te:label/" + "te:lsp-record-route-information/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.";
skipping to change at page 26, line 45 skipping to change at page 29, line 12
+ "te:explicit-route-objects-always/" + "te:explicit-route-objects-always/"
+ "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 layer0-types:wson-path-label; uses layer0-types:wson-path-label;
} }
} }
/* Augment label restrictions for the path-in-segment of reverse primary /* Augment label restrictions for the path-in-segment of reverse primary path */
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-primary-reverse-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses layer0-types:layer0-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the path-in-segment of reverse /* Augment label restrictions start for the path-in-segment of reverse primary path */
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-primary-reverse-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/" + "te:path-in-segment/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 layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the path-in-segment of reverse primary /* Augment label restrictions end for the path-in-segment of reverse primary path */
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-primary-reverse-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/" + "te:path-in-segment/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 layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the path-out-segment of reverse primary /* Augment label restrictions for the path-out-segment of reverse primary path */
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-primary-reverse-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses layer0-types:layer0-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the path-out-segment of reverse
primary path */ /* Augment label restrictions start for the 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-primary-reverse-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/" + "te:path-out-segment/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 layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the path-out-segment of reverse /* Augment label restrictions end for the path-out-segment of reverse primary path */
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-primary-reverse-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/" + "te:path-out-segment/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 layer0-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-primary-reverse-path/" + "te:p2p-primary-reverse-path/"
+ "te:computed-paths-properties/" + "te:computed-paths-properties/"
+ "te:computed-path-properties/te:path-properties/" + "te:computed-path-properties/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/" + "te:path-route-objects/te:path-computed-route-object/"
+ "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 layer0-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 */
skipping to change at page 30, line 44 skipping to change at page 32, line 41
/* Augment label restrictions for the path-in-segment of secondary path */ /* Augment label restrictions for the path-in-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:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses layer0-types:layer0-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the path-in-segment of secondary /* Augment label restrictions start for the path-in-segment of secondary path */
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:label-restrictions/" + "te:path-in-segment/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 layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the path-in-segment of secondary path */
/* Augment label restrictions end for the path-in-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:label-restrictions/" + "te:path-in-segment/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 layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions for the path-out-segment of secondary path */ /* Augment label restrictions for the 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:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "WSON label."; description "WSON label.";
uses layer0-types:layer0-label-restriction; uses layer0-types:layer0-label-restriction;
} }
/* Augment label restrictions start for the path-out-segment of secondary /* Augment label restrictions start for the path-out-segment of secondary path */
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:label-restrictions/" + "te:path-out-segment/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 layer0-types:wson-link-label; uses layer0-types:wson-link-label;
} }
} }
/* Augment label restrictions end for the path-out-segment of secondary path /* Augment label restrictions end for the 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:label-restrictions/" + "te:path-out-segment/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 layer0-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:computed-paths-properties/" + "te:computed-paths-properties/"
+ "te:computed-path-properties/te:path-properties/" + "te:computed-path-properties/te:path-properties/"
+ "te:path-route-objects/" + "te:path-route-objects/"
+ "te:path-computed-route-object/te:type/te:label/" + "te:path-computed-route-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 layer0-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/"
skipping to change at page 33, line 31 skipping to change at page 35, line 15
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;
} }
} }
<CODE ENDS> <CODE ENDS>
4. Security Considerations 5. Security Considerations
The configuration, state, and action data defined in this document The configuration, state, and action data defined in this document
are designed to be accessed via a management protocol with a secure are designed to be accessed via a management protocol with a secure
transport layer, such as NETCONF [RFC6241]. The NETCONF access transport layer, such as NETCONF [RFC6241]. The NETCONF access
control model [RFC8341] provides the means to restrict access for control model [RFC8341] provides the means to restrict access for
particular NETCONF users to a preconfigured subset of all available particular NETCONF users to a preconfigured subset of all available
NETCONF protocol operations and content. NETCONF protocol operations and content.
A number of configuration data nodes defined in this document are There are a number of data nodes defined in this YANG module that are
writable/deletable (i.e., "config true") These data nodes may be writable/creatable/deletable (i.e., config true, which is the
considered sensitive or vulnerable in some network environments. default). These data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., edit-config)
to these data nodes without proper protection can have a negative
effect on network operations. These are the subtrees and data nodes
and their sensitivity/vulnerability:
5. IANA Considerations /te:te/te:tunnels/te:tunnel /te:te/../te:te-bandwidth/te:technology
/te:te/../te:type/te:label/te:label-hop/te:te-label/te:technology
/te:te/../te:label-restrictions/te:label-restriction/te:label-start/
te:te-label/te:technology /te:te/../te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology
/te:te/../te:label-restrictions/te:label-restriction/ Editors note:
we are using simplified description by folding similar branches to
avoid repetition.
This document registers the following namespace URIs in the IETF XML 6. IANA Considerations
registry [RFC3688]:
-------------------------------------------------------------------- It is proposed that IANA should assign new URIs from the "IETF XML
URI: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel Registry" [RFC3688] as follows:
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.
--------------------------------------------------------------------
This document registers the following YANG modules in the YANG URI: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel
Module Registrant Contact: The IESG
XML: N/A; the requested URI is an XML namespace.
Names registry [RFC7950]: This document registers following YANG modules in the YANG Module
Names registry [RFC7950].
-------------------------------------------------------------------- name: ietf-wson-tunnel
name: ietf-wson-tunnel namespace: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel
namespace: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel prefix: wson-tunnel
reference: RFC XXXX (TDB) reference: RFC XXXX
--------------------------------------------------------------------
6. Acknowledgments
This document was prepared using 2-Word-v2.0.template.dot. 7. Acknowledgements
7. References TBD.
7.1. Normative References 8. Contributors
[TE-Tunnel] T. Saad, Ed., X. Liu, V. Beeram, H. Shah, and I. Dhruv Dhody
Bryskin, "A YANG Data Model for Traffic Engineering Huawei Technologies
Tunnels and Interfaces", draft-ietf-teas-yang-te, work in Email: dhruv.ietf@gmail.com
progress.
[WSON-TOPO] Y. Lee, Ed., D. Dhody, A. Guo, V. Lopez, D. King, B. Italo Busi
Yoon, and R. Vilalta, "A Yang Data Model for WSON Optical Huawei Technologies
Networks", draft-ietf-ccamp-wson-yang, work in progress. Email: Italo.Busi@huawei.com
[TE-PC] Italo Busi (Ed.), Sergio Belotti (Ed.), "Yang model for 9. References
requesting Path Computation", draft-ietf-teas-yang-path-
computation, work in progress.
[OTN-TOPO] H. Zheng, et al, "A YANG Data Model for Optical Transport 9.1. Normative References
Network Topology", draft-ietf-ccamp-otn-topo-yang, work in
progress.
7.2. Informative References [I-D.ietf-ccamp-layer0-types]
Lee, Y., Dhody, D., Guo, A., Lopezalvarez, V., and D.
King, "A YANG Data Model for Layer 0 Types", draft-ietf-
ccamp-layer0-types-01 (work in progress), May 2019.
[RFC3688] M. Mealling, "The IETF XML Registry", RFC 3688, January [I-D.ietf-ccamp-layer1-types]
2004. Zheng, H. and I. Busi, "A YANG Data Model for Layer 1
Types", draft-ietf-ccamp-layer1-types-02 (work in
progress), September 2019.
[RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed., [I-D.ietf-ccamp-wson-yang]
and A. Bierman, Ed., "Network Configuration Protocol Lee, Y., Dhody, D., Guo, A., Lopezalvarez, V., and D.
(NETCONF)", RFC 6241, June 2011. King, "A YANG Data Model for WSON (Wavelength Switched
Optical Networks)", draft-ietf-ccamp-wson-yang-22 (work in
progress), July 2019.
[RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and [I-D.ietf-teas-yang-path-computation]
Wavelength Assignment Information Model for Wavelength Busi, I. and S. Belotti, "Yang model for requesting Path
Switched Optical Networks", RFC 7446, Feburary 2015. Computation", draft-ietf-teas-yang-path-computation-06
(work in progress), July 2019.
[RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General Network [I-D.ietf-teas-yang-te]
Element Constraint Encoding for GMPLS Controlled Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin,
Networks", RFC 7579, June 2015. "A YANG Data Model for Traffic Engineering Tunnels and
Interfaces", draft-ietf-teas-yang-te-21 (work in
progress), April 2019.
[RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and [I-D.ietf-teas-yang-te-types]
Wavelength Assignment Information Encoding for Wavelength Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin,
Switched Optical Networks", RFC 7581, June 2015. "Traffic Engineering Common YANG Types", draft-ietf-teas-
yang-te-types-10 (work in progress), July 2019.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 9.2. Informative References
RFC 7950, August 2016.
[RFC8340] M. Bjorklund and L. Berger, Ed., "YANG Tree Diagrams", RFC [I-D.ietf-ccamp-transport-nbi-app-statement]
8340, March 2018. Busi, I., King, D., Zheng, H., and Y. Xu, "Transport
Northbound Interface Applicability Statement", draft-ietf-
ccamp-transport-nbi-app-statement-05 (work in progress),
March 2019.
[RFC8341] A. Bierman and M. Bjorklund, "Network Configuration Access [I-D.ietf-teas-actn-yang]
Control Model", March 2018. Lee, Y., Zheng, H., Ceccarelli, D., Yoon, B., Dios, O.,
Shin, J., and S. Belotti, "Applicability of YANG models
for Abstraction and Control of Traffic Engineered
Networks", draft-ietf-teas-actn-yang-04 (work in
progress), August 2019.
8. Contributors [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004,
<https://www.rfc-editor.org/info/rfc3688>.
Italo Busi [RFC6163] Lee, Y., Ed., Bernstein, G., Ed., and W. Imajuku,
Huawei "Framework for GMPLS and Path Computation Element (PCE)
Email: Italo.Busi@huawei.com Control of Wavelength Switched Optical Networks (WSONs)",
RFC 6163, DOI 10.17487/RFC6163, April 2011,
<https://www.rfc-editor.org/info/rfc6163>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>.
[RFC7446] Lee, Y., Ed., Bernstein, G., Ed., Li, D., and W. Imajuku,
"Routing and Wavelength Assignment Information Model for
Wavelength Switched Optical Networks", RFC 7446,
DOI 10.17487/RFC7446, February 2015,
<https://www.rfc-editor.org/info/rfc7446>.
[RFC7579] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and
J. Han, "General Network Element Constraint Encoding for
GMPLS-Controlled Networks", RFC 7579,
DOI 10.17487/RFC7579, June 2015,
<https://www.rfc-editor.org/info/rfc7579>.
[RFC7581] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and
J. Han, "Routing and Wavelength Assignment Information
Encoding for Wavelength Switched Optical Networks",
RFC 7581, DOI 10.17487/RFC7581, June 2015,
<https://www.rfc-editor.org/info/rfc7581>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>.
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>.
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration
Access Control Model", STD 91, RFC 8341,
DOI 10.17487/RFC8341, March 2018,
<https://www.rfc-editor.org/info/rfc8341>.
[RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
and R. Wilton, "Network Management Datastore Architecture
(NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
<https://www.rfc-editor.org/info/rfc8342>.
Authors' Addresses Authors' Addresses
Young Lee (ed.) Young Lee
Huawei Technologies SKKU
5340 Legacy Drive, Building 3 Sung Kyun Kwan University
Plano, TX 75023 Seoul
USA South Korea
Phone: (469) 277-5838 Email: younglee.tx@gmail.com
Email: leeyoung@huawei.com
Dhruv Dhody Haomian Zheng
Huawei Technologies India Pvt. Ltd, Huawei Technologies
Near EPIP Industrial Area, Kundalahalli Village, Whitefield, H1-1-A043S Huawei Industrial Base, Songshanhu
Bangalore - 560 037 [H1-2A-245] Dongguan, Guangdong 523808
China
Email: dhruv.dhody@huawei.com Email: zhenghaomian@huawei.com
Aihua Guo Aihua Guo
Huawei Individual
Email: aihuaguo@huawei.com
Email: aihuaguo.ietf@gmail.com
Victor Lopez Victor Lopez
Telefonica Telefonica
Email: victor.lopezalvarez@telefonica.com Email: victor.lopezalvarez@telefonica.com
Daniel King Daniel King
University of Lancaster Univ. of Lancaster
Email: d.king@lancaster.ac.uk Email: d.king@lancaster.ac.uk
Bin Yeong Yoon Bin Yeong Yoon
ETRI ETRI
218 Gaijeongro, Yuseong-gu 218 Gaijeongro, Yuseong-gu
Daejeon, Korea Daejeon
Email: byyun@etri.re.kr Korea
Email: byyun@etri.re.kr
Ricard Vilalta Ricard Vilalta
CTTC CTTC
Email: ricard.vilalta@cttc.es Email: ricard.vilalta@cttc.es
 End of changes. 98 change blocks. 
747 lines changed or deleted 990 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/