A Yang Data Model for WSON Tunnel
Samsung
Seoul
South Korea
younglee.tx@gmail.com
Huawei Technologies
H1, Huawei Industrial Base, Songshan Lake
Dongguan
Guangdong
523808
China
zhenghaomian@huawei.com
Futurewei
aihuaguo.ietf@gmail.com
Nokia
victor.lopez@nokia.com
University of Lancaster
d.king@lancaster.ac.uk
ETRI
218 Gaijeongro, Yuseong-gu
Daejeon
Korea
byyun@etri.re.kr
CTTC
ricard.vilalta@cttc.es
CCAMP Working Group
This document provides a YANG data model for WSON TE tunnel.
This document provides a YANG data model for WSON tunnel model. The YANG model described in this document is a WSON technology-specific Yang Tunnel model based on the information model developed in and the two encoding documents and that developed protocol independent encodings based on .
This document augments the generic TE tunnel model .
Refer to and for the key terms used in this document.
The following terms are defined in and are not redefined here:
client
server
augment
data model
data node
The following terms are defined in and are not redefined here:
configuration data
state data
The terminology for describing YANG data models is found in .
A simplified graphical representation of the data model is used in of this this document. The meaning of the symbols in these diagrams is defined in .
In this document, names of data nodes and other data model objects are prefixed using the standard prefix associated with the corresponding YANG imported modules. The module ietf-layer0-types specified in , ietf-layer1-types specified in , ietf-te-path-computation specified in and ietf-te specified in are imported in this module.
Note: The RFC Editor will replace XXXX with the number assigned to the RFC once this draft becomes an RFC.
The WSON tunnel model is using TE tunnel and TE types as a basic model and augment to the TE tunnel with WSON-specific parameters, including the bandwidth information and label information. It is also worth noting that the WSON tunnel provisioning is usually based on the WSON topology. Therefore the WSON tunnel model is usually used together with WSON topology model specified in .
More scenarios and model applications can be found in and . The current model is following the YANG language specification as , and the corresponding protocol is recommended to be Netconf protocol in or RESTconf protocol in .
The YANG module ietf-wson-tunnel defined in this document conforms to the Network Management Datastore Architecture (NMDA) defined in .
WSON specific parameters have been augmenting to the TE tunnel models. The attributes on both of the source and destination need to be configured when setting up the tunnel. Typical parameters, including bandwidth and grid information, are required in the WSON tunnel model. These parameters are consistent with the framework in , and the specification in and .
The WSON bandwidth information has been augmenting to various sections of TE tunnel models, including tunnel bandwidth, primary path bandwidth and so on. The WSON label information has been augmenting to label hop of a group of routing objects and also LSPs.
file "ietf-wson-tunnel@2021-10-19.yang"
module ietf-wson-tunnel {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-wson-tunnel";
prefix "wson-tnl";
import ietf-te {
prefix "te";
revision-date "2021-02-20";
reference
"I-D.ietf-teas-yang-te-19: A YANG Data Model for Traffic
Engineering Tunnels and Interfaces. ";
}
import ietf-layer0-types {
prefix "l0-types";
}
import ietf-layer0-types-ext {
prefix "l0-types-ext";
}
organization
"IETF CCAMP Working Group";
contact
"WG Web:
WG List:
Editor: Young Lee
Editor: Haomian Zheng
Editor: Aihua Guo
Editor: Victor Lopez
Editor: Daniel King
Editor: Bin Yeong Yoon
Editor: Ricard Vilalta
";
description
"This module defines a model for WSON Tunnel Services.
The model fully conforms to the Network Management
Datastore Architecture (NMDA).
Copyright (c) 2021 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
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision "2021-10-19" {
description
"Initial Revision";
reference
"RFC XXXX: A Yang Data Model for WSON Tunnel";
// RFC Ed.: replace XXXX with actual RFC number, update date
// information and remove this note
}
/*
* Data nodes
*/
augment "/te:te/te:tunnels/te:tunnel" {
description
"Augment with additional parameters required for flexi-grid
media channel.";
uses l0-types-ext:l0-tunnel-attributes;
}
/*
* Augment TE label range information
*/
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/"
+ "te:label-restrictions/te:label-restriction" {
description
"Augment TE label range information for the ingress segment
of the named path constraint.";
uses l0-types:l0-label-range-info;
}
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/"
+ "te:label-restrictions/"
+ "te:label-restriction" {
description
"Augment TE label range information for the egress segment
of the named path constraint.";
uses l0-types:l0-label-range-info;
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction" {
description
"Augment TE label range information for the ingress segment
of the primay path.";
uses l0-types:l0-label-range-info;
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction" {
description
"Augment TE label range information for the egress segment
of the primay path.";
uses l0-types:l0-label-range-info;
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction" {
description
"Augment TE label range information for the ingress segment
of the primay reverse path.";
uses l0-types:l0-label-range-info;
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction" {
description
"Augment TE label range information for the egress segment
of the primay reverse path.";
uses l0-types:l0-label-range-info;
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction" {
description
"Augment TE label range information for the ingress segment
of the secondary path.";
uses l0-types:l0-label-range-info;
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction" {
description
"Augment TE label range information for the egress segment
of the secondary path.";
uses l0-types:l0-label-range-info;
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction" {
description
"Augment TE label range information for the ingress segment
of the secondary reverse path.";
uses l0-types:l0-label-range-info;
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction" {
description
"Augment TE label range information for the egress segment
of the secondary reverse path.";
uses l0-types:l0-label-range-info;
}
/*
* Augment TE label.
*/
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/"
+ "te:explicit-route-objects-always/"
+ "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the explicit route objects always
excluded by the path computation with the named path
constraint.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/"
+ "te:explicit-route-objects-always/"
+ "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the explicit route objects included
or excluded by the path computation with the named path
constraint.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/"
+ "te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description
"Augment TE label range start for the ingress segment
of the named path constraint.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/"
+ "te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description
"Augment TE label range end for the ingress segment
of the named path constraint.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/"
+ "te:label-restrictions/te:label-restriction/"
+ "te:label-step/te:technology" {
description
"Augment TE label range step for the ingress segment
of the named path constraint.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/"
+ "te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description
"Augment TE label range start for the egress segment
of the named path constraint.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/"
+ "te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description
"Augment TE label range end for the egress segment
of the named path constraint.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/"
+ "te:label-restrictions/te:label-restriction/"
+ "te:label-step/te:technology" {
description
"Augment TE label range step for the egress segment
of the named path constraint.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te: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
"Augment TE label hop for the optimization of the explicit
route objects excluded by the path computation of the primary
path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te: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
"Augment TE label hop for the optimization of the explicit
route objects included by the path computation of the primary
path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:explicit-route-objects-always/"
+ "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the explicit route objects always
excluded by the path computation of the primary path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:explicit-route-objects-always/"
+ "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the explicit route objects included
or excluded by the path computation of the primary path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description
"Augment TE label range start for the ingress segment
of the primay path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description
"Augment TE label range end for the ingress segment
of the primay path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-step/te:technology" {
description
"Augment TE label range step for the ingress segment
of the primay path.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description
"Augment TE label range start for the egress segment
of the primay path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description
"Augment TE label range end for the egress segment
of the primay path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-step/te:technology" {
description
"Augment TE label range end for the egress segment
of the primay path.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:computed-paths-properties/"
+ "te:computed-path-properties/te:path-properties/"
+ "te:path-route-objects/te:path-route-object/"
+ "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the route object of the computed
primary path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-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
"Augment TE label hop for the optimization of the explicit
route objects excluded by the path computation of the primary
reverse path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-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
"Augment TE label hop for the optimization of the explicit
route objects included by the path computation of the primary
reverse path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:explicit-route-objects-always/"
+ "te:route-object-exclude-always/"
+ "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the explicit route objects always
excluded by the path computation of the primary reverse
path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:explicit-route-objects-always/"
+ "te:route-object-include-exclude/"
+ "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the explicit route objects included
or excluded by the path computation of the primary reverse
path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description
"Augment TE label range start for the ingress segment
of the primay reverse path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description
"Augment TE label range end for the ingress segment
of the primay reverse path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-step/te:technology" {
description
"Augment TE label range step for the ingress segment
of the primay reverse path.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description
"Augment TE label range start for the egress segment
of the primay reverse path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description
"Augment TE label range end for the egress segment
of the primay reverse path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-step/te:technology" {
description
"Augment TE label range step for the egress segment
of the primay reverse path.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:computed-paths-properties/te:computed-path-properties/"
+ "te:path-properties/te:path-route-objects/"
+ "te:path-route-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the route object of the computed
primary reverse path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te: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
"Augment TE label hop for the optimization of the explicit
route objects excluded by the path computation of the
secondary path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te: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
"Augment TE label hop for the optimization of the explicit
route objects included by the path computation of the
secondary path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:explicit-route-objects-always/"
+ "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the explicit route objects always
excluded by the path computation of the secondary path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:explicit-route-objects-always/"
+ "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the explicit route objects included
or excluded by the path computation of the secondary path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description
"Augment TE label range start for the ingress segment
of the secondary path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description
"Augment TE label range end for the ingress segment
of the secondary path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-step/te:technology" {
description
"Augment TE label range step for the ingress segment
of the secondary path.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description
"Augment TE label range start for the egress segment
of the secondary path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description
"Augment TE label range end for the egress segment
of the secondary path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-step/te:technology" {
description
"Augment TE label range step for the egress segment
of the secondary path.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:computed-paths-properties/"
+ "te:computed-path-properties/"
+ "te:path-properties/te:path-route-objects/"
+ "te:path-route-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the route object of the computed
secondary path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-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
"Augment TE label hop for the optimization of the explicit
route objects excluded by the path computation of the
secondary reverse path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-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
"Augment TE label hop for the optimization of the explicit
route objects included by the path computation of the
secondary reverse path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:explicit-route-objects-always/"
+ "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the explicit route objects always
excluded by the path computation of the secondary reverse
path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:explicit-route-objects-always/"
+ "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the explicit route objects included
or excluded by the path computation of the secondary reverse
path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description
"Augment TE label range start for the ingress segment
of the secondary reverse path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description
"Augment TE label range end for the ingress segment
of the secondary reverse path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-step/te:technology" {
description
"Augment TE label range step for the ingress segment
of the secondary reverse path.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" {
description
"Augment TE label range start for the egress segment
of the secondary reverse path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description
"Augment TE label range end for the egress segment
of the secondary reverse path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-step/te:technology" {
description
"Augment TE label range step for the egress segment
of the secondary reverse path.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/te:secondary-reverse-path/"
+ "te:computed-paths-properties/"
+ "te:computed-path-properties/"
+ "te:path-properties/te:path-route-objects/"
+ "te:path-route-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the route object of the computed
secondary reverse path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:te/te:lsps/"
+ "te:lsp/te:lsp-record-route-information/"
+ "te:lsp-record-route-information/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description
"Augment TE label hop for the record route of the LSP.";
case wson {
uses l0-types:wson-label-hop;
}
}
}
]]>
The YANG module specified in this document defines a schema for data that is designed to be accessed via network management protocols such as NETCONF or RESTCONF . The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) . The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS .
The NETCONF protocol over Secure Shell (SSH) specification describes a method for invoking and running NETCONF within a Secure Shell (SSH) session as an SSH subsystem. The NETCONF access control model provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.
There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default). These data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations. Considerations in Section 8 of
are also applicable to the module defined in this document.
Some of the readable data nodes in this YANG module may be considered sensitive or vulnerable in some network environments. It is thus important to control read access (e.g., via get, get-config, or
notification) to these data nodes. Considerations in Section 8 of are also applicable to the module defined in this document.
Finally, the YANG module described in this document augments the "ietf-te" YANG module by adding data nodes. The security considerations for the subtrees described in those RFCs apply equally to the new data nodes that this module adds.
It is proposed that IANA should assign new URIs from the "IETF XML Registry" as follows:
This document registers following YANG modules in the YANG Module Names registry .
Dhruv Dhody
Huawei Technologies
Email: dhruv.ietf@gmail.com
Italo Busi
Huawei Technologies
Email: Italo.Busi@huawei.com