--- 1/draft-ietf-ccamp-flexigrid-yang-02.txt 2019-03-24 04:14:21.670612958 -0700 +++ 2/draft-ietf-ccamp-flexigrid-yang-03.txt 2019-03-24 04:14:21.798616065 -0700 @@ -1,27 +1,27 @@ CCAMP Working Group J.E. Lopez de Vergara Internet Draft Universidad Autonoma de Madrid Intended status: Standards Track D. Perdices -Expires: April 25, 2019 Naudit HPCN +Expires: September 25, 2019 Naudit HPCN V. Lopez O. Gonzalez de Dios Telefonica I+D/GCTO D. King Lancaster University Y. Lee Huawei G. Galimberti Cisco Photonics Srl - October 22, 2018 + March 24, 2019 YANG data model for Flexi-Grid Optical Networks - draft-ietf-ccamp-flexigrid-yang-02.txt + draft-ietf-ccamp-flexigrid-yang-03.txt Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. This document may not be modified, and derivative works of it may not be created, except to publish it as an RFC and to translate it into languages other than English. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that @@ -32,25 +32,25 @@ 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 April 25, 2019. + This Internet-Draft will expire on September 25, 2019. Copyright Notice - Copyright (c) 2018 IETF Trust and the persons identified as the + Copyright (c) 2019 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 @@ -68,45 +68,45 @@ Table of Contents 1. Introduction .............................................. 2 2. Conventions used in this document ......................... 3 3. Flexi-grid network topology model overview ................ 3 4. Main building blocks of the Flexi-grid TED................. 4 4.1 Formal Syntax ......................................... 7 5. Example of use ............................................ 8 6. Flexi-grid TED YANG Model.................................. 9 6.1. YANG Model - Tree .................................... 9 - 6.2. YANG Model - Code .................................... 27 - 6.3. License .............................................. 64 - 7. Security Considerations ................................... 65 - 8. IANA Considerations ....................................... 65 - 9. References ................................................ 65 - 9.1. Normative References ................................. 65 - 9.2. Informative References ............................... 66 - 10. Contributors ............................................. 66 - 11. Acknowledgments .......................................... 67 - Authors' Addresses ........................................... 67 + 6.2. YANG Model - Code .................................... 30 + 6.3. License .............................................. 69 + 7. Security Considerations ................................... 69 + 8. IANA Considerations ....................................... 70 + 9. References ................................................ 71 + 9.1. Normative References ................................. 71 + 9.2. Informative References ............................... 71 + 10. Contributors ............................................. 72 + 11. Acknowledgments .......................................... 72 + Authors' Addresses ........................................... 72 1. Introduction Internet-based traffic is dramatically increasing every year. Moreover, such traffic is also becoming more dynamic. Thus, transport networks need to evolve from current DWDM systems towards elastic optical networks, based on flexi-grid transmission and switching technologies [RFC7698]. This technology aims at increasing both transport network scalability and flexibility, allowing the optimization of bandwidth usage. - This document presents a YANG model for flexi-grid objects in the - dynamic optical network, including the nodes, transponders and links - between them, as well as how such links interconnect nodes and - transponders. + This document presents a YANG [RFC7950] model for flexi-grid objects + in the dynamic optical network, including the nodes, transponders + and links between them, as well as how such links interconnect nodes + and transponders. The YANG model for flexi-grid networks allows the representation of the flexi-grid optical layer of a network, combined with the underlying physical layer. This document identifies the flexi-grid components, parameters and their values, characterizes the features and the performances of the flexi-grid elements. An application example is provided towards the end of the document to better understand their utility. @@ -140,39 +140,39 @@ optical interface parameters of DWDM applications, and in [I-D.draft-ietf-ccamp-wson-yang] another model has been specified for the routing and wavelength assignment TE topology in wavelength switched optical networks (WSONs). None of them are specific for flexi-grid technology. Then, as stated before, we propose a model to describe a flexi-grid topology that is split in two YANG sub-modules: - o Flexi-grid-TED: In order to be compatible with existing + o Flexi-grid-topology: In order to be compatible with existing proposals, we augment the definitions contained in [RFC8345] and [I-D.draft-ietf-teas-yang-te-topo], by defining the different elements we can find in a flexi-grid network: a node, a transponder and a link. For that, each of those elements is defined as a container that includes a group of attributes. References to the elements are provided to be later used in the definition of a media channel. It also includes the data types for the type of modulation, the flexi-grid technology, the FEC, etc. o Media-channel: This module defines the whole path from a source transponder to the destination through a number of intermediate nodes and links. For this, it takes the information defined before - in the flexi-grid TED. This module is described in + in the flexi-grid topology. This module is described in [I-D.draft-ietf-ccamp-flexigrid-media-channel-yang] The following section provides a detailed view of the first module. -4. Main building blocks of the Flexi-grid TED +4. Main building blocks of the Flexi-grid topology This section details the defined YANG module. It is listed below in section 6. The description of the three main components, flexi-grid-node, flexi-grid-transponder and flexi-grid-link is provided below. flexi-grid-sliceable-transponders are also defined. ::= @@ -383,925 +383,1149 @@ each situation. Note that every element in the flexi-grid TED has a reference, and this is the way in which they are called in the media channel. We refer to [I-D.draft-ietf-ccamp-flexigrid-media-channel-yang] to complete this example. 6. Flexi-grid TED YANG Model 6.1. Yang Model - Tree Structure -module: ietf-flex-grid-topology +module: ietf-flexi-grid-topology augment /nw:networks/nw:network/nw:network-types/tet:te-topology: - +--rw flex-grid-topology! - augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes: + +--rw flexi-grid-topology! + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes: augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te: +--rw supported-payload-types* [index] | +--rw index uint16 | +--rw payload-type? string +--rw client-facing? boolean - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes: - +--rw flex-grid-node + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes: + +--rw flexi-grid-node +--rw node-type? identityref - augment /nw:networks/nw:network/nw:node/tet:te/ + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point: +--rw supported-operational-modes* layer0-types:operational-mode +--rw configured-operational-modes? layer0-types:operational-mode +--rw supported-fec-types* identityref +--rw supported-termination-types* identityref +--rw supports-bit-stuffing? boolean +--rw is-tunable? boolean +--rw max-subcarrier-channel-num? uint8 - +--rw supports-flex-grid? boolean - augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te/ + +--rw supports-flexi-grid? boolean + augment + /nw:networks/nw:network/nw:node/nt:termination-point/tet:te/ tet:interface-switching-capability/tet:max-lsp-bandwidth/ tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw bandwidth-type? identityref - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:path-constraints/tet:te-bandwidth/ tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:connectivity-matrix/ tet:path-constraints/tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nw:node/tet:te/ + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:path-constraints/tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--ro supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nw:node/tet:te/ + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ - tet:connectivity-matrix/tet:path-constraints/ - tet:te-bandwidth/tet:technology: - +--:(flex-grid) + tet:connectivity-matrix/tet:path-constraints/tet:te-bandwidth/ + tet:technology: + +--:(flexi-grid) +--ro supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nw:node/tet:te/ + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:client-layer-adaptation/ tet:switching-capability/tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nw:node/tet:te/ + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:path-constraints/tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nw:node/tet:te/ + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ - tet:local-link-connectivity/tet:path-constraints/tet:te-bandwidth/ - tet:technology: - +--:(flex-grid) + tet:local-link-connectivity/tet:path-constraints/ + tet:te-bandwidth/tet:technology: + +--:(flexi-grid) +--rw supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ tet:interface-switching-capability/tet:max-lsp-bandwidth/ tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw bandwidth-type? identityref - augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ tet:max-link-bandwidth/tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ + + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw supported-bandwidth-list* identityref - - augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nt:link/tet:te/ + augment + /nw:networks/nw:network/nt:link/tet:te/ tet:information-source-entry/tet:interface-switching-capability/ tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--ro bandwidth-type? identityref - augment /nw:networks/nw:network/nt:link/tet:te/ - ttet:information-source-entry/et:max-link-bandwidth/ + augment + /nw:networks/nw:network/nt:link/tet:te/ + tet:information-source-entry/tet:max-link-bandwidth/ tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--ro supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nt:link/tet:te/ + augment + /nw:networks/nw:network/nt:link/tet:te/ tet:information-source-entry/tet:max-resv-link-bandwidth/ tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--ro supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nt:link/tet:te/ + augment + /nw:networks/nw:network/nt:link/tet:te/ tet:information-source-entry/tet:unreserved-bandwidth/ tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--ro supported-bandwidth-list* identityref - augment /nw:networks/tet:te/tet:templates/tet:link-template/ + augment + /nw:networks/tet:te/tet:templates/tet:link-template/ tet:te-link-attributes/tet:interface-switching-capability/ tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw bandwidth-type? identityref - augment /nw:networks/tet:te/tet:templates/tet:link-template/ + augment + /nw:networks/tet:te/tet:templates/tet:link-template/ tet:te-link-attributes/tet:max-link-bandwidth/tet:te-bandwidth/ tet:technology: - +--:(flex-grid) - +--rw supported-bandwidth-list* identityref - augment /nw:networks/tet:te/tet:templates/tet:link-template/ - tet:te-link-attributes/tet:max-resv-link-bandwidth/tet:te-bandwidth/ - tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw supported-bandwidth-list* identityref - augment /nw:networks/tet:te/tet:templates/tet:link-template/ - tet:te-link-attributes/tet:unreserved-bandwidth/tet:te-bandwidth/ - tet:technology: - +--:(flex-grid) + augment + /nw:networks/tet:te/tet:templates/tet:link-template/ + tet:te-link-attributes/tet:max-resv-link-bandwidth/ + tet:te-bandwidth/tet:technology: + +--:(flexi-grid) +--rw supported-bandwidth-list* identityref - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + augment + /nw:networks/tet:te/tet:templates/tet:link-template/ + tet:te-link-attributes/tet:unreserved-bandwidth/ + tet:te-bandwidth/tet:technology: + +--:(flexi-grid) + +--rw supported-bandwidth-list* identityref + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:label-restrictions/ tet:label-restriction: +--rw grid-type? identityref +--rw priority? uint8 - +--rw flex-grid - +--rw nominal-central-frequency-granularity? frequency-ghz - +--rw slot-width-granularity? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--rw flexi-grid + +--rw nominal-central-frequency-granularity? identityref + +--rw slot-width-granularity? identityref + +--rw min-slot-width-factor? uint16 + +--rw max-slot-width-factor? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:label-restrictions/ - tet:label-restriction/tet:label-start/tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + tet:label-restriction/tet:label-start/tet:te-label/ + tet:technology: + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:label-restrictions/ tet:label-restriction/tet:label-end/tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + tet:connectivity-matrices/tet:label-restrictions/ + tet:label-restriction/tet:label-step/tet:technology: + +--:(flexi-grid) + +--rw flex? identityref + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:underlay/tet:primary-path/ tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:underlay/tet:backup-path/ tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ tet:technology: - +--:(flex-grid) + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:optimizations/tet:algorithm/ tet:metric/tet:optimization-metric/ - tet:explicit-route-exclude-objects/tet:route-object-exclude-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:explicit-route-exclude-objects/ + tet:route-object-exclude-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:optimizations/tet:algorithm/ tet:metric/tet:optimization-metric/ - tet:explicit-route-include-objects/tet:route-object-include-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:explicit-route-include-objects/ + tet:route-object-include-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:path-properties/ - tet:path-route-objects/tet:path-route-object/tet:type/tet:label/ - tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:path-route-objects/tet:path-route-object/tet:type/ + tet:label/tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:connectivity-matrix/tet:from/ tet:label-restrictions/tet:label-restriction: +--rw grid-type? identityref +--rw priority? uint8 - +--rw flex-grid - +--rw nominal-central-frequency-granularity? frequency-ghz - +--rw slot-width-granularity? frequency-ghz - - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--rw flexi-grid + +--rw nominal-central-frequency-granularity? identityref + +--rw slot-width-granularity? identityref + +--rw min-slot-width-factor? uint16 + +--rw max-slot-width-factor? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:connectivity-matrix/tet:from/ tet:label-restrictions/tet:label-restriction/tet:label-start/ tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:connectivity-matrix/tet:from/ tet:label-restrictions/tet:label-restriction/tet:label-end/ tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + tet:connectivity-matrices/tet:connectivity-matrix/tet:from/ + tet:label-restrictions/tet:label-restriction/tet:label-step/ + tet:technology: + +--:(flexi-grid) + +--rw flex? identityref + + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:connectivity-matrix/tet:to/ tet:label-restrictions/tet:label-restriction: +--rw grid-type? identityref +--rw priority? uint8 - +--rw flex-grid - +--rw nominal-central-frequency-granularity? frequency-ghz - +--rw slot-width-granularity? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--rw flexi-grid + +--rw nominal-central-frequency-granularity? identityref + +--rw slot-width-granularity? identityref + +--rw min-slot-width-factor? uint16 + +--rw max-slot-width-factor? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:connectivity-matrix/tet:to/ tet:label-restrictions/tet:label-restriction/tet:label-start/ tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:connectivity-matrix/tet:to/ tet:label-restrictions/tet:label-restriction/tet:label-end/ tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + tet:connectivity-matrices/tet:connectivity-matrix/tet:to/ + tet:label-restrictions/tet:label-restriction/tet:label-step/ + tet:technology: + +--:(flexi-grid) + +--rw flex? identityref + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:connectivity-matrix/tet:underlay/ - tet:primary-path/tet:path-element/tet:type/tet:label/tet:label-hop/ - tet:te-label/tet:technology: - +--:(flex-grid) + tet:primary-path/tet:path-element/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:connectivity-matrix/tet:underlay/ - tet:backup-path/tet:path-element/tet:type/tet:label/tet:label-hop/ - tet:te-label/tet:technology: - +--:(flex-grid) + tet:backup-path/tet:path-element/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ - tet:connectivity-matrices/tet:connectivity-matrix/tet:optimizations/ - tet:algorithm/tet:metric/tet:optimization-metric/ - tet:explicit-route-exclude-objects/tet:route-object-exclude-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + tet:connectivity-matrices/tet:connectivity-matrix/ + tet:optimizations/tet:algorithm/tet:metric/ + tet:optimization-metric/tet:explicit-route-exclude-objects/ + tet:route-object-exclude-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ - tet:connectivity-matrices/tet:connectivity-matrix/tet:optimizations/ - tet:algorithm/tet:metric/tet:optimization-metric/ - tet:explicit-route-include-objects/tet:route-object-include-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + tet:connectivity-matrices/tet:connectivity-matrix/ + tet:optimizations/tet:algorithm/tet:metric/ + tet:optimization-metric/tet:explicit-route-include-objects/ + tet:route-object-include-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 - augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ + augment + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ tet:connectivity-matrices/tet:connectivity-matrix/ - tet:path-properties/tet:path-route-objects/tet:path-route-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:path-properties/tet:path-route-objects/ + tet:path-route-object/tet:type/tet:label/tet:label-hop/ + tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:label-restrictions/tet:label-restriction: +--ro grid-type? identityref +--ro priority? uint8 - +--ro flex-grid - +--ro nominal-central-frequency-granularity? frequency-ghz - +--ro slot-width-granularity? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro flexi-grid + +--ro nominal-central-frequency-granularity? identityref + +--ro slot-width-granularity? identityref + +--ro min-slot-width-factor? uint16 + +--ro max-slot-width-factor? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:label-restrictions/tet:label-restriction/tet:label-start/ tet:te-label/tet:technology: - +--:(flex-grid) - +--ro central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--:(flexi-grid) + +--ro flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:label-restrictions/tet:label-restriction/tet:label-end/ tet:te-label/tet:technology: - +--:(flex-grid) - +--ro central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:information-source-entry/tet:connectivity-matrices/tet:underlay/ - tet:primary-path/tet:path-element/tet:type/tet:label/tet:label-hop/ - tet:te-label/tet:technology: - +--:(flex-grid) + +--:(flexi-grid) + +--ro flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/ + tet:information-source-entry/tet:connectivity-matrices/ + tet:label-restrictions/tet:label-restriction/tet:label-step/ + tet:technology: + +--:(flexi-grid) + +--ro flex? identityref + + augment + /nw:networks/nw:network/nw:node/tet:te/ + tet:information-source-entry/tet:connectivity-matrices/ + tet:underlay/tet:primary-path/tet:path-element/tet:type/ + tet:label/tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:information-source-entry/tet:connectivity-matrices/tet:underlay/ - tet:backup-path/tet:path-element/tet:type/tet:label/tet:label-hop/ - tet:te-label/tet:technology: - +--:(flex-grid) + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ + tet:information-source-entry/tet:connectivity-matrices/ + tet:underlay/tet:backup-path/tet:path-element/tet:type/ + tet:label/tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ - tet:optimizations/tet:algorithm/tet:metric/tet:optimization-metric/ - tet:explicit-route-exclude-objects/tet:route-object-exclude-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:optimizations/tet:algorithm/tet:metric/ + tet:optimization-metric/tet:explicit-route-exclude-objects/ + tet:route-object-exclude-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ - tet:optimizations/tet:algorithm/tet:metric/tet:optimization-metric/ - tet:explicit-route-include-objects/tet:route-object-include-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:optimizations/tet:algorithm/tet:metric/ + tet:optimization-metric/tet:explicit-route-include-objects/ + tet:route-object-include-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ - tet:path-properties/tet:path-route-objects/tet:path-route-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:path-properties/tet:path-route-objects/ + tet:path-route-object/tet:type/tet:label/tet:label-hop/ + tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/tet: - information-source-entry/tet:connectivity-matrices/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ + tet:information-source-entry/tet:connectivity-matrices/ tet:connectivity-matrix/tet:from/tet:label-restrictions/ tet:label-restriction: +--ro grid-type? identityref +--ro priority? uint8 - +--ro flex-grid - +--ro nominal-central-frequency-granularity? frequency-ghz - +--ro slot-width-granularity? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro flexi-grid + +--ro nominal-central-frequency-granularity? identityref + +--ro slot-width-granularity? identityref + +--ro min-slot-width-factor? uint16 + +--ro max-slot-width-factor? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:connectivity-matrix/tet:from/tet:label-restrictions/ - tet:label-restriction/tet:label-start/tet:te-label/tet:technology: - +--:(flex-grid) - +--ro central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/ + tet:label-restriction/tet:label-start/tet:te-label/ + tet:technology: + +--:(flexi-grid) + +--ro flex-n? int16 + + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:connectivity-matrix/tet:from/tet:label-restrictions/ tet:label-restriction/tet:label-end/tet:te-label/tet:technology: - +--:(flex-grid) - +--ro central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--:(flexi-grid) + +--ro flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/ + tet:information-source-entry/tet:connectivity-matrices/ + tet:connectivity-matrix/tet:from/tet:label-restrictions/ + tet:label-restriction/tet:label-step/tet:technology: + +--:(flexi-grid) + +--ro flex? identityref + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:connectivity-matrix/tet:to/tet:label-restrictions/ tet:label-restriction: +--ro grid-type? identityref +--ro priority? uint8 - +--ro flex-grid - +--ro nominal-central-frequency-granularity? frequency-ghz - +--ro slot-width-granularity? frequency-ghz - - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro flexi-grid + +--ro nominal-central-frequency-granularity? identityref + +--ro slot-width-granularity? identityref + +--ro min-slot-width-factor? uint16 + +--ro max-slot-width-factor? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:connectivity-matrix/tet:to/tet:label-restrictions/ - tet:label-restriction/tet:label-start/tet:te-label/tet:technology: - +--:(flex-grid) - +--ro central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/ + tet:label-restriction/tet:label-start/tet:te-label/ + tet:technology: + +--:(flexi-grid) + +--ro flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:connectivity-matrix/tet:to/tet:label-restrictions/ tet:label-restriction/tet:label-end/tet:te-label/tet:technology: - +--:(flex-grid) - +--ro central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--:(flexi-grid) + +--ro flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/ + tet:information-source-entry/tet:connectivity-matrices/ + tet:connectivity-matrix/tet:to/tet:label-restrictions/ + tet:label-restriction/tet:label-step/tet:technology: + +--:(flexi-grid) + +--ro flex? identityref + + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:connectivity-matrix/tet:underlay/tet:primary-path/ - tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ - tet:technology: - +--:(flex-grid) + tet:path-element/tet:type/tet:label/tet:label-hop/ + tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:connectivity-matrix/tet:underlay/tet:backup-path/ - tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ - tet:technology: - +--:(flex-grid) + tet:path-element/tet:type/tet:label/tet:label-hop/ + tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ - tet:connectivity-matrix/tet:optimizations/tet:algorithm/tet:metric/ - tet:optimization-metric/tet:explicit-route-exclude-objects/ - tet:route-object-exclude-object/tet:type/tet:label/tet:label-hop/ - tet:te-label/tet:technology: - +--:(flex-grid) + tet:connectivity-matrix/tet:optimizations/tet:algorithm/ + tet:metric/tet:optimization-metric/ + tet:explicit-route-exclude-objects/ + tet:route-object-exclude-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:information-source-entry/tet:connectivity-matrices/ tet:connectivity-matrix/tet:optimizations/tet:algorithm/ tet:metric/tet:optimization-metric/ - tet:explicit-route-include-objects/tet:route-object-include-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:explicit-route-include-objects/ + tet:route-object-include-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:information-source-entry/tet:connectivity-matrices/es/ - tet:connectivity-matrix/tet:path-propertitet:path-route-objects/ - tet:path-route-object/tet:type/tet:label/tet:label-hop/tet:te-label/ - tet:technology: - +--:(flex-grid) + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ + tet:information-source-entry/tet:connectivity-matrices/ + tet:connectivity-matrix/tet:path-properties/ + tet:path-route-objects/tet:path-route-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:label-restrictions/tet:label-restriction: +--rw grid-type? identityref +--rw priority? uint8 - +--rw flex-grid - +--rw nominal-central-frequency-granularity? frequency-ghz - +--rw slot-width-granularity? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--rw flexi-grid + +--rw nominal-central-frequency-granularity? identityref + +--rw slot-width-granularity? identityref + +--rw min-slot-width-factor? uint16 + +--rw max-slot-width-factor? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:label-restrictions/tet:label-restriction/tet:label-start/ tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--:(flexi-grid) + +--rw flex-n? int16 + + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:label-restrictions/tet:label-restriction/tet:label-end/ tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ - tet:underlay/tet:primary-path/tet:path-element/tet:type/tet:label/ - tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:label-restrictions/tet:label-restriction/tet:label-step/ + tet:technology: + +--:(flexi-grid) + +--rw flex? identityref + augment + /nw:networks/nw:network/nw:node/tet:te/ + tet:tunnel-termination-point/tet:local-link-connectivities/ + tet:underlay/tet:primary-path/tet:path-element/tet:type/ + tet:label/tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ - tet:underlay/tet:backup-path/tet:path-element/tet:type/tet:label/ - tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:underlay/tet:backup-path/tet:path-element/tet:type/ + tet:label/tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 - augment /nw:networks/nw:network/nw:node/tet:te/ + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ - tet:optimizations/tet:algorithm/tet:metric/tet:optimization-metric/ - tet:explicit-route-exclude-objects/tet:route-object-exclude-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:optimizations/tet:algorithm/tet:metric/ + tet:optimization-metric/tet:explicit-route-exclude-objects/ + tet:route-object-exclude-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ - tet:optimizations/tet:algorithm/tet:metric/tet:optimization-metric/ - tet:explicit-route-include-objects/tet:route-object-include-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:optimizations/tet:algorithm/tet:metric/ + tet:optimization-metric/tet:explicit-route-include-objects/ + tet:route-object-include-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ - tet:path-properties/tet:path-route-objects/tet:path-route-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:path-properties/tet:path-route-objects/ + tet:path-route-object/tet:type/tet:label/tet:label-hop/ + tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:local-link-connectivity/tet:label-restrictions/ tet:label-restriction: +--rw grid-type? identityref +--rw priority? uint8 - +--rw flex-grid - +--rw nominal-central-frequency-granularity? frequency-ghz - +--rw slot-width-granularity? frequency-ghz - - augment /nw:networks/nw:network/nw:node/tet:te/ + +--rw flexi-grid + +--rw nominal-central-frequency-granularity? identityref + +--rw slot-width-granularity? identityref + +--rw min-slot-width-factor? uint16 + +--rw max-slot-width-factor? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:local-link-connectivity/tet:label-restrictions/ - tet:label-restriction/tet:label-start/tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/ + tet:label-restriction/tet:label-start/tet:te-label/ + tet:technology: + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:local-link-connectivity/tet:label-restrictions/ - tet:label-restriction/tet:label-end/tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nw:node/tet:te/ + tet:label-restriction/tet:label-end/tet:te-label/ + tet:technology: + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nw:node/tet:te/ + tet:tunnel-termination-point/tet:local-link-connectivities/ + tet:local-link-connectivity/tet:label-restrictions/ + tet:label-restriction/tet:label-step/tet:technology: + +--:(flexi-grid) + +--rw flex? identityref + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:local-link-connectivity/tet:underlay/tet:primary-path/ - tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ - tet:technology: - +--:(flex-grid) + tet:path-element/tet:type/tet:label/tet:label-hop/ + tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:local-link-connectivity/tet:underlay/tet:backup-path/ - tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ - tet:technology: - +--:(flex-grid) + tet:path-element/tet:type/tet:label/tet:label-hop/ + tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - - augment /nw:networks/nw:network/nw:node/tet:te/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:local-link-connectivity/tet:optimizations/tet:algorithm/ tet:metric/tet:optimization-metric/ - tet:explicit-route-exclude-objects/tet:route-object-exclude-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:explicit-route-exclude-objects/ + tet:route-object-exclude-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - - augment /nw:networks/nw:network/nw:node/tet:te/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:local-link-connectivity/tet:optimizations/tet:algorithm/ tet:metric/tet:optimization-metric/ - tet:explicit-route-include-objects/tet:route-object-include-object/ - tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:explicit-route-include-objects/ + tet:route-object-include-object/tet:type/tet:label/ + tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nw:node/tet:te/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + + augment + /nw:networks/nw:network/nw:node/tet:te/ tet:tunnel-termination-point/tet:local-link-connectivities/ tet:local-link-connectivity/tet:path-properties/ - tet:path-route-objects/tet:path-route-object/tet:type/tet:label/ - tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + tet:path-route-objects/tet:path-route-object/tet:type/ + tet:label/tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--ro (single-or-super-channel)? +--:(single) - | +--ro central-frequency? frequency-thz - | +--ro slot-width? frequency-ghz + | +--ro flex-n? int16 + | +--ro flex-m? uint16 +--:(super) - +--ro subcarrier-channels* [central-frequency] - +--ro central-frequency frequency-thz - +--ro slot-width? frequency-ghz - - augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ - tet:underlay/tet:primary-path/tet:path-element/tet:type/tet:label/ - tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + +--ro subcarrier-flex-n* [flex-n] + +--ro flex-n int16 + +--ro flex-m? uint16 + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ + tet:underlay/tet:primary-path/tet:path-element/tet:type/ + tet:label/tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - - augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ - tet:underlay/tet:backup-path/tet:path-element/tet:type/tet:label/ - tet:label-hop/tet:te-label/tet:technology: - +--:(flex-grid) + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ + tet:underlay/tet:backup-path/tet:path-element/tet:type/ + tet:label/tet:label-hop/tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ tet:label-restrictions/tet:label-restriction: +--rw grid-type? identityref +--rw priority? uint8 - +--rw flex-grid - +--rw nominal-central-frequency-granularity? frequency-ghz - +--rw slot-width-granularity? frequency-ghz - augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ + +--rw flexi-grid + +--rw nominal-central-frequency-granularity? identityref + +--rw slot-width-granularity? identityref + +--rw min-slot-width-factor? uint16 + +--rw max-slot-width-factor? uint16 + + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ tet:label-restrictions/tet:label-restriction/tet:label-start/ tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ tet:label-restrictions/tet:label-restriction/tet:label-end/ tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/nw:network/nt:link/tet:te/ + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ + tet:label-restrictions/tet:label-restriction/tet:label-step/ + tet:technology: + +--:(flexi-grid) + +--rw flex? identityref + augment + /nw:networks/nw:network/nt:link/tet:te/ tet:information-source-entry/tet:label-restrictions/ tet:label-restriction: +--ro grid-type? identityref +--ro priority? uint8 - +--ro flex-grid - +--ro nominal-central-frequency-granularity? frequency-ghz - +--ro slot-width-granularity? frequency-ghz - - augment /nw:networks/nw:network/nt:link/tet:te/ + +--ro flexi-grid + +--ro nominal-central-frequency-granularity? identityref + +--ro slot-width-granularity? identityref + +--ro min-slot-width-factor? uint16 + +--ro max-slot-width-factor? uint16 + augment + /nw:networks/nw:network/nt:link/tet:te/ tet:information-source-entry/tet:label-restrictions/ - tet:label-restriction/tet:label-start/tet:te-label/tet:technology: - +--:(flex-grid) - +--ro central-frequency? frequency-thz - augment /nw:networks/nw:network/nt:link/tet:te/ + tet:label-restriction/tet:label-start/tet:te-label/ + tet:technology: + +--:(flexi-grid) + +--ro flex-n? int16 + augment + /nw:networks/nw:network/nt:link/tet:te/ tet:information-source-entry/tet:label-restrictions/ - tet:label-restriction/tet:label-end/tet:te-label/tet:technology: - +--:(flex-grid) - +--ro central-frequency? frequency-thz - augment /nw:networks/tet:te/tet:templates/tet:link-template/ - tet:te-link-attributes/tet:underlay/tet:primary-path/ - tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ + tet:label-restriction/tet:label-end/tet:te-label/ tet:technology: - +--:(flex-grid) + +--:(flexi-grid) + +--ro flex-n? int16 + augment + /nw:networks/nw:network/nt:link/tet:te/ + tet:information-source-entry/tet:label-restrictions/ + tet:label-restriction/tet:label-step/tet:technology: + +--:(flexi-grid) + +--ro flex? identityref + + augment + /nw:networks/tet:te/tet:templates/tet:link-template/ + tet:te-link-attributes/tet:underlay/tet:primary-path/ + tet:path-element/tet:type/tet:label/tet:label-hop/ + tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/tet:te/tet:templates/tet:link-template/ + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/tet:te/tet:templates/tet:link-template/ tet:te-link-attributes/tet:underlay/tet:backup-path/ - ttet:path-element/et:type/tet:label/tet:label-hop/tet:te-label/ - tet:technology: - +--:(flex-grid) + tet:path-element/tet:type/tet:label/tet:label-hop/ + tet:te-label/tet:technology: + +--:(flexi-grid) +--rw (single-or-super-channel)? +--:(single) - | +--rw central-frequency? frequency-thz - | +--rw slot-width? frequency-ghz + | +--rw flex-n? int16 + | +--rw flex-m? uint16 +--:(super) - +--rw subcarrier-channels* [central-frequency] - +--rw central-frequency frequency-thz - +--rw slot-width? frequency-ghz - augment /nw:networks/tet:te/tet:templates/tet:link-template/ - tet:te-link-attributes/tet:label-restrictions/tet:label-restriction: + +--rw subcarrier-flex-n* [flex-n] + +--rw flex-n int16 + +--rw flex-m? uint16 + augment + /nw:networks/tet:te/tet:templates/tet:link-template/ + tet:te-link-attributes/tet:label-restrictions/ + tet:label-restriction: +--rw grid-type? identityref +--rw priority? uint8 - +--rw flex-grid - +--rw nominal-central-frequency-granularity? frequency-ghz - +--rw slot-width-granularity? frequency-ghz - augment /nw:networks/tet:te/tet:templates/tet:link-template/ - tet:te-link-attributes/tet:label-restrictions/tet:label-restriction/ - tet:label-start/tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz - augment /nw:networks/tet:te/tet:templates/tet:link-template/ - tet:te-link-attributes/tet:label-restrictions/tet:label-restriction/ - tet:label-end/tet:te-label/tet:technology: - +--:(flex-grid) - +--rw central-frequency? frequency-thz + +--rw flexi-grid + +--rw nominal-central-frequency-granularity? identityref + +--rw slot-width-granularity? identityref + +--rw min-slot-width-factor? uint16 + +--rw max-slot-width-factor? uint16 + augment + /nw:networks/tet:te/tet:templates/tet:link-template/ + tet:te-link-attributes/tet:label-restrictions/ + tet:label-restriction/tet:label-start/tet:te-label/ + tet:technology: + +--:(flexi-grid) + +--rw flex-n? int16 + augment + /nw:networks/tet:te/tet:templates/tet:link-template/ + tet:te-link-attributes/tet:label-restrictions/ + tet:label-restriction/tet:label-end/tet:te-label/ + tet:technology: -A.2. YANG Model - Code + augment + /nw:networks/tet:te/tet:templates/tet:link-template/ + tet:te-link-attributes/tet:label-restrictions/ + tet:label-restriction/tet:label-step/tet:technology: + +--:(flexi-grid) + +--rw flex? identityref - file "ietf-flexi-grid-ted@2018-10-22.yang" -module ietf-flex-grid-topology { +6.2. YANG Model - Code + + file "ietf-flexi-grid-topology@2019-03-24.yang" +module ietf-flexi-grid-topology { yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang:ietf-flex-grid-topology"; + namespace "urn:ietf:params:xml:ns:yang:ietf-flexi-grid-topology"; - prefix "flex-grid"; + prefix "flexi-grid"; import ietf-network { prefix "nw"; + reference + "RFC 8345: A YANG Data Model for Network Topologies"; } import ietf-network-topology { prefix "nt"; + reference + "RFC 8345: A YANG Data Model for Network Topologies"; } import ietf-te-topology { prefix "tet"; + reference + "RFC YYYY: YANG Data Model for + Traffic Engineering (TE) Topologies"; } + /* Note: The RFC Editor will replace YYYY with the number assigned + to the RFC once draft-ietf-teas-yang-te-topo becomes an RFC.*/ + import ietf-layer0-types { prefix "layer0-types"; + reference + "RFC XXXX: A YANG Data Model for WSON + (Wavelength Switched Optical Networks)"; } + /* Note: The RFC Editor will replace XXXX with the number assigned + to the RFC once draft-ietf-ccamp-wson-yang becomes an RFC.*/ + organization "IETF CCAMP Working Group"; contact "WG Web: WG List: WG Chair: Daniele Ceccarelli WG Chair: Fatai Zhang Editor: Jorge E. Lopez de Vergara - Editor: Daniel Perdices Burrero - Editor: Victor Lopez Alvarez - Editor: Young Lee - Editor: Aihua Guo "; + Editor: Daniel Perdices + Editor: Victor Lopez + Editor: Young Lee "; description - "This module defines a model for Flex-grid topology + "This module defines a model for flexi-grid topology - Copyright (c) 2018 IETF Trust and the persons identified + Copyright (c) 2019 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info)."; - revision 2018-10-22 { + revision 2019-03-24 { description - "version 1."; + "version 2."; reference - "RFC XXX: A Yang Data Model for Flex-grid Optical Networks "; + "RFC XXXX: A Yang Data Model for flexi-grid Optical Networks "; } /* * Groupings */ - grouping flex-grid-node-attributes { - description "Flex-grid node attributes."; + grouping flexi-grid-node-attributes { + description "flexi-grid node attributes."; - container flex-grid-node { - description "Flex-grid node attrtibutes."; + container flexi-grid-node { + description "flexi-grid node attrtibutes."; leaf node-type { type identityref { base layer0-types:layer0-node-type; } - description "Flex-grid node type."; + description "flexi-grid node type."; } } } - - grouping flex-grid-link-attributes { + grouping flexi-grid-link-attributes { description - "Future flex-grid link attributes extensions"; + "Future flexi-grid link attributes extensions"; } - grouping flex-grid-tp-attributes { - description "flex-grid-tp-attributes"; + grouping flexi-grid-tp-attributes { + description "flexi-grid-tp-attributes"; list supported-payload-types { key "index"; description "Supported payload types of a TP. The payload type is defined as the generalized PIDs in GMPLS."; leaf index { type uint16; description "payload type index"; } @@ -1314,23 +1538,23 @@ } } leaf client-facing { type boolean; default 'false'; description "Indicating if it is a client-facing TP."; } } - grouping flex-grid-ttp-attributes { + grouping flexi-grid-ttp-attributes { description - "Flex-grid tunnel termination point (e.g.tranponder) + "flexi-grid tunnel termination point (e.g.tranponder) attributes"; leaf-list supported-operational-modes { type layer0-types:operational-mode; description "List of all supported vendor-specific mode identifiers"; } leaf configured-operational-modes { type layer0-types:operational-mode; description @@ -1371,494 +1594,501 @@ leaf max-subcarrier-channel-num { type uint8 { range "1..max"; } default 1; description "Indicate the maximum number of subcarrier channels for super-channel transponders. When the value equals 1 it represents regular single-channel transponder."; } - leaf supports-flex-grid { + leaf supports-flexi-grid { type boolean; description "Indicates if the TTP, or transponder, supports flex grid."; } } /* * Data nodes */ augment "/nw:networks/nw:network/nw:network-types" + "/tet:te-topology" { - description "flex-grid-topology augmented"; - container flex-grid-topology { + description "flexi-grid-topology augmented"; + container flexi-grid-topology { presence "indicates a topology of Flex Grid"; description - "Container to identify Flex-grid topology type"; + "Container to identify flexi-grid topology type"; } } augment "/nw:networks/nw:network/nt:link/tet:te" + "/tet:te-link-attributes" { when "/nw:networks/nw:network/nw:network-types" - +"/tet:te-topology/flex-grid:flex-grid-topology" { - description "This augment is only valid for flex-grid."; + +"/tet:te-topology/flexi-grid:flexi-grid-topology" { + description "This augment is only valid for flexi-grid."; } - description "Flex-grid Link augmentation."; - uses flex-grid-link-attributes; + description "flexi-grid Link augmentation."; + uses flexi-grid-link-attributes; } augment "/nw:networks/nw:network/nw:node/nt:termination-point/" + "tet:te" { when "/nw:networks/nw:network/nw:network-types" - +"/tet:te-topology/flex-grid:flex-grid-topology" { - description "This augment is only valid for flex-grid."; + +"/tet:te-topology/flexi-grid:flexi-grid-topology" { + description "This augment is only valid for flexi-grid."; } - description "Flex-grid TP attributes."; - uses flex-grid-tp-attributes; + description "flexi-grid TP attributes."; + uses flexi-grid-tp-attributes; } augment "/nw:networks/nw:network/nw:node/tet:te" + "/tet:te-node-attributes" { when "/nw:networks/nw:network/nw:network-types" - +"/tet:te-topology/flex-grid:flex-grid-topology" { - description "This augment is only valid for flex-grid."; + +"/tet:te-topology/flexi-grid:flexi-grid-topology" { + description "This augment is only valid for flexi-grid."; } - description "Flex-grid Node augmentation."; - uses flex-grid-node-attributes; + description "flexi-grid Node augmentation."; + uses flexi-grid-node-attributes; } augment "/nw:networks/nw:network/nw:node/tet:te" + "/tet:tunnel-termination-point" { when "/nw:networks/nw:network/nw:network-types" - +"/tet:te-topology/flex-grid:flex-grid-topology" { - description "This augment is only valid for flex-grid."; + +"/tet:te-topology/flexi-grid:flexi-grid-topology" { + description "This augment is only valid for flexi-grid."; } - description "Flex-grid tunnel termination point augmentation."; - uses flex-grid-ttp-attributes; + description "flexi-grid tunnel termination point augmentation."; + uses flexi-grid-ttp-attributes; } /* * Augment TE bandwidth */ /* Augment maximum LSP bandwidth of link terminationpoint (LTP) */ augment "/nw:networks/nw:network/nw:node/nt:termination-point/" + "tet:te/" + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE bandwidth"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE bandwidth"; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-path-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-path-bandwidth; } } /* Augment bandwidth path constraints of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:path-constraints/tet:te-bandwidth/tet:technology" { when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE bandwidth"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE bandwidth"; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } /* Augment bandwidth path constraints of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:path-constraints/tet:te-bandwidth/tet:technology" { when "../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE bandwidth"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE bandwidth"; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } - /* Augment bandwidth path constraints of connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:path-constraints/tet:te-bandwidth/tet:technology" { when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE bandwidth"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE bandwidth"; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } /* Augment bandwidth path constraints of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:path-constraints/tet:te-bandwidth/tet:technology" { when "../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE bandwidth"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE bandwidth"; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } /* Augment client bandwidth of tunnel termination point (TTP) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:client-layer-adaptation/tet:switching-capability/" + "tet:te-bandwidth/tet:technology" { when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE bandwidth"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE bandwidth"; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } - /* Augment bandwidth path constraints of local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/tet:path-constraints/" + "tet:te-bandwidth/tet:technology" { when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE bandwidth"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE bandwidth"; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } - /* Augment bandwidth path constraints of local-link-connectivity (LLC) - */ + /* Augment bandwidth path constraints of local-link-connectivity + (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/tet:path-constraints/" + "tet:te-bandwidth/tet:technology" { when "../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE bandwidth"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE bandwidth"; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } /* Augment maximum LSP bandwidth of TE link */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-path-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-path-bandwidth; } } - /* Augment maximum bandwidth of TE link */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" + "tet:max-link-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } /* Augment maximum reservable bandwidth of TE link */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" + "tet:max-resv-link-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } /* Augment unreserved bandwidth of TE Link */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" + "tet:unreserved-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } - /* Augment maximum LSP bandwidth of TE link information-source */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:information-source-entry/" + "tet:interface-switching-capability/" + "tet:max-lsp-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-path-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-path-bandwidth; } } /* Augment maximum bandwidth of TE link information-source */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:information-source-entry/" + "tet:max-link-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } /* Augment maximum reservable bandwidth of TE link information-source */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:information-source-entry/" + "tet:max-resv-link-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } - /* Augment unreserved bandwidth of TE link information-source */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:information-source-entry/" + "tet:unreserved-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } /* Augment maximum LSP bandwidth of TE link template */ augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" + "tet:interface-switching-capability/" + "tet:max-lsp-bandwidth/" + "tet:te-bandwidth/tet:technology" { /* when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } */ - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-path-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-path-bandwidth; } } /* Augment maximum bandwidth of TE link template */ augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" + "tet:max-link-bandwidth/" + "tet:te-bandwidth/tet:technology" { /* when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } */ - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } - /* Augment maximum reservable bandwidth of TE link template */ augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" + "tet:max-resv-link-bandwidth/" + "tet:te-bandwidth/tet:technology" { /* when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } */ - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } /* Augment unreserved bandwidth of TE link template */ augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" + "tet:unreserved-bandwidth/" + "tet:te-bandwidth/tet:technology" { /* when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "flex-grid TE bandwidth."; + + "flexi-grid:flexi-grid-topology" { + description "flexi-grid TE bandwidth."; } */ - description "flex-grid bandwidth."; - case flex-grid { - uses layer0-types:flex-grid-link-bandwidth; + description "flexi-grid bandwidth."; + case flexi-grid { + uses layer0-types:flexi-grid-link-bandwidth; } } /* * Augment TE label. */ /* Augment label restrictions of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:label-restrictions/tet:label-restriction" { when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } - /* Augment label restrictions start of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-start/" + "tet:te-label/tet:technology" { when "../../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } /* Augment label restrictions end of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:label-restrictions/" + "tet:label-restriction/tet:label-end/" + "tet:te-label/tet:technology" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } + /* Augment label restrictions step of connectivity-matrices */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:te-node-attributes/tet:connectivity-matrices/" + + "tet:label-restrictions/" + + "tet:label-restriction/tet:label-step/" + + "tet:technology" { + when "../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } + description "flexi-grid label step."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; + } + } /* Augment label hop of underlay primary path of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:underlay/tet:primary-path/tet:path-element/" + "tet:type/tet:label/tet:label-hop/" + "tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } - /* Augment label hop of underlay backup path of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:underlay/tet:backup-path/tet:path-element/" + "tet:type/tet:label/tet:label-hop/" + "tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of route-exclude of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-exclude-objects/" + "tet:route-object-exclude-object/" + "tet:type/tet:label/tet:label-hop/" + "tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } - /* Augment label hop of route-include of connectivity-matrices (added) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-include-objects/" + "tet:route-object-include-object/" + "tet:type/tet:label/tet:label-hop/" + "tet:te-label/tet:technology" { @@ -1857,143 +2087,174 @@ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-include-objects/" + "tet:route-object-include-object/" + "tet:type/tet:label/tet:label-hop/" + "tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of path-route of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:path-properties/tet:path-route-objects/" + "tet:path-route-object/tet:type/tet:label/tet:label-hop/" + "tet:te-label/tet:technology"{ when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment ingress label restrictions of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/tet:from/" + "tet:label-restrictions/tet:label-restriction" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } - /* Augment ingress label restrictions start of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/tet:from/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-start/" + "tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } /* Augment ingress label restrictions end of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/tet:from/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-end/" + "tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; + } + } + /* Augment ingress label restrictions step of connectivity-matrix */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:te-node-attributes/tet:connectivity-matrices/" + + "tet:connectivity-matrix/tet:from/" + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/" + + "tet:technology" { + when "../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; } } - /* Augment egress label restrictions of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/tet:to/" + "tet:label-restrictions/tet:label-restriction" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } /* Augment egress label restrictions start of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/tet:to/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-start/" + "tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } /* Augment egress label restrictions end of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/tet:to/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-end/" + "tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; + } + } + /* Augment egress label restrictions step of connectivity-matrix */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:te-node-attributes/tet:connectivity-matrices/" + + "tet:connectivity-matrix/tet:to/" + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/" + + "tet:technology" { + when "../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; } } - /* Augment label hop of underlay primary path of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:underlay/tet:primary-path/tet:path-element/" + "tet:type/tet:label/tet:label-hop/" + "tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" @@ -1990,65 +2251,63 @@ /* Augment label hop of underlay primary path of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:underlay/tet:primary-path/tet:path-element/" + "tet:type/tet:label/tet:label-hop/" + "tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } - /* Augment label hop of underlay backup path of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:underlay/tet:backup-path/tet:path-element/" + "tet:type/tet:label/tet:label-hop/" + "tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of route-exclude of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/tet:optimizations/" + "tet:algorithm/tet:metric/tet:optimization-metric/" + "tet:explicit-route-exclude-objects/" + "tet:route-object-exclude-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } - /* Augment label hop of route-include of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/tet:optimizations/" + "tet:algorithm/tet:metric/tet:optimization-metric/" + "tet:explicit-route-include-objects/" + "tet:route-object-include-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../../" + "nw:network-types/tet:te-topology/" @@ -2045,485 +2304,548 @@ /* Augment label hop of route-include of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/tet:optimizations/" + "tet:algorithm/tet:metric/tet:optimization-metric/" + "tet:explicit-route-include-objects/" + "tet:route-object-include-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of path-route of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:path-properties/tet:path-route-objects/" + "tet:path-route-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } - /* Augment label restrictions of connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/" + "tet:connectivity-matrices/tet:label-restrictions/" + "tet:label-restriction" { when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } /* Augment label restrictions start of connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/" + "tet:connectivity-matrices/tet:label-restrictions/" + "tet:label-restriction/" + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } /* Augment label restrictions end of connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/" + "tet:connectivity-matrices/tet:label-restrictions/" + "tet:label-restriction/" + "tet:label-end/tet:te-label/tet:technology" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; + } + } + /* Augment label restrictions step of connectivity-matrices + information-source */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:information-source-entry/" + + "tet:connectivity-matrices/tet:label-restrictions/" + + "tet:label-restriction/" + + "tet:label-step/tet:technology" { + when "../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; } } /* Augment label hop of underlay primary path of connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of underlay backup path of connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of route-exclude of connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-exclude-objects/" + "tet:route-object-exclude-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of route-include of connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-include-objects/" + "tet:route-object-include-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of path-route of connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:path-properties/tet:path-route-objects/" + "tet:path-route-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment ingress label restrictions of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:from/tet:label-restrictions/tet:label-restriction" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } /* Augment ingress label restrictions start of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:from/tet:label-restrictions/" + "tet:label-restriction/" + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } /* Augment ingress label restrictions end of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:from/tet:label-restrictions/" + "tet:label-restriction/" + "tet:label-end/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; + } + } + /* Augment ingress label restrictions step of connectivity-matrix +information-source */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:information-source-entry/tet:connectivity-matrices/" + + "tet:connectivity-matrix/" + + "tet:from/tet:label-restrictions/" + + "tet:label-restriction/" + + "tet:label-step/tet:technology" { + when "../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; } } - /* Augment egress label restrictions of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:to/tet:label-restrictions/tet:label-restriction" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } /* Augment egress label restrictions start of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:to/tet:label-restrictions/tet:label-restriction/" + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } /* Augment egress label restrictions end of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:to/tet:label-restrictions/tet:label-restriction/" + "tet:label-end/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; + } + } + /* Augment egress label restrictions step of connectivity-matrix + information-source */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:information-source-entry/tet:connectivity-matrices/" + + "tet:connectivity-matrix/" + + "tet:to/tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/tet:technology" { + when "../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; } } - /* Augment label hop of underlay primary path of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of underlay backup path of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of route-exclude of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-exclude-objects/" + "tet:route-object-exclude-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of route-include of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-include-objects/" + "tet:route-object-include-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of path-route of connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" + "tet:path-properties/tet:path-route-objects/" + "tet:path-route-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label restrictions of local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:label-restrictions/tet:label-restriction" { when "../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } /* Augment label restrictions start of local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-start/" + "tet:te-label/tet:technology" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } /* Augment label restrictions end of local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-end/" + "tet:te-label/tet:technology"{ when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; + } + } + /* Augment label restrictions step of local-link-connectivities */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:tunnel-termination-point/" + + "tet:local-link-connectivities/" + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/" + + "tet:technology"{ + when "../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; } } - /* Augment label hop of underlay primary path of local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } - /* Augment label hop of underlay backup path of local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of route-exclude of local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-exclude-objects/" + "tet:route-object-exclude-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } - /* Augment label hop of route-include of local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-include-objects/" + "tet:route-object-include-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" @@ -2521,60 +2843,59 @@ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-include-objects/" + "tet:route-object-include-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of path-route of local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:path-properties/tet:path-route-objects/" + "tet:path-route-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label restrictions of local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:label-restrictions/tet:label-restriction" { when "../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } - /* Augment label restrictions start of local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" @@ -2571,46 +2892,62 @@ /* Augment label restrictions start of local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } /* Augment label restrictions end of local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-end/tet:te-label/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; + } + } + /* Augment label restrictions step of local-link-connectivity (LLC) */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:tunnel-termination-point/" + + "tet:local-link-connectivities/" + + "tet:local-link-connectivity/" + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/tet:technology" { + when "../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; } } - /* Augment label hop of underlay primary path of local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" @@ -2607,47 +2944,46 @@ /* Augment label hop of underlay primary path of local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of underlay backup path of local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } - /* Augment label hop of route-exclude of local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-exclude-objects/" + "tet:route-object-exclude-object/tet:type/" @@ -2647,50 +2983,49 @@ + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-exclude-objects/" + "tet:route-object-exclude-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of route-include of local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:optimizations/tet:algorithm/tet:metric/" + "tet:optimization-metric/" + "tet:explicit-route-include-objects/" + "tet:route-object-include-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } - /* Augment label hop of path-route of local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:path-properties/tet:path-route-objects/" + "tet:path-route-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" @@ -2688,231 +3023,265 @@ */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" + "tet:local-link-connectivity/" + "tet:path-properties/tet:path-route-objects/" + "tet:path-route-object/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of underlay primary path of TE link */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of underlay backup path of TE link */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } - /* Augment label restrictions of TE link */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" + "tet:label-restrictions/tet:label-restriction" { when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } /* Augment label restrictions start of TE link */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } - /* Augment label restrictions end of TE link */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-end/tet:te-label/tet:technology" { when "../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; + } + } + /* Augment label restrictions step of TE link */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:te-link-attributes/" + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/tet:technology" { + when "../../../../../../nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; } } - /* Augment label restrictions of TE link information-source */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:information-source-entry/" + "tet:label-restrictions/tet:label-restriction" { when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } /* Augment label restrictions start of TE link information-source */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:information-source-entry/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } - /* Augment label restrictions end of TE link information-source */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:information-source-entry/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-end/tet:te-label/tet:technology" { when "../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; + } + } + /* Augment label restrictions step of TE link information-source */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:information-source-entry/" + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/tet:technology" { + when "../../../../../../nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; } } - /* Augment label hop of underlay primary path of TE link template */ augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { /* when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } */ - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label hop of underlay backup path of TE link template */ augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" { /* when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } */ - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-path-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-path-label; } } /* Augment label restrictions of TE link template */ augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" + "tet:label-restrictions/tet:label-restriction" { /* when "../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } */ - description "flex-grid label."; - uses layer0-types:flex-grid-label-restriction; + description "flexi-grid label."; + uses layer0-types:flexi-grid-label-restriction; } - /* Augment label restrictions start of TE link template */ augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-start/tet:te-label/tet:technology" { /* when "../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } */ - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-link-label; } } /* Augment label restrictions end of TE link template */ augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" + "tet:label-restrictions/tet:label-restriction/" + "tet:label-end/tet:te-label/tet:technology" { /* when "../../../../../../../nw:network-types/tet:te-topology/" - + "flex-grid:flex-grid-topology" { - description "Augment flex-grid TE label"; + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; } */ + } - description "flex-grid label."; - case flex-grid { - uses layer0-types:flex-grid-link-label; + /* Augment label restrictions step of TE link template */ + augment "/nw:networks/tet:te/tet:templates/" + + "tet:link-template/tet:te-link-attributes/" + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/tet:technology" { +/* + when "../../../../../../nw:network-types/tet:te-topology/" + + "flexi-grid:flexi-grid-topology" { + description "Augment flexi-grid TE label"; + } +*/ + description "flexi-grid label."; + case flexi-grid { + uses layer0-types:flexi-grid-label-step; } } } -A.3. License +6.3. License - Copyright (c) 2018 IETF Trust and the persons identified as authors + Copyright (c) 2019 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: o Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. o Redistributions in binary form must reproduce the above copyright @@ -2933,83 +3302,140 @@ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 7. Security Considerations - The transport protocol used for sending the managed information MUST - support authentication and SHOULD support encryption. + The YANG module specified in this document defines a schema for data + that is designed to be accessed via network management protocols + such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF + layer is the secure transport layer, and the mandatory-to-implement + secure transport is Secure Shell (SSH) [RFC6242]. The lowest + RESTCONF layer is HTTPS, and the mandatory-to-implement secure + transport is TLS [RFC8446]. - The defined data-model by itself does not create any security - implications. + The NETCONF access control model [RFC8341] provides the means to + restrict access for particular NETCONF users to a preconfigured + subset of all available NETCONF protocol operations and content. The + NETCONF Protocol over Secure Shell (SSH) [RFC6242] describes a + method for invoking and running NETCONF within a Secure Shell (SSH) + session as an SSH subsystem. The Network Configuration Access + Control Model (NACM) [RFC8341] provides the means to restrict access + for particular NETCONF or RESTCONF users to a preconfigured subset + of all available NETCONF or RESTCONF 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. + + There are a number of data nodes defined in this YANG module that + are writable/creatable/deletable (i.e., config true, which is the + default). These data nodes may be considered sensitive or + vulnerable in some network environments. Write operations (e.g., + edit-config) to these data nodes without proper protection can have + a negative effect on network operations. These are the subtrees and + data nodes and their sensitivity/vulnerability: + + /nw:networks/nw:network/nw:network-types/tet:te-topology + + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes + + /nw:networks/nw:network/nw:node/nt:termination-point/tet:te + + /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes + /te-connectivity-matrices/te-connectivity-matrix/tet:path- + constraints/tet:te-bandwidth/tet:technology + + /nw:networks/nw:network/nw:node/tet:te + /tet:tunnel-termination-point/tet:local-link-connectivities + /tet:label-restrictions/tet:label-restriction 8. IANA Considerations - The namespace used in the defined models is currently based on the - METRO-HAUL project URI. Future versions of this document could - register a URI in the IETF XML registry [RFC3688], as well as in the - YANG Module Names registry [RFC6020]. + The namespace used in the defined model has to register a URI in + the IETF XML registry [RFC3688], as well as in the YANG Module + Names registry [RFC6020]. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. + [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, + January 2004. + [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008, . [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, October 2010. - [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, - January 2004. + [RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed., + "Network Configuration Protocol (NETCONF)", RFC 6241, June + 2011. + + [RFC6242] M. Wasserman, "Using the NETCONF Protocol over Secure + Shell (SSH)", RFC 6242, June 2011. + + [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling + Language", RFC 7950, August 2016. + + [RFC8040] A. Bierman, M. Bjorklund, K. Watsen, "RESTCONF Protocol", + RFC 8040, January 2017. + + [RFC8341] A. Bierman, M. Bjorklund, "Network Configuration Access + Control Model", RFC 8341, March 2019. + + [RFC8446] E. Rescorla, "The Transport Layer Security (TLS) Protocol + Version 1.3", RFC8446, August 2018. 9.2. Informative References [RFC7698] Gonzalez de Dios, O., Casellas, R., Eds. "Framework and Requirements for GMPLS-Based Control of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM) Networks", RFC7698, November 2015. [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., Ananthakrishnan, H., Liu, X., "A Data Model for Network - Topologies", RFC 8345, March 2018. + Topologies", RFC 8345, March 2019. [I-D.draft-ietf-teas-yang-te-topo] Liu, X., Bryskin, I., Pavan Beeram, V., Saad, T., Shah, H., Gonzalez De Dios, O., "YANG Data Model for TE Topologies", Internet Draft - draft-ietf-teas-yang-te-topo-18.txt, 2018. + draft-ietf-teas-yang-te-topo-19.txt, 2019. [I-D.draft-dharini-ccamp-dwdm-if-yang] Galimberti, G., Kunze, R., Lam, K., Hiremagalur, D., Grammel, G., Fang, L., Ratterree, G., Eds., "A YANG model to manage the optical interface parameters for an external transponder in a WDM network", Internet Draft, draft-dharini-ccamp-dwdm-if-param-yang-06.txt, 2018. [I-D.draft-ietf-ccamp-wson-yang] Lee, Y. Dhody, D., Zhang, X., Guo, A., Lopez, V., King, D., Yoon, B.,"A Yang Data Model for WSON Optical Networks", Internet Draft, - draft-ietf-ccamp-wson-yang-14.txt, 2018. + draft-ietf-ccamp-wson-yang-19.txt, 2019. [I-D.draft-ietf-ccamp-flexigrid-media-channel-yang] Lopez de Vergara, J., Perdices, D., Lopez, V., Gonzalez de Dios, O., King, D., Lee, Y., Galimberti, G., "YANG data model for Flexi-Grid media-channels", Internet Draft, - draft-ietf-ccamp-flexigrid-media-channel-yang-00, 2018. + draft-ietf-ccamp-flexigrid-media-channel-yang-02, 2019. 10. Contributors The model presented in this paper was contributed to by more people than can be listed on the author list. Additional contributors include: o Zafar Ali, Cisco Systems o Daniel Michaud Vallinoto, Universidad Autonoma de Madrid @@ -3031,22 +3457,21 @@ E-28049 Madrid, Spain Email: jorge.lopez_vergara@uam.es Daniel Perdices Burrero Naudit High Performance Computing and Networking, S.L. C/Faraday, 7 E-28049 Madrid, Spain Email: daniel.perdices@naudit.es - - Victor Lopez Alvarez + Victor Lopez Telefonica I+D/GCTO Distrito Telefonica E-28050 Madrid, Spain Email: victor.lopezalvarez@telefonica.com Oscar Gonzalez de Dios Telefonica I+D/GCTO Distrito Telefonica E-28050 Madrid, Spain