module ietf-flex-grid-media-channel {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-flex-grid-media-channel";
prefix "flex-grid-tunnel";
import ietf-te { prefix "te"; }
import ietf-layer0-types{ prefix "layer0-types"; }
import ietf-te-path-computation { prefix "tepc"; }
import ietf-otn-types { prefix "otn-types"; }
organization
"IETF CCAMP Working Group";
contact
"WG Web:
WG List:
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 ";
description
"This module defines a model for Flex-grid Tunnel Services.";
revision "2018-10-22" {
description
"version 1";
reference "version 1";
}
/* Groupings. */
grouping flex-grid-tunnel-attributes {
description "Parameters for flexgrid tunnel.";
leaf src-client-signal {
type identityref {
base otn-types:client-signal;
}
description
"Client signal at the source endpoint of
the tunnel.";
}
leaf dst-client-signal {
type identityref {
base otn-types:client-signal;
}
description
"Client signal at the destination endpoint of
the tunnel.";
}
leaf fec-type {
type identityref {
base layer0-types:fec-type;
}
description
"FEC type.";
}
leaf termination-type {
type identityref {
base layer0-types:term-type;
}
description
"Termination type.";
}
leaf bit-stuffing {
type boolean;
description
"Bit stuffing enabled/disabled.";
}
}
grouping flex-grid-path-constraints {
description
"Global named path constraints configuration
grouping for flexi-grid tunnel";
leaf wavelength-assignment {
type identityref {
base layer0-types:wavelength-assignment;
}
description "Wavelength Allocation Method";
}
}
/*
* Data nodes
*/
augment "/te:te/te:tunnels/te:tunnel" {
description
"Augment with additional parameters required for flex-grid
tunnel.";
uses flex-grid-tunnel-attributes;
}
/*
* Augment TE bandwidth
*/
/* Augment bandwidth of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/"
+ "te:te-bandwidth/te:technology" {
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-path-bandwidth;
}
}
/* Augment bandwdith of tunnel */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:te-bandwidth/te:technology" {
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-path-bandwidth;
}
}
/* Augment bandwidth of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:te-bandwidth/te:technology" {
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-path-bandwidth;
}
}
/* Augment bandwidth of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:te-bandwidth/te:technology" {
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-path-bandwidth;
}
}
/* Augment bandwidht of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:te-bandwidth/te:technology" {
description "flex-grid bandwidth.";
case flex-grid {
uses layer0-types:flex-grid-path-bandwidth;
}
}
/*
* Augment TE label.
*/
/* Augment label hop of route-object-exclude-always of
named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:explicit-route-objects/"
+ "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-object-include-exclude of
named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:explicit-route-objects/"
+ "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label restrictions for the forwarding direction of
path-in-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/"
+ "te:forward/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the forwarding direction of
path-in-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/"
+ "te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the forwarding direction of
path-in-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/"
+ "te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the reverse direction of
path-in-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/"
+ "te:reverse/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the reverse direction of
path-in-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/"
+ "te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the reverse direction of
path-in-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/"
+ "te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the forwarding direction of
path-out-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/"
+ "te:forward/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the forwarding direction of
path-out-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/"
+ "te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the forwarding direction of
path-out-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/"
+ "te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the reverse direction of
path-out-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/"
+ "te:reverse/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the reverse direction of
path-out-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/"
+ "te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the reverse direction of
path-out-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/"
+ "te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label hop of route-exclude of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-exclude-objects/"
+ "te:route-object-exclude-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-include of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-include-objects/"
+ "te:route-object-include-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-object-exclude-always of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:explicit-route-objects/"
+ "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-object-include-exclude of primary path
*/
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:explicit-route-objects/"
+ "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label restrictions for the forwarding direction of
path-in-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the forwarding direction of
path-in-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the forwarding direction of
path-in-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the reverse direction of
path-in-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the reverse direction of
path-in-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the reverse direction of
path-in-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the forwarding direction of
path-out-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the forwarding direction of
path-out-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the forwarding direction of
path-out-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the reverse direction of
path-out-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the reverse direction of
path-out-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the reverse direction of
path-out-segment of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label hop of path-route of primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:state/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of record-route of primary LSP */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/"
+ "te:record-route-subobject/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of path-route of primary LSP */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:state/te:lsps/te:lsp/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-exclude of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-exclude-objects/"
+ "te:route-object-exclude-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-include of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-include-objects/"
+ "te:route-object-include-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-object-exclude-always of reverse
primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:explicit-route-objects/"
+ "te:route-object-exclude-always/"
+ "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-object-include-exclude of reverse
primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:explicit-route-objects/"
+ "te:route-object-include-exclude/"
+ "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label restrictions for the forwarding direction of
path-in-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the forwarding direction of
path-in-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the forwarding direction of
path-in-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the reverse direction of
path-in-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the reverse direction of
path-in-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the reverse direction of
path-in-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the forwarding direction of
path-out-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the forwarding direction of
path-out-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the forwarding direction of
path-out-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the reverse direction of
path-out-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the reverse direction of
path-out-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the reverse direction of
path-out-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label hop of path-route of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:state/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of record-route of reverse primary LSP */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/"
+ "te:record-route-subobject/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of path-route of reverse primary LSP */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/"
+ "te:state/te:lsps/te:lsp/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-exclude of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-exclude-objects/"
+ "te:route-object-exclude-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-include of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-include-objects/"
+ "te:route-object-include-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-object-exclude-always of secondary path
*/
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:explicit-route-objects/"
+ "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of route-object-include-exclude of secondary
path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:explicit-route-objects/"
+ "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label restrictions for the forwarding direction of
path-in-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the forwarding direction of
path-in-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the forwarding direction of
path-in-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the reverse direction of
path-in-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the reverse direction of
path-in-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the reverse direction of
path-in-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the forwarding direction of
path-out-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the forwarding direction of
path-out-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the forwarding direction of
path-out-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the reverse direction of
path-out-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start for the reverse direction of
path-out-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions end for the reverse direction of
path-out-segment of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label hop of path-route of secondary path */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:state/te:path-properties/te:path-route-objects/"
+ "te:path-computed-route-object/te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of record-route of secondary LSP */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/"
+ "te:record-route-subobject/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of path-route of secondary LSP */
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:state/te:lsps/te:lsp/te:path-properties/"
+ "te:path-route-objects/"
+ "te:path-computed-route-object/te:state/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
/* Augment label hop of record-route of LSP */
augment "/te:te/te:lsps-state/"
+ "te:lsp/te:lsp-record-route-subobjects/"
+ "te:record-route-subobject/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-path-label;
}
}
augment "/te:tunnels-rpc/te:input/te:tunnel-info/"
+ "tepc:path-request" {
description
"Augment with additional constraints flex-grid
tunnel.";
uses flex-grid-tunnel-attributes;
uses flex-grid-path-constraints;
}
}