draft-ietf-ccamp-otn-topo-yang-02.txt   draft-ietf-ccamp-otn-topo-yang-03.txt 
CCAMP Working Group H. Zheng CCAMP Working Group H. Zheng
Internet-Draft Z. Fan Internet-Draft A. Guo
Intended status: Standards Track Huawei Technologies Intended status: Standards Track I. Busi
Expires: May 3, 2018 A. Sharma Expires: December 17, 2018 Huawei Technologies
A. Sharma
Google Google
X. Liu X. Liu
Jabil Jabil
S. Belotti S. Belotti
Nokia Nokia
Y. Xu Y. Xu
CAICT CAICT
L. Wang L. Wang
China Mobile China Mobile
O. Gonzalez de Dios O. Gonzalez de Dios
Telefonica Telefonica
October 30, 2017 June 15, 2018
A YANG Data Model for Optical Transport Network Topology A YANG Data Model for Optical Transport Network Topology
draft-ietf-ccamp-otn-topo-yang-02 draft-ietf-ccamp-otn-topo-yang-03
Abstract Abstract
A transport network is a server-layer network designed to provide A transport network is a server-layer network designed to provide
connectivity services for a client-layer network to carry the client connectivity services for a client-layer network to carry the client
traffic transparently across the server-layer network resources. A traffic transparently across the server-layer network resources. A
transport network can be constructed from equipments utilizing any of transport network can be constructed from equipments utilizing any of
a number of different transport technologies such as the evolving a number of different transport technologies such as the evolving
Optical Transport Networks (OTN) or packet transport as provided by Optical Transport Networks (OTN) or packet transport as provided by
the MPLS-Transport Profile (MPLS-TP). the MPLS-Transport Profile (MPLS-TP).
skipping to change at page 2, line 10 skipping to change at page 2, line 12
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 3, 2018. This Internet-Draft will expire on December 17, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology and Notations . . . . . . . . . . . . . . . . . . 3 2. Terminology and Notations . . . . . . . . . . . . . . . . . . 3
3. YANG Data Model for OTN Topology . . . . . . . . . . . . . . 4 3. YANG Data Model for OTN Topology . . . . . . . . . . . . . . 4
3.1. the YANG Tree . . . . . . . . . . . . . . . . . . . . . . 4 3.1. OTN Topology Data Model Overview . . . . . . . . . . . . 4
3.2. Explanation of the OTN Topology Data Model . . . . . . . 4 3.2. YANG Tree for OTN topology . . . . . . . . . . . . . . . 5
3.3. The YANG Code . . . . . . . . . . . . . . . . . . . . . . 5 4. The YANG Code . . . . . . . . . . . . . . . . . . . . . . . . 20
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54
5. Manageability Considerations . . . . . . . . . . . . . . . . 9 6. Manageability Considerations . . . . . . . . . . . . . . . . 54
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 7. Security Considerations . . . . . . . . . . . . . . . . . . . 54
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 55
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 10 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 55
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 55
9.1. Normative References . . . . . . . . . . . . . . . . . . 10 10.1. Normative References . . . . . . . . . . . . . . . . . . 55
9.2. Informative References . . . . . . . . . . . . . . . . . 11 10.2. Informative References . . . . . . . . . . . . . . . . . 56
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57
1. Introduction 1. Introduction
A transport network is a server-layer network designed to provide A transport network is a server-layer network designed to provide
connectivity services for a client-layer network to carry the client connectivity services for a client-layer network to carry the client
traffic transparently across the server-layer network resources. A traffic transparently across the server-layer network resources. A
transport network can be constructed of equipments utilizing any of a transport network can be constructed of equipments utilizing any of a
number of different transport technologies such as the Optical number of different transport technologies such as the Optical
Transport Networks (OTN) or packet transport as provided by the MPLS- Transport Networks (OTN) or packet transport as provided by the MPLS-
Transport Profile (MPLS-TP). Transport Profile (MPLS-TP).
skipping to change at page 3, line 31 skipping to change at page 3, line 33
controller; controller;
The YANG model defined in this document is independent of control The YANG model defined in this document is independent of control
plane protocols and captures topology related information pertaining plane protocols and captures topology related information pertaining
to an Optical Transport Networks (OTN)-electrical layer, as the scope to an Optical Transport Networks (OTN)-electrical layer, as the scope
specified by [RFC7062] and [RFC7138]. Furthermore, it is not a specified by [RFC7062] and [RFC7138]. Furthermore, it is not a
stand-alone model, but augmenting from the TE topology YANG model stand-alone model, but augmenting from the TE topology YANG model
defined in [I-D.ietf-teas-yang-te-topo]. Following TE topology YANG defined in [I-D.ietf-teas-yang-te-topo]. Following TE topology YANG
model, the YANG model defined in this document is interface model, the YANG model defined in this document is interface
independent. The applicability of models to interfaces is described independent. The applicability of models to interfaces is described
in [I-D.zhang-teas-actn-yang]. in [I-D.ietf-teas-actn-yang].
Optical network technologies, including fixed Dense Wavelength Optical network technologies, including fixed Dense Wavelength
Switched Optical Network (WSON) and flexible optical networks Switched Optical Network (WSON) and flexible optical networks
(a.k.a., flexi-grid networks), are covered in (a.k.a., flexi-grid networks), are covered in
[I-D.ietf-ccamp-wson-yang] and [I-D.vergara-ccamp-flexigrid-yang], [I-D.ietf-ccamp-wson-yang] and [I-D.ietf-ccamp-flexigrid-yang],
respectively. respectively.
2. Terminology and Notations 2. Terminology and Notations
A simplified graphical representation of the data model is used in A simplified graphical representation of the data model is used in
this document. The meaning of the symbols in the YANG data tree this document. The meaning of the symbols in the YANG data tree
presented later in this document is defined in presented later in this document is defined in
[I-D.ietf-netmod-yang-tree-diagrams]. They are provided below for [I-D.ietf-netmod-yang-tree-diagrams]. They are provided below for
reference. reference.
skipping to change at page 4, line 16 skipping to change at page 4, line 19
means a presence container, and "*" denotes a list and leaf-list. means a presence container, and "*" denotes a list and leaf-list.
o Parentheses enclose choice and case nodes, and case nodes are also o Parentheses enclose choice and case nodes, and case nodes are also
marked with a colon (":"). marked with a colon (":").
o Ellipsis ("...") stands for contents of subtrees that are not o Ellipsis ("...") stands for contents of subtrees that are not
shown. shown.
3. YANG Data Model for OTN Topology 3. YANG Data Model for OTN Topology
3.1. the YANG Tree 3.1. OTN Topology Data Model Overview
module: ietf-otn-topology
augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
+--rw otn-topology!
augment /nw:networks/nw:network/nt:link/tet:te
/tet:te-link-attributes:
+--rw available-odu-info* [priority]
| +--rw priority uint8
| +--rw odulist* [odu-type]
| | +--rw odu-type identityref
| | +--rw number? uint16
| | +--rw tpn-range? string
| +--rw ts-range? string
+--rw tsg? identityref
+--rw distance? uint32
augment /nw:networks/nw:network/nw:node/nt:termination-point
/tet:te:
+--rw supported-payload-types* [index]
+--rw index uint16
+--rw payload-type? string
3.2. Explanation of the OTN Topology Data Model
As can be seen, from the data tree shown in Section 3.1, the YANG As can be seen, from the data tree shown in Section 3.1, the YANG
module presented in this document augments from a more generic module presented in this document augments from a more generic
Traffic Engineered (TE) network topology data model, i.e., the ietf- Traffic Engineered (TE) network topology data model, i.e., the ietf-
te-topology.yang as specified in [I-D.ietf-teas-yang-te-topo]. The te-topology.yang as specified in [I-D.ietf-teas-yang-te-topo]. In
entities and their attributes, such as node, termination points and section 6 of [I-D.ietf-teas-yang-te-topo], the guideline for
augmenting TE topology model was provided, and in this draft we
respetively augment the OTN attributes, TE bandwidth and TE label.
The entities and TE attributes, such as node, termination points and
links, are still applicable for describing an OTN topology and the links, are still applicable for describing an OTN topology and the
model presented in this document only specifies with technology- model presented in this document only specifies with technology-
specific attributes/information. For example, if the data plane specific attributes/information. In OTN attributes augmentation,
complies with ITU-T G.709 (2012) standards, the switching-capability mainly OTN-specific parameters are included such as Tributary Slot
and encoding attributes MUST be filled as OTN-TDM and G.709 Granularity (TSG), payload type and so on.
ODUk(Digital Path) respectively.
For different order of ODU in OTN technology, the te-bandwidth is
augmented to allow specifying the type of ODU container and the
number a link can support per priority level. For example, for a
ODU3 link, it may advertise 32*ODU0, 16*ODU1, 4*ODU2 available,
assuming only a single priority level is supported. If one of ODU2
resource is taken to establish a ODU path, then the availability of
this ODU link is updated as 24*ODU0, 12*ODU1, 3*ODU2 available. If
there are equipment hardware limitations, then a subset of potential
ODU type SHALL be advertised. For instance, an ODU3 link may only
support 4*ODU2.
The types of OTN label can be divided into the tributary ports and
the tributary slots, represented by TPN or TS list respectively. In
the TE-label augmentation, two optional label formats are available
for label representation.
Note the model in this document re-uses some attributes defined in Note the model in this document re-uses some attributes defined in
ietf-transport-types.yang, which is specified in ietf-otn-types.yang, which is specified in
[I-D.ietf-ccamp-otn-tunnel-model]. [I-D.ietf-ccamp-otn-tunnel-model].
One of the main augmentations in this model is that it allows to 3.2. YANG Tree for OTN topology
specify the type of ODU container and the number a link can support
per priority level. For example, for a ODU3 link, it may advertise
32*ODU0, 16*ODU1, 4*ODU2 available, assuming only a single priority
level is supported. If one of ODU2 resource is taken to establish a
ODU path, then the availability of this ODU link is updated as
24*ODU0, 12*ODU1, 3*ODU2 available. If there are equipment hardware
limitations, then a subset of potential ODU type SHALL be advertised.
For instance, an ODU3 link may only support 4*ODU2.
3.3. The YANG Code The following OTN specific attributes have been augmented to TE
topology models.
<CODE BEGINS> file "ietf-otn-topology@2017-10-30.yang" module: ietf-otn-topology
augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
+--rw otn-topology!
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes:
+--rw tsg? identityref
+--rw distance? uint32
augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te:
+--rw supported-payload-types* [index]
| +--rw index uint16
| +--rw payload-type? string
+--rw client-facing? boolean
module ietf-otn-topology { The technology specific TE bandwidth for OTN topology can be specified
yang-version 1.1; using the following augment statements:
namespace "urn:ietf:params:xml:ns:yang:ietf-otn-topology"; augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te
prefix "otntopo"; /tet:interface-switching-capability/tet:max-lsp-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odu-type? identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:path-constraints
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix
/tet:path-constraints/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:path-constraints/tet:te-bandwidth/tet:technology:
import ietf-network { +--:(otn)
prefix "nw"; +--ro odulist* [odu-type]
} +--ro odu-type identityref
+--ro number? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:path-constraints
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--ro odulist* [odu-type]
+--ro odu-type identityref
+--ro number? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:client-layer-adaptation
/tet:switching-capability/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:path-constraints/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:local-link-connectivity/tet:path-constraints
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
/tet:interface-switching-capability/tet:max-lsp-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odu-type? identityref
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
/tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry
/tet:interface-switching-capability/tet:max-lsp-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--ro odu-type? identityref
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:max-link-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--ro odulist* [odu-type]
+--ro odu-type identityref
+--ro number? uint16
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:max-resv-link-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--ro odulist* [odu-type]
+--ro odu-type identityref
+--ro number? uint16
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:unreserved-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--ro odulist* [odu-type]
+--ro odu-type identityref
+--ro number? uint16
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:interface-switching-capability
/tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odu-type? identityref
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:max-link-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
import ietf-network-topology { augment /nw:networks/tet:te/tet:templates/tet:link-template
prefix "nt"; /tet:te-link-attributes/tet:max-resv-link-bandwidth
} /tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:unreserved-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(otn)
+--rw odulist* [odu-type]
+--rw odu-type identityref
+--rw number? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:label-restriction:
+--rw range-type? identityref
+--rw tsg? identityref
+--rw priority? uint8
import ietf-te-topology { The technology specific TE label for this OTN topology can be specified
prefix "tet"; using the following augment statements:
}
import ietf-otn-types { augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
prefix "otn-types"; /tet:connectivity-matrices/tet:label-restriction
} /tet:label-start/tet:te-label/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:label-restriction
/tet:label-end/tet:te-label/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:underlay/tet:primary-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:underlay/tet:backup-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:optimizations/tet:algorithm
/tet:metric/tet:optimization-metric
/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:optimizations/tet:algorithm
/tet:metric/tet:optimization-metric
/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:path-properties
/tet:path-route-objects/tet:path-route-object/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix
/tet:from/tet:label-restriction:
+--rw range-type? identityref
+--rw tsg? identityref
+--rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix/tet:from
/tet:label-restriction/tet:label-start/tet:te-label/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix/tet:from
/tet:label-restriction/tet:label-end/tet:te-label/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix/tet:to
/tet:label-restriction:
+--rw range-type? identityref
+--rw tsg? identityref
+--rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix/tet:to
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix/tet:to
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix
/tet:underlay/tet:primary-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
organization augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
"IETF CCAMP Working Group"; /tet:connectivity-matrices/tet:connectivity-matrix
contact /tet:underlay/tet:backup-path/tet:path-element/tet:type
"WG Web: <http://tools.ietf.org/wg/ccamp/> /tet:label/tet:label-hop/tet:te-label/tet:technology:
WG List: <mailto:ccamp@ietf.org> +--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix
/tet:optimizations/tet:algorithm/tet:metric
/tet:optimization-metric/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix
/tet:optimizations/tet:algorithm/tet:metric
/tet:optimization-metric/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
/tet:connectivity-matrices/tet:connectivity-matrix
/tet:path-properties/tet:path-route-objects
/tet:path-route-object/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:label-restriction:
+--ro range-type? identityref
+--ro tsg? identityref
+--ro priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(otn)
+--ro (otn-label-type)?
+--:(tributary-port)
| +--ro tpn? uint16
+--:(tributary-slot)
+--ro ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(otn)
+--ro (otn-label-type)?
+--:(tributary-port)
| +--ro tpn? uint16
+--:(tributary-slot)
+--ro ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:underlay/tet:primary-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:underlay/tet:backup-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:optimizations/tet:algorithm/tet:metric
/tet:optimization-metric/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:optimizations/tet:algorithm/tet:metric
/tet:optimization-metric/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:path-properties/tet:path-route-objects
/tet:path-route-object/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restriction:
+--ro range-type? identityref
+--ro tsg? identityref
+--ro priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restriction
/tet:label-start/tet:te-label/tet:technology:
+--:(otn)
+--ro (otn-label-type)?
+--:(tributary-port)
| +--ro tpn? uint16
+--:(tributary-slot)
+--ro ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restriction
/tet:label-end/tet:te-label/tet:technology:
+--:(otn)
+--ro (otn-label-type)?
+--:(tributary-port)
| +--ro tpn? uint16
+--:(tributary-slot)
+--ro ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restriction:
+--ro range-type? identityref
+--ro tsg? identityref
+--ro priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restriction
/tet:label-start/tet:te-label/tet:technology:
Editor: Haomian Zheng +--:(otn)
<mailto:zhenghaomian@huawei.com> +--ro (otn-label-type)?
+--:(tributary-port)
| +--ro tpn? uint16
+--:(tributary-slot)
+--ro ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restriction
/tet:label-end/tet:te-label/tet:technology:
+--:(otn)
+--ro (otn-label-type)?
+--:(tributary-port)
| +--ro tpn? uint16
+--:(tributary-slot)
+--ro ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:underlay/tet:primary-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:underlay/tet:backup-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:optimizations/tet:algorithm
/tet:metric/tet:optimization-metric
/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:optimizations/tet:algorithm
/tet:metric/tet:optimization-metric
/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:path-properties
/tet:path-route-objects/tet:path-route-object/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:label-restriction:
+--rw range-type? identityref
+--rw tsg? identityref
+--rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:underlay/tet:primary-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:underlay/tet:backup-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:optimizations/tet:algorithm/tet:metric
/tet:optimization-metric/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:optimizations/tet:algorithm/tet:metric
/tet:optimization-metric/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:path-properties/tet:path-route-objects
/tet:path-route-object/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:local-link-connectivity/tet:label-restriction:
+--rw range-type? identityref
+--rw tsg? identityref
+--rw priority? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:local-link-connectivity/tet:label-restriction
/tet:label-start/tet:te-label/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:local-link-connectivity/tet:label-restriction
/tet:label-end/tet:te-label/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:local-link-connectivity/tet:underlay/tet:primary-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:local-link-connectivity/tet:underlay/tet:backup-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:local-link-connectivity/tet:optimizations/tet:algorithm
/tet:metric/tet:optimization-metric
/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:local-link-connectivity/tet:optimizations/tet:algorithm
/tet:metric/tet:optimization-metric
/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:local-link-connectivity/tet:path-properties
/tet:path-route-objects/tet:path-route-object/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--ro tpn? uint16
+--ro tsg? identityref
+--ro ts-list? string
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
/tet:underlay/tet:primary-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
/tet:underlay/tet:backup-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
/tet:label-restriction:
+--rw range-type? identityref
+--rw tsg? identityref
+--rw priority? uint8
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
/tet:label-restriction/tet:label-end/tet:te-label/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:label-restriction:
+--ro range-type? identityref
+--ro tsg? identityref
+--ro priority? uint8
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:label-restriction
/tet:label-start/tet:te-label/tet:technology:
+--:(otn)
+--ro (otn-label-type)?
+--:(tributary-port)
| +--ro tpn? uint16
+--:(tributary-slot)
+--ro ts? uint16
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:label-restriction
/tet:label-end/tet:te-label/tet:technology:
+--:(otn)
+--ro (otn-label-type)?
+--:(tributary-port)
| +--ro tpn? uint16
+--:(tributary-slot)
+--ro ts? uint16
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:underlay/tet:primary-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:underlay/tet:backup-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(otn)
+--rw tpn? uint16
+--rw tsg? identityref
+--rw ts-list? string
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:label-restriction:
Editor: Zheyu Fan +--rw range-type? identityref
<mailto:fanzheyu2@huawei.com> +--rw tsg? identityref
+--rw priority? uint8
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:label-restriction
/tet:label-start/tet:te-label/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:label-restriction/tet:label-end
/tet:te-label/tet:technology:
+--:(otn)
+--rw (otn-label-type)?
+--:(tributary-port)
| +--rw tpn? uint16
+--:(tributary-slot)
+--rw ts? uint16
Editor: Anurag Sharma 4. The YANG Code
<mailto:ansha@google.com>
Editor: Xufeng Liu <CODE BEGINS> file "ietf-otn-topology.yang"
<mailto:Xufeng_Liu@jabil.com>
Editor: Sergio Belotti module ietf-otn-topology {
<mailto:sergio.belotti@nokia.com> yang-version 1.1;
Editor: Yunbin Xu namespace "urn:ietf:params:xml:ns:yang:ietf-otn-topology";
<mailto:xuyunbin@ritt.cn> prefix "otntopo";
Editor: Lei Wang import ietf-network {
<mailto:wangleiyj@chinamobile.com> prefix "nw";
}
Editor: Oscar Gonzalez de Dios import ietf-network-topology {
<mailto:oscar.gonzalezdedios@telefonica.com>"; prefix "nt";
}
description import ietf-te-topology {
"This module defines a protocol independent Layer 1/ODU topology prefix "tet";
data model."; }
import ietf-otn-types {
prefix "otn-types";
}
revision 2017-10-30 { organization
description "IETF CCAMP Working Group";
"Revision 0.5"; contact
reference "WG Web: <http://tools.ietf.org/wg/ccamp/>
"draft-ietf-ccamp-otn-topo-yang-02.txt"; WG List: <mailto:ccamp@ietf.org>
}
/* Editor: Haomian Zheng
* Groupings <mailto:zhenghaomian@huawei.com>
*/
grouping otn-link-attributes {
description "link attributes for OTN";
list available-odu-info { Editor: Aihua Guo
key "priority"; <mailto:aihuaguo@huawei.com>
max-elements "8";
description "List of ODU type and number on this link";
leaf priority {
type uint8 {
range "0..7";
}
description "priority";
}
list odulist {
key "odu-type";
description
"the list of available ODUs per priority level";
leaf odu-type {
type identityref {
base otn-types:tributary-protocol-type;
}
description "the type of ODU";
}
leaf number {
type uint16;
description "the number of odu type supported";
}
leaf tpn-range {
type string {
pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?"
+ "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)";
}
description
"A list of available tributary port number range
between 1 and 9999.
For example 1-20,25,50-1000";
reference "RFC 7139: GMPLS Signaling Extensions for Control
of Evolving G.709 Optical Transport Networks";
}
}
leaf ts-range {
type string {
pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?"
+ "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)";
}
description
"A list of available tributary slot range
between 1 and 9999.
For example 1-20,25,50-1000";
reference "RFC 7139: GMPLS Signaling Extensions for Control
of Evolving G.709 Optical Transport Networks";
}
}
leaf tsg {
type identityref {
base otn-types:tributary-slot-granularity;
} Editor: Italo Busi
description "Tributary slot granularity."; <mailto:italo.busi@huawei.com>
reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
}
leaf distance {
type uint32;
description "distance in the unit of kilometers";
}
}
grouping otn-tp-attributes { Editor: Anurag Sharma
description "tp attributes for OTN"; <mailto:ansha@google.com>
list supported-payload-types {
key "index";
description
"Supported payload types of a TP. The payload type is defined
as the generalized PIDs in GMPLS.";
leaf index {
type uint16;
description "payload type index";
}
leaf payload-type {
type string;
description "the payload type supported by this client tp";
reference
"http://www.iana.org/assignments/gmpls-sig-parameters
/gmpls-sig-parameters.xhtml";
}
}
}
/* Editor: Xufeng Liu
* Data nodes <mailto:Xufeng_Liu@jabil.com>
*/
augment "/nw:networks/nw:network/nw:network-types/"
+ "tet:te-topology" {
container otn-topology {
presence "indicates a topology type of Optical Transport
Network (OTN)-electrical layer.";
description "otn topology type";
}
description "augment network types to include otn newtork";
}
augment "/nw:networks/nw:network/nt:link/tet:te/" Editor: Sergio Belotti
+ "tet:te-link-attributes" { <mailto:sergio.belotti@nokia.com>
when "../../../nw:network-types/tet:te-topology/" Editor: Yunbin Xu
+ "otntopo:otn-topology" { <mailto:xuyunbin@ritt.cn>
description "Augment only for otn network.";
}
description "Augment link configuration";
uses otn-link-attributes;
}
augment "/nw:networks/nw:network/nw:node/nt:termination-point/" Editor: Lei Wang
+ "tet:te" { <mailto:wangleiyj@chinamobile.com>
when "../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment only for otn network";
}
description "OTN TP attributes config in ODU topology.";
uses otn-tp-attributes;
}
}
<CODE ENDS> Editor: Oscar Gonzalez de Dios
<mailto:oscar.gonzalezdedios@telefonica.com>";
4. IANA Considerations description
"This module defines a protocol independent Layer 1/ODU topology
data model.";
revision 2018-06-07 {
description
"Revision 0.6";
reference
"draft-ietf-ccamp-otn-topo-yang-03";
}
/*
* Groupings
*/
grouping otn-link-attributes {
description "link attributes for OTN";
leaf tsg {
type identityref {
base otn-types:tributary-slot-granularity;
}
description "Tributary slot granularity.";
reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
}
leaf distance {
type uint32;
description "distance in the unit of kilometers";
}
}
grouping otn-tp-attributes {
description "tp attributes for OTN";
list supported-payload-types {
key "index";
description
"Supported payload types of a TP. The payload type is defined
as the generalized PIDs in GMPLS.";
leaf index {
type uint16;
description "payload type index";
}
leaf payload-type {
type string;
description "the payload type supported by this client tp";
reference
"http://www.iana.org/assignments/gmpls-sig-parameters
/gmpls-sig-parameters.xhtml";
}
}
leaf client-facing {
type boolean;
default 'false';
description
"Indicating if it is a client-facing TP.";
}
}
/*
* Data nodes
*/
augment "/nw:networks/nw:network/nw:network-types/"
+ "tet:te-topology" {
container otn-topology {
presence "indicates a topology type of Optical Transport
Network (OTN)-electrical layer.";
description "otn topology type";
}
description "augment network types to include otn newtork";
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes" {
when "../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment only for otn network.";
}
description "Augment link configuration";
uses otn-link-attributes;
}
augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
+ "tet:te" {
when "../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment only for otn network";
}
description "OTN TP attributes config in ODU topology.";
uses otn-tp-attributes;
}
/*
* Augment TE bandwidth
*/
/* Augment maximum LSP bandwidth of link terminationpoint (LTP) */
augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
+ "tet:te/"
+ "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE bandwidth";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-path-bandwidth;
}
}
/* Augment bandwidth path constraints of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE bandwidth";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment bandwidth path constraints of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE bandwidth";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment bandwidth path constraints of
connectivity-matrices information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE bandwidth";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment bandwidth path constraints of
connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE bandwidth";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment client bandwidth of tunnel termination point (TTP) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:client-layer-adaptation/tet:switching-capability/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE bandwidth";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment bandwidth path constraints of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/tet:path-constraints/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE bandwidth";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment bandwidth path constraints of
local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/tet:path-constraints/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE bandwidth";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment maximum LSP bandwidth of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-path-bandwidth;
}
}
/* Augment maximum bandwidth of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment maximum reservable bandwidth of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment unreserved bandwidth of TE Link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment maximum LSP bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:interface-switching-capability/"
+ "tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-path-bandwidth;
}
}
/* Augment maximum bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment maximum reservable bandwidth
of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment unreserved bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment maximum LSP bandwidth of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:interface-switching-capability/"
+ "tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
*/
description "OTN bandwidth.";
case otn {
uses otn-types:otn-path-bandwidth;
}
}
/* Augment maximum bandwidth of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
*/
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment maximum reservable bandwidth of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
*/
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/* Augment unreserved bandwidth of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "OTN TE bandwidth.";
}
*/
description "OTN bandwidth.";
case otn {
uses otn-types:otn-link-bandwidth;
}
}
/*
* Augment TE label.
*/
/* Augment label restrictions of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:label-restriction" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
uses otn-types:otn-label-restriction;
}
/* Augment label restrictions start of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:label-restriction/tet:label-start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label restrictions end of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:label-restriction/tet:label-end/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label hop of underlay primary path
of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:underlay/tet:primary-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of underlay backup path of
connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:underlay/tet:backup-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-exclude of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-include of
connectivity-matrices (added) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of path-route of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology"{
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment ingress label restrictions of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restriction" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
uses otn-types:otn-label-restriction;
}
/* Augment ingress label restrictions start of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restriction/tet:label-start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment ingress label restrictions end of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restriction/tet:label-end/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment egress label restrictions of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:to/"
+ "tet:label-restriction" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
uses otn-types:otn-label-restriction;
}
/* Augment egress label restrictions start of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:to/"
+ "tet:label-restriction/tet:label-start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment egress label restrictions end of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:to/"
+ "tet:label-restriction/tet:label-end/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label hop of underlay primary path of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:primary-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of underlay backup path of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:backup-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-exclude of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:optimizations/"
+ "tet:algorithm/tet:metric/tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-include of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:optimizations/"
+ "tet:algorithm/tet:metric/tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of path-route of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label restrictions of
connectivity-matrices information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/"
+ "tet:connectivity-matrices/tet:label-restriction" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
uses otn-types:otn-label-restriction;
}
/* Augment label restrictions start of
connectivity-matrices information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/"
+ "tet:connectivity-matrices/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label restrictions end of
connectivity-matrices information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/"
+ "tet:connectivity-matrices/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label hop of underlay primary path of
connectivity-matrices information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of underlay backup path of
connectivity-matrices information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-exclude of
connectivity-matrices information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-include
of connectivity-matrices information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of path-route of
connectivity-matrices information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment ingress label restrictions
of connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:from/tet:label-restriction" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
uses otn-types:otn-label-restriction;
}
/* Augment ingress label restrictions start
of connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:from/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment ingress label restrictions end
of connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:from/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment egress label restrictions of
connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:to/tet:label-restriction" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
uses otn-types:otn-label-restriction;
}
/* Augment egress label restrictions start
of connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:to/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment egress label restrictions end
of connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:to/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label hop of underlay primary path
of connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of underlay backup path
of connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-exclude
of connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-include
of connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of path-route of
connectivity-matrix information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label restrictions
of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:label-restriction" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
uses otn-types:otn-label-restriction;
}
/* Augment label restrictions start of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:label-restriction/tet:label-start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label restrictions end of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:label-restriction/tet:label-end/"
+ "tet:te-label/tet:technology"{
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label hop of underlay primary path
of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of underlay backup path
of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-exclude of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-include of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of path-route of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label restrictions of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:label-restriction" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
uses otn-types:otn-label-restriction;
}
/* Augment label restrictions start of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label restrictions end of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label hop of underlay primary path
of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of underlay backup path
of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-exclude
of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of route-include
of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of path-route of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of underlay primary path of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of underlay backup path of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label restrictions of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restriction" {
when "../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
uses otn-types:otn-label-restriction;
}
/* Augment label restrictions start of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label restrictions end of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label restrictions of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:label-restriction" {
when "../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
uses otn-types:otn-label-restriction;
}
/* Augment label restrictions start of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label restrictions end of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label hop of underlay primary path of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
/*
when "../../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
*/
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label hop of underlay backup path of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
/*
when "../../../../../../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
*/
description "OTN label.";
case otn {
uses otn-types:otn-path-label;
}
}
/* Augment label restrictions of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:label-restriction" {
/*
when "../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
*/
description "OTN label.";
uses otn-types:otn-label-restriction;
}
/* Augment label restrictions start of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
/*
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
*/
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
/* Augment label restrictions end of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
/*
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "otntopo:otn-topology" {
description "Augment OTN TE label";
}
*/
description "OTN label.";
case otn {
uses otn-types:otn-link-label;
}
}
}
<CODE ENDS>
5. IANA Considerations
TBD. TBD.
5. Manageability Considerations 6. Manageability Considerations
TBD. TBD.
6. Security Considerations 7. Security Considerations
The data following the model defined in this document is exchanged The data following the model defined in this document is exchanged
via, for example, the interface between an orchestrator and a via, for example, the interface between an orchestrator and a
transport network controller. The security concerns mentioned in transport network controller. The security concerns mentioned in
[I-D.ietf-teas-yang-te-topo] for using ietf-te-topology.yang model [I-D.ietf-teas-yang-te-topo] for using ietf-te-topology.yang model
also applies to this document. also applies to this document.
The YANG module defined in this document can be accessed via the The YANG module defined in this document can be accessed via the
RESTCONF protocol defined in [RFC8040], or maybe via the NETCONF RESTCONF protocol defined in [RFC8040], or maybe via the NETCONF
protocol [RFC6241]. protocol [RFC6241].
skipping to change at page 10, line 8 skipping to change at page 55, line 5
There are a number of data nodes defined in the YANG module which are There are a number of data nodes defined in the YANG module which are
writable/creatable/deletable (i.e., config true, which is the writable/creatable/deletable (i.e., config true, which is the
default). These data nodes may be considered sensitive or vulnerable default). These data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., POST) to these in some network environments. Write operations (e.g., POST) to these
data nodes without proper protection can have a negative effect on data nodes without proper protection can have a negative effect on
network operations. network operations.
Editors note: to list specific subtrees and data nodes and their Editors note: to list specific subtrees and data nodes and their
sensitivity/vulnerability. sensitivity/vulnerability.
7. Acknowledgements 8. Acknowledgements
We would like to thank Igor Bryskin, Zhe Liu, and Daniele Ceccarelli We would like to thank Igor Bryskin, Zhe Liu, and Daniele Ceccarelli
for their comments and discussions. for their comments and discussions.
8. Contributors 9. Contributors
Baoquan Rao Baoquan Rao
Huawei Technologies Huawei Technologies
Email: raobaoquan@huawei.com Email: raobaoquan@huawei.com
Xian Zhang Xian Zhang
Huawei Technologies Huawei Technologies
Email: zhang.xian@huawei.com Email: zhang.xian@huawei.com
Huub van Helvoort Huub van Helvoort
skipping to change at page 10, line 44 skipping to change at page 55, line 41
Email: liyunbo@chinamobile.com Email: liyunbo@chinamobile.com
Dieter Beller Dieter Beller
Nokia Nokia
Email: dieter.beller@nokia.com Email: dieter.beller@nokia.com
Yanlei Zheng Yanlei Zheng
China Unicom China Unicom
Email: zhengyl@dimpt.com Email: zhengyl@dimpt.com
9. References 10. References
9.1. Normative References 10.1. Normative References
[I-D.ietf-ccamp-otn-tunnel-model] [I-D.ietf-ccamp-otn-tunnel-model]
zhenghaomian@huawei.com, z., Fan, Z., Sharma, A., Rao, R., Zheng, H., Fan, Z., Sharma, A., Rao, R.,
Belotti, S., Lopezalvarez, V., and Y. Li, "OTN Tunnel YANG Belotti, S., Lopezalvarez, V., Li, Y., and Y. Xu, "OTN
Model", draft-ietf-ccamp-otn-tunnel-model-00 (work in Tunnel YANG Model", draft-ietf-ccamp-otn-tunnel-model-01
progress), July 2017. (work in progress), October 2017.
[I-D.ietf-teas-yang-te-topo] [I-D.ietf-teas-yang-te-topo]
Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
O. Dios, "YANG Data Model for Traffic Engineering (TE) O. Dios, "YANG Data Model for Traffic Engineering (TE)
Topologies", draft-ietf-teas-yang-te-topo-13 (work in Topologies", draft-ietf-teas-yang-te-topo-16 (work in
progress), October 2017. progress), June 2018.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC7138] Ceccarelli, D., Ed., Zhang, F., Belotti, S., Rao, R., and [RFC7138] Ceccarelli, D., Ed., Zhang, F., Belotti, S., Rao, R., and
J. Drake, "Traffic Engineering Extensions to OSPF for J. Drake, "Traffic Engineering Extensions to OSPF for
GMPLS Control of Evolving G.709 Optical Transport GMPLS Control of Evolving G.709 Optical Transport
Networks", RFC 7138, DOI 10.17487/RFC7138, March 2014, Networks", RFC 7138, DOI 10.17487/RFC7138, March 2014,
<https://www.rfc-editor.org/info/rfc7138>. <https://www.rfc-editor.org/info/rfc7138>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016, RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>. <https://www.rfc-editor.org/info/rfc7950>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>. <https://www.rfc-editor.org/info/rfc8040>.
9.2. Informative References 10.2. Informative References
[I-D.ietf-ccamp-flexigrid-yang]
Madrid, U., Perdices, D., Lopezalvarez, V., Dios, O.,
King, D., Lee, Y., and G. Galimberti, "YANG data model for
Flexi-Grid Optical Networks", draft-ietf-ccamp-flexigrid-
yang-00 (work in progress), February 2018.
[I-D.ietf-ccamp-wson-yang] [I-D.ietf-ccamp-wson-yang]
Lee, Y., Dhody, D., Zhang, X., Guo, A., Lopezalvarez, V., Lee, Y., Dhody, D., Zhang, X., Guo, A., Lopezalvarez, V.,
King, D., Yoon, B., and R. Vilata, "A Yang Data Model for King, D., Yoon, B., and R. Vilata, "A Yang Data Model for
WSON Optical Networks", draft-ietf-ccamp-wson-yang-08 WSON Optical Networks", draft-ietf-ccamp-wson-yang-10
(work in progress), October 2017. (work in progress), February 2018.
[I-D.ietf-netmod-yang-tree-diagrams] [I-D.ietf-netmod-yang-tree-diagrams]
Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft-
ietf-netmod-yang-tree-diagrams-02 (work in progress), ietf-netmod-yang-tree-diagrams-06 (work in progress),
October 2017. February 2018.
[I-D.vergara-ccamp-flexigrid-yang]
Madrid, U., Perdices, D., Lopezalvarez, V., Dios, O.,
King, D., Lee, Y., and G. Galimberti, "YANG data model for
Flexi-Grid Optical Networks", draft-vergara-ccamp-
flexigrid-yang-05 (work in progress), July 2017.
[I-D.zhang-teas-actn-yang] [I-D.ietf-teas-actn-yang]
Lee, Y., zhenghaomian@huawei.com, z., Yoon, B., Dios, O., Lee, Y., Zheng, H., Ceccarelli, D.,
Shin, J., and S. Belotti, "Applicability of YANG models Yoon, B., and S. Belotti, "Applicability of YANG models
for Abstraction and Control of Traffic Engineered for Abstraction and Control of Traffic Engineered
Networks", draft-zhang-teas-actn-yang-05 (work in Networks", draft-ietf-teas-actn-yang-01 (work in
progress), June 2017. progress), February 2018.
[RFC7062] Zhang, F., Ed., Li, D., Li, H., Belotti, S., and D. [RFC7062] Zhang, F., Ed., Li, D., Li, H., Belotti, S., and D.
Ceccarelli, "Framework for GMPLS and PCE Control of G.709 Ceccarelli, "Framework for GMPLS and PCE Control of G.709
Optical Transport Networks", RFC 7062, Optical Transport Networks", RFC 7062,
DOI 10.17487/RFC7062, November 2013, DOI 10.17487/RFC7062, November 2013,
<https://www.rfc-editor.org/info/rfc7062>. <https://www.rfc-editor.org/info/rfc7062>.
Authors' Addresses Authors' Addresses
Haomian Zheng Haomian Zheng
Huawei Technologies Huawei Technologies
F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District
Shenzhen, Guangdong 518129 Shenzhen, Guangdong 518129
P.R.China P.R.China
Email: zhenghaomian@huawei.com Email: zhenghaomian@huawei.com
Zheyu Fan Aihua Guo
Huawei Technologies Huawei Technologies
F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District 12007 Sunrise Valley Drive, Suite 325
Shenzhen, Guangdong 518129 Reston, VA 20171
P.R.China U.S.A
Email: fanzheyu2@huawei.com Email: aihuaguo@huawei.com
Italo Busi
Huawei Technologies
HUAWEI TECHNOLOGIES ITALIA Srl Centro Direzionale Milano 2
Milan, Milan 20090
Italy
Email: Italo.Busi@huawei.com
Anurag Sharma Anurag Sharma
Google Google
1600 Amphitheatre Parkway 1600 Amphitheatre Parkway
Mountain View, CA 94043 Mountain View, CA 94043
Email: ansha@google.com Email: ansha@google.com
Xufeng Liu Xufeng Liu
Jabil Jabil
Email: Xufeng_Liu@jabil.com Email: Xufeng_Liu@jabil.com
Sergio Belotti Sergio Belotti
Nokia Nokia
Email: sergio.belotti@nokia.com Email: sergio.belotti@nokia.com
Yunbin Xu Yunbin Xu
CAICT CAICT
Email: xuyunbin@ritt.cn Email: xuyunbin@ritt.cn
 End of changes. 60 change blocks. 
264 lines changed or deleted 2432 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/