idnits 2.17.1 draft-ietf-ccamp-otn-tunnel-model-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 34 instances of too long lines in the document, the longest one being 43 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 08, 2019) is 1754 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-18) exists of draft-ietf-ccamp-otn-topo-yang-07 == Outdated reference: A later version (-36) exists of draft-ietf-teas-yang-te-21 -- Possible downref: Non-RFC (?) normative reference: ref. 'ITU-T' == Outdated reference: A later version (-17) exists of draft-ietf-ccamp-transport-nbi-app-statement-05 == Outdated reference: A later version (-11) exists of draft-ietf-teas-actn-yang-03 Summary: 1 error (**), 0 flaws (~~), 5 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 CCAMP Working Group H. Zheng 3 Internet-Draft A. Guo 4 Intended status: Standards Track I. Busi 5 Expires: January 9, 2020 Huawei Technologies 6 A. Sharma 7 Google 8 R. Rao 9 Infinera 10 S. Belotti 11 Nokia 12 V. Lopez 13 Telefonica 14 Y. Li 15 China Mobile 16 Y. Xu 17 CAICT 18 July 08, 2019 20 OTN Tunnel YANG Model 21 draft-ietf-ccamp-otn-tunnel-model-07 23 Abstract 25 This document describes the YANG data model for OTN Tunnels. 27 Status of This Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at https://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on January 9, 2020. 44 Copyright Notice 46 Copyright (c) 2019 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (https://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 62 2. Terminology and Notations . . . . . . . . . . . . . . . . . . 2 63 3. OTN Tunnel Model Description . . . . . . . . . . . . . . . . 3 64 3.1. Overview of OTN Tunnel Model . . . . . . . . . . . . . . 3 65 3.2. OTN-specific Parameters in Tunnel Model . . . . . . . . . 3 66 3.3. OTN Path Compute RPC . . . . . . . . . . . . . . . . . . 4 67 4. OTN Tunnel YANG Tree . . . . . . . . . . . . . . . . . . . . 4 68 5. OTN Tunnel YANG Code . . . . . . . . . . . . . . . . . . . . 14 69 6. Security Considerations . . . . . . . . . . . . . . . . . . . 35 70 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 71 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 37 72 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 37 73 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 37 74 10.1. Normative References . . . . . . . . . . . . . . . . . . 37 75 10.2. Informative References . . . . . . . . . . . . . . . . . 38 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39 78 1. Introduction 80 OTN transport networks, specified in [ITU-T], can carry various types 81 of client services. In many cases, the client signal is carried over 82 an OTN tunnel across connected domains in a multi-domain network. 83 These OTN services can either be transported or switched in the OTN 84 network. If an OTN tunnel is switched, then additional parameters 85 need to be provided to create a Mux OTN service. 87 This document provides YANG model for creating OTN tunnel. The model 88 augments the TE Tunnel model. 90 2. Terminology and Notations 92 A simplified graphical representation of the data model is used in 93 this document. The meaning of the symbols in the YANG data tree 94 presented later in this draft is defined in [RFC8340]. They are 95 provided below for reference. 97 o Brackets "[" and "]" enclose list keys. 99 o Abbreviations before data node names: "rw" means configuration 100 (read-write) and "ro" state data (read-only). 102 o Symbols after data node names: "?" means an optional node, "!" 103 means a presence container, and "*" denotes a list and leaf-list. 105 o Parentheses enclose choice and case nodes, and case nodes are also 106 marked with a colon (":"). 108 o Ellipsis ("...") stands for contents of subtrees that are not 109 shown. 111 o More OTN specific terms can be found in 112 [I-D.ietf-ccamp-otn-topo-yang]. 114 3. OTN Tunnel Model Description 116 3.1. Overview of OTN Tunnel Model 118 The OTN tunnel model is using TE tunnel [I-D.ietf-teas-yang-te] as a 119 basic model and augment to the TE tunnel with OTN-specific 120 parameters, including the bandwidth information and label 121 information. It is also worth noting that the OTN tunnel 122 provisioning is usually based on the OTN topology. Therefore the OTN 123 tunnel model is usually used together with OTN topology model 124 specified in [I-D.ietf-ccamp-otn-topo-yang]. The OTN tunnel model 125 also imports a few type modules, including ietf-otn-types, ietf-te- 126 types and ietf-inet-types. 128 More scenarios and model applications can be found in 129 [I-D.ietf-ccamp-transport-nbi-app-statement] and 130 [I-D.ietf-teas-actn-yang]. The current model is following the YANG 131 language specification as [RFC7950], and the corresponding protocol 132 is recommended to be Netconf protocol in [RFC6241] or RESTconf 133 protocol in [RFC8040]. 135 The YANG module ietf-otn-tunnel defined in this document conforms to 136 the Network Management Datastore Architecture (NMDA) defined in 137 [RFC8342]. 139 3.2. OTN-specific Parameters in Tunnel Model 141 OTN specific parameters have been augmenting to the TE tunnel models. 142 The attributes on both of the source and destination need to be 143 configured when setting up the tunnel. Typical parameters, including 144 client signal, TPN, TSG and corresponding tributary slot information, 145 are required in the OTN tunnel model. These parameters are 146 consistent with the framework in [RFC7062], and the specification in 147 [RFC7138] and [RFC7139]. 149 The OTN bandwidth information has been augmenting to various sections 150 of TE tunnel models, including tunnel bandwidth, primary path 151 bandwidth and so on. The OTN label information has been augmenting 152 to label hop of a group of routing objects and also LSPs. 154 3.3. OTN Path Compute RPC 156 Similarly with TE tunnel, a 'compute-only' mode of OTN tunnel model 157 is also supported for stateful path computation. Given the OTN 158 tunnel computed, the client may query and/or subscribe on the tunnel 159 to be notified whenever it changes. In addition, also a stateless 160 Remote Procedural Call (RPC) is specified. On receiving this RPC, 161 the provider is expected to compute the available path subject to the 162 constraints specified in RPC and feedback to the client without any 163 changing of the OTN network or the OTN tunnels. 165 4. OTN Tunnel YANG Tree 167 module: ietf-otn-tunnel 168 augment /te:te/te:tunnels/te:tunnel: 169 +--rw src-client-signal? identityref 170 +--rw dst-client-signal? identityref 171 augment /te:te/te:globals/te:named-path-constraints 172 /te:named-path-constraint/te:te-bandwidth/te:technology: 173 +--:(otn) 174 +--rw odu-type? identityref 175 augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology: 176 +--:(otn) 177 +--rw odu-type? identityref 178 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 179 /te:p2p-primary-path/te:te-bandwidth/te:technology: 180 +--:(otn) 181 +--rw odu-type? identityref 182 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 183 /te:p2p-primary-path/te:p2p-primary-reverse-path 184 /te:te-bandwidth/te:technology: 185 +--:(otn) 186 +--rw odu-type? identityref 187 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 188 /te:p2p-secondary-path/te:te-bandwidth/te:technology: 189 +--:(otn) 190 +--rw odu-type? identityref 191 augment /te:te/te:globals/te:named-path-constraints 192 /te:named-path-constraint/te:explicit-route-objects-always 193 /te:route-object-exclude-always/te:type/te:label 194 /te:label-hop/te:te-label/te:technology: 195 +--:(otn) 196 +--rw tpn? uint16 197 +--rw tsg? identityref 198 +--rw ts-list? string 199 augment /te:te/te:globals/te:named-path-constraints 200 /te:named-path-constraint/te:explicit-route-objects-always 201 /te:route-object-include-exclude/te:type/te:label 202 /te:label-hop/te:te-label/te:technology: 203 +--:(otn) 204 +--rw tpn? uint16 205 +--rw tsg? identityref 206 +--rw ts-list? string 207 augment /te:te/te:globals/te:named-path-constraints 208 /te:named-path-constraint/te:path-in-segment 209 /te:label-restrictions/te:label-restriction: 210 +--rw range-type? identityref 211 +--rw tsg? identityref 212 +--rw priority? uint8 213 augment /te:te/te:globals/te:named-path-constraints 214 /te:named-path-constraint/te:path-in-segment 215 /te:label-restrictions/te:label-restriction 216 /te:label-start/te:te-label/te:technology: 217 +--:(otn) 218 +--rw (otn-label-type)? 219 +--:(tributary-port) 220 | +--rw tpn? uint16 221 +--:(tributary-slot) 222 +--rw ts? uint16 223 augment /te:te/te:globals/te:named-path-constraints 224 /te:named-path-constraint/te:path-in-segment 225 /te:label-restrictions/te:label-restriction 226 /te:label-end/te:te-label/te:technology: 227 +--:(otn) 228 +--rw (otn-label-type)? 229 +--:(tributary-port) 230 | +--rw tpn? uint16 231 +--:(tributary-slot) 232 +--rw ts? uint16 233 augment /te:te/te:globals/te:named-path-constraints 234 /te:named-path-constraint/te:path-out-segment 235 /te:label-restrictions/te:label-restriction: 236 +--rw range-type? identityref 237 +--rw tsg? identityref 238 +--rw priority? uint8 239 augment /te:te/te:globals/te:named-path-constraints 240 /te:named-path-constraint/te:path-out-segment 241 /te:label-restrictions/te:label-restriction 242 /te:label-start/te:te-label/te:technology: 243 +--:(otn) 244 +--rw (otn-label-type)? 245 +--:(tributary-port) 246 | +--rw tpn? uint16 247 +--:(tributary-slot) 248 +--rw ts? uint16 249 augment /te:te/te:globals/te:named-path-constraints 250 /te:named-path-constraint/te:path-out-segment 251 /te:label-restrictions/te:label-restriction 252 /te:label-end/te:te-label/te:technology: 253 +--:(otn) 254 +--rw (otn-label-type)? 255 +--:(tributary-port) 256 | +--rw tpn? uint16 257 +--:(tributary-slot) 258 +--rw ts? uint16 259 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 260 /te:p2p-primary-path/te:optimizations/te:algorithm 261 /te:metric/te:optimization-metric 262 /te:explicit-route-exclude-objects 263 /te:route-object-exclude-object/te:type/te:label 264 /te:label-hop/te:te-label/te:technology: 265 +--:(otn) 266 +--rw tpn? uint16 267 +--rw tsg? identityref 268 +--rw ts-list? string 269 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 270 /te:p2p-primary-path/te:optimizations/te:algorithm 271 /te:metric/te:optimization-metric 272 /te:explicit-route-include-objects 273 /te:route-object-include-object/te:type/te:label 274 /te:label-hop/te:te-label/te:technology: 275 +--:(otn) 276 +--rw tpn? uint16 277 +--rw tsg? identityref 278 +--rw ts-list? string 279 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 280 /te:p2p-primary-path/te:explicit-route-objects-always 281 /te:route-object-exclude-always/te:type/te:label 282 /te:label-hop/te:te-label/te:technology: 283 +--:(otn) 284 +--rw tpn? uint16 285 +--rw tsg? identityref 286 +--rw ts-list? string 287 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 288 /te:p2p-primary-path/te:explicit-route-objects-always 289 /te:route-object-include-exclude/te:type/te:label 290 /te:label-hop/te:te-label/te:technology: 291 +--:(otn) 292 +--rw tpn? uint16 293 +--rw tsg? identityref 294 +--rw ts-list? string 295 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 296 /te:p2p-primary-path/te:path-in-segment 297 /te:label-restrictions/te:label-restriction: 298 +--rw range-type? identityref 299 +--rw tsg? identityref 300 +--rw priority? uint8 301 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 302 /te:p2p-primary-path/te:path-in-segment 303 /te:label-restrictions/te:label-restriction 304 /te:label-start/te:te-label/te:technology: 305 +--:(otn) 306 +--rw (otn-label-type)? 307 +--:(tributary-port) 308 | +--rw tpn? uint16 309 +--:(tributary-slot) 310 +--rw ts? uint16 311 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 312 /te:p2p-primary-path/te:path-in-segment 313 /te:label-restrictions/te:label-restriction 314 /te:label-end/te:te-label/te:technology: 315 +--:(otn) 316 +--rw (otn-label-type)? 317 +--:(tributary-port) 318 | +--rw tpn? uint16 319 +--:(tributary-slot) 320 +--rw ts? uint16 321 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 322 /te:p2p-primary-path/te:path-out-segment 323 /te:label-restrictions/te:label-restriction: 324 +--rw range-type? identityref 325 +--rw tsg? identityref 326 +--rw priority? uint8 327 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 328 /te:p2p-primary-path/te:path-out-segment 329 /te:label-restrictions/te:label-restriction 330 /te:label-start/te:te-label/te:technology: 331 +--:(otn) 332 +--rw (otn-label-type)? 333 +--:(tributary-port) 334 | +--rw tpn? uint16 335 +--:(tributary-slot) 336 +--rw ts? uint16 337 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 338 /te:p2p-primary-path/te:path-out-segment 339 /te:label-restrictions/te:label-restriction 340 /te:label-end/te:te-label/te:technology: 341 +--:(otn) 342 +--rw (otn-label-type)? 343 +--:(tributary-port) 344 | +--rw tpn? uint16 345 +--:(tributary-slot) 346 +--rw ts? uint16 347 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 348 /te:p2p-primary-path/te:computed-paths-properties 349 /te:computed-path-properties/te:path-properties 350 /te:path-route-objects/te:path-computed-route-object 351 /te:type/te:label/te:label-hop/te:te-label 352 /te:technology: 353 +--:(otn) 354 +--ro tpn? uint16 355 +--ro tsg? identityref 356 +--ro ts-list? string 357 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 358 /te:p2p-primary-path/te:lsps/te:lsp 359 /te:lsp-record-route-information 360 /te:lsp-record-route-information/te:type/te:label 361 /te:label-hop/te:te-label/te:technology: 362 +--:(otn) 363 +--ro tpn? uint16 364 +--ro tsg? identityref 365 +--ro ts-list? string 366 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 367 /te:p2p-primary-path/te:lsps/te:lsp/te:path-properties 368 /te:path-route-objects/te:path-computed-route-object 369 /te:type/te:label/te:label-hop/te:te-label 370 /te:technology: 371 +--:(otn) 372 +--ro tpn? uint16 373 +--ro tsg? identityref 374 +--ro ts-list? string 375 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 376 /te:p2p-primary-path/te:p2p-primary-reverse-path 377 /te:optimizations/te:algorithm/te:metric 378 /te:optimization-metric 379 /te:explicit-route-exclude-objects 380 /te:route-object-exclude-object/te:type/te:label 381 /te:label-hop/te:te-label/te:technology: 382 +--:(otn) 383 +--rw tpn? uint16 384 +--rw tsg? identityref 385 +--rw ts-list? string 386 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 387 /te:p2p-primary-path/te:p2p-primary-reverse-path 388 /te:optimizations/te:algorithm/te:metric 389 /te:optimization-metric 390 /te:explicit-route-include-objects 391 /te:route-object-include-object/te:type/te:label 392 /te:label-hop/te:te-label/te:technology: 393 +--:(otn) 394 +--rw tpn? uint16 395 +--rw tsg? identityref 396 +--rw ts-list? string 397 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 398 /te:p2p-primary-path/te:p2p-primary-reverse-path 399 /te:explicit-route-objects-always 400 /te:route-object-exclude-always/te:type/te:label 401 /te:label-hop/te:te-label/te:technology: 402 +--:(otn) 403 +--rw tpn? uint16 404 +--rw tsg? identityref 405 +--rw ts-list? string 406 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 407 /te:p2p-primary-path/te:p2p-primary-reverse-path 408 /te:explicit-route-objects-always 409 /te:route-object-include-exclude/te:type/te:label 410 /te:label-hop/te:te-label/te:technology: 411 +--:(otn) 412 +--rw tpn? uint16 413 +--rw tsg? identityref 414 +--rw ts-list? string 415 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 416 /te:p2p-primary-path/te:p2p-primary-reverse-path 417 /te:path-in-segment/te:label-restrictions 418 /te:label-restriction: 419 +--rw range-type? identityref 420 +--rw tsg? identityref 421 +--rw priority? uint8 422 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 423 /te:p2p-primary-path/te:p2p-primary-reverse-path 424 /te:path-in-segment/te:label-restrictions 425 /te:label-restriction/te:label-start/te:te-label 426 /te:technology: 427 +--:(otn) 428 +--rw (otn-label-type)? 429 +--:(tributary-port) 430 | +--rw tpn? uint16 431 +--:(tributary-slot) 432 +--rw ts? uint16 433 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 434 /te:p2p-primary-path/te:p2p-primary-reverse-path 435 /te:path-in-segment/te:label-restrictions 436 /te:label-restriction/te:label-end/te:te-label 437 /te:technology: 438 +--:(otn) 439 +--rw (otn-label-type)? 440 +--:(tributary-port) 441 | +--rw tpn? uint16 442 +--:(tributary-slot) 443 +--rw ts? uint16 444 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 445 /te:p2p-primary-path/te:p2p-primary-reverse-path 446 /te:path-out-segment/te:label-restrictions 447 /te:label-restriction: 448 +--rw range-type? identityref 449 +--rw tsg? identityref 450 +--rw priority? uint8 451 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 452 /te:p2p-primary-path/te:p2p-primary-reverse-path 453 /te:path-out-segment/te:label-restrictions 454 /te:label-restriction/te:label-start/te:te-label 455 /te:technology: 456 +--:(otn) 457 +--rw (otn-label-type)? 458 +--:(tributary-port) 459 | +--rw tpn? uint16 460 +--:(tributary-slot) 461 +--rw ts? uint16 462 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 463 /te:p2p-primary-path/te:p2p-primary-reverse-path 464 /te:path-out-segment/te:label-restrictions 465 /te:label-restriction/te:label-end/te:te-label 466 /te:technology: 467 +--:(otn) 468 +--rw (otn-label-type)? 469 +--:(tributary-port) 470 | +--rw tpn? uint16 471 +--:(tributary-slot) 472 +--rw ts? uint16 473 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 474 /te:p2p-primary-path/te:p2p-primary-reverse-path 475 /te:computed-paths-properties 476 /te:computed-path-properties 477 /te:path-properties/te:path-route-objects 478 /te:path-computed-route-object/te:type/te:label 479 /te:label-hop/te:te-label/te:technology: 481 +--:(otn) 482 +--ro tpn? uint16 483 +--ro tsg? identityref 484 +--ro ts-list? string 485 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 486 /te:p2p-primary-path/te:p2p-primary-reverse-path 487 /te:lsps/te:lsp/te:lsp-record-route-information 488 /te:lsp-record-route-information/te:type/te:label 489 /te:label-hop/te:te-label/te:technology: 490 +--:(otn) 491 +--ro tpn? uint16 492 +--ro tsg? identityref 493 +--ro ts-list? string 494 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 495 /te:p2p-primary-path/te:p2p-primary-reverse-path 496 /te:lsps/te:lsp/te:path-properties/te:path-route-objects 497 /te:path-computed-route-object/te:type/te:label 498 /te:label-hop/te:te-label/te:technology: 499 +--:(otn) 500 +--ro tpn? uint16 501 +--ro tsg? identityref 502 +--ro ts-list? string 503 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 504 /te:p2p-secondary-path/te:optimizations/te:algorithm 505 /te:metric/te:optimization-metric 506 /te:explicit-route-exclude-objects 507 /te:route-object-exclude-object/te:type/te:label 508 /te:label-hop/te:te-label/te:technology: 509 +--:(otn) 510 +--rw tpn? uint16 511 +--rw tsg? identityref 512 +--rw ts-list? string 513 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 514 /te:p2p-secondary-path/te:optimizations/te:algorithm 515 /te:metric/te:optimization-metric 516 /te:explicit-route-include-objects 517 /te:route-object-include-object/te:type/te:label 518 /te:label-hop/te:te-label/te:technology: 519 +--:(otn) 520 +--rw tpn? uint16 521 +--rw tsg? identityref 522 +--rw ts-list? string 523 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 524 /te:p2p-secondary-path/te:explicit-route-objects-always 525 /te:route-object-exclude-always/te:type/te:label 526 /te:label-hop/te:te-label/te:technology: 527 +--:(otn) 528 +--rw tpn? uint16 529 +--rw tsg? identityref 530 +--rw ts-list? string 531 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 532 /te:p2p-secondary-path/te:explicit-route-objects-always 533 /te:route-object-include-exclude/te:type/te:label 534 /te:label-hop/te:te-label/te:technology: 535 +--:(otn) 536 +--rw tpn? uint16 537 +--rw tsg? identityref 538 +--rw ts-list? string 539 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 540 /te:p2p-secondary-path/te:path-in-segment 541 /te:label-restrictions/te:label-restriction: 542 +--rw range-type? identityref 543 +--rw tsg? identityref 544 +--rw priority? uint8 545 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 546 /te:p2p-secondary-path/te:path-in-segment 547 /te:label-restrictions/te:label-restriction 548 /te:label-start/te:te-label/te:technology: 549 +--:(otn) 550 +--rw (otn-label-type)? 551 +--:(tributary-port) 552 | +--rw tpn? uint16 553 +--:(tributary-slot) 554 +--rw ts? uint16 555 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 556 /te:p2p-secondary-path/te:path-in-segment 557 /te:label-restrictions/te:label-restriction 558 /te:label-end/te:te-label/te:technology: 559 +--:(otn) 560 +--rw (otn-label-type)? 561 +--:(tributary-port) 562 | +--rw tpn? uint16 563 +--:(tributary-slot) 564 +--rw ts? uint16 565 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 566 /te:p2p-secondary-path/te:path-out-segment 567 /te:label-restrictions/te:label-restriction: 568 +--rw range-type? identityref 569 +--rw tsg? identityref 570 +--rw priority? uint8 571 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 572 /te:p2p-secondary-path/te:path-out-segment 573 /te:label-restrictions/te:label-restriction 574 /te:label-start/te:te-label/te:technology: 575 +--:(otn) 576 +--rw (otn-label-type)? 577 +--:(tributary-port) 578 | +--rw tpn? uint16 579 +--:(tributary-slot) 580 +--rw ts? uint16 581 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 582 /te:p2p-secondary-path/te:path-out-segment 583 /te:label-restrictions/te:label-restriction 584 /te:label-end/te:te-label/te:technology: 585 +--:(otn) 586 +--rw (otn-label-type)? 587 +--:(tributary-port) 588 | +--rw tpn? uint16 589 +--:(tributary-slot) 590 +--rw ts? uint16 591 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 592 /te:p2p-secondary-path/te:computed-paths-properties 593 /te:computed-path-properties/te:path-properties 594 /te:path-route-objects/te:path-computed-route-object 595 /te:type/te:label/te:label-hop/te:te-label/te:technology: 596 +--:(otn) 597 +--ro tpn? uint16 598 +--ro tsg? identityref 599 +--ro ts-list? string 600 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 601 /te:p2p-secondary-path/te:lsps/te:lsp 602 /te:lsp-record-route-information 603 /te:lsp-record-route-information/te:type/te:label 604 /te:label-hop/te:te-label/te:technology: 605 +--:(otn) 606 +--ro tpn? uint16 607 +--ro tsg? identityref 608 +--ro ts-list? string 609 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 610 /te:p2p-secondary-path/te:lsps/te:lsp/te:path-properties 611 /te:path-route-objects/te:path-computed-route-object 612 /te:type/te:label/te:label-hop/te:te-label/te:technology: 613 +--:(otn) 614 +--ro tpn? uint16 615 +--ro tsg? identityref 616 +--ro ts-list? string 617 augment /te:te/te:lsps-state/te:lsp 618 /te:lsp-record-route-information 619 /te:lsp-record-route-information/te:type/te:label 620 /te:label-hop/te:te-label/te:technology: 621 +--:(otn) 622 +--ro tpn? uint16 623 +--ro tsg? identityref 624 +--ro ts-list? string 626 5. OTN Tunnel YANG Code 628 file "ietf-otn-tunnel@2019-07-08.yang" 629 module ietf-otn-tunnel { 630 yang-version 1.1; 631 namespace "urn:ietf:params:xml:ns:yang:ietf-otn-tunnel"; 632 prefix "otn-tunnel"; 634 import ietf-te { 635 prefix "te"; 636 reference 637 "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic Engineering 638 Tunnels and Interfaces. "; 639 } 641 import ietf-layer1-types { 642 prefix "layer1-types"; 643 reference 644 "I-D.ietf-ccamp-layer1-types: A YANG Data Model for Layer 1 Types."; 645 } 647 organization 648 "IETF CCAMP Working Group"; 649 contact 650 "WG Web: 651 WG List: 653 Editor: Haomian Zheng 654 656 Editor: Aihua Guo 657 659 Editor: Italo Busi 660 662 Editor: Anurag Sharma 663 665 Editor: Rajan Rao 666 668 Editor: Sergio Belotti 669 671 Editor: Victor Lopez 672 674 Editor: Yunbo Li 675 677 Editor: Yunbin Xu 678 "; 680 description 681 "This module defines a model for OTN Tunnel Services. 683 Copyright (c) 2018 IETF Trust and the persons 684 identified as authors of the code. All rights reserved. 686 Redistribution and use in source and binary forms, with or 687 without modification, is permitted pursuant to, and subject 688 to the license terms contained in, the Simplified BSD License 689 set forth in Section 4.c of the IETF Trust's Legal Provisions 690 Relating to IETF Documents 691 (https://trustee.ietf.org/license-info)."; 693 revision "2018-08-23" { 694 description 695 "Initial Revision"; 696 reference 697 "RFC XXXX: OTN Tunnel YANG Model"; 698 // RFC Ed.: replace XXXX with actual RFC number, update date 699 // information and remove this note 700 } 702 /* 703 * Groupings 704 */ 706 grouping otn-tunnel-attributes { 707 description "Parameters for OTN tunnel"; 709 leaf src-client-signal { 710 type identityref { 711 base layer1-types:client-signal; 712 } 713 description 714 "Client signal at the source endpoint of the tunnel. "; 715 } 717 leaf dst-client-signal { 718 type identityref { 719 base layer1-types:client-signal; 720 } 721 description 722 "Client signal at the destination endpoint of the tunnel"; 723 } 725 } 727 /* 728 * Data nodes 729 */ 731 augment "/te:te/te:tunnels/te:tunnel" { 732 description 733 "Augment with additional parameters required for OTN service"; 734 uses otn-tunnel-attributes; 735 } 737 /* 738 * Augment TE bandwidth 739 */ 741 /* Augment bandwidth of named-path-constraints */ 742 augment "/te:te/te:globals/te:named-path-constraints/" 743 + "te:named-path-constraint/" 744 + "te:te-bandwidth/te:technology" { 745 description "OTN bandwidth."; 746 case otn { 747 uses layer1-types:otn-path-bandwidth; 748 } 749 } 751 /* Augment bandwdith of tunnel */ 752 augment "/te:te/te:tunnels/te:tunnel/" 753 + "te:te-bandwidth/te:technology" { 754 description "OTN bandwidth."; 755 case otn { 756 uses layer1-types:otn-path-bandwidth; 757 } 758 } 760 /* Augment bandwidth of primary path */ 761 augment "/te:te/te:tunnels/te:tunnel/" 762 + "te:p2p-primary-paths/te:p2p-primary-path/" 763 + "te:te-bandwidth/te:technology" { 764 description "OTN bandwidth."; 765 case otn { 766 uses layer1-types:otn-path-bandwidth; 767 } 768 } 769 /* Augment bandwidth of reverse primary path */ 770 augment "/te:te/te:tunnels/te:tunnel/" 771 + "te:p2p-primary-paths/te:p2p-primary-path/" 772 + "te:p2p-primary-reverse-path/" 773 + "te:te-bandwidth/te:technology" { 774 description "OTN bandwidth."; 775 case otn { 776 uses layer1-types:otn-path-bandwidth; 777 } 778 } 780 /* Augment bandwidth of secondary path */ 781 augment "/te:te/te:tunnels/te:tunnel/" 782 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 783 + "te:te-bandwidth/te:technology" { 784 description "OTN bandwidth."; 785 case otn { 786 uses layer1-types:otn-path-bandwidth; 787 } 788 } 790 /* 791 * Augment TE label. 792 */ 794 /* Augment label hop of route-object-exclude-always of named-path-constraints */ 795 augment "/te:te/te:globals/te:named-path-constraints/" 796 + "te:named-path-constraint/te:explicit-route-objects-always/" 797 + "te:route-object-exclude-always/te:type/te:label/" 798 + "te:label-hop/te:te-label/te:technology" { 799 description "OTN label."; 800 case otn { 801 uses layer1-types:otn-path-label; 802 } 803 } 805 /* Augment label hop of route-object-include-exclude of named-path-constraints */ 806 augment "/te:te/te:globals/te:named-path-constraints/" 807 + "te:named-path-constraint/te:explicit-route-objects-always/" 808 + "te:route-object-include-exclude/te:type/te:label/" 809 + "te:label-hop/te:te-label/te:technology" { 810 description "OTN label."; 811 case otn { 812 uses layer1-types:otn-path-label; 813 } 814 } 816 /* Augment label restrictions for the forwarding direction of path-in-segment of named-path-constraints */ 817 augment "/te:te/te:globals/te:named-path-constraints/" 818 + "te:named-path-constraint/te:path-in-segment/" 819 + "te:label-restrictions/te:label-restriction" { 820 description "OTN label."; 821 uses layer1-types:otn-label-restriction; 822 } 824 /* Augment label restrictions start for the forwarding direction of path-in-segment of named-path-constraints */ 825 augment "/te:te/te:globals/te:named-path-constraints/" 826 + "te:named-path-constraint/te:path-in-segment/" 827 + "te:label-restrictions/" 828 + "te:label-restriction/te:label-start/" 829 + "te:te-label/te:technology" { 830 description "OTN label."; 831 case otn { 832 uses layer1-types:otn-link-label; 833 } 834 } 836 /* Augment label restrictions end for the forwarding direction of path-in-segment of named-path-constraints */ 837 augment "/te:te/te:globals/te:named-path-constraints/" 838 + "te:named-path-constraint/te:path-in-segment/" 839 + "te:label-restrictions/" 840 + "te:label-restriction/te:label-end/" 841 + "te:te-label/te:technology" { 842 description "OTN label."; 843 case otn { 844 uses layer1-types:otn-link-label; 845 } 846 } 848 /* Augment label restrictions for the forwarding direction of path-out-segment of named-path-constraints */ 849 augment "/te:te/te:globals/te:named-path-constraints/" 850 + "te:named-path-constraint/te:path-out-segment/" 851 + "te:label-restrictions/" 852 + "te:label-restriction" { 853 description "OTN label."; 854 uses layer1-types:otn-label-restriction; 855 } 856 /* Augment label restrictions start for the forwarding direction of path-out-segment of named-path-constraints */ 857 augment "/te:te/te:globals/te:named-path-constraints/" 858 + "te:named-path-constraint/te:path-out-segment/" 859 + "te:label-restrictions/" 860 + "te:label-restriction/te:label-start/" 861 + "te:te-label/te:technology" { 862 description "OTN label."; 863 case otn { 864 uses layer1-types:otn-link-label; 866 } 867 } 869 /* Augment label restrictions end for the forwarding direction of path-out-segment of named-path-constraints */ 870 augment "/te:te/te:globals/te:named-path-constraints/" 871 + "te:named-path-constraint/te:path-out-segment/" 872 + "te:label-restrictions/" 873 + "te:label-restriction/te:label-end/" 874 + "te:te-label/te:technology" { 875 description "OTN label."; 876 case otn { 877 uses layer1-types:otn-link-label; 878 } 879 } 881 /* Augment label hop of route-exclude of primary path */ 882 augment "/te:te/te:tunnels/te:tunnel/" 883 + "te:p2p-primary-paths/te:p2p-primary-path/" 884 + "te:optimizations/te:algorithm/te:metric/" 885 + "te:optimization-metric/te:explicit-route-exclude-objects/" 886 + "te:route-object-exclude-object/te:type/te:label/" 887 + "te:label-hop/te:te-label/te:technology" { 888 description "OTN label."; 889 case otn { 890 uses layer1-types:otn-path-label; 891 } 892 } 894 /* Augment label hop of route-include of primary path */ 895 augment "/te:te/te:tunnels/te:tunnel/" 896 + "te:p2p-primary-paths/te:p2p-primary-path/" 897 + "te:optimizations/te:algorithm/te:metric/" 898 + "te:optimization-metric/te:explicit-route-include-objects/" 899 + "te:route-object-include-object/te:type/te:label/" 900 + "te:label-hop/te:te-label/te:technology" { 901 description "OTN label."; 902 case otn { 903 uses layer1-types:otn-path-label; 904 } 905 } 907 /* Augment label hop of route-object-exclude-always of primary path */ 908 augment "/te:te/te:tunnels/te:tunnel/" 909 + "te:p2p-primary-paths/te:p2p-primary-path/" 910 + "te:explicit-route-objects-always/" 911 + "te:route-object-exclude-always/te:type/te:label/" 912 + "te:label-hop/te:te-label/te:technology" { 913 description "OTN label."; 914 case otn { 916 uses layer1-types:otn-path-label; 917 } 918 } 920 /* Augment label hop of route-object-include-exclude of primary path */ 921 augment "/te:te/te:tunnels/te:tunnel/" 922 + "te:p2p-primary-paths/te:p2p-primary-path/" 923 + "te:explicit-route-objects-always/" 924 + "te:route-object-include-exclude/te:type/te:label/" 925 + "te:label-hop/te:te-label/te:technology" { 926 description "OTN label."; 927 case otn { 928 uses layer1-types:otn-path-label; 929 } 930 } 932 /* Augment label restrictions for the forwarding direction of path-in-segment of primary path */ 933 augment "/te:te/te:tunnels/te:tunnel/" 934 + "te:p2p-primary-paths/te:p2p-primary-path/" 935 + "te:path-in-segment/te:label-restrictions/" 936 + "te:label-restriction" { 937 description "OTN label."; 938 uses layer1-types:otn-label-restriction; 939 } 941 /* Augment label restrictions start for the forwarding direction of path-in-segment of primary path */ 942 augment "/te:te/te:tunnels/te:tunnel/" 943 + "te:p2p-primary-paths/te:p2p-primary-path/" 944 + "te:path-in-segment/te:label-restrictions/" 945 + "te:label-restriction/te:label-start/" 946 + "te:te-label/te:technology" { 947 description "OTN label."; 948 case otn { 949 uses layer1-types:otn-link-label; 950 } 951 } 953 /* Augment label restrictions end for the forwarding direction of path-in-segment of primary path */ 954 augment "/te:te/te:tunnels/te:tunnel/" 955 + "te:p2p-primary-paths/te:p2p-primary-path/" 956 + "te:path-in-segment/te:label-restrictions/" 957 + "te:label-restriction/te:label-end/" 958 + "te:te-label/te:technology" { 959 description "OTN label."; 960 case otn { 961 uses layer1-types:otn-link-label; 963 } 964 } 966 /* Augment label restrictions for the forwarding direction of path-out-segment of primary path */ 967 augment "/te:te/te:tunnels/te:tunnel/" 968 + "te:p2p-primary-paths/te:p2p-primary-path/" 969 + "te:path-out-segment/te:label-restrictions/" 970 + "te:label-restriction" { 971 description "OTN label."; 972 uses layer1-types:otn-label-restriction; 973 } 975 /* Augment label restrictions start for the forwarding direction of path-out-segment of primary path */ 976 augment "/te:te/te:tunnels/te:tunnel/" 977 + "te:p2p-primary-paths/te:p2p-primary-path/" 978 + "te:path-out-segment/te:label-restrictions/" 979 + "te:label-restriction/te:label-start/" 980 + "te:te-label/te:technology" { 982 description "OTN label."; 983 case otn { 984 uses layer1-types:otn-link-label; 985 } 986 } 988 /* Augment label restrictions end for the forwarding direction of path-out-segment of primary path */ 989 augment "/te:te/te:tunnels/te:tunnel/" 990 + "te:p2p-primary-paths/te:p2p-primary-path/" 991 + "te:path-out-segment/te:label-restrictions/" 992 + "te:label-restriction/te:label-end/" 993 + "te:te-label/te:technology" { 994 description "OTN label."; 995 case otn { 996 uses layer1-types:otn-link-label; 997 } 998 } 1000 /* Augment label hop of path-route of primary path */ 1001 augment "/te:te/te:tunnels/te:tunnel/" 1002 + "te:p2p-primary-paths/te:p2p-primary-path/" 1003 + "te:computed-paths-properties/" 1004 + "te:computed-path-properties/te:path-properties/" 1005 + "te:path-route-objects/te:path-computed-route-object/" 1006 + "te:type/te:label/" 1007 + "te:label-hop/te:te-label/te:technology" { 1008 description "OTN label."; 1009 case otn { 1010 uses layer1-types:otn-path-label; 1012 } 1013 } 1015 /* Augment label hop of record-route of primary LSP */ 1016 augment "/te:te/te:tunnels/te:tunnel/" 1017 + "te:p2p-primary-paths/te:p2p-primary-path/" 1018 + "te:lsps/te:lsp/te:lsp-record-route-information/" 1019 + "te:lsp-record-route-information/te:type/te:label/" 1020 + "te:label-hop/te:te-label/te:technology" { 1021 description "OTN label."; 1022 case otn { 1023 uses layer1-types:otn-path-label; 1024 } 1025 } 1027 /* Augment label hop of path-route of primary LSP */ 1028 augment "/te:te/te:tunnels/te:tunnel/" 1029 + "te:p2p-primary-paths/te:p2p-primary-path/" 1030 + "te:lsps/te:lsp/te:path-properties/" 1031 + "te:path-route-objects/te:path-computed-route-object/" 1032 + "te:type/te:label/" 1033 + "te:label-hop/te:te-label/te:technology" { 1034 description "OTN label."; 1035 case otn { 1036 uses layer1-types:otn-path-label; 1037 } 1038 } 1040 /* Augment label hop of route-exclude of reverse primary path */ 1041 augment "/te:te/te:tunnels/te:tunnel/" 1042 + "te:p2p-primary-paths/te:p2p-primary-path/" 1043 + "te:p2p-primary-reverse-path/" 1044 + "te:optimizations/te:algorithm/te:metric/" 1045 + "te:optimization-metric/te:explicit-route-exclude-objects/" 1046 + "te:route-object-exclude-object/te:type/te:label/" 1047 + "te:label-hop/te:te-label/te:technology" { 1048 description "OTN label."; 1049 case otn { 1050 uses layer1-types:otn-path-label; 1051 } 1052 } 1054 /* Augment label hop of route-include of reverse primary path */ 1055 augment "/te:te/te:tunnels/te:tunnel/" 1056 + "te:p2p-primary-paths/te:p2p-primary-path/" 1057 + "te:p2p-primary-reverse-path/" 1058 + "te:optimizations/te:algorithm/te:metric/" 1059 + "te:optimization-metric/te:explicit-route-include-objects/" 1060 + "te:route-object-include-object/te:type/te:label/" 1061 + "te:label-hop/te:te-label/te:technology" { 1062 description "OTN label."; 1063 case otn { 1064 uses layer1-types:otn-path-label; 1065 } 1066 } 1068 /* Augment label hop of route-object-exclude-always of reverse primary path */ 1069 augment "/te:te/te:tunnels/te:tunnel/" 1070 + "te:p2p-primary-paths/te:p2p-primary-path/" 1071 + "te:p2p-primary-reverse-path/" 1072 + "te:explicit-route-objects-always/" 1073 + "te:route-object-exclude-always/" 1074 + "te:type/te:label/" 1075 + "te:label-hop/te:te-label/te:technology" { 1076 description "OTN label."; 1077 case otn { 1078 uses layer1-types:otn-path-label; 1079 } 1080 } 1082 /* Augment label hop of route-object-include-exclude of reverse primary path */ 1083 augment "/te:te/te:tunnels/te:tunnel/" 1084 + "te:p2p-primary-paths/te:p2p-primary-path/" 1085 + "te:p2p-primary-reverse-path/" 1086 + "te:explicit-route-objects-always/" 1087 + "te:route-object-include-exclude/" 1088 + "te:type/te:label/" 1089 + "te:label-hop/te:te-label/te:technology" { 1090 description "OTN label."; 1091 case otn { 1092 uses layer1-types:otn-path-label; 1093 } 1094 } 1096 /* Augment label restrictions for the forwarding direction of path-in-segment of reverse primary path */ 1097 augment "/te:te/te:tunnels/te:tunnel/" 1098 + "te:p2p-primary-paths/te:p2p-primary-path/" 1099 + "te:p2p-primary-reverse-path/" 1100 + "te:path-in-segment/te:label-restrictions/" 1101 + "te:label-restriction" { 1102 description "OTN label."; 1103 uses layer1-types:otn-label-restriction; 1104 } 1106 /* Augment label restrictions start for the forwarding direction of path-in-segment of reverse primary path */ 1107 augment "/te:te/te:tunnels/te:tunnel/" 1108 + "te:p2p-primary-paths/te:p2p-primary-path/" 1109 + "te:p2p-primary-reverse-path/" 1110 + "te:path-in-segment/te:label-restrictions/" 1111 + "te:label-restriction/te:label-start/" 1112 + "te:te-label/te:technology" { 1113 description "OTN label."; 1114 case otn { 1115 uses layer1-types:otn-link-label; 1116 } 1117 } 1119 /* Augment label restrictions end for the forwarding direction of path-in-segment of reverse primary path */ 1120 augment "/te:te/te:tunnels/te:tunnel/" 1121 + "te:p2p-primary-paths/te:p2p-primary-path/" 1122 + "te:p2p-primary-reverse-path/" 1123 + "te:path-in-segment/te:label-restrictions/" 1124 + "te:label-restriction/te:label-end/" 1125 + "te:te-label/te:technology" { 1126 description "OTN label."; 1127 case otn { 1128 uses layer1-types:otn-link-label; 1129 } 1130 } 1132 /* Augment label restrictions for the forwarding direction of path-out-segment of reverse primary path */ 1133 augment "/te:te/te:tunnels/te:tunnel/" 1134 + "te:p2p-primary-paths/te:p2p-primary-path/" 1135 + "te:p2p-primary-reverse-path/" 1136 + "te:path-out-segment/te:label-restrictions/" 1137 + "te:label-restriction" { 1138 description "OTN label."; 1139 uses layer1-types:otn-label-restriction; 1140 } 1142 /* Augment label restrictions start for the forwarding direction of path-out-segment of reverse primary path */ 1143 augment "/te:te/te:tunnels/te:tunnel/" 1144 + "te:p2p-primary-paths/te:p2p-primary-path/" 1145 + "te:p2p-primary-reverse-path/" 1146 + "te:path-out-segment/te:label-restrictions/" 1147 + "te:label-restriction/te:label-start/" 1148 + "te:te-label/te:technology" { 1149 description "OTN label."; 1150 case otn { 1151 uses layer1-types:otn-link-label; 1152 } 1153 } 1155 /* Augment label restrictions end for the forwarding direction of path-out-segment of reverse primary path */ 1156 augment "/te:te/te:tunnels/te:tunnel/" 1157 + "te:p2p-primary-paths/te:p2p-primary-path/" 1158 + "te:p2p-primary-reverse-path/" 1159 + "te:path-out-segment/te:label-restrictions/" 1160 + "te:label-restriction/te:label-end/" 1161 + "te:te-label/te:technology" { 1162 description "OTN label."; 1163 case otn { 1164 uses layer1-types:otn-link-label; 1165 } 1166 } 1168 /* Augment label hop of path-route of reverse primary path */ 1169 augment "/te:te/te:tunnels/te:tunnel/" 1170 + "te:p2p-primary-paths/te:p2p-primary-path/" 1171 + "te:p2p-primary-reverse-path/" 1172 + "te:computed-paths-properties" 1173 + "/te:computed-path-properties/te:path-properties/" 1174 + "te:path-route-objects/te:path-computed-route-object/" 1175 + "te:type/te:label/" 1176 + "te:label-hop/te:te-label/te:technology" { 1177 description "OTN label."; 1178 case otn { 1179 uses layer1-types:otn-path-label; 1180 } 1181 } 1183 /* Augment label hop of record-route of reverse primary LSP */ 1184 augment "/te:te/te:tunnels/te:tunnel/" 1185 + "te:p2p-primary-paths/te:p2p-primary-path/" 1186 + "te:p2p-primary-reverse-path/" 1187 + "te:lsps/te:lsp/te:lsp-record-route-information/" 1188 + "te:lsp-record-route-information/te:type/te:label/" 1189 + "te:label-hop/te:te-label/te:technology" { 1190 description "OTN label."; 1191 case otn { 1192 uses layer1-types:otn-path-label; 1193 } 1194 } 1196 /* Augment label hop of path-route of reverse primary LSP */ 1197 augment "/te:te/te:tunnels/te:tunnel/" 1198 + "te:p2p-primary-paths/te:p2p-primary-path/" 1199 + "te:p2p-primary-reverse-path/" 1200 + "te:lsps/te:lsp/te:path-properties/" 1201 + "te:path-route-objects/te:path-computed-route-object/" 1202 + "te:type/te:label/" 1203 + "te:label-hop/te:te-label/te:technology" { 1205 description "OTN label."; 1206 case otn { 1207 uses layer1-types:otn-path-label; 1208 } 1209 } 1211 /* Augment label hop of route-exclude of secondary path */ 1212 augment "/te:te/te:tunnels/te:tunnel/" 1213 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1214 + "te:optimizations/te:algorithm/te:metric/" 1215 + "te:optimization-metric/te:explicit-route-exclude-objects/" 1216 + "te:route-object-exclude-object/te:type/te:label/" 1217 + "te:label-hop/te:te-label/te:technology" { 1219 description "OTN label."; 1220 case otn { 1221 uses layer1-types:otn-path-label; 1222 } 1223 } 1225 /* Augment label hop of route-include of secondary path */ 1226 augment "/te:te/te:tunnels/te:tunnel/" 1227 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1228 + "te:optimizations/te:algorithm/te:metric/" 1229 + "te:optimization-metric/te:explicit-route-include-objects/" 1230 + "te:route-object-include-object/te:type/te:label/" 1231 + "te:label-hop/te:te-label/te:technology" { 1232 description "OTN label."; 1233 case otn { 1234 uses layer1-types:otn-path-label; 1235 } 1236 } 1238 /* Augment label hop of route-object-exclude-always of secondary path */ 1239 augment "/te:te/te:tunnels/te:tunnel/" 1240 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1241 + "te:explicit-route-objects-always/" 1242 + "te:route-object-exclude-always/te:type/te:label/" 1243 + "te:label-hop/te:te-label/te:technology" { 1244 description "OTN label."; 1245 case otn { 1246 uses layer1-types:otn-path-label; 1247 } 1248 } 1250 /* Augment label hop of route-object-include-exclude of secondary path */ 1251 augment "/te:te/te:tunnels/te:tunnel/" 1252 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1253 + "te:explicit-route-objects-always/" 1254 + "te:route-object-include-exclude/te:type/te:label/" 1255 + "te:label-hop/te:te-label/te:technology" { 1256 description "OTN label."; 1257 case otn { 1258 uses layer1-types:otn-path-label; 1259 } 1260 } 1262 /* Augment label restrictions for the forwarding direction of path-in-segment of secondary path */ 1263 augment "/te:te/te:tunnels/te:tunnel/" 1264 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1265 + "te:path-in-segment/te:label-restrictions/" 1266 + "te:label-restriction" { 1268 description "OTN label."; 1269 uses layer1-types:otn-label-restriction; 1270 } 1272 /* Augment label restrictions start for the forwarding direction of path-in-segment of secondary path */ 1273 augment "/te:te/te:tunnels/te:tunnel/" 1274 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1275 + "te:path-in-segment/te:label-restrictions/" 1276 + "te:label-restriction/te:label-start/" 1277 + "te:te-label/te:technology" { 1278 description "OTN label."; 1279 case otn { 1280 uses layer1-types:otn-link-label; 1281 } 1282 } 1284 /* Augment label restrictions end for the forwarding direction of path-in-segment of secondary path */ 1285 augment "/te:te/te:tunnels/te:tunnel/" 1286 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1287 + "te:path-in-segment/te:label-restrictions/" 1288 + "te:label-restriction/te:label-end/" 1289 + "te:te-label/te:technology" { 1290 description "OTN label."; 1291 case otn { 1292 uses layer1-types:otn-link-label; 1293 } 1294 } 1296 /* Augment label restrictions for the forwarding direction of path-out-segment of secondary path */ 1297 augment "/te:te/te:tunnels/te:tunnel/" 1298 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1299 + "te:path-out-segment/te:label-restrictions/" 1300 + "te:label-restriction" { 1302 description "OTN label."; 1303 uses layer1-types:otn-label-restriction; 1304 } 1306 /* Augment label restrictions start for the forwarding direction of path-out-segment of secondary path */ 1307 augment "/te:te/te:tunnels/te:tunnel/" 1308 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1309 + "te:path-out-segment/te:label-restrictions/" 1310 + "te:label-restriction/te:label-start/" 1311 + "te:te-label/te:technology" { 1312 description "OTN label."; 1313 case otn { 1314 uses layer1-types:otn-link-label; 1315 } 1316 } 1318 /* Augment label restrictions end for the forwarding direction of path-out-segment of secondary path */ 1319 augment "/te:te/te:tunnels/te:tunnel/" 1320 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1321 + "te:path-out-segment/te:label-restrictions/" 1322 + "te:label-restriction/te:label-end/" 1323 + "te:te-label/te:technology" { 1324 description "OTN label."; 1325 case otn { 1326 uses layer1-types:otn-link-label; 1327 } 1328 } 1330 /* Augment label hop of path-route of secondary path */ 1331 augment "/te:te/te:tunnels/te:tunnel/" 1332 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1333 + "te:computed-paths-properties" 1334 + "/te:computed-path-properties/" 1335 + "te:path-properties/te:path-route-objects/" 1336 + "te:path-computed-route-object/te:type/te:label/" 1337 + "te:label-hop/te:te-label/te:technology" { 1338 description "OTN label."; 1339 case otn { 1340 uses layer1-types:otn-path-label; 1341 } 1342 } 1344 /* Augment label hop of record-route of secondary LSP */ 1345 augment "/te:te/te:tunnels/te:tunnel/" 1346 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1347 + "te:lsps/te:lsp/te:lsp-record-route-information/" 1348 + "te:lsp-record-route-information/te:type/te:label/" 1349 + "te:label-hop/te:te-label/te:technology" { 1351 description "OTN label."; 1352 case otn { 1353 uses layer1-types:otn-path-label; 1354 } 1355 } 1357 /* Augment label hop of path-route of secondary LSP */ 1358 augment "/te:te/te:tunnels/te:tunnel/" 1359 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1360 + "te:lsps/te:lsp/te:path-properties/" 1361 + "te:path-route-objects/" 1362 + "te:path-computed-route-object/te:type/te:label/" 1363 + "te:label-hop/te:te-label/te:technology" { 1364 description "OTN label."; 1365 case otn { 1366 uses layer1-types:otn-path-label; 1367 } 1368 } 1370 /* Augment label hop of record-route of LSP */ 1371 augment "/te:te/te:lsps-state/" 1372 + "te:lsp/te:lsp-record-route-information/" 1373 + "te:lsp-record-route-information/te:type/te:label/" 1374 + "te:label-hop/te:te-label/te:technology" { 1375 description "OTN label."; 1376 case otn { 1377 uses layer1-types:otn-path-label; 1378 } 1379 } 1380 /* 1381 grouping p2p-path-ero { 1382 description 1383 "TE tunnel ERO configuration grouping"; 1385 leaf te-default-metric { 1386 type uint32; 1387 description 1388 "Traffic engineering metric."; 1389 } 1390 leaf te-delay-metric { 1391 type uint32; 1392 description 1393 "Traffic engineering delay metric."; 1394 } 1395 leaf te-hop-metric { 1396 type uint32; 1397 description 1398 "Traffic engineering hop metric."; 1400 } 1401 container explicit-route-objects-always { 1402 description "Explicit route objects container"; 1403 list route-object-include-exclude { 1404 key "index"; 1405 description 1406 "List of explicit route objects"; 1407 leaf explicit-route-usage { 1408 type identityref { 1409 base te-types:route-usage-type; 1410 } 1411 description "An explicit-route hop action."; 1412 } 1413 uses te-types:explicit-route-hop { 1414 augment "type/label/label-hop/te-label/technology" { 1415 description "OTN label."; 1416 case otn { 1417 uses layer1-types:otn-path-label; 1418 } 1419 } 1420 } 1421 } 1422 } 1423 } 1424 */ 1425 /* 1426 rpc otn-te-tunnel-path-compute { 1427 description "OTN TE tunnel path computation"; 1428 input { 1429 list request { 1430 key "id"; 1431 description "A list of path computation requests."; 1433 leaf id { 1434 type uint8; 1435 description 1436 "Request ID."; 1437 } 1438 leaf type { 1439 type identityref { 1440 base te-types:te-tunnel-type; 1441 } 1442 description "TE tunnel type."; 1443 } 1444 leaf source { 1445 type inet:ip-address; 1446 description 1447 "TE tunnel source address."; 1449 } 1451 leaf destination { 1452 type inet:ip-address; 1453 description 1454 "TE tunnel destination address"; 1455 } 1456 leaf src-tp-id { 1457 type binary; 1458 description 1459 "TE tunnel source termination point identifier."; 1460 } 1461 leaf dst-tp-id { 1462 type binary; 1463 description 1464 "TE tunnel destination termination point identifier."; 1465 } 1466 leaf switching-layer { 1467 type identityref { 1468 base te-types:switching-capabilities; 1469 } 1470 description 1471 "Switching layer where the requests are computed."; 1472 } 1473 leaf encoding { 1474 type identityref { 1475 base te-types:lsp-encoding-types; 1476 } 1477 description "LSP encoding type"; 1478 } 1479 leaf protection-type { 1480 type identityref { 1481 base te-types:lsp-protection-type; 1482 } 1483 description "LSP protection type"; 1484 } 1485 leaf restoration-type { 1486 type identityref { 1487 base te-types:lsp-restoration-type; 1488 } 1489 description "LSP restoration type"; 1490 } 1491 leaf provider-id { 1492 type te-types:te-global-id; 1493 description 1494 "An identifier to uniquely identify a provider."; 1495 } 1496 leaf client-id { 1497 type te-types:te-global-id; 1498 description 1500 "An identifier to uniquely identify a client."; 1501 } 1502 leaf te-topology-id { 1503 type te-types:te-topology-id; 1504 description 1505 "It is presumed that a datastore will contain many 1506 topologies. To distinguish between topologies it is 1507 vital to have UNIQUE topology identifiers."; 1508 } 1509 leaf setup-priority { 1510 type uint8 { 1511 range "0..7"; 1512 } 1513 description 1514 "TE LSP setup priority"; 1515 } 1516 leaf hold-priority { 1517 type uint8 { 1518 range "0..7"; 1519 } 1520 description 1521 "TE LSP hold priority"; 1522 } 1523 leaf te-path-metric-type { 1524 type identityref { 1525 base te-types:path-metric-type; 1526 } 1527 default te-types:path-metric-te; 1528 description 1529 "The tunnel path metric type."; 1530 } 1532 leaf odu-type { 1533 type identityref{ 1534 base layer1-types:odu-type; 1535 } 1536 description "Type of ODU"; 1537 } 1538 container p2p-primary-paths { 1539 description "Set of P2P primary paths container"; 1540 list p2p-primary-path { 1541 key "name"; 1542 description 1543 "List of primary paths for this tunnel."; 1544 leaf name { 1545 type string; 1546 description "TE path name"; 1547 } 1549 uses p2p-path-ero; 1550 } 1551 } 1552 container p2p-secondary-paths { 1553 description "Set of P2P secondary paths container"; 1554 list p2p-secondary-path { 1555 key "name"; 1556 description 1557 "List of secondary paths for this tunnel."; 1558 leaf name { 1559 type string; 1560 description "TE path name"; 1561 } 1562 uses p2p-path-ero; 1563 } 1564 } 1565 uses otn-tunnel-attributes; 1566 } 1567 } 1568 output { 1569 leaf return-code { 1570 type enumeration { 1571 enum success { 1572 description "success"; 1573 } 1574 enum aborted { 1575 description "aborted"; 1576 } 1577 enum destination-not-found { 1578 description "destination-not-found"; 1579 } 1580 enum invalid-argument { 1581 description "invalid-argument"; 1582 } 1583 enum no-memory { 1584 description "no-memory"; 1585 } 1586 enum no-path-found { 1587 description "no-path-found"; 1588 } 1589 enum other-error { 1590 description "other-error"; 1591 } 1592 enum some-path-not-found { 1593 description "some-path-not-found"; 1594 } 1595 enum source-not-found { 1596 description "source-not-found"; 1598 } 1599 enum topology-error { 1600 description "topology-error"; 1601 } 1602 } 1603 description 1604 "Return code"; 1605 } 1606 list result { 1607 key "id"; 1608 description 1609 "A list of results for all requests."; 1611 leaf id { 1612 type uint8; 1613 description 1614 "Request ID"; 1615 } 1616 container p2p-primary-paths { 1617 description "Set of P2P primary paths container"; 1618 list p2p-primary-path { 1619 key "name"; 1620 description 1621 "List of resultant primary paths for this tunnel."; 1622 leaf name { 1623 type string; 1624 description "TE path name"; 1625 } 1626 uses p2p-path-ero; 1627 } 1628 } 1629 container p2p-secondary-paths { 1630 description "Set of P2P secondary paths container"; 1631 list p2p-secondary-path { 1632 key "name"; 1633 description 1634 "List of resultant secondary paths for this tunnel."; 1635 leaf name { 1636 type string; 1637 description "TE path name"; 1638 } 1639 uses p2p-path-ero; 1640 } 1642 } 1643 } 1644 } 1645 }*/ 1646 } 1648 1650 6. Security Considerations 1652 The YANG module specified in this document defines a schema for data 1653 that is designed to be accessed via network management protocols such 1654 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 1655 is the secure transport layer, and the mandatory-to-implement secure 1656 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 1657 is HTTPS, and the mandatory-to-implement secure transport is TLS 1658 [RFC8446]. 1660 The NETCONF access control model [RFC8341] provides the means to 1661 restrict access for particular NETCONF or RESTCONF users to a 1662 preconfigured subset of all available NETCONF or RESTCONF protocol 1663 operations and content. 1665 There are a number of data nodes defined in this YANG module that are 1666 writable/creatable/deletable (i.e., config true, which is the 1667 default). These data nodes may be considered sensitive or vulnerable 1668 in some network environments. Write operations (e.g., edit-config) 1669 to these data nodes without proper protection can have a negative 1670 effect on network operations. These are the subtrees and data nodes 1671 and their sensitivity/vulnerability: 1673 /te:te/te:tunnels/te:tunnel /te:te/../te:te-bandwidth/te:technology 1674 /te:te/../te:type/te:label/te:label-hop/te:te-label/te:technology 1675 /te:te/../te:label-restrictions/te:label-restriction/te:label-start/ 1676 te:te-label/te:technology /te:te/../te:label-restrictions/te:label- 1677 restriction/te:label-end/te:te-label/te:technology 1678 /te:te/../te:label-restrictions/te:label-restriction/ Editors note: 1679 we are using simplified description by folding similar branches to 1680 avoid repetation. 1682 Some of the readable data nodes in this YANG module may be considered 1683 sensitive or vulnerable in some network environments. It is thus 1684 important to control read access (e.g., via get, get-config, or 1685 notification) to these data nodes. These are the subtrees and data 1686 nodes and their sensitivity/vulnerability: 1688 /te:te/../te:type/te:label/te:label-hop/te:te-label/te:technology 1689 Editors note: we are using simplified description by folding similar 1690 branches to avoid repetation. 1692 Some of the RPC operations in this YANG module may be considered 1693 sensitive or vulnerable in some network environments. It is thus 1694 important to control access to these operations. These are the 1695 operations and their sensitivity/vulnerability: 1697 +---x otn-te-tunnel-path-compute This path compute RPC provides a 1698 mechanism to enable the client to query and/or subscribe on the 1699 tunnel to be notified whenever it changes. Thus path computation is 1700 only for the client reference, with no real deploy or resource 1701 reservation. 1703 7. IANA Considerations 1705 It is proposed that IANA should assign new URIs from the "IETF XML 1706 Registry" [RFC3688] as follows: 1708 URI: urn:ietf:params:xml:ns:yang:ietf-otn-tunnel 1709 Registrant Contact: The IESG 1710 XML: N/A; the requested URI is an XML namespace. 1712 URI: urn:ietf:params:xml:ns:yang:ietf-otn-types 1713 Registrant Contact: The IESG 1714 XML: N/A; the requested URI is an XML namespace. 1716 This document registers following YANG modules in the YANG Module 1717 Names registry [RFC7950]. 1719 name: ietf-otn-tunnel 1720 namespace: urn:ietf:params:xml:ns:yang:ietf-otn-tunnel 1721 prefix: otn-tunnel 1722 reference: RFC XXXX 1724 name: ietf-otn-types 1725 namespace: urn:ietf:params:xml:ns:yang:ietf-otn-types 1726 prefix: otn-types 1727 reference: RFC XXXX 1729 8. Acknowledgements 1731 TBD. 1733 9. Contributors 1735 Dieter Beller 1736 Nokia 1737 Email: dieter.beller@nokia.com 1739 Yanlei Zheng 1740 China Unicom 1741 Email: zhengyl@dimpt.com 1743 Xian Zhang 1744 Huawei Technologies 1745 Email: zhang.xian@huawei.com 1747 Lei Wang 1748 China Mobile 1749 Email: wangleiyj@chinamobile.com 1751 Oscar Gonzalez de Dios 1752 Telefonica 1753 Email: oscar.gonzalezdedios@telefonica.com 1755 10. References 1757 10.1. Normative References 1759 [I-D.ietf-ccamp-otn-topo-yang] 1760 Zheng, H., Guo, A., Busi, I., Sharma, A., Liu, X., 1761 Belotti, S., Xu, Y., Wang, L., and O. Dios, "A YANG Data 1762 Model for Optical Transport Network Topology", draft-ietf- 1763 ccamp-otn-topo-yang-07 (work in progress), July 2019. 1765 [I-D.ietf-teas-yang-te] 1766 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 1767 "A YANG Data Model for Traffic Engineering Tunnels and 1768 Interfaces", draft-ietf-teas-yang-te-21 (work in 1769 progress), April 2019. 1771 [ITU-T] ITU-, T., "SERIES G: TRANSMISSION SYSTEMS AND MEDIA, 1772 DIGITAL SYSTEMS AND NETWORKS; Digital networks; Interfaces 1773 for the optical transport network", ITU-T Rec. G.709v5 , 1774 June 2016. 1776 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1777 DOI 10.17487/RFC3688, January 2004, 1778 . 1780 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1781 and A. Bierman, Ed., "Network Configuration Protocol 1782 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1783 . 1785 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1786 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 1787 . 1789 [RFC7139] Zhang, F., Ed., Zhang, G., Belotti, S., Ceccarelli, D., 1790 and K. Pithewan, "GMPLS Signaling Extensions for Control 1791 of Evolving G.709 Optical Transport Networks", RFC 7139, 1792 DOI 10.17487/RFC7139, March 2014, 1793 . 1795 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1796 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1797 . 1799 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 1800 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 1801 . 1803 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 1804 Access Control Model", STD 91, RFC 8341, 1805 DOI 10.17487/RFC8341, March 2018, 1806 . 1808 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 1809 and R. Wilton, "Network Management Datastore Architecture 1810 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 1811 . 1813 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 1814 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 1815 . 1817 10.2. Informative References 1819 [I-D.ietf-ccamp-transport-nbi-app-statement] 1820 Busi, I., King, D., Zheng, H., and Y. Xu, "Transport 1821 Northbound Interface Applicability Statement", draft-ietf- 1822 ccamp-transport-nbi-app-statement-05 (work in progress), 1823 March 2019. 1825 [I-D.ietf-teas-actn-yang] 1826 Lee, Y., Zheng, H., Ceccarelli, D., Yoon, B., Dios, O., 1827 Shin, J., and S. Belotti, "Applicability of YANG models 1828 for Abstraction and Control of Traffic Engineered 1829 Networks", draft-ietf-teas-actn-yang-03 (work in 1830 progress), February 2019. 1832 [RFC7062] Zhang, F., Ed., Li, D., Li, H., Belotti, S., and D. 1833 Ceccarelli, "Framework for GMPLS and PCE Control of G.709 1834 Optical Transport Networks", RFC 7062, 1835 DOI 10.17487/RFC7062, November 2013, 1836 . 1838 [RFC7138] Ceccarelli, D., Ed., Zhang, F., Belotti, S., Rao, R., and 1839 J. Drake, "Traffic Engineering Extensions to OSPF for 1840 GMPLS Control of Evolving G.709 Optical Transport 1841 Networks", RFC 7138, DOI 10.17487/RFC7138, March 2014, 1842 . 1844 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 1845 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 1846 . 1848 Authors' Addresses 1850 Haomian Zheng 1851 Huawei Technologies 1852 H1-1-A043S Huawei Industrial Base, Songshanhu 1853 Dongguan, Guangdong 523808 1854 China 1856 Email: zhenghaomian@huawei.com 1858 Aihua Guo 1859 Huawei Technologies 1860 12007 Sunrise Valley Drive, Suite 325 1861 Reston, VA 20171 1862 U.S.A 1864 Email: aihuaguo@huawei.com 1865 Italo Busi 1866 Huawei Technologies 1867 HUAWEI TECHNOLOGIES ITALIA Srl Centro Direzionale Milano 2 1868 Milan, Milan 20090 1869 Italy 1871 Email: Italo.Busi@huawei.com 1873 Anurag Sharma 1874 Google 1875 1600 Amphitheatre Parkway 1876 Mountain View, CA 94043 1877 USA 1879 Email: ansha@google.com 1881 Rajan Rao 1882 Infinera 1883 169 Java Drive 1884 Sunnyvale, CA 94089 1885 USA 1887 Email: rrao@infinera.com 1889 Sergio Belotti 1890 Nokia 1892 Email: sergio.belotti@nokia.com 1894 Victor Lopez 1895 Telefonica 1897 Email: victor.lopezalvarez@telefonica.com 1899 Yunbo Li 1900 China Mobile 1902 Email: liyunbo@chinamobile.com 1903 Yunbin Xu 1904 CAICT 1906 Email: xuyunbin@ritt.cn