draft-ietf-ccamp-flexigrid-yang-01.txt | draft-ietf-ccamp-flexigrid-yang-02.txt | |||
---|---|---|---|---|
CCAMP Working Group J.E. Lopez de Vergara | CCAMP Working Group J.E. Lopez de Vergara | |||
Internet Draft Universidad Autonoma de Madrid | Internet Draft Universidad Autonoma de Madrid | |||
Intended status: Standards Track Daniel Perdices | Intended status: Standards Track D. Perdices | |||
Expires: February 11, 2019 Naudit HPCN | Expires: April 25, 2019 Naudit HPCN | |||
V. Lopez | V. Lopez | |||
O. Gonzalez de Dios | O. Gonzalez de Dios | |||
Telefonica I+D/GCTO | Telefonica I+D/GCTO | |||
D. King | D. King | |||
Lancaster University | Lancaster University | |||
Y. Lee | Y. Lee | |||
Huawei | Huawei | |||
G. Galimberti | G. Galimberti | |||
Cisco Photonics Srl | Cisco Photonics Srl | |||
August 10, 2018 | October 22, 2018 | |||
YANG data model for Flexi-Grid Optical Networks | YANG data model for Flexi-Grid Optical Networks | |||
draft-ietf-ccamp-flexigrid-yang-01.txt | draft-ietf-ccamp-flexigrid-yang-02.txt | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. This document may not be modified, | 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 | 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. | as an RFC and to translate it into languages other than English. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
skipping to change at page 1, line 43 ¶ | skipping to change at page 1, line 43 ¶ | |||
months and may be updated, replaced, or obsoleted by other documents | months and may be updated, replaced, or obsoleted by other documents | |||
at any time. It is inappropriate to use Internet-Drafts as | at any time. It is inappropriate to use Internet-Drafts as | |||
reference material or to cite them other than as "work in progress." | reference material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html | http://www.ietf.org/shadow.html | |||
This Internet-Draft will expire on February 11, 2019. | This Internet-Draft will expire on April 25, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 29 ¶ | skipping to change at page 2, line 29 ¶ | |||
Table of Contents | Table of Contents | |||
1. Introduction .............................................. 2 | 1. Introduction .............................................. 2 | |||
2. Conventions used in this document ......................... 3 | 2. Conventions used in this document ......................... 3 | |||
3. Flexi-grid network topology model overview ................ 3 | 3. Flexi-grid network topology model overview ................ 3 | |||
4. Main building blocks of the Flexi-grid TED................. 4 | 4. Main building blocks of the Flexi-grid TED................. 4 | |||
4.1 Formal Syntax ......................................... 7 | 4.1 Formal Syntax ......................................... 7 | |||
5. Example of use ............................................ 8 | 5. Example of use ............................................ 8 | |||
6. Flexi-grid TED YANG Model.................................. 9 | 6. Flexi-grid TED YANG Model.................................. 9 | |||
6.1. YANG Model - Tree .................................... 9 | 6.1. YANG Model - Tree .................................... 9 | |||
6.2. YANG Model - Code .................................... 10 | 6.2. YANG Model - Code .................................... 27 | |||
6.3. License .............................................. 19 | 6.3. License .............................................. 64 | |||
7. Security Considerations ................................... 20 | 7. Security Considerations ................................... 65 | |||
8. IANA Considerations ....................................... 20 | 8. IANA Considerations ....................................... 65 | |||
9. References ................................................ 20 | 9. References ................................................ 65 | |||
9.1. Normative References ................................. 20 | 9.1. Normative References ................................. 65 | |||
9.2. Informative References ............................... 21 | 9.2. Informative References ............................... 66 | |||
10. Contributors ............................................. 21 | 10. Contributors ............................................. 66 | |||
11. Acknowledgments .......................................... 22 | 11. Acknowledgments .......................................... 67 | |||
Authors' Addresses ........................................... 22 | Authors' Addresses ........................................... 67 | |||
1. Introduction | 1. Introduction | |||
Internet-based traffic is dramatically increasing every year. | Internet-based traffic is dramatically increasing every year. | |||
Moreover, such traffic is also becoming more dynamic. Thus, | Moreover, such traffic is also becoming more dynamic. Thus, | |||
transport networks need to evolve from current DWDM systems towards | transport networks need to evolve from current DWDM systems towards | |||
elastic optical networks, based on flexi-grid transmission and | elastic optical networks, based on flexi-grid transmission and | |||
switching technologies [RFC7698]. This technology aims at increasing | switching technologies [RFC7698]. This technology aims at increasing | |||
both transport network scalability and flexibility, allowing the | both transport network scalability and flexibility, allowing the | |||
optimization of bandwidth usage. | optimization of bandwidth usage. | |||
skipping to change at page 9, line 18 ¶ | skipping to change at page 9, line 18 ¶ | |||
each situation. Note that every element in the flexi-grid TED has a | 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 | reference, and this is the way in which they are called in the media | |||
channel. We refer to | channel. We refer to | |||
[I-D.draft-ietf-ccamp-flexigrid-media-channel-yang] to complete | [I-D.draft-ietf-ccamp-flexigrid-media-channel-yang] to complete | |||
this example. | this example. | |||
6. Flexi-grid TED YANG Model | 6. Flexi-grid TED YANG Model | |||
6.1. Yang Model - Tree Structure | 6.1. Yang Model - Tree Structure | |||
module: ietf-flexi-grid-topology | module: ietf-flex-grid-topology | |||
augment /nd:networks/nd:network/nd:node/tet:te/tet:te-node-attributes | augment /nw:networks/nw:network/nw:network-types/tet:te-topology: | |||
+--rw interfaces* [name] | +--rw flex-grid-topology! | |||
+--rw name string | augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes: | |||
+--rw port-number? uint32 | augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te: | |||
+--rw input-port? boolean | +--rw supported-payload-types* [index] | |||
+--rw output-port? boolean | | +--rw index uint16 | |||
+--rw description? string | | +--rw payload-type? string | |||
+--rw type? interface-type | +--rw client-facing? boolean | |||
+--rw numbered-interface | augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes: | |||
| +--rw n-i-ip-address? inet:ip-address | +--rw flex-grid-node | |||
+--rw unnumbered-interface | +--rw node-type? identityref | |||
+--rw u-i-ip-address? inet:ip-address | augment /nw:networks/nw:network/nw:node/tet:te/ | |||
+--rw label? uint32 | tet:tunnel-termination-point: | |||
flexi-grid-connectivity-matrix-attributes | +--rw supported-operational-modes* layer0-types:operational-mode | |||
augment /nd:networks/nd:network/nd:node/tet:te/ | +--rw configured-operational-modes? layer0-types:operational-mode | |||
tet:te-node-attributes/tet:connectivity-matrices/ | +--rw supported-fec-types* identityref | |||
tet:connectivity-matrix: | +--rw supported-termination-types* identityref | |||
+--rw connections* [input-port-id] | +--rw supports-bit-stuffing? boolean | |||
+--rw input-port-id flexi-grid-node-port-ref | +--rw is-tunable? boolean | |||
+--rw output-port-id? flexi-grid-node-port-ref | +--rw max-subcarrier-channel-num? uint8 | |||
+--rw supports-flex-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) | ||||
+--rw bandwidth-type? identityref | ||||
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) | ||||
+--rw supported-bandwidth-list* identityref | ||||
flexi-grid-transponder | augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ | |||
augment /nd:networks/nd:network/nd:node/tet:te/ | tet:connectivity-matrices/tet:connectivity-matrix/ | |||
tet:tunnel-termination-point: | tet:path-constraints/tet:te-bandwidth/tet:technology: | |||
+--rw available-operational-mode* operational-mode | +--:(flex-grid) | |||
+--rw operational-mode? operational-mode | +--rw supported-bandwidth-list* identityref | |||
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) | ||||
+--ro supported-bandwidth-list* identityref | ||||
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) | ||||
+--ro supported-bandwidth-list* identityref | ||||
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) | ||||
+--rw supported-bandwidth-list* identityref | ||||
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) | ||||
+--rw supported-bandwidth-list* identityref | ||||
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) | ||||
+--rw supported-bandwidth-list* identityref | ||||
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) | ||||
+--rw bandwidth-type? identityref | ||||
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ | ||||
tet:max-link-bandwidth/tet:te-bandwidth/tet:technology: | ||||
+--:(flex-grid) | ||||
+--rw supported-bandwidth-list* identityref | ||||
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) | ||||
+--rw supported-bandwidth-list* identityref | ||||
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/ | ||||
tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: | ||||
+--:(flex-grid) | ||||
+--rw supported-bandwidth-list* identityref | ||||
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) | ||||
+--ro bandwidth-type? identityref | ||||
augment /nw:networks/nw:network/nt:link/tet:te/ | ||||
ttet:information-source-entry/et:max-link-bandwidth/ | ||||
tet:te-bandwidth/tet:technology: | ||||
+--:(flex-grid) | ||||
+--ro supported-bandwidth-list* identityref | ||||
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) | ||||
+--ro supported-bandwidth-list* identityref | ||||
augment /nw:networks/nw:network/nt:link/tet:te/ | ||||
tet:information-source-entry/tet:unreserved-bandwidth/ | ||||
tet:te-bandwidth/tet:technology: | ||||
+--:(flex-grid) | ||||
+--ro supported-bandwidth-list* identityref | ||||
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) | ||||
+--rw bandwidth-type? identityref | ||||
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) | ||||
+--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) | ||||
+--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/ | ||||
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: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/ | ||||
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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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:underlay/tet:backup-path/ | ||||
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ | ||||
tet:technology: | ||||
+--:(flex-grid) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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 (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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 (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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:path-properties/ | ||||
tet:path-route-objects/tet:path-route-object/tet:type/tet:label/ | ||||
tet:label-hop/tet:te-label/tet:technology: | ||||
+--:(flex-grid) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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/ | ||||
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/ | ||||
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/ | ||||
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/ | ||||
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/ | ||||
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/ | ||||
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/ | ||||
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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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:underlay/ | ||||
tet:backup-path/tet:path-element/tet:type/tet:label/tet:label-hop/ | ||||
tet:te-label/tet:technology: | ||||
+--:(flex-grid) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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 (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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 (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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:path-properties/tet:path-route-objects/tet:path-route-object/ | ||||
tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: | ||||
+--:(flex-grid) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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: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/ | ||||
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/ | ||||
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) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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 (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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:path-properties/tet:path-route-objects/tet:path-route-object/ | ||||
tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: | ||||
+--:(flex-grid) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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: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/ | ||||
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: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/ | ||||
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/ | ||||
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: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/ | ||||
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) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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:connectivity-matrix/tet:underlay/tet:backup-path/ | ||||
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ | ||||
tet:technology: | ||||
+--:(flex-grid) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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 (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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: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/ | ||||
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/ | ||||
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/ | ||||
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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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: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/ | ||||
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: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: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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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) | ||||
+--ro (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--ro central-frequency? frequency-thz | ||||
| +--ro slot-width? frequency-ghz | ||||
+--:(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) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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 (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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: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/ | ||||
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/ | ||||
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/ | ||||
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/ | ||||
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: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:technology: | ||||
+--:(flex-grid) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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:underlay/tet:backup-path/ | ||||
ttet:path-element/et:type/tet:label/tet:label-hop/tet:te-label/ | ||||
tet:technology: | ||||
+--:(flex-grid) | ||||
+--rw (single-or-super-channel)? | ||||
+--:(single) | ||||
| +--rw central-frequency? frequency-thz | ||||
| +--rw slot-width? frequency-ghz | ||||
+--:(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 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 | ||||
A.2. YANG Model - Code | A.2. YANG Model - Code | |||
<CODE BEGINS> file "ietf-flexi-grid-ted@2018-08-11.yang" | <CODE BEGINS> file "ietf-flexi-grid-ted@2018-10-22.yang" | |||
module ietf-flexi-grid-ted { | module ietf-flex-grid-topology { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-flexi-grid-ted"; | namespace "urn:ietf:params:xml:ns:yang:ietf-flex-grid-topology"; | |||
prefix "fg-ted"; | ||||
prefix "flex-grid"; | ||||
import ietf-network { | import ietf-network { | |||
prefix "nd"; | prefix "nw"; | |||
} | } | |||
import ietf-network-topology { | import ietf-network-topology { | |||
prefix "lnk"; | prefix "nt"; | |||
} | } | |||
import ietf-te-topology { | import ietf-te-topology { | |||
prefix "tet"; | prefix "tet"; | |||
} | } | |||
import ietf-inet-types { | ||||
prefix "inet"; | import ietf-layer0-types { | |||
prefix "layer0-types"; | ||||
} | } | |||
/* | ||||
import ietf-network-state { | organization | |||
prefix "nd-s"; | "IETF CCAMP Working Group"; | |||
contact | ||||
"WG Web: <http://tools.ietf.org/wg/ccamp/> | ||||
WG List: <mailto:ccamp@ietf.org> | ||||
WG Chair: Daniele Ceccarelli | ||||
<mailto:daniele.ceccarelli@ericsson.com> | ||||
WG Chair: Fatai Zhang | ||||
<mailto:zhangfatai@huawei.com> | ||||
Editor: Jorge E. Lopez de Vergara <jorge.lopez_vergara@uam.es> | ||||
Editor: Daniel Perdices Burrero <daniel.perdices@naudit.es> | ||||
Editor: Victor Lopez Alvarez <victor.lopezalvarez@telefonica.com> | ||||
Editor: Young Lee <leeyoung@huawei.com> | ||||
Editor: Aihua Guo <aihuaguo@huawei.com>"; | ||||
description | ||||
"This module defines a model for Flex-grid topology | ||||
Copyright (c) 2018 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 { | ||||
description | ||||
"version 1."; | ||||
reference | ||||
"RFC XXX: A Yang Data Model for Flex-grid Optical Networks "; | ||||
} | } | |||
import ietf-network-topology-state { | ||||
prefix "lnk-s"; | /* | |||
* Groupings | ||||
*/ | ||||
grouping flex-grid-node-attributes { | ||||
description "Flex-grid node attributes."; | ||||
container flex-grid-node { | ||||
description "Flex-grid node attrtibutes."; | ||||
leaf node-type { | ||||
type identityref { | ||||
base layer0-types:layer0-node-type; | ||||
} | ||||
description "Flex-grid node type."; | ||||
} | ||||
} | ||||
} | } | |||
import ietf-te-topology-state { | ||||
prefix "tet-s"; | grouping flex-grid-link-attributes { | |||
description | ||||
"Future flex-grid link attributes extensions"; | ||||
} | } | |||
*/ | grouping flex-grid-tp-attributes { | |||
description "flex-grid-tp-attributes"; | ||||
organization | list supported-payload-types { | |||
"IETF CCAMP Working Group"; | 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"; | ||||
} | ||||
leaf payload-type { | ||||
type string; | ||||
description "the payload type supported by this client tp"; | ||||
reference | ||||
"http://www.iana.org/assignments/gmpls-sig-parameters | ||||
/gmpls-sig-parameters.xhtml"; | ||||
} | ||||
} | ||||
leaf client-facing { | ||||
type boolean; | ||||
default 'false'; | ||||
description | ||||
"Indicating if it is a client-facing TP."; | ||||
} | ||||
} | ||||
contact | grouping flex-grid-ttp-attributes { | |||
"Editor: Jorge Lopez de Vergara | description | |||
<jorge.lopez_vergara@uam.es>"; | "Flex-grid tunnel termination point (e.g.tranponder) | |||
attributes"; | ||||
leaf-list supported-operational-modes { | ||||
type layer0-types:operational-mode; | ||||
description | description | |||
"This module contains a collection of YANG definitions for | "List of all supported vendor-specific | |||
a Flexi-Grid Traffic Engineering Database (TED). | mode identifiers"; | |||
} | ||||
leaf configured-operational-modes { | ||||
type layer0-types:operational-mode; | ||||
description | ||||
"Vendor-specific mode identifier configured | ||||
on the TTP."; | ||||
} | ||||
Copyright (c) 2018 IETF Trust and the persons identified as | leaf-list supported-fec-types { | |||
authors of the code. All rights reserved. | type identityref { | |||
base layer0-types:fec-type; | ||||
} | ||||
description | ||||
"List of all supported FEC types by this TTP."; | ||||
} | ||||
Redistribution and use in source and binary forms, with or | leaf-list supported-termination-types { | |||
without modification, is permitted pursuant to, and subject | type identityref { | |||
to the license terms contained in, the Simplified BSD | base layer0-types:term-type; | |||
License set forth in Section 4.c of the IETF Trust's Legal | } | |||
Provisions Relating to IETF Documents | description | |||
(http://trustee.ietf.org/license-info)."; | "List of all supported termination types by this TTP."; | |||
} | ||||
revision 2018-08-11 { | leaf supports-bit-stuffing { | |||
description | type boolean; | |||
"version 8."; | description | |||
"Indicate whether bit stuffing is supported by this TTP."; | ||||
} | ||||
reference | leaf is-tunable { | |||
"RFC XXX: A Yang Data Model for | type boolean; | |||
Flexi-Grid Optical Networks "; | description | |||
"Indicates if the TTP, or transponder, is tunable. Tunable | ||||
transponders are assumed to be fully tunable to any of the | ||||
96 channels within DWDM C-band."; | ||||
} | ||||
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 { | ||||
type boolean; | ||||
description | ||||
"Indicates if the TTP, or transponder, supports flex grid."; | ||||
} | ||||
} | ||||
/* | /* | |||
Typedefs | * Data nodes | |||
*/ | */ | |||
typedef operational-mode { | augment "/nw:networks/nw:network/nw:network-types" | |||
type string; | + "/tet:te-topology" { | |||
description | description "flex-grid-topology augmented"; | |||
"Vendor-specific mode that guarantees interoperability. | container flex-grid-topology { | |||
It must be an string with the following format: | presence "indicates a topology of Flex Grid"; | |||
B-DScW-ytz(v) where all these attributes are conformant | description | |||
to the ITU-T recomendation"; | "Container to identify Flex-grid topology type"; | |||
reference "ITU-T G.698.2 (11/2009) Section 5.3"; | } | |||
} | } | |||
typedef interface-type { | augment "/nw:networks/nw:network/nt:link/tet:te" | |||
type enumeration { | + "/tet:te-link-attributes" { | |||
enum numbered-interface { | when "/nw:networks/nw:network/nw:network-types" | |||
description "The interface is numbered"; | +"/tet:te-topology/flex-grid:flex-grid-topology" { | |||
} | description "This augment is only valid for flex-grid."; | |||
enum unnumbered-interface { | } | |||
description "The interface is unnumbered"; | description "Flex-grid Link augmentation."; | |||
} | uses flex-grid-link-attributes; | |||
} | ||||
description | ||||
"Enumeration that defines if an interface is numbered or | ||||
unnumbered"; | ||||
} | } | |||
/* | ||||
Typedef related to references | 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."; | ||||
} | ||||
description "Flex-grid TP attributes."; | ||||
uses flex-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."; | ||||
} | ||||
description "Flex-grid Node augmentation."; | ||||
uses flex-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."; | ||||
} | ||||
description "Flex-grid tunnel termination point augmentation."; | ||||
uses flex-grid-ttp-attributes; | ||||
} | ||||
/* | ||||
* Augment TE bandwidth | ||||
*/ | */ | |||
typedef flexi-grid-link-ref { | ||||
type leafref { | ||||
path | ||||
"/nd:networks/nd:network/lnk:link/lnk:link-id"; | ||||
} | ||||
description | /* Augment maximum LSP bandwidth of link terminationpoint (LTP) */ | |||
"This type is used by data models that need to reference | augment "/nw:networks/nw:network/nw:node/nt:termination-point/" | |||
a flexi-grid optical link."; | + "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"; | ||||
} | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-path-bandwidth; | ||||
} | ||||
} | ||||
typedef flexi-grid-node-port-ref { | /* Augment bandwidth path constraints of connectivity-matrices */ | |||
type leafref { | augment "/nw:networks/nw:network/nw:node/tet:te/" | |||
path "/nd:networks/nd:network/nd:node/tet:te/" | + "tet:te-node-attributes/tet:connectivity-matrices/" | |||
+"tet:te-node-attributes/fg-ted:interfaces/" | + "tet:path-constraints/tet:te-bandwidth/tet:technology" { | |||
+"fg-ted:port-number"; | when "../../../../../../nw:network-types/tet:te-topology/" | |||
} | + "flex-grid:flex-grid-topology" { | |||
description | description "Augment flex-grid TE bandwidth"; | |||
"This type is used by data models that need to reference | } | |||
a flexi-grid port."; | description "flex-grid bandwidth."; | |||
} | case flex-grid { | |||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-bandwidth; | ||||
} | ||||
} | ||||
typedef flexi-grid-transponder-ref { | /* Augment bandwidth path constraints of connectivity-matrices | |||
type leafref { | information-source */ | |||
path "/nd:networks/nd:network/nd:node/tet:te/"+ | augment "/nw:networks/nw:network/nw:node/tet:te/" | |||
"tet:tunnel-termination-point/tet:tunnel-tp-id"; | + "tet:information-source-entry/tet:connectivity-matrices/" | |||
} | + "tet:path-constraints/tet:te-bandwidth/tet:technology" { | |||
description | when "../../../../../../nw:network-types/tet:te-topology/" | |||
"This type is used by data models that need to reference | + "flex-grid:flex-grid-topology" { | |||
a trasponder."; | description "Augment flex-grid TE bandwidth"; | |||
} | } | |||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-bandwidth; | ||||
} | ||||
} | ||||
/* | /* Augment bandwidth path constraints of connectivity-matrix | |||
Groupings of attributes | 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"; | ||||
} | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-bandwidth; | ||||
} | ||||
} | ||||
/* Augment bandwidth path constraints of local-link-connectivity (LLC) | ||||
*/ | */ | |||
grouping flexi-grid-network-type { | augment "/nw:networks/nw:network/nw:node/tet:te/" | |||
container flexi-grid-network { | + "tet:tunnel-termination-point/" | |||
presence "indicates a flexi-grid optical network"; | + "tet:local-link-connectivities/" | |||
description "flexi-grid optical network"; | + "tet:local-link-connectivity/tet:path-constraints/" | |||
} | + "tet:te-bandwidth/tet:technology" { | |||
description "If present, it indicates a flexi-grid | when "../../../../../../../nw:network-types/tet:te-topology/" | |||
optical TED network"; | + "flex-grid:flex-grid-topology" { | |||
} | description "Augment flex-grid TE bandwidth"; | |||
grouping flexi-grid-node-attributes { | } | |||
description "Set of attributes of an optical node."; | description "flex-grid bandwidth."; | |||
case flex-grid { | ||||
uses layer0-types:flex-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."; | ||||
} | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-path-bandwidth; | ||||
} | ||||
} | ||||
list interfaces { | /* Augment maximum bandwidth of TE link */ | |||
key "name"; | augment "/nw:networks/nw:network/nt:link/tet:te/" | |||
unique "port-number"; | + "tet:te-link-attributes/" | |||
description "List of interfaces contained in the node"; | + "tet:max-link-bandwidth/" | |||
leaf name { | + "tet:te-bandwidth/tet:technology" { | |||
type string; | when "../../../../../nw:network-types/tet:te-topology/" | |||
description "Interface name"; | + "flex-grid:flex-grid-topology" { | |||
} | description "flex-grid TE bandwidth."; | |||
leaf port-number { | } | |||
type uint32; | description "flex-grid bandwidth."; | |||
description "Number of the port used by the interface"; | case flex-grid { | |||
} | uses layer0-types:flex-grid-link-bandwidth; | |||
} | ||||
} | ||||
leaf input-port { | /* Augment maximum reservable bandwidth of TE link */ | |||
type boolean; | augment "/nw:networks/nw:network/nt:link/tet:te/" | |||
description "Determines if the port is an input port"; | + "tet:te-link-attributes/" | |||
} | + "tet:max-resv-link-bandwidth/" | |||
leaf output-port { | + "tet:te-bandwidth/tet:technology" { | |||
type boolean; | when "../../../../../nw:network-types/tet:te-topology/" | |||
description | + "flex-grid:flex-grid-topology" { | |||
"Determines if the port is an output port"; | description "flex-grid TE bandwidth."; | |||
} | } | |||
leaf description { | description "flex-grid bandwidth."; | |||
type string; | case flex-grid { | |||
description "Description of the interface"; | uses layer0-types:flex-grid-link-bandwidth; | |||
} | } | |||
leaf type { | } | |||
type interface-type; | /* Augment unreserved bandwidth of TE Link */ | |||
description "Determines the type of the interface"; | augment "/nw:networks/nw:network/nt:link/tet:te/" | |||
} | + "tet:te-link-attributes/" | |||
container numbered-interface { | + "tet:unreserved-bandwidth/" | |||
when "../fg-ted:type = | + "tet:te-bandwidth/tet:technology" { | |||
'numbered-interface'" { | when "../../../../../nw:network-types/tet:te-topology/" | |||
description | + "flex-grid:flex-grid-topology" { | |||
"If the interface is a numbered interface"; | description "flex-grid TE bandwidth."; | |||
} | } | |||
description "Container that defines an numbered | description "flex-grid bandwidth."; | |||
interface with an ip-address"; | case flex-grid { | |||
leaf n-i-ip-address{ | uses layer0-types:flex-grid-link-bandwidth; | |||
type inet:ip-address; | } | |||
description "IP address of the numbered interface"; | } | |||
} | ||||
} | ||||
container unnumbered-interface { | ||||
when "../fg-ted:type = | ||||
'unnumbered-interface'" { | ||||
description | ||||
"If the interface is an unnumbered interface"; | ||||
} | ||||
description "Container that defines an unnumbered | ||||
interface with an ip-address and a label"; | ||||
leaf u-i-ip-address{ | ||||
type inet:ip-address; | ||||
description "IP address of the interface"; | ||||
} | ||||
leaf label { | ||||
type uint32; | ||||
description "Number as label for the interface"; | ||||
} | ||||
} | ||||
} | ||||
} | ||||
grouping flexi-grid-link-attributes { | /* Augment maximum LSP bandwidth of TE link information-source */ | |||
description "Set of attributes of an optical link"; | augment "/nw:networks/nw:network/nt:link/tet:te/" | |||
leaf-list available-label-flexi-grid { | + "tet:information-source-entry/" | |||
type bits { | + "tet:interface-switching-capability/" | |||
bit is-available{ | + "tet:max-lsp-bandwidth/" | |||
description "Set to 1 when it is available"; | + "tet:te-bandwidth/tet:technology" { | |||
} | when "../../../../../../nw:network-types/tet:te-topology/" | |||
} | + "flex-grid:flex-grid-topology" { | |||
description | description "flex-grid TE bandwidth."; | |||
"Array of bits that determines whether a spectral | } | |||
slot is available or not."; | description "flex-grid bandwidth."; | |||
} | case flex-grid { | |||
uses layer0-types:flex-grid-path-bandwidth; | ||||
} | ||||
} | ||||
leaf N-max { | /* Augment maximum bandwidth of TE link information-source */ | |||
type int32; | augment "/nw:networks/nw:network/nt:link/tet:te/" | |||
description "Maximum number of channels available."; | + "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."; | ||||
} | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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."; | ||||
} | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-bandwidth; | ||||
} | ||||
} | ||||
leaf base-frequency { | /* Augment unreserved bandwidth of TE link information-source */ | |||
type decimal64 { | augment "/nw:networks/nw:network/nt:link/tet:te/" | |||
fraction-digits 5; | + "tet:information-source-entry/" | |||
} | + "tet:unreserved-bandwidth/" | |||
units THz; | + "tet:te-bandwidth/tet:technology" { | |||
default 193.1; | when "../../../../../nw:network-types/tet:te-topology/" | |||
description "Default central frequency"; | + "flex-grid:flex-grid-topology" { | |||
reference "rfc7698"; | description "flex-grid TE bandwidth."; | |||
} | } | |||
leaf nominal-central-frequency-granularity { | description "flex-grid bandwidth."; | |||
type decimal64 { | case flex-grid { | |||
fraction-digits 5; | uses layer0-types:flex-grid-link-bandwidth; | |||
} | } | |||
units GHz; | } | |||
default 6.25; | ||||
description | ||||
"It is the spacing between allowed nominal central | ||||
frequencies and it is set to 6.25 GHz"; | ||||
reference "rfc7698"; | ||||
} | ||||
leaf slot-width-granularity { | /* Augment maximum LSP bandwidth of TE link template */ | |||
type decimal64 { | augment "/nw:networks/tet:te/tet:templates/" | |||
fraction-digits 5; | + "tet:link-template/tet:te-link-attributes/" | |||
} | + "tet:interface-switching-capability/" | |||
units GHz; | + "tet:max-lsp-bandwidth/" | |||
default 12.5; | + "tet:te-bandwidth/tet:technology" { | |||
description "Minimum space between slot widths"; | /* | |||
reference "rfc7698"; | when "../../../../../../nw:network-types/tet:te-topology/" | |||
} | + "flex-grid:flex-grid-topology" { | |||
} | description "flex-grid TE bandwidth."; | |||
} | ||||
*/ | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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."; | ||||
} | ||||
*/ | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-bandwidth; | ||||
} | ||||
} | ||||
grouping flexi-grid-transponder-attributes { | /* Augment maximum reservable bandwidth of TE link template */ | |||
description "Configuration of an optical transponder"; | augment "/nw:networks/tet:te/tet:templates/" | |||
leaf-list available-operational-mode { | + "tet:link-template/tet:te-link-attributes/" | |||
type operational-mode; | + "tet:max-resv-link-bandwidth/" | |||
description "List of all vendor-specific supported | + "tet:te-bandwidth/tet:technology" { | |||
mode identifiers"; | /* | |||
} | when "../../../../../nw:network-types/tet:te-topology/" | |||
+ "flex-grid:flex-grid-topology" { | ||||
description "flex-grid TE bandwidth."; | ||||
} | ||||
*/ | ||||
description "flex-grid bandwidth."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-bandwidth; | ||||
} | ||||
} | ||||
leaf operational-mode { | /* Augment unreserved bandwidth of TE link template */ | |||
type operational-mode; | augment "/nw:networks/tet:te/tet:templates/" | |||
description "Vendor-specific mode identifier"; | + "tet:link-template/tet:te-link-attributes/" | |||
} | + "tet:unreserved-bandwidth/" | |||
} | + "tet:te-bandwidth/tet:technology" { | |||
grouping flexi-grid-connectivity-matrix-attributes { | /* | |||
description "Connectivity matrix between the input and | when "../../../../../../nw:network-types/tet:te-topology/" | |||
output ports"; | + "flex-grid:flex-grid-topology" { | |||
list connections { | description "flex-grid TE bandwidth."; | |||
key "input-port-id"; | } | |||
leaf input-port-id { | */ | |||
type flexi-grid-node-port-ref; | description "flex-grid bandwidth."; | |||
description "Identifier of the input port"; | case flex-grid { | |||
} | uses layer0-types:flex-grid-link-bandwidth; | |||
leaf output-port-id { | } | |||
type flexi-grid-node-port-ref; | } | |||
description "Identifier of the output port"; | ||||
} | ||||
description "List of connections between input and | ||||
output ports"; | ||||
} | ||||
} | ||||
/* | /* | |||
Augments | * Augment TE label. | |||
*/ | */ | |||
augment "/nd:networks/nd:network/nd:network-types" { | ||||
uses flexi-grid-network-type; | ||||
description "Augment network-types including flexi-grid | ||||
topology"; | ||||
} | ||||
augment "/nd:networks/nd:network/lnk:link/tet:te" + | /* Augment label restrictions of connectivity-matrices */ | |||
"/tet:te-link-attributes" { | augment "/nw:networks/nw:network/nw:node/tet:te/" | |||
when "/nd:networks/nd:network/nd:network-types/ | + "tet:te-node-attributes/tet:connectivity-matrices/" | |||
fg-ted:flexi-grid-network" { | + "tet:label-restrictions/tet:label-restriction" { | |||
description "Augment only for Flexigrid network."; | when "../../../../../../nw:network-types/tet:te-topology/" | |||
+ "flex-grid:flex-grid-topology" { | ||||
description "Augment flex-grid TE label"; | ||||
} | } | |||
description "Augment link configuration"; | description "flex-grid label."; | |||
uses flexi-grid-link-attributes; | uses layer0-types:flex-grid-label-restriction; | |||
} | } | |||
/* NMDA Compliant | ||||
augment "/nd-s:networks/nd-s:network/nd-s:network-types" { | /* Augment label restrictions start of connectivity-matrices */ | |||
uses flexi-grid-network-type; | augment "/nw:networks/nw:network/nw:node/tet:te/" | |||
description "Augment network-types including flexi-grid | + "tet:te-node-attributes/tet:connectivity-matrices/" | |||
topology"; | + "tet:label-restrictions/tet:label-restriction/" | |||
} | + "tet:label-start/" | |||
augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te" + | + "tet:te-label/tet:technology" { | |||
"/tet-s:te-link-attributes" { | when "../../../../../../../../nw:network-types/tet:te-topology/" | |||
when "/nd-s:networks/nd-s:network/nd-s:network-types/ | + "flex-grid:flex-grid-topology" { | |||
fg-ted:flexi-grid-network" { | description "Augment flex-grid TE label"; | |||
description "Augment only for Flexigrid network."; | } | |||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | } | |||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
description "Augment link state"; | /* Augment label hop of underlay primary path of connectivity-matrices | |||
uses flexi-grid-link-attributes; | */ | |||
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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-path-label; | ||||
} | ||||
} | } | |||
*/ | ||||
augment "/nd:networks/nd:network/nd:node/tet:te" + | ||||
"/tet:te-node-attributes" { | ||||
when "/nd:networks/nd:network/nd:network-types/ | ||||
fg-ted:flexi-grid-network" { | ||||
description "Augment only for Flexigrid network."; | ||||
} | ||||
uses flexi-grid-node-attributes; | ||||
description "Augment node config with flexi-grid attributes"; | ||||
} | ||||
/* NMDA Compliant | ||||
augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te" + | ||||
"/tet-s:te-node-attributes" { | ||||
when "/nd-s:networks/nd-s:network/nd-s:network-types/ | ||||
fg-ted:flexi-grid-network" { | ||||
description "Augment only for Flexigrid network."; | ||||
} | ||||
uses flexi-grid-node-attributes; | /* Augment label hop of underlay backup path of connectivity-matrices | |||
description "Augment node state with flexi-grid attributes"; | ||||
} | ||||
*/ | */ | |||
augment "/nd:networks/nd:network/nd:node/tet:te"+ | augment "/nw:networks/nw:network/nw:node/tet:te/" | |||
"/tet:te-node-attributes/tet:connectivity-matrices/"+ | + "tet:te-node-attributes/tet:connectivity-matrices/" | |||
"tet:connectivity-matrix" { | + "tet:underlay/tet:backup-path/tet:path-element/" | |||
when "/nd:networks/nd:network/nd:network-types/ | + "tet:type/tet:label/tet:label-hop/" | |||
fg-ted:flexi-grid-network" { | + "tet:te-label/tet:technology" { | |||
description "Augment only for Flexigrid network."; | when "../../../../../../../../../" | |||
} | + "nw:network-types/tet:te-topology/" | |||
+ "flex-grid:flex-grid-topology" { | ||||
description "Augment flex-grid TE label"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-path-label; | ||||
} | ||||
} | ||||
uses flexi-grid-connectivity-matrix-attributes; | /* Augment label hop of route-include of connectivity-matrices (added) | |||
description "Augment node connectivity-matrix for node config"; | */ | |||
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"; | ||||
} | } | |||
/* NMDA Compliant | description "flex-grid label."; | |||
augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te"+ | case flex-grid { | |||
"/tet-s:te-node-attributes/tet-s:connectivity-matrices/"+ | uses layer0-types:flex-grid-path-label; | |||
"tet-s:connectivity-matrix" { | } | |||
when "/nd-s:networks/nd-s:network/nd-s:network-types/ | } | |||
fg-ted:flexi-grid-network"{ | /* Augment label hop of path-route of connectivity-matrices */ | |||
description "Augment only for Flexigrid network."; | 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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-path-label; | ||||
} | ||||
} | ||||
uses flexi-grid-connectivity-matrix-attributes; | /* Augment ingress label restrictions of connectivity-matrix */ | |||
description "Augment node connectivity-matrix for node config"; | 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"; | ||||
} | } | |||
*/ | description "flex-grid label."; | |||
uses layer0-types:flex-grid-label-restriction; | ||||
} | ||||
augment "/nd:networks/nd:network/nd:node/tet:te"+ | /* Augment ingress label restrictions start of connectivity-matrix */ | |||
"/tet:tunnel-termination-point" { | augment "/nw:networks/nw:network/nw:node/tet:te/" | |||
when "/nd:networks/nd:network/nd:network-types/ | + "tet:te-node-attributes/tet:connectivity-matrices/" | |||
fg-ted:flexi-grid-network"{ | + "tet:connectivity-matrix/tet:from/" | |||
description "Augment only for Flexigrid network."; | + "tet:label-restrictions/tet:label-restriction/" | |||
} | + "tet:label-start/" | |||
uses flexi-grid-transponder-attributes; | + "tet:te-label/tet:technology" { | |||
description "Augment node state with transponder attributes"; | when "../../../../../../../../../../" | |||
} | + "nw:network-types/tet:te-topology/" | |||
/* NMDA Compliant | + "flex-grid:flex-grid-topology" { | |||
augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te"+ | description "Augment flex-grid TE label"; | |||
"/tet-s:tunnel-termination-point" { | } | |||
when "/nd-s:networks/nd-s:network/nd-s:network-types/ | description "flex-grid label."; | |||
fg-ted:flexi-grid-network"{ | case flex-grid { | |||
description "Augment only for Flexigrid network."; | uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
uses flexi-grid-transponder-attributes; | /* Augment egress label restrictions of connectivity-matrix */ | |||
description "Augment node state with transponder attributes"; | 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"; | ||||
} | ||||
description "flex-grid label."; | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
/* 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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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/" | ||||
+ "flex-grid:flex-grid-topology" { | ||||
description "Augment flex-grid TE label"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
/* 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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
/* 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"; | ||||
} | ||||
description "flex-grid label."; | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
/* 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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
/* 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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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 "../../../../../../../../../../" | ||||
+ "nw:network-types/tet:te-topology/" | ||||
+ "flex-grid:flex-grid-topology" { | ||||
description "Augment flex-grid TE label"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
uses layer0-types:flex-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/" | ||||
+ "flex-grid:flex-grid-topology" { | ||||
description "Augment flex-grid TE label"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
/* 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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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/" | ||||
+ "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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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 "../../../../../../../../../../" | ||||
+ "nw:network-types/tet:te-topology/" | ||||
+ "flex-grid:flex-grid-topology" { | ||||
description "Augment flex-grid TE label"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
/* 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"; | ||||
} | ||||
description "flex-grid label."; | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
/* 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"; | ||||
} | ||||
*/ | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
*/ | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
*/ | ||||
description "flex-grid label."; | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
*/ | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-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"; | ||||
} | ||||
*/ | ||||
description "flex-grid label."; | ||||
case flex-grid { | ||||
uses layer0-types:flex-grid-link-label; | ||||
} | ||||
} | ||||
} | ||||
<CODE ENDS> | <CODE ENDS> | |||
A.3. License | A.3. License | |||
Copyright (c) 2018 IETF Trust and the persons identified as authors | Copyright (c) 2018 IETF Trust and the persons identified as authors | |||
of the code. All rights reserved. | of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or without | Redistribution and use in source and binary forms, with or without | |||
modification, are permitted provided that the following conditions | modification, are permitted provided that the following conditions | |||
are met: | are met: | |||
skipping to change at page 21, line 25 ¶ | skipping to change at page 66, line 25 ¶ | |||
[I-D.draft-ietf-teas-yang-te-topo] Liu, X., Bryskin, I., Pavan | [I-D.draft-ietf-teas-yang-te-topo] Liu, X., Bryskin, I., Pavan | |||
Beeram, V., Saad, T., Shah, H., Gonzalez De Dios, O., "YANG | Beeram, V., Saad, T., Shah, H., Gonzalez De Dios, O., "YANG | |||
Data Model for TE Topologies", Internet Draft | Data Model for TE Topologies", Internet Draft | |||
draft-ietf-teas-yang-te-topo-18.txt, 2018. | draft-ietf-teas-yang-te-topo-18.txt, 2018. | |||
[I-D.draft-dharini-ccamp-dwdm-if-yang] Galimberti, G., Kunze, R., | [I-D.draft-dharini-ccamp-dwdm-if-yang] Galimberti, G., Kunze, R., | |||
Lam, K., Hiremagalur, D., Grammel, G., Fang, L., Ratterree, G., | Lam, K., Hiremagalur, D., Grammel, G., Fang, L., Ratterree, G., | |||
Eds., "A YANG model to manage the optical interface parameters | Eds., "A YANG model to manage the optical interface parameters | |||
for an external transponder in a WDM network", Internet Draft, | for an external transponder in a WDM network", Internet Draft, | |||
draft-dharini-ccamp-dwdm-if-param-yang-05.txt, 2018. | draft-dharini-ccamp-dwdm-if-param-yang-06.txt, 2018. | |||
[I-D.draft-ietf-ccamp-wson-yang] Lee, Y. Dhody, D., Zhang, X., Guo, | [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 | A., Lopez, V., King, D., Yoon, B.,"A Yang Data Model for WSON | |||
Optical Networks", Internet Draft, | Optical Networks", Internet Draft, | |||
draft-ietf-ccamp-wson-yang-10.txt, 2018. | draft-ietf-ccamp-wson-yang-14.txt, 2018. | |||
[I-D.draft-ietf-ccamp-flexigrid-media-channel-yang] Lopez de | [I-D.draft-ietf-ccamp-flexigrid-media-channel-yang] Lopez de | |||
Vergara, J., Perdices, D., Lopez, V., Gonzalez de Dios, O., | Vergara, J., Perdices, D., Lopez, V., Gonzalez de Dios, O., | |||
King, D., Lee, Y., Galimberti, G., "YANG data model for | King, D., Lee, Y., Galimberti, G., "YANG data model for | |||
Flexi-Grid media-channels", Internet Draft, | Flexi-Grid media-channels", Internet Draft, | |||
draft-ietf-ccamp-flexigrid-media-channel-yang-00, 2018. | draft-ietf-ccamp-flexigrid-media-channel-yang-00, 2018. | |||
10. Contributors | 10. Contributors | |||
The model presented in this paper was contributed to by more people | The model presented in this paper was contributed to by more people | |||
skipping to change at page 22, line 16 ¶ | skipping to change at page 67, line 16 ¶ | |||
The work presented in this Internet-Draft has been partially funded | The work presented in this Internet-Draft has been partially funded | |||
by the European Commission under the project H2020 METRO-HAUL | by the European Commission under the project H2020 METRO-HAUL | |||
(Metro High bandwidth, 5G Application-aware optical network, with | (Metro High bandwidth, 5G Application-aware optical network, with | |||
edge storage, compUte and low Latency), Grant Agreement number: | edge storage, compUte and low Latency), Grant Agreement number: | |||
761727, and by the Spanish Ministry of Economy and Competitiveness | 761727, and by the Spanish Ministry of Economy and Competitiveness | |||
under the project TRAFICA, MINECO/FEDER TEC2015-69417-C2-1-R. | under the project TRAFICA, MINECO/FEDER TEC2015-69417-C2-1-R. | |||
Authors' Addresses | Authors' Addresses | |||
Jorge E. Lopez de Vergara | Jorge E. Lopez de Vergara Mendez | |||
Universidad Autonoma de Madrid | Universidad Autonoma de Madrid | |||
Escuela Politecnica Superior | Escuela Politecnica Superior | |||
C/Francisco Tomas y Valiente, 11 | C/Francisco Tomas y Valiente, 11 | |||
E-28049 Madrid, Spain | E-28049 Madrid, Spain | |||
Email: jorge.lopez_vergara@uam.es | Email: jorge.lopez_vergara@uam.es | |||
Daniel Perdices Burrero | Daniel Perdices Burrero | |||
Naudit High Performance Computing and Networking, S.L. | Naudit High Performance Computing and Networking, S.L. | |||
C/Faraday, 7 | C/Faraday, 7 | |||
E-28049 Madrid, Spain | E-28049 Madrid, Spain | |||
Email: daniel.perdices@naudit.es | Email: daniel.perdices@naudit.es | |||
Victor Lopez | Victor Lopez Alvarez | |||
Telefonica I+D/GCTO | Telefonica I+D/GCTO | |||
Distrito Telefonica | Distrito Telefonica | |||
E-28050 Madrid, Spain | E-28050 Madrid, Spain | |||
Email: victor.lopezalvarez@telefonica.com | Email: victor.lopezalvarez@telefonica.com | |||
Oscar Gonzalez de Dios | Oscar Gonzalez de Dios | |||
Telefonica I+D/GCTO | Telefonica I+D/GCTO | |||
Distrito Telefonica | Distrito Telefonica | |||
E-28050 Madrid, Spain | E-28050 Madrid, Spain | |||
End of changes. 66 change blocks. | ||||
369 lines changed or deleted | 2466 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |