CCAMP Working Group Y. Lee Internet Draft D. Dhody Intended status: Standard Track A. Guo Expires: February 22, 2019 Huawei V. Lopez Telefonica D. King U. of Lancaster B. Yoon ETRI R. Vilalta CTTC August 22, 2018 A Yang Data Model for WSON Tunnel draft-ietf-ccamp-wson-tunnel-model-01 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. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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 http://www.ietf.org/shadow.html This Internet-Draft will expire on February 22, 2019. Lee, et al. Expires February 2019 [Page 1] Internet-Draft WSON Tunnel Model August 2018 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. 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]. 2. YANG Model (Tree Structure) Lee, et al. Expires February 2019 [Page 2] Internet-Draft WSON Tunnel Model August 2018 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-reverse-primary-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/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 +--:(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 +--:(cwdm) +--rw channel-wavelength? uint32 Lee, et al. Expires February 2019 [Page 3] Internet-Draft WSON Tunnel Model August 2018 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)? +--:(dwdm) | +--rw channel-freq? decimal64 +--:(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 +--:(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)? +--:(dwdm) | +--rw channel-freq? decimal64 +--:(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 +--:(cwdm) Lee, et al. Expires February 2019 [Page 4] Internet-Draft WSON Tunnel Model August 2018 +--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 +--:(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 +--:(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 +--:(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 Lee, et al. Expires February 2019 [Page 5] Internet-Draft WSON Tunnel Model August 2018 +--:(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 +--:(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 +--:(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 +--:(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 +--:(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 Lee, et al. Expires February 2019 [Page 6] Internet-Draft WSON Tunnel Model August 2018 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 +--:(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 +--:(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 +--:(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 +--:(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 Lee, et al. Expires February 2019 [Page 7] Internet-Draft WSON Tunnel Model August 2018 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 +--:(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 +--:(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 +--:(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 +--:(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) Lee, et al. Expires February 2019 [Page 8] Internet-Draft WSON Tunnel Model August 2018 +--ro (grid-type)? +--:(dwdm) | +--ro channel-freq? decimal64 +--:(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 +--:(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 +--:(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 +--:(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 +--:(cwdm) Lee, et al. Expires February 2019 [Page 9] Internet-Draft WSON Tunnel Model August 2018 +--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 +--:(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 +--:(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 +--:(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 +--:(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: Lee, et al. Expires February 2019 [Page 10] Internet-Draft WSON Tunnel Model August 2018 +--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 +--:(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 +--:(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 +--:(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 +--:(cwdm) +--rw channel-wavelength? uint32 Lee, et al. Expires February 2019 [Page 11] Internet-Draft WSON Tunnel Model August 2018 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)? +--:(dwdm) | +--rw channel-freq? decimal64 +--:(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 +--:(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 +--:(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 +--:(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- Lee, et al. Expires February 2019 [Page 12] Internet-Draft WSON Tunnel Model August 2018 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 +--:(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 +--:(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 +--:(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 +--:(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 +--:(cwdm) Lee, et al. Expires February 2019 [Page 13] Internet-Draft WSON Tunnel Model August 2018 +--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 +--:(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 +--:(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 +--:(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 +--:(cwdm) +--rw channel-wavelength? uint32 Lee, et al. Expires February 2019 [Page 14] Internet-Draft WSON Tunnel Model August 2018 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)? +--:(dwdm) | +--rw channel-freq? decimal64 +--:(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 +--:(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 +--:(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 +--:(cwdm) Lee, et al. Expires February 2019 [Page 15] Internet-Draft WSON Tunnel Model August 2018 +--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 +--:(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 +--:(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 +--:(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 +--:(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 Lee, et al. Expires February 2019 [Page 16] Internet-Draft WSON Tunnel Model August 2018 3. TE Tunnel Model for WSON file "ietf-wson-tunnel@2018-08-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-te-path-computation { prefix "tepc"; } import ietf-otn-types { prefix "otn-types";} organization "IETF CCAMP Working Group"; contact "WG Web: WG List: WG Chair: Daniele Ceccarelli 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" { description "Updates to version 1"; reference "version 1"; Lee, et al. Expires February 2019 [Page 17] Internet-Draft WSON Tunnel Model August 2018 } /* Groupings. */ grouping wson-tunnel-attributes { description "Parameters for WSON tunnel."; leaf src-client-signal { type identityref { base otn-types:client-signal; } description "Client signal at the source endpoint of the tunnel."; } leaf dst-client-signal { 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; } description "FEC type."; } leaf termination-type { type identityref { base wson-types:term-type; } description "Termination type."; } leaf bit-stuffing { type boolean; description "Bit stuffing enabled/disabled."; } Lee, et al. Expires February 2019 [Page 18] Internet-Draft WSON Tunnel Model August 2018 } grouping wson-path-constraints { description "Global named path constraints configuration grouping for WSON tunnel"; leaf wavelength-assignment { type identityref { base wson-types:wavelength-assignment; } description "Wavelength Allocation Method"; } } /* * Data nodes */ augment "/te:te/te:tunnels/te:tunnel" { description "Augment with additional parameters required for WSON tunnel."; uses wson-tunnel-attributes; } /* * 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; } } /* 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; Lee, et al. Expires February 2019 [Page 19] Internet-Draft WSON Tunnel Model August 2018 } } /* 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; } } /* 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; } } /* 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; } } /* * 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."; Lee, et al. Expires February 2019 [Page 20] Internet-Draft WSON Tunnel Model August 2018 case wson { uses wson-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; } } /* 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; } /* 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; } } /* 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/" Lee, et al. Expires February 2019 [Page 21] Internet-Draft WSON Tunnel Model August 2018 + "te:label-restriction/te:label-end/" + "te:te-label/te:technology" { description "WSON label."; case wson { uses wson-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; } /* 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; } } /* 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; } } Lee, et al. Expires February 2019 [Page 22] Internet-Draft WSON Tunnel Model August 2018 /* 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; } /* 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; } } /* 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; } } /* 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; } Lee, et al. Expires February 2019 [Page 23] Internet-Draft WSON Tunnel Model August 2018 /* 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; } } /* 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; } } /* 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; } } /* 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/" Lee, et al. Expires February 2019 [Page 24] Internet-Draft WSON Tunnel Model August 2018 + "te:label-hop/te:te-label/te:technology" { description "WSON label."; case wson { uses wson-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; } } /* 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; } } /* 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; } /* 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/" Lee, et al. Expires February 2019 [Page 25] Internet-Draft WSON Tunnel Model August 2018 + "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; } } /* 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; } } /* 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; } /* 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; } } Lee, et al. Expires February 2019 [Page 26] Internet-Draft WSON Tunnel Model August 2018 /* 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; } } /* 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; } /* 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; } } /* 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 { Lee, et al. Expires February 2019 [Page 27] Internet-Draft WSON Tunnel Model August 2018 uses wson-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; } /* 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; } } /* 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; } } /* 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/" Lee, et al. Expires February 2019 [Page 28] Internet-Draft WSON Tunnel Model August 2018 + "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; } } /* 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; } } /* 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; } } /* 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; } Lee, et al. Expires February 2019 [Page 29] Internet-Draft WSON Tunnel Model August 2018 } /* 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; } } /* 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; } } /* 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; } } Lee, et al. Expires February 2019 [Page 30] Internet-Draft WSON Tunnel Model August 2018 /* 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; } /* 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; } } /* 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; } } /* 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/" Lee, et al. Expires February 2019 [Page 31] Internet-Draft WSON Tunnel Model August 2018 + "te:path-in-segment/te:reverse/te:label-restrictions/" + "te:label-restriction" { description "WSON label."; uses wson-types:wson-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; } } /* 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; } } /* 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; } Lee, et al. Expires February 2019 [Page 32] Internet-Draft WSON Tunnel Model August 2018 /* 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; } } /* 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; } } /* 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; } /* 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/" Lee, et al. Expires February 2019 [Page 33] Internet-Draft WSON Tunnel Model August 2018 + "te:label-restriction/te:label-start/" + "te:te-label/te:technology" { description "WSON label."; case wson { uses wson-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; } } /* 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; } } /* 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 { Lee, et al. Expires February 2019 [Page 34] Internet-Draft WSON Tunnel Model August 2018 uses wson-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; } } /* 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; } } /* 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; } } /* Augment label hop of route-object-exclude-always of secondary path */ Lee, et al. Expires February 2019 [Page 35] Internet-Draft WSON Tunnel Model August 2018 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; } } /* 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; } } /* 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; } /* 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; } } Lee, et al. Expires February 2019 [Page 36] Internet-Draft WSON Tunnel Model August 2018 /* 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; } } /* 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; } /* 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; } } /* 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."; Lee, et al. Expires February 2019 [Page 37] Internet-Draft WSON Tunnel Model August 2018 case wson { uses wson-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; } /* 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; } } /* 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; } } /* 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/" Lee, et al. Expires February 2019 [Page 38] Internet-Draft WSON Tunnel Model August 2018 + "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:label-restriction" { description "WSON label."; uses wson-types:wson-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; } } /* 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; } } /* 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; } } /* Augment label hop of record-route of secondary LSP */ Lee, et al. Expires February 2019 [Page 39] Internet-Draft WSON Tunnel Model August 2018 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; } } /* 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; } } /* 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; } } 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; } } Lee, et al. Expires February 2019 [Page 40] Internet-Draft WSON Tunnel Model August 2018 4. Security Considerations The configuration, state, and action data defined in this document are designed to be accessed via a management protocol with a secure transport layer, such as NETCONF [RFC6241]. The NETCONF access control model [RFC6536] provides the means to restrict access for particular NETCONF users to a preconfigured subset of all available NETCONF protocol operations and content. A number of configuration data nodes defined in this document are writable/deletable (i.e., "config true") These data nodes may be considered sensitive or vulnerable in some network environments. 5. IANA Considerations This document registers the following namespace URIs in the IETF XML registry [RFC3688]: -------------------------------------------------------------------- URI: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel Registrant Contact: The IESG. XML: N/A, the requested URI is an XML namespace. -------------------------------------------------------------------- This document registers the following YANG modules in the YANG Module Names registry [RFC7950]: -------------------------------------------------------------------- name: ietf-wson-tunnel namespace: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel reference: RFC XXXX (TDB) -------------------------------------------------------------------- Lee, et al. Expires February 2019 [Page 41] Internet-Draft WSON Tunnel Model August 2018 6. Acknowledgments This document was prepared using 2-Word-v2.0.template.dot. Lee, et al. Expires February 2019 [Page 42] Internet-Draft WSON Tunnel Model August 2018 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 [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 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. 8. Contributors Italo Busi Huawei Email: Italo.Busi@huawei.com Authors' Addresses Young Lee (ed.) Huawei Technologies 5340 Legacy Drive, Building 3 Plano, TX 75023 USA Phone: (469) 277-5838 Email: leeyoung@huawei.com Lee, et al. Expires February 2019 [Page 43] Internet-Draft WSON Tunnel Model August 2018 Dhruv Dhody Huawei Technologies India Pvt. Ltd, Near EPIP Industrial Area, Kundalahalli Village, Whitefield, Bangalore - 560 037 [H1-2A-245] Email: dhruv.dhody@huawei.com Aihua Guo Huawei Email: aihuaguo@huawei.com Victor Lopez Telefonica Email: victor.lopezalvarez@telefonica.com Daniel King University of Lancaster Email: d.king@lancaster.ac.uk Bin Yeong Yoon ETRI 218 Gaijeongro, Yuseong-gu Daejeon, Korea Email: byyun@etri.re.kr Ricard Vilalta CTTC Email: ricard.vilalta@cttc.es Lee, et al. Expires February 2019 [Page 44]