--- 1/draft-ietf-ccamp-otn-topo-yang-03.txt 2018-07-31 03:13:10.040713044 -0700 +++ 2/draft-ietf-ccamp-otn-topo-yang-04.txt 2018-07-31 03:13:10.152715751 -0700 @@ -1,31 +1,31 @@ CCAMP Working Group H. Zheng Internet-Draft A. Guo Intended status: Standards Track I. Busi -Expires: December 17, 2018 Huawei Technologies +Expires: February 1, 2019 Huawei Technologies A. Sharma Google X. Liu - Jabil + Volta Networks S. Belotti Nokia Y. Xu CAICT L. Wang China Mobile O. Gonzalez de Dios Telefonica - June 15, 2018 + July 31, 2018 A YANG Data Model for Optical Transport Network Topology - draft-ietf-ccamp-otn-topo-yang-03 + draft-ietf-ccamp-otn-topo-yang-04 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). @@ -46,21 +46,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute 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. + This Internet-Draft will expire on February 1, 2019. 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 @@ -70,30 +70,29 @@ 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 + 4. The YANG Code . . . . . . . . . . . . . . . . . . . . . . . . 21 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 + 6. Security Considerations . . . . . . . . . . . . . . . . . . . 54 + 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 55 + 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 55 + 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 56 + 9.1. Normative References . . . . . . . . . . . . . . . . . . 56 + 9.2. Informative References . . . . . . . . . . . . . . . . . 57 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 58 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 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). @@ -145,31 +144,41 @@ 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. + o Some of the key terms used in this document are listed as follow. + + o TS: Tributary Slot. + + o TSG: Tributary Slot Granularity. + + o TPN: Tributary Port Number. + 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. + This document aims to describe the data model for OTN topology. As a + classic Traffic-engineering (TE) technology, OTN provide TDM + switching in transport network. Therefore 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 @@ -184,20 +193,24 @@ 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 ietf-otn-types.yang, which is specified in [I-D.ietf-ccamp-otn-tunnel-model]. + The YANG module ietf-otn-topology defined in this document conforms + to the Network Management Datastore Architecture (NMDA) defined in + [RFC8342]. + 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 @@ -298,22 +311,22 @@ +--:(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: + /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 @@ -338,42 +351,42 @@ +--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 +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-restrictions/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: + /tet:connectivity-matrices/tet:label-restrictions + /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: + /tet:connectivity-matrices/tet:label-restrictions + /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: @@ -411,63 +424,65 @@ +--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: + /tet:connectivity-matrices/tet:connectivity-matrix/tet:from + /tet:label-restrictions/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: + /tet:label-restrictions/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: + /tet:label-restrictions/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: + /tet:label-restrictions/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: + /tet:label-restrictions/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: + /tet:label-restrictions/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: @@ -506,50 +520,51 @@ +--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: + /tet:label-restrictions/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: + /tet:label-restrictions/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: + /tet:label-restrictions/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: + /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 @@ -579,65 +595,70 @@ /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: + /tet:connectivity-matrix/tet:from/tet:label-restrictions + /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: + /tet:connectivity-matrix/tet:from/tet:label-restrictions + /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: + /tet:connectivity-matrix/tet:from/tet:label-restrictions + /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: + /tet:connectivity-matrix/tet:to/tet:label-restrictions + /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: - + /tet:connectivity-matrix/tet:to/tet:label-restrictions + /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:to/tet:label-restriction - /tet:label-end/tet:te-label/tet:technology: + /tet:connectivity-matrix/tet:to/tet:label-restrictions + /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 @@ -681,38 +702,38 @@ /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: + /tet:label-restrictions/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: + /tet:label-restrictions/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: + /tet:label-restrictions/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: @@ -752,38 +774,41 @@ /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: + /tet:local-link-connectivity/tet:label-restrictions + /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: + /tet:local-link-connectivity/tet:label-restrictions + /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: + /tet:local-link-connectivity/tet:label-restrictions + /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 @@ -840,58 +865,63 @@ +--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: + /tet:label-restrictions/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: + /tet:label-restrictions/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: + /tet:label-restrictions/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: + /tet:information-source-entry/tet:label-restrictions + /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: + /tet:information-source-entry/tet:label-restrictions + /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: + /tet:information-source-entry/tet:label-restrictions + /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: @@ -901,37 +931,39 @@ +--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: - + /tet:te-link-attributes/tet:label-restrictions + /tet:label-restriction: +--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: + /tet:te-link-attributes/tet:label-restrictions + /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: + /tet:te-link-attributes/tet:label-restrictions + /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" @@ -969,43 +1002,43 @@ 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 { + revision 2018-07-31 { description - "Revision 0.6"; + "Revision 0.7"; reference - "draft-ietf-ccamp-otn-topo-yang-03"; + "draft-ietf-ccamp-otn-topo-yang-04"; } /* * Groupings */ grouping otn-link-attributes { description "link attributes for OTN"; leaf tsg { @@ -1125,36 +1158,35 @@ 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 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 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 { @@ -1185,22 +1217,21 @@ 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 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."; @@ -1294,22 +1323,21 @@ 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 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 { @@ -1401,78 +1428,77 @@ } } /* * 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" { + + "tet:label-restrictions/tet:label-restriction" { when "../../../../../nw:network-types/tet:te-topology/" + "otntopo:otn-topology" { description "Augment OTN TE label"; } + description "OTN label restriction."; 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:label-restrictions/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:label-restrictions/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 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 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"; } @@ -1495,22 +1521,21 @@ + "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 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/" @@ -1537,38 +1562,39 @@ 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" { + + "tet:label-restrictions/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:label-restrictions/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/" @@ -1567,26 +1593,25 @@ 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:label-restrictions/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/" @@ -1585,39 +1610,40 @@ 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" { + + "tet:label-restrictions/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:label-restrictions/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/" @@ -1615,27 +1641,26 @@ 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:label-restrictions/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/" @@ -1718,59 +1744,54 @@ + "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 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" { + + "tet:connectivity-matrices/tet:label-restrictions/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 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:connectivity-matrices/tet:label-restrictions/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 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:connectivity-matrices/tet:label-restrictions/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; } @@ -1767,59 +1788,54 @@ + "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 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 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 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" { @@ -1816,154 +1832,147 @@ 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 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 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 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" { + + "tet:from/tet:label-restrictions/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 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:from/tet:label-restrictions/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 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:from/tet:label-restrictions/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 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" { + + "tet:to/tet:label-restrictions/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 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:to/tet:label-restrictions/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 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:to/tet:label-restrictions/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; } @@ -1960,104 +1969,98 @@ + "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 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 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 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 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 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"; @@ -2058,89 +2061,85 @@ + "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 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" { + + "tet:label-restrictions/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:label-restrictions/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:label-restrictions/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 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 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"; } @@ -2207,126 +2206,123 @@ 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" { + + "tet:label-restrictions/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-restrictions/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-restrictions/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 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 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 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 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 "../../../../../../../../../../../../../../../../" @@ -2387,36 +2383,38 @@ } 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" { + + "tet:label-restrictions/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-restrictions/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/" @@ -2413,48 +2411,48 @@ } 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-restrictions/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" { + + "tet:label-restrictions/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-restrictions/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; } } @@ -2451,25 +2449,24 @@ + "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-restrictions/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; } } @@ -2500,57 +2497,58 @@ /* 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" { + + "tet:label-restrictions/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-restrictions/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-restrictions/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; @@ -2548,61 +2546,83 @@ /* 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. + It is proposed that IANA should assign new URIs from the "IETF XML + Registry" [RFC3688] as follows: URI: + urn:ietf:params:xml:ns:yang:ietf-otn-topology Registrant Contact: The + IESG XML: N/A; the requested URI is an XML namespace. This document + registers a YANG module in the YANG Module Names registry [RFC7950]. + name: ietf-otn-topology namespace: urn:ietf:params:xml:ns:yang:ietf- + otn-topology prefix: otntopo reference: RFC XXXX -7. Security Considerations +6. 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 specified in this document defines a schema for data + that is designed to be accessed via network management protocols such + as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer + is the secure transport layer, and the mandatory-to-implement secure + transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer + is HTTPS, and the mandatory-to-implement secure transport is TLS + [RFC5246]. - The YANG module defined in this document can be accessed via the - RESTCONF protocol defined in [RFC8040], or maybe via the NETCONF - protocol [RFC6241]. + The NETCONF access control model [RFC6536] provides the means to + restrict access for particular NETCONF or RESTCONF users to a + preconfigured subset of all available NETCONF or RESTCONF protocol + operations and content. - There are a number of data nodes defined in the YANG module which are + There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default). These data nodes may be considered sensitive or vulnerable - in some network environments. Write operations (e.g., POST) to these - data nodes without proper protection can have a negative effect on - network operations. + in some network environments. Write operations (e.g., edit-config) + to these data nodes without proper protection can have a negative + effect on network operations. These are the subtrees and data nodes + and their sensitivity/vulnerability: - Editors note: to list specific subtrees and data nodes and their - sensitivity/vulnerability. + /nw:networks/nw:network/nw:network-types/tet:te-topology + /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes + /nw:networks/nw:network/nw:node/nt:termination-point/tet:te + /nw:networks/nw:network/.../tet:te-bandwidth/tet:technology + /nw:networks/nw:network/nw:node/tet:te/.../tet:label-restriction + /nw:networks/nw:network/nw:node/.../tet:te-label/tet:technology + Editors note: we are using simplified description by folding similar + branches to avoid repetation. -8. Acknowledgements + Some of the readable data nodes in this YANG module may be considered + sensitive or vulnerable in some network environments. It is thus + important to control read access (e.g., via get, get-config, or + notification) to these data nodes. These are the subtrees and data + nodes and their sensitivity/vulnerability: - We would like to thank Igor Bryskin, Zhe Liu, and Daniele Ceccarelli - for their comments and discussions. + Editors note: Currently there is no such data nodes, temporarily kept + for review. -9. Contributors +7. Acknowledgements + + We would like to thank Igor Bryskin, Zhe Liu, Zheyu Fan and Daniele + Ceccarelli for their comments and discussions. + +8. Contributors Baoquan Rao Huawei Technologies Email: raobaoquan@huawei.com Xian Zhang Huawei Technologies Email: zhang.xian@huawei.com Huub van Helvoort @@ -2619,76 +2639,104 @@ Email: liyunbo@chinamobile.com Dieter Beller Nokia Email: dieter.beller@nokia.com Yanlei Zheng China Unicom Email: zhengyl@dimpt.com -10. References +9. References -10.1. Normative References +9.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. + zhenghaomian@huawei.com, z., Guo, A., Busi, I., Sharma, + A., Rao, R., Belotti, S., Lopezalvarez, V., Li, Y., and Y. + Xu, "OTN Tunnel YANG Model", draft-ietf-ccamp-otn-tunnel- + model-03 (work in progress), July 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 + Topologies", draft-ietf-teas-yang-te-topo-18 (work in progress), June 2018. + [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, + DOI 10.17487/RFC3688, January 2004, + . + + [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security + (TLS) Protocol Version 1.2", RFC 5246, + DOI 10.17487/RFC5246, August 2008, + . + [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, . + [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure + Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, + . + + [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration + Protocol (NETCONF) Access Control Model", RFC 6536, + DOI 10.17487/RFC6536, March 2012, + . + [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 + [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., + and R. Wilton, "Network Management Datastore Architecture + (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, + . + + [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., + Ananthakrishnan, H., and X. Liu, "A YANG Data Model for + Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March + 2018, . + +9.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. [I-D.ietf-teas-actn-yang] - Lee, Y., Zheng, H., Ceccarelli, D., + Lee, Y., zhenghaomian@huawei.com, z., 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, . @@ -2718,30 +2766,30 @@ Italy Email: Italo.Busi@huawei.com Anurag Sharma Google 1600 Amphitheatre Parkway Mountain View, CA 94043 Email: ansha@google.com + Xufeng Liu - Jabil + Volta Networks - Email: Xufeng_Liu@jabil.com + Email: xufeng.liu.ietf@gmail.com Sergio Belotti Nokia Email: sergio.belotti@nokia.com - Yunbin Xu CAICT Email: xuyunbin@ritt.cn Lei Wang China Mobile Email: wangleiyj@chinamobile.com