--- 1/draft-ietf-ccamp-wson-tunnel-model-01.txt 2018-10-18 10:13:08.972538448 -0700 +++ 2/draft-ietf-ccamp-wson-tunnel-model-02.txt 2018-10-18 10:13:09.052540381 -0700 @@ -1,32 +1,32 @@ CCAMP Working Group Y. Lee Internet Draft D. Dhody Intended status: Standard Track A. Guo -Expires: February 22, 2019 Huawei +Expires: April 19, 2019 Huawei V. Lopez Telefonica D. King U. of Lancaster B. Yoon ETRI R. Vilalta CTTC - August 22, 2018 + October 18, 2018 A Yang Data Model for WSON Tunnel - draft-ietf-ccamp-wson-tunnel-model-01 + draft-ietf-ccamp-wson-tunnel-model-02 Abstract This document provides a YANG data model for WSON TE tunnel. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. @@ -39,62 +39,121 @@ 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 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 (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction...................................................2 - 2. YANG Model (Tree Structure)....................................2 - 3. TE Tunnel Model for WSON......................................17 - 4. Security Considerations.......................................41 - 5. IANA Considerations...........................................41 - 6. Acknowledgments...............................................42 - 7. References....................................................43 - 7.1. Normative References.....................................43 - 7.2. Informative References...................................43 - 8. Contributors..................................................43 - Authors' Addresses...............................................43 + 1.1. Terminology...............................................3 + 1.2. Tree diagram..............................................3 + 1.3. Prefixes in Data Node Names...............................3 + 2. YANG Model (Tree Structure)....................................4 + 3. TE Tunnel Model for WSON......................................20 + 4. Security Considerations.......................................44 + 5. IANA Considerations...........................................44 + 6. Acknowledgments...............................................45 + 7. References....................................................46 + 7.1. Normative References.....................................46 + 7.2. Informative References...................................46 + 8. Contributors..................................................47 + Authors' Addresses...............................................47 1. Introduction This document provides a YANG data model for WSON tunnel model. The YANG model described in this document is a WSON technology-specific Yang Tunnel model based on the information model developed in [RFC7446] and the two encoding documents [RFC7581] and [RFC7579] that developed protocol independent encodings based on [RFC7446]. 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) + 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) @@ -113,33 +172,40 @@ 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/te:route-object-exclude- always/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:globals/te:named-path-constraints/te:named-path- constraint/te:explicit-route-objects/te:route-object-include- exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 - augment /te:te/te:globals/te:named-path-constraints/te:named-path- constraint/te:path-in-segment/te:forward/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:forward/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? @@ -137,32 +203,33 @@ constraint/te:path-in-segment/te:forward/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:forward/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:globals/te:named-path-constraints/te:named-path- constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label- restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 + augment /te:te/te:globals/te:named-path-constraints/te:named-path- constraint/te:path-in-segment/te:reverse/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:reverse/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? @@ -160,347 +227,388 @@ constraint/te:path-in-segment/te:reverse/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:reverse/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:globals/te:named-path-constraints/te:named-path- constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label- restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:globals/te:named-path-constraints/te:named-path- constraint/te:path-out-segment/te:forward/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:forward/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:globals/te:named-path-constraints/te:named-path- constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label- restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:globals/te:named-path-constraints/te:named-path- constraint/te:path-out-segment/te:reverse/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:reverse/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:globals/te:named-path-constraints/te:named-path- constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label- restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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 channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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 channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- path/te:explicit-route-objects/te:route-object-exclude- always/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- path/te:explicit-route-objects/te:route-object-include- exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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: +--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:forward/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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: +--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:reverse/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- 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:forward/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- 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:reverse/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--ro (grid-type)? +--:(dwdm) - | +--ro channel-freq? decimal64 + | +--ro (single-or-super-channel)? + | +--:(single) + | | +--ro channel-freq? frequency-thz + | +--:(super) + | +--ro subcarrier-channels* frequency-thz +--:(cwdm) +--ro channel-wavelength? uint32 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- subobject/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--ro (grid-type)? +--:(dwdm) - | +--ro channel-freq? decimal64 + | +--ro (single-or-super-channel)? + | +--:(single) + | | +--ro channel-freq? frequency-thz + | +--:(super) + | +--ro subcarrier-channels* frequency-thz +--:(cwdm) +--ro channel-wavelength? uint32 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- computed-route-object/te:state/te:type/te:label/te:label-hop/te:te- label/te:technology: +--:(wson) +--ro (grid-type)? +--:(dwdm) - | +--ro channel-freq? decimal64 + | +--ro (single-or-super-channel)? + | +--:(single) + | | +--ro channel-freq? frequency-thz + | +--:(super) + | +--ro subcarrier-channels* frequency-thz +--:(cwdm) +--ro channel-wavelength? uint32 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- path/te:p2p-reverse-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 channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- path/te:p2p-reverse-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 channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- exclude-always/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- include-exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- 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-reverse-primary-path/te:path-in-segment/te:forward/te:label- restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- 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-reverse-primary-path/te:path-in-segment/te:reverse/te:label- restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- 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-reverse-primary-path/te:path-out-segment/te:forward/te:label- restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 - 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- 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-reverse-primary-path/te:path-out-segment/te:reverse/te:label- restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? @@ -498,145 +606,172 @@ path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/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-reverse-primary-path/te:path-out-segment/te:reverse/te:label- restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- objects/te:path-computed-route-object/te:state/te:type/te:label/te:label- hop/te:te-label/te:technology: +--:(wson) +--ro (grid-type)? +--:(dwdm) - | +--ro channel-freq? decimal64 + | +--ro (single-or-super-channel)? + | +--:(single) + | | +--ro channel-freq? frequency-thz + | +--:(super) + | +--ro subcarrier-channels* frequency-thz +--:(cwdm) +--ro channel-wavelength? uint32 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- subobjects/te:record-route-subobject/te:type/te:label/te:label-hop/te:te- label/te:technology: +--:(wson) +--ro (grid-type)? +--:(dwdm) - | +--ro channel-freq? decimal64 + | +--ro (single-or-super-channel)? + | +--:(single) + | | +--ro channel-freq? frequency-thz + | +--:(super) + | +--ro subcarrier-channels* frequency-thz +--:(cwdm) +--ro channel-wavelength? uint32 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- properties/te:path-route-objects/te:path-computed-route- object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--ro (grid-type)? +--:(dwdm) - | +--ro channel-freq? decimal64 + | +--ro (single-or-super-channel)? + | +--:(single) + | | +--ro channel-freq? frequency-thz + | +--:(super) + | +--ro subcarrier-channels* frequency-thz +--:(cwdm) +--ro channel-wavelength? uint32 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 channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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 channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- path/te:explicit-route-objects/te:route-object-exclude- always/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- path/te:explicit-route-objects/te:route-object-include- exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw (single-or-super-channel)? + | +--:(single) + | | +--rw channel-freq? frequency-thz + | +--:(super) + | +--rw subcarrier-channels* frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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: +--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:forward/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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: +--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:reverse/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 - 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- 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:forward/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? @@ -634,112 +769,129 @@ path/te:path-out-segment/te:forward/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:forward/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- 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:reverse/te:label-restrictions/te:label- restriction/te:label-start/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- restriction/te:label-end/te:te-label/te:technology: +--:(wson) +--rw (grid-type)? +--:(dwdm) - | +--rw channel-freq? decimal64 + | +--rw channel-freq? frequency-thz +--:(cwdm) +--rw channel-wavelength? uint32 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- object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--ro (grid-type)? +--:(dwdm) - | +--ro channel-freq? decimal64 + | +--ro (single-or-super-channel)? + | +--:(single) + | | +--ro channel-freq? frequency-thz + | +--:(super) + | +--ro subcarrier-channels* frequency-thz +--:(cwdm) +--ro channel-wavelength? uint32 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- subobject/te:type/te:label/te:label-hop/te:te-label/te:technology: +--:(wson) +--ro (grid-type)? +--:(dwdm) - | +--ro channel-freq? decimal64 + | +--ro (single-or-super-channel)? + | +--:(single) + | | +--ro channel-freq? frequency-thz + | +--:(super) + | +--ro subcarrier-channels* frequency-thz +--:(cwdm) +--ro channel-wavelength? uint32 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- computed-route-object/te:state/te:type/te:label/te:label-hop/te:te- label/te:technology: +--:(wson) +--ro (grid-type)? +--:(dwdm) - | +--ro channel-freq? decimal64 + | +--ro (single-or-super-channel)? + | +--:(single) + | | +--ro channel-freq? frequency-thz + | +--:(super) + | +--ro subcarrier-channels* frequency-thz +--:(cwdm) +--ro channel-wavelength? uint32 + 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- label/te:technology: +--:(wson) +--ro (grid-type)? +--:(dwdm) - | +--ro channel-freq? decimal64 + | +--ro (single-or-super-channel)? + | +--:(single) + | | +--ro channel-freq? frequency-thz + | +--:(super) + | +--ro subcarrier-channels* frequency-thz +--:(cwdm) +--ro channel-wavelength? uint32 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 - file "ietf-wson-tunnel@2018-08-15.yang" + file "ietf-wson-tunnel@2018-10-15.yang" module ietf-wson-tunnel { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-wson-tunnel"; prefix "wson-tunnel"; 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-otn-types { prefix "otn-types";} organization "IETF CCAMP Working Group"; contact "WG Web: WG List: @@ -749,25 +901,24 @@ WG Chair: Fatai Zhang Editor: Young Lee Editor: Aihua Guo Editor: Dhruv Dhody Editor: Ricard Vilalta "; description "This module defines a model for WSON Tunnel Services."; - revision "2018-08-15" { + revision "2018-10-15" { description - "Updates to version 1"; - reference "version 1"; - + "Updates to version 2"; + reference "version 2"; } /* Groupings. */ grouping wson-tunnel-attributes { description "Parameters for WSON tunnel."; leaf src-client-signal { type identityref { base otn-types:client-signal; } @@ -780,29 +931,29 @@ type identityref { base otn-types:client-signal; } description "Client signal at the destination endpoint of the tunnel."; } leaf fec-type { type identityref { - base wson-types:fec-type; + base layer0-types:fec-type; } description "FEC type."; } leaf termination-type { type identityref { - base wson-types:term-type; + base layer0-types:term-type; } description "Termination type."; } leaf bit-stuffing { type boolean; description "Bit stuffing enabled/disabled."; } @@ -799,31 +950,30 @@ } description "Termination type."; } leaf bit-stuffing { type boolean; description "Bit stuffing enabled/disabled."; } - } grouping wson-path-constraints { description "Global named path constraints configuration grouping for WSON tunnel"; leaf wavelength-assignment { type identityref { - base wson-types:wavelength-assignment; + base layer0-types:wavelength-assignment; } description "Wavelength Allocation Method"; } } /* * Data nodes */ augment "/te:te/te:tunnels/te:tunnel" { @@ -835,478 +984,479 @@ /* * Augment TE bandwidth */ /* Augment bandwidth of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/" + "te:te-bandwidth/te:technology" { description "WSON bandwidth."; case wson { - uses wson-types:wson-path-bandwidth; + uses layer0-types:wson-path-bandwidth; } } /* Augment bandwdith of tunnel */ augment "/te:te/te:tunnels/te:tunnel/" + "te:te-bandwidth/te:technology" { description "WSON bandwidth."; case wson { - uses wson-types:wson-path-bandwidth; - + uses layer0-types:wson-path-bandwidth; } } /* Augment bandwidth of primary path */ augment "/te:te/te:tunnels/te:tunnel/" + "te:p2p-primary-paths/te:p2p-primary-path/" + "te:te-bandwidth/te:technology" { description "WSON bandwidth."; case wson { - uses wson-types:wson-path-bandwidth; + uses layer0-types:wson-path-bandwidth; } } /* Augment bandwidth of reverse primary path */ augment "/te:te/te:tunnels/te:tunnel/" + "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-reverse-primary-path/" + "te:te-bandwidth/te:technology" { description "WSON bandwidth."; case wson { - uses wson-types:wson-path-bandwidth; + uses layer0-types:wson-path-bandwidth; } } /* Augment bandwidht of secondary path */ augment "/te:te/te:tunnels/te:tunnel/" + "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:te-bandwidth/te:technology" { description "WSON bandwidth."; case wson { - uses wson-types:wson-path-bandwidth; + uses layer0-types:wson-path-bandwidth; } } /* * Augment TE label. */ /* Augment label hop of route-object-exclude-always of named-path- constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:explicit-route-objects/" + "te:route-object-exclude-always/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; 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- constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:explicit-route-objects/" + "te:route-object-include-exclude/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label restrictions for the forwarding direction of path-in- segment of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-in-segment/" + "te:forward/te:label-restrictions/" + "te:label-restriction" { 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- segment of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-in-segment/" + "te:forward/te:label-restrictions/" + "te:label-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-in-segment/" + "te:forward/te:label-restrictions/" + "te:label-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; 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 of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-in-segment/" + "te:reverse/te:label-restrictions/" + "te:label-restriction" { 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- segment of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-in-segment/" + "te:reverse/te:label-restrictions/" + "te:label-restriction/te:label-start/" + "te:te-label/te:technology" { + description "WSON label."; 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- segment of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-in-segment/" + "te:reverse/te:label-restrictions/" + "te:label-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-link-label; + uses layer0-types:wson-link-label; } } + /* Augment label restrictions for the forwarding direction of path-out- segment of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-out-segment/" + "te:forward/te:label-restrictions/" + "te:label-restriction" { 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- out-segment of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-out-segment/" + "te:forward/te:label-restrictions/" + "te:label-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-out-segment/" + "te:forward/te:label-restrictions/" + "te:label-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; 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 of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-out-segment/" + "te:reverse/te:label-restrictions/" + "te:label-restriction" { 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- segment of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-out-segment/" + "te:reverse/te:label-restrictions/" + "te:label-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of named-path-constraints */ augment "/te:te/te:globals/te:named-path-constraints/" + "te:named-path-constraint/te:path-out-segment/" + "te:reverse/te:label-restrictions/" + "te:label-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-link-label; + uses layer0-types:wson-link-label; } } - /* Augment label hop of route-exclude of primary path */ 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" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label hop of route-include of primary path */ 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" { description "WSON label."; 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 "/te:te/te:tunnels/te:tunnel/" + "te:p2p-primary-paths/te:p2p-primary-path/" + "te:explicit-route-objects/" + "te:route-object-exclude-always/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; 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 "/te:te/te:tunnels/te:tunnel/" + "te:p2p-primary-paths/te:p2p-primary-path/" + "te:explicit-route-objects/" + "te:route-object-include-exclude/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label restrictions for the forwarding direction of path-in- segment of primary path */ 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" { 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- segment of primary path */ 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/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of primary path */ 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/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; 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 of primary path */ 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" { 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- segment of primary path */ 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/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of primary path */ 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/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-link-label; + uses layer0-types:wson-link-label; } } /* Augment label restrictions for the forwarding direction of path-out- segment of primary path */ 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-restriction" { 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- out-segment of primary path */ 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-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of primary path */ 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-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; 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 of primary path */ 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-restriction" { 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- segment of primary path */ 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-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of primary path */ 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-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-link-label; + uses layer0-types:wson-link-label; } } /* Augment label hop of path-route of primary path */ 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-object/" + "te:state/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label hop of record-route of primary LSP */ 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-subobject/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label hop of path-route of primary LSP */ 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-computed-route-object/" + "te:state/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; 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 "/te:te/te:tunnels/te:tunnel/" + "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-reverse-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" { description "WSON label."; 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 "/te:te/te:tunnels/te:tunnel/" + "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-reverse-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" { @@ -1305,78 +1455,78 @@ /* Augment label hop of route-include of reverse primary path */ augment "/te:te/te:tunnels/te:tunnel/" + "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-reverse-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" { description "WSON label."; 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 "/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-exclude-always/" + "te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; 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 "/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-include-exclude/" + "te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } + /* Augment label restrictions for the forwarding direction of path-in- segment of reverse primary path */ 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-restrictions/" + "te:label-restriction" { 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- segment of reverse primary path */ 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-restrictions/" + "te:label-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of reverse primary path */ 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-restrictions/" + "te:label-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; case wson { @@ -1373,73 +1523,74 @@ /* Augment label restrictions end for the forwarding direction of path-in- segment of reverse primary path */ 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-restrictions/" + "te:label-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; 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 of reverse primary path */ 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-restrictions/" + "te:label-restriction" { 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- segment of reverse primary path */ 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-restrictions/" + "te:label-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of reverse primary path */ 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-restrictions/" + "te:label-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-link-label; + uses layer0-types:wson-link-label; } } /* Augment label restrictions for the forwarding direction of path-out- segment of reverse primary path */ 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-restrictions/" + "te:label-restriction" { 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- out-segment of reverse primary path */ 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-restrictions/" + "te:label-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; case wson { @@ -1436,36 +1587,37 @@ /* Augment label restrictions start for the forwarding direction of path- out-segment of reverse primary path */ 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-restrictions/" + "te:label-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of reverse primary path */ 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-restrictions/" + "te:label-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; 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 of reverse primary path */ 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-restrictions/" + "te:label-restriction" { description "WSON label."; @@ -1462,234 +1614,236 @@ } /* Augment label restrictions for the reverse direction of path-out-segment of reverse primary path */ 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-restrictions/" + "te:label-restriction" { 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- segment of reverse primary path */ 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-restrictions/" + "te:label-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of reverse primary path */ 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-restrictions/" + "te:label-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; 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 "/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-objects/te:path-computed-route-object/" + "te:state/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; 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 "/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-subobjects/" + "te:record-route-subobject/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; 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 "/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-properties/" + "te:path-route-objects/te:path-computed-route-object/" + "te:state/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label hop of route-exclude of secondary path */ 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" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label hop of route-include of secondary path */ 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" { description "WSON label."; 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 "/te:te/te:tunnels/te:tunnel/" + "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:explicit-route-objects/" + "te:route-object-exclude-always/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; 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 "/te:te/te:tunnels/te:tunnel/" + "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:explicit-route-objects/" + "te:route-object-include-exclude/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label restrictions for the forwarding direction of path-in- segment of secondary path */ 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" { 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- segment of secondary path */ 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/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of secondary path */ 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/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; 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 of secondary path */ 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" { 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- segment of secondary path */ 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/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of secondary path */ 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/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-link-label; + uses layer0-types:wson-link-label; } } /* Augment label restrictions for the forwarding direction of path-out- segment of secondary path */ 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-restriction" { 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- out-segment of secondary path */ 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-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of secondary path */ 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-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; @@ -1687,44 +1841,44 @@ /* Augment label restrictions end for the forwarding direction of path-out- segment of secondary path */ 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-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; 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 of secondary path */ 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-restriction" { 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- segment of secondary path */ 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-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; 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- segment of secondary path */ 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-restriction/te:label-end/" + "te:te-label/te:technology" { @@ -1721,71 +1875,72 @@ } } /* Augment label restrictions end for the reverse direction of path-out- segment of secondary path */ 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-restriction/te:label-end/" + "te:te-label/te:technology" { + description "WSON label."; case wson { - uses wson-types:wson-link-label; + uses layer0-types:wson-link-label; } } /* Augment label hop of path-route of secondary path */ 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-object/te:state/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label hop of record-route of secondary LSP */ 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-subobject/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label hop of path-route of secondary LSP */ 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-computed-route-object/te:state/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } /* Augment label hop of record-route of LSP */ 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-label/te:technology" { description "WSON label."; case wson { - uses wson-types:wson-path-label; + uses layer0-types:wson-path-label; } } augment "/te:tunnels-rpc/te:input/te:tunnel-info/" + "tepc:path-request" { description "Augment with additional constraints WSON tunnel."; uses wson-tunnel-attributes; uses wson-path-constraints; @@ -1834,32 +1989,63 @@ 7. References 7.1. Normative References [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work in progress: draft-ietf-teas-yang-te-topo. 7.2. Informative References + [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 Switched Optical Networks", RFC 7446, Feburary 2015. - [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General - Network Element Constraint Encoding for GMPLS Controlled + [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General Network + Element Constraint Encoding for GMPLS Controlled Networks", RFC 7579, June 2015. [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and Wavelength Assignment Information Encoding for Wavelength 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 Italo Busi Huawei Email: Italo.Busi@huawei.com Authors' Addresses Young Lee (ed.) Huawei Technologies