OTN Tunnel YANG Model
Huawei Technologies
H1, Huawei Xiliu Beipo Village, Songshan Lake
Dongguan
Guangdong
523808
China
zhenghaomian@huawei.com
Huawei Technologies
HUAWEI TECHNOLOGIES ITALIA Srl Centro Direzionale Milano 2
Milan
Milan
20090
Italy
Italo.Busi@huawei.com
Nokia
sergio.belotti@nokia.com
Nokia
victor.lopez@nokia.com
CAICT
xuyunbin@caict.ac.cn
CCAMP Working Group
This document describes the YANG data model for tunnels in OTN TE networks. The model can be used to do the configuration in order to establish the tunnel in OTN network. This work is independent with the control plane protocols.
OTN transport networks, specified in , can carry various types of client signals. In many cases, the client signal is carried over an OTN tunnel across connected domains in a multi-domain network.
This document provides YANG model for creating OTN tunnel. The model augments the generic TE Tunnel model specified in .
Refer to for the OTN specific terms 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 Section 3 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, as shown in the following table.
RFC Editor Note: Please replace XXXX with the number assigned to the RFC once this draft becomes an RFC. Please replace YYYY with the RFC numbers assigned to . Please replace ZZZZ with the RFC numbers assigned to .
This document aims to describe the data model for OTN tunnel. The OTN tunnel model is using TE tunnel as a basic model and augments it with OTN-specific parameters, including the bandwidth information and label information. Figure 1 shows the augmentation relationship.
It is also worth noting that the OTN tunnel provisioning is usually based on the OTN topology. Therefore the OTN tunnel model is usually used together with OTN topology model specified in . The OTN tunnel model also imports a few type modules, including ietf-layer1-types, ietf-te-types and ietf-inet-types. The OTN-specific attributes in , including the Tributary Slot (TS) and Tributary Port Number (TPN), can be used to represent the bandwidth and label information. These attributes have been specified in and used in this document for augmentation of the generic TE tunnel model.
More scenarios and model applications can be found in and .
The YANG module ietf-otn-tunnel defined in this document conforms to the Network Management Datastore Architecture (NMDA) defined in .
The model augments all the occurrences of the te-bandwidth container with the OTN technology specific attributes using the otn-link-bandwidth and otn-path-bandwidth groupings defined in .
The model augments all the occurrences of the label-restriction list with OTN technology specific attributes using the otn-label-range-info grouping defined in .
Moreover, the model augments all the occurrences of the te-label container with the OTN technology specific attributes using the otn-label-start-end, otn-label-hop and otn-label-step groupings defined in .
file "ietf-otn-tunnel@2022-03-10.yang"
module ietf-otn-tunnel {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-otn-tunnel";
prefix "otn-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-layer1-types {
prefix "l1-types";
reference
"I-D.ietf-ccamp-layer1-types:
A YANG Data Model for Layer 1 Types. ";
}
organization
"IETF CCAMP Working Group";
contact
"WG Web:
WG List:
Editor: Haomian Zheng
Editor: Italo Busi
Editor: Sergio Belotti
Editor: Victor Lopez
Editor: Yunbin Xu
";
description
"This module defines a model for OTN Tunnel Services.
The model fully conforms to the Network Management
Datastore Architecture (NMDA).
Copyright (c) 2022 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 "2022-03-10" {
description
"Updated revision to align with the latest TE tunnel model.";
reference
"RFC XXXX: OTN Tunnel YANG Model";
// RFC Ed.: replace XXXX with actual RFC number, update date
// information and remove this note
}
/*
* Data nodes
*/
/*
* Augment TE bandwidth
*/
augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/"
+ "te:te-bandwidth/te:technology" {
description
"Augment TE bandwidth of the named path constraint.";
case otn {
uses l1-types:otn-path-bandwidth;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:te-bandwidth/te:technology" {
description
"Augment TE bandwidth of the tunnel.";
case otn {
uses l1-types:otn-path-bandwidth;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:te-bandwidth/te:technology" {
description
"Augment TE bandwidth of the primary path.";
case otn {
uses l1-types:otn-path-bandwidth;
}
}
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:te-bandwidth/te:technology" {
description
"Augment TE bandwidth of primary path's computed path
properties.";
case otn {
uses l1-types:otn-path-bandwidth;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:primary-paths/te:primary-path/"
+ "te:primary-reverse-path/"
+ "te:te-bandwidth/te:technology" {
description
"Augment TE bandwidth of the primary reverse path.";
case otn {
uses l1-types:otn-path-bandwidth;
}
}
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:te-bandwidth/te:technology" {
description
"Augment TE bandwidth of the primary reverse path's computed
path properties.";
case otn {
uses l1-types:otn-path-bandwidth;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-paths/te:secondary-path/"
+ "te:te-bandwidth/te:technology" {
description
"Augment TE bandwidth of the secondary path.";
case otn {
uses l1-types:otn-path-bandwidth;
}
}
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:te-bandwidth/te:technology" {
description
"Augment TE bandwidth of the secondary path's computed path
properties.";
case otn {
uses l1-types:otn-path-bandwidth;
}
}
augment "/te:te/te:tunnels/te:tunnel/"
+ "te:secondary-reverse-paths/"
+ "te:secondary-reverse-path/"
+ "te:te-bandwidth/te:technology" {
description
"Augment TE bandwidth of the secondary reverse path.";
case otn {
uses l1-types:otn-path-bandwidth;
}
}
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:te-bandwidth/te:technology" {
description
"Augment TE bandwidth of the secondary reverse path's computed
path properties.";
case otn {
uses l1-types:otn-path-bandwidth;
}
}
/*
* 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 l1-types:otn-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 l1-types:otn-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 l1-types:otn-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 l1-types:otn-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 l1-types:otn-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 l1-types:otn-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 l1-types:otn-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 l1-types:otn-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 l1-types:otn-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 l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 otn {
uses l1-types:otn-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 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 10 of are also applicable to their subtrees in 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 10 of are also applicable to their subtrees in the module defined in this document.
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 .
RFC Editor Note: Please replace XXXX with the number assigned to the RFC once this draft becomes an RFC.
Aihua Guo
Futurewei
Email: aihuaguo.ietf@gmail.com
Anurag Sharma
Google
Email: ansha@google.com
Rajan Rao
Infinera
Email: rrao@infinera.com
Yunbo Li
China Mobile
Email: liyunbo@chinamobile.com
Dieter Beller
Nokia
Email: dieter.beller@nokia.com
Yanlei Zheng
China Unicom
Email: zhengyanlei@chinaunicom.cn
Xian Zhang
Huawei Technologies
Email: zhang.xian@huawei.com
Lei Wang
China Mobile
Email: wangleiyj@chinamobile.com
Oscar Gonzalez de Dios
Telefonica
Email: oscar.gonzalezdedios@telefonica.com
Interfaces for the optical transport network
International Telecommunication Union