CCAMP Working Group H. Zheng Internet-Draft A. Guo Intended status: Standards Track I. Busi Expires: December 17, 2018 Huawei Technologies A. Sharma Google X. Liu Jabil S. Belotti Nokia Y. Xu CAICT L. Wang China Mobile O. Gonzalez de Dios Telefonica June 15, 2018 A YANG Data Model for Optical Transport Network Topology draft-ietf-ccamp-otn-topo-yang-03 Abstract A transport network is a server-layer network designed to provide connectivity services for a client-layer network to carry the client traffic transparently across the server-layer network resources. A transport network can be constructed from equipments utilizing any of a number of different transport technologies such as the evolving Optical Transport Networks (OTN) or packet transport as provided by the MPLS-Transport Profile (MPLS-TP). This document describes a YANG data model to describe the topologies of an Optical Transport Network (OTN). It is independent of control plane protocols and captures topological and resource related information pertaining to OTN. This model enables clients, which interact with a transport domain controller via a REST interface, for OTN topology related operations such as obtaining the relevant topology resource information. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute Zheng, et al. Expires December 17, 2018 [Page 1] Internet-Draft OTN Topology YANG Model June 2018 working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on December 17, 2018. Copyright Notice Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology and Notations . . . . . . . . . . . . . . . . . . 3 3. YANG Data Model for OTN Topology . . . . . . . . . . . . . . 4 3.1. OTN Topology Data Model Overview . . . . . . . . . . . . 4 3.2. YANG Tree for OTN topology . . . . . . . . . . . . . . . 5 4. The YANG Code . . . . . . . . . . . . . . . . . . . . . . . . 20 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54 6. Manageability Considerations . . . . . . . . . . . . . . . . 54 7. Security Considerations . . . . . . . . . . . . . . . . . . . 54 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 55 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 55 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 55 10.1. Normative References . . . . . . . . . . . . . . . . . . 55 10.2. Informative References . . . . . . . . . . . . . . . . . 56 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57 1. Introduction A transport network is a server-layer network designed to provide connectivity services for a client-layer network to carry the client traffic transparently across the server-layer network resources. A Zheng, et al. Expires December 17, 2018 [Page 2] Internet-Draft OTN Topology YANG Model June 2018 transport network can be constructed of equipments utilizing any of a number of different transport technologies such as the Optical Transport Networks (OTN) or packet transport as provided by the MPLS- Transport Profile (MPLS-TP). This document defines a data model of an OTN network topology, using YANG [RFC7950]. The model can be used by an application exposing to a transport controller via a REST interface. Furthermore, it can be used by an application for the following purposes (but not limited to): o To obtain a whole view of the network topology information of its interest; o To receive notifications with regard to the information change of the OTN topology; o To enforce the establishment and update of a network topology with the characteristic specified in the data model, e.g., by a client controller; The YANG model defined in this document is independent of control plane protocols and captures topology related information pertaining to an Optical Transport Networks (OTN)-electrical layer, as the scope specified by [RFC7062] and [RFC7138]. Furthermore, it is not a stand-alone model, but augmenting from the TE topology YANG model defined in [I-D.ietf-teas-yang-te-topo]. Following TE topology YANG model, the YANG model defined in this document is interface independent. The applicability of models to interfaces is described in [I-D.ietf-teas-actn-yang]. Optical network technologies, including fixed Dense Wavelength Switched Optical Network (WSON) and flexible optical networks (a.k.a., flexi-grid networks), are covered in [I-D.ietf-ccamp-wson-yang] and [I-D.ietf-ccamp-flexigrid-yang], respectively. 2. Terminology and Notations A simplified graphical representation of the data model is used in this document. The meaning of the symbols in the YANG data tree presented later in this document is defined in [I-D.ietf-netmod-yang-tree-diagrams]. They are provided below for reference. o Brackets "[" and "]" enclose list keys. Zheng, et al. Expires December 17, 2018 [Page 3] Internet-Draft OTN Topology YANG Model June 2018 o Abbreviations before data node names: "rw" means configuration (read-write) and "ro" state data (read-only). o Symbols after data node names: "?" means an optional node, "!" means a presence container, and "*" denotes a list and leaf-list. o Parentheses enclose choice and case nodes, and case nodes are also marked with a colon (":"). o Ellipsis ("...") stands for contents of subtrees that are not shown. 3. YANG Data Model for OTN Topology 3.1. OTN Topology Data Model Overview 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 Traffic Engineered (TE) network topology data model, i.e., the ietf- te-topology.yang as specified in [I-D.ietf-teas-yang-te-topo]. In 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 model presented in this document only specifies with technology- specific attributes/information. In OTN attributes augmentation, mainly OTN-specific parameters are included such as Tributary Slot Granularity (TSG), payload type and so on. 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. Zheng, et al. Expires December 17, 2018 [Page 4] Internet-Draft OTN Topology YANG Model June 2018 Note the model in this document re-uses some attributes defined in ietf-otn-types.yang, which is specified in [I-D.ietf-ccamp-otn-tunnel-model]. 3.2. YANG Tree for OTN topology The following OTN specific attributes have been augmented to TE topology models. 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 The technology specific TE bandwidth for OTN topology can be specified using the following augment statements: 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: +--:(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: Zheng, et al. Expires December 17, 2018 [Page 5] Internet-Draft OTN Topology YANG Model June 2018 +--:(otn) +--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) Zheng, et al. Expires December 17, 2018 [Page 6] Internet-Draft OTN Topology YANG Model June 2018 +--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 Zheng, et al. Expires December 17, 2018 [Page 7] Internet-Draft OTN Topology YANG Model June 2018 augment /nw:networks/tet:te/tet:templates/tet:link-template /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 The technology specific TE label for this OTN topology can be specified using the following augment statements: 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: +--:(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 Zheng, et al. Expires December 17, 2018 [Page 8] Internet-Draft OTN Topology YANG Model June 2018 +--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) Zheng, et al. Expires December 17, 2018 [Page 9] Internet-Draft OTN Topology YANG Model June 2018 +--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 Zheng, et al. Expires December 17, 2018 [Page 10] Internet-Draft OTN Topology YANG Model June 2018 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: +--:(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) Zheng, et al. Expires December 17, 2018 [Page 11] Internet-Draft OTN Topology YANG Model June 2018 +--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) Zheng, et al. Expires December 17, 2018 [Page 12] Internet-Draft OTN Topology YANG Model June 2018 +--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: Zheng, et al. Expires December 17, 2018 [Page 13] Internet-Draft OTN Topology YANG Model June 2018 +--:(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 /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 Zheng, et al. Expires December 17, 2018 [Page 14] Internet-Draft OTN Topology YANG Model June 2018 /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) Zheng, et al. Expires December 17, 2018 [Page 15] Internet-Draft OTN Topology YANG Model June 2018 +--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 Zheng, et al. Expires December 17, 2018 [Page 16] Internet-Draft OTN Topology YANG Model June 2018 /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 Zheng, et al. Expires December 17, 2018 [Page 17] Internet-Draft OTN Topology YANG Model June 2018 /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 Zheng, et al. Expires December 17, 2018 [Page 18] Internet-Draft OTN Topology YANG Model June 2018 /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: Zheng, et al. Expires December 17, 2018 [Page 19] Internet-Draft OTN Topology YANG Model June 2018 +--rw range-type? identityref +--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 4. The YANG Code file "ietf-otn-topology.yang" module ietf-otn-topology { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-otn-topology"; prefix "otntopo"; import ietf-network { prefix "nw"; } import ietf-network-topology { prefix "nt"; } import ietf-te-topology { prefix "tet"; } Zheng, et al. Expires December 17, 2018 [Page 20] Internet-Draft OTN Topology YANG Model June 2018 import ietf-otn-types { prefix "otn-types"; } organization "IETF CCAMP Working Group"; contact "WG Web: WG List: Editor: Haomian Zheng Editor: Aihua Guo Editor: Italo Busi Editor: Anurag Sharma Editor: Xufeng Liu Editor: Sergio Belotti Editor: Yunbin Xu Editor: Lei Wang Editor: Oscar Gonzalez de Dios "; 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"; } Zheng, et al. Expires December 17, 2018 [Page 21] Internet-Draft OTN Topology YANG Model June 2018 /* * 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."; } } Zheng, et al. Expires December 17, 2018 [Page 22] Internet-Draft OTN Topology YANG Model June 2018 /* * 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."; Zheng, et al. Expires December 17, 2018 [Page 23] Internet-Draft OTN Topology YANG Model June 2018 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; } } Zheng, et al. Expires December 17, 2018 [Page 24] Internet-Draft OTN Topology YANG Model June 2018 /* 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) */ Zheng, et al. Expires December 17, 2018 [Page 25] Internet-Draft OTN Topology YANG Model June 2018 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/" Zheng, et al. Expires December 17, 2018 [Page 26] Internet-Draft OTN Topology YANG Model June 2018 + "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" { Zheng, et al. Expires December 17, 2018 [Page 27] Internet-Draft OTN Topology YANG Model June 2018 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" { /* Zheng, et al. Expires December 17, 2018 [Page 28] Internet-Draft OTN Topology YANG Model June 2018 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/" Zheng, et al. Expires December 17, 2018 [Page 29] Internet-Draft OTN Topology YANG Model June 2018 + "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/" Zheng, et al. Expires December 17, 2018 [Page 30] Internet-Draft OTN Topology YANG Model June 2018 + "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 */ Zheng, et al. Expires December 17, 2018 [Page 31] Internet-Draft OTN Topology YANG Model June 2018 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/" Zheng, et al. Expires December 17, 2018 [Page 32] Internet-Draft OTN Topology YANG Model June 2018 + "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" { Zheng, et al. Expires December 17, 2018 [Page 33] Internet-Draft OTN Topology YANG Model June 2018 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"; Zheng, et al. Expires December 17, 2018 [Page 34] Internet-Draft OTN Topology YANG Model June 2018 } 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/" Zheng, et al. Expires December 17, 2018 [Page 35] Internet-Draft OTN Topology YANG Model June 2018 + "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; Zheng, et al. Expires December 17, 2018 [Page 36] Internet-Draft OTN Topology YANG Model June 2018 } } /* 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; } Zheng, et al. Expires December 17, 2018 [Page 37] Internet-Draft OTN Topology YANG Model June 2018 } /* 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" { Zheng, et al. Expires December 17, 2018 [Page 38] Internet-Draft OTN Topology YANG Model June 2018 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 */ Zheng, et al. Expires December 17, 2018 [Page 39] Internet-Draft OTN Topology YANG Model June 2018 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; } } Zheng, et al. Expires December 17, 2018 [Page 40] Internet-Draft OTN Topology YANG Model June 2018 /* 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; } Zheng, et al. Expires December 17, 2018 [Page 41] Internet-Draft OTN Topology YANG Model June 2018 } /* 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" { Zheng, et al. Expires December 17, 2018 [Page 42] Internet-Draft OTN Topology YANG Model June 2018 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; Zheng, et al. Expires December 17, 2018 [Page 43] Internet-Draft OTN Topology YANG Model June 2018 } } /* 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; } } Zheng, et al. Expires December 17, 2018 [Page 44] Internet-Draft OTN Topology YANG Model June 2018 /* 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" { Zheng, et al. Expires December 17, 2018 [Page 45] Internet-Draft OTN Topology YANG Model June 2018 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/" Zheng, et al. Expires December 17, 2018 [Page 46] Internet-Draft OTN Topology YANG Model June 2018 + "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; } } Zheng, et al. Expires December 17, 2018 [Page 47] Internet-Draft OTN Topology YANG Model June 2018 /* 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/" Zheng, et al. Expires December 17, 2018 [Page 48] Internet-Draft OTN Topology YANG Model June 2018 + "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."; Zheng, et al. Expires December 17, 2018 [Page 49] Internet-Draft OTN Topology YANG Model June 2018 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; } Zheng, et al. Expires December 17, 2018 [Page 50] Internet-Draft OTN Topology YANG Model June 2018 /* 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/" Zheng, et al. Expires December 17, 2018 [Page 51] Internet-Draft OTN Topology YANG Model June 2018 + "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" { /* Zheng, et al. Expires December 17, 2018 [Page 52] Internet-Draft OTN Topology YANG Model June 2018 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" { /* Zheng, et al. Expires December 17, 2018 [Page 53] Internet-Draft OTN Topology YANG Model June 2018 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; } } } 5. IANA Considerations TBD. 6. Manageability Considerations TBD. 7. Security Considerations The data following the model defined in this document is exchanged via, for example, the interface between an orchestrator and a transport network controller. The security concerns mentioned in [I-D.ietf-teas-yang-te-topo] for using ietf-te-topology.yang model also applies to this document. The YANG module defined in this document can be accessed via the RESTCONF protocol defined in [RFC8040], or maybe via the NETCONF protocol [RFC6241]. There are a number of data nodes defined in the YANG module which are writable/creatable/deletable (i.e., config true, which is the default). These data nodes may be considered sensitive or vulnerable in some network environments. Write operations (e.g., POST) to these data nodes without proper protection can have a negative effect on network operations. Editors note: to list specific subtrees and data nodes and their sensitivity/vulnerability. Zheng, et al. Expires December 17, 2018 [Page 54] Internet-Draft OTN Topology YANG Model June 2018 8. Acknowledgements We would like to thank Igor Bryskin, Zhe Liu, and Daniele Ceccarelli for their comments and discussions. 9. Contributors Baoquan Rao Huawei Technologies Email: raobaoquan@huawei.com Xian Zhang Huawei Technologies Email: zhang.xian@huawei.com Huub van Helvoort Hai Gaoming BV the Netherlands Email: huubatwork@gmail.com Victor Lopez Telefonica Email: victor.lopezalvarez@telefonica.com Yunbo Li China Mobile Email: liyunbo@chinamobile.com Dieter Beller Nokia Email: dieter.beller@nokia.com Yanlei Zheng China Unicom Email: zhengyl@dimpt.com 10. References 10.1. Normative References [I-D.ietf-ccamp-otn-tunnel-model] Zheng, H., Fan, Z., Sharma, A., Rao, R., Belotti, S., Lopezalvarez, V., Li, Y., and Y. Xu, "OTN Tunnel YANG Model", draft-ietf-ccamp-otn-tunnel-model-01 (work in progress), October 2017. Zheng, et al. Expires December 17, 2018 [Page 55] Internet-Draft OTN Topology YANG Model June 2018 [I-D.ietf-teas-yang-te-topo] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and O. Dios, "YANG Data Model for Traffic Engineering (TE) Topologies", draft-ietf-teas-yang-te-topo-16 (work in progress), June 2018. [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, . [RFC7138] Ceccarelli, D., Ed., Zhang, F., Belotti, S., Rao, R., and J. Drake, "Traffic Engineering Extensions to OSPF for GMPLS Control of Evolving G.709 Optical Transport Networks", RFC 7138, DOI 10.17487/RFC7138, March 2014, . [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, . [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, . 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] Lee, Y., Dhody, D., Zhang, X., Guo, A., Lopezalvarez, V., King, D., Yoon, B., and R. Vilata, "A Yang Data Model for WSON Optical Networks", draft-ietf-ccamp-wson-yang-10 (work in progress), February 2018. [I-D.ietf-netmod-yang-tree-diagrams] Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- ietf-netmod-yang-tree-diagrams-06 (work in progress), February 2018. Zheng, et al. Expires December 17, 2018 [Page 56] Internet-Draft OTN Topology YANG Model June 2018 [I-D.ietf-teas-actn-yang] Lee, Y., Zheng, H., Ceccarelli, D., Yoon, B., and S. Belotti, "Applicability of YANG models for Abstraction and Control of Traffic Engineered Networks", draft-ietf-teas-actn-yang-01 (work in progress), February 2018. [RFC7062] Zhang, F., Ed., Li, D., Li, H., Belotti, S., and D. Ceccarelli, "Framework for GMPLS and PCE Control of G.709 Optical Transport Networks", RFC 7062, DOI 10.17487/RFC7062, November 2013, . Authors' Addresses Haomian Zheng Huawei Technologies F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District Shenzhen, Guangdong 518129 P.R.China Email: zhenghaomian@huawei.com Aihua Guo Huawei Technologies 12007 Sunrise Valley Drive, Suite 325 Reston, VA 20171 U.S.A 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 Google 1600 Amphitheatre Parkway Mountain View, CA 94043 Email: ansha@google.com Zheng, et al. Expires December 17, 2018 [Page 57] Internet-Draft OTN Topology YANG Model June 2018 Xufeng Liu Jabil Email: Xufeng_Liu@jabil.com Sergio Belotti Nokia Email: sergio.belotti@nokia.com Yunbin Xu CAICT Email: xuyunbin@ritt.cn Lei Wang China Mobile Email: wangleiyj@chinamobile.com Oscar Gonzalez de Dios Telefonica Email: oscar.gonzalezdedios@telefonica.com Zheng, et al. Expires December 17, 2018 [Page 58]