module ietf-flex-grid-topology {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-flex-grid-topology";
prefix "flex-grid";
import ietf-network {
prefix "nw";
}
import ietf-network-topology {
prefix "nt";
}
import ietf-te-topology {
prefix "tet";
}
import ietf-layer0-types {
prefix "layer0-types";
}
organization
"IETF CCAMP Working Group";
contact
"WG Web:
WG List:
WG Chair: Daniele Ceccarelli
WG Chair: Fatai Zhang
Editor: Jorge E. Lopez de Vergara
Editor: Daniel Perdices Burrero
Editor: Victor Lopez Alvarez
Editor: Young Lee
Editor: Aihua Guo ";
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 ";
}
/*
* 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.";
}
}
}
grouping flex-grid-link-attributes {
description
"Future flex-grid link attributes extensions";
}
grouping flex-grid-tp-attributes {
description "flex-grid-tp-attributes";
list supported-payload-types {
key "index";
description
"Supported payload types of a TP. The payload type is defined
as the generalized PIDs in GMPLS.";
leaf index {
type uint16;
description "payload type index";
}
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.";
}
}
grouping flex-grid-ttp-attributes {
description
"Flex-grid tunnel termination point (e.g.tranponder)
attributes";
leaf-list supported-operational-modes {
type layer0-types:operational-mode;
description
"List of all supported vendor-specific
mode identifiers";
}
leaf configured-operational-modes {
type layer0-types:operational-mode;
description
"Vendor-specific mode identifier configured
on the TTP.";
}
leaf-list supported-fec-types {
type identityref {
base layer0-types:fec-type;
}
description
"List of all supported FEC types by this TTP.";
}
leaf-list supported-termination-types {
type identityref {
base layer0-types:term-type;
}
description
"List of all supported termination types by this TTP.";
}
leaf supports-bit-stuffing {
type boolean;
description
"Indicate whether bit stuffing is supported by this TTP.";
}
leaf is-tunable {
type boolean;
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.";
}
}
/*
* Data nodes
*/
augment "/nw:networks/nw:network/nw:network-types"
+ "/tet:te-topology" {
description "flex-grid-topology augmented";
container flex-grid-topology {
presence "indicates a topology of Flex Grid";
description
"Container to identify Flex-grid topology type";
}
}
augment "/nw:networks/nw:network/nt:link/tet:te"
+ "/tet:te-link-attributes" {
when "/nw:networks/nw:network/nw:network-types"
+"/tet:te-topology/flex-grid:flex-grid-topology" {
description "This augment is only valid for flex-grid.";
}
description "Flex-grid Link augmentation.";
uses flex-grid-link-attributes;
}
augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
+ "tet:te" {
when "/nw:networks/nw:network/nw:network-types"
+"/tet:te-topology/flex-grid:flex-grid-topology" {
description "This augment is only valid for flex-grid.";
}
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
*/
/* Augment maximum LSP bandwidth of link terminationpoint (LTP) */
augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
+ "tet:te/"
+ "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE bandwidth";
}
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-path-bandwidth;
}
}
/* Augment bandwidth path constraints of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE bandwidth";
}
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;
}
}
/* Augment bandwidth path constraints of connectivity-matrices
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE bandwidth";
}
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-link-bandwidth;
}
}
/* Augment bandwidth path constraints of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE bandwidth";
}
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)
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/tet:path-constraints/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE bandwidth";
}
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;
}
}
/* Augment maximum bandwidth of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "flex-grid TE bandwidth.";
}
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-link-bandwidth;
}
}
/* Augment maximum reservable bandwidth of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "flex-grid TE bandwidth.";
}
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-link-bandwidth;
}
}
/* Augment unreserved bandwidth of TE Link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "flex-grid TE bandwidth.";
}
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-link-bandwidth;
}
}
/* Augment maximum LSP bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:interface-switching-capability/"
+ "tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "flex-grid TE bandwidth.";
}
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-path-bandwidth;
}
}
/* Augment maximum bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "flex-grid TE bandwidth.";
}
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;
}
}
/* Augment unreserved bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "flex-grid TE bandwidth.";
}
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-link-bandwidth;
}
}
/* Augment maximum LSP bandwidth of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:interface-switching-capability/"
+ "tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "flex-grid TE bandwidth.";
}
*/
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;
}
}
/* Augment maximum reservable bandwidth of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "flex-grid TE bandwidth.";
}
*/
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-link-bandwidth;
}
}
/* Augment unreserved bandwidth of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "flex-grid TE bandwidth.";
}
*/
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-link-bandwidth;
}
}
/*
* Augment TE label.
*/
/* Augment label restrictions of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE label";
}
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE label";
}
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;
}
}
/* Augment label hop of underlay primary path of connectivity-matrices
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:underlay/tet:primary-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE label";
}
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of underlay backup path of connectivity-matrices
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:underlay/tet:backup-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE label";
}
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;
}
}
/* Augment label hop of route-include of connectivity-matrices (added)
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
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 */
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;
}
}
/* Augment ingress label restrictions of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE label";
}
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment ingress label restrictions start of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE label";
}
description "flex-grid label.";
case flex-grid {
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;
}
}
/* Augment egress label restrictions of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:to/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flex-grid:flex-grid-topology" {
description "Augment flex-grid TE label";
}
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;
}
}
}