idnits 2.17.1 draft-ietf-ccamp-otn-tunnel-model-01.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 12 instances of too long lines in the document, the longest one being 3 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 (October 30, 2017) is 2363 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 (-06) exists of draft-ietf-netmod-yang-tree-diagrams-02 Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 CCAMP Working Group H. Zheng 3 Internet-Draft Z. Fan 4 Intended status: Standards Track Huawei Technologies 5 Expires: May 3, 2018 A. Sharma 6 Google 7 R. Rao 8 Infinera 9 S. Belotti 10 Nokia 11 V. Lopez 12 Telefonica 13 Y. Li 14 China Mobile 15 Y. Xu 16 CAICT 17 October 30, 2017 19 OTN Tunnel YANG Model 20 draft-ietf-ccamp-otn-tunnel-model-01 22 Abstract 24 This document describes the YANG data model for OTN Tunnels. 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at https://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on May 3, 2018. 43 Copyright Notice 45 Copyright (c) 2017 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (https://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 61 2. Terminology and Notations . . . . . . . . . . . . . . . . . . 2 62 3. Model Overview . . . . . . . . . . . . . . . . . . . . . . . 3 63 3.1. Mux Service in Multi-Domain OTN Network . . . . . . . . . 3 64 3.2. Bookended and Non-BookEnded OTN Tunnel . . . . . . . . . 4 65 3.3. Network and Client side tunnel services . . . . . . . . . 4 66 3.4. OTN Tunnel YANG Tree . . . . . . . . . . . . . . . . . . 4 67 3.5. OTN Tunnel YANG Code . . . . . . . . . . . . . . . . . . 8 68 3.6. OTN Types YANG Code . . . . . . . . . . . . . . . . . . . 18 69 4. Security Considerations . . . . . . . . . . . . . . . . . . . 26 70 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 71 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 26 72 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 26 73 8. Normative References . . . . . . . . . . . . . . . . . . . . 27 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 76 1. Introduction 78 OTN transport networks can carry various types of client services. 79 In many cases, the client signal is carried over an OTN tunnel across 80 connected domains in a multi-domain network. These OTN services can 81 either be transported or switched in the OTN network. If an OTN 82 tunnel is switched, then additional parameters need to be provided to 83 create a Mux OTN service. 85 This document provides YANG model for creating OTN tunnel. The model 86 augments the TE Tunnel model, which is an abstract model to create TE 87 Tunnels. 89 2. Terminology and Notations 91 A simplified graphical representation of the data model is used in 92 this document. The meaning of the symbols in the YANG data tree 93 presented later in this draft is defined in 94 [I-D.ietf-netmod-yang-tree-diagrams]. They are provided below for 95 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 3. Model Overview 113 3.1. Mux Service in Multi-Domain OTN Network 115 OTN Mux Service 116 <---------------------------------> 118 XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX 119 XX XX XX XX XX XX 120 XX +---+ X XX +---+ +---+ X XX +---+ XX 121 X |NE1+--------+-----+NE2+-----------+NE3+--------+-X---+NE4| X 122 X +---+ XX ^ X +---+ +---+ XX ^ XX +---+ X 123 XX XX | XX XX | XX XX 124 XXXXXXXXXXX | XXXXXXXXXXXXXXXXXXXXXXXXX | XXXXXXXXX 125 Domain-1 | Domain-2 | Domain-3 126 + + 127 Same OTN Service attributes: Same OTN Service attributes: 128 1. Client Signal 1. Client Signal 129 2. Tributary Port Number 2. Tributary Port Number 130 3. Tributary Slot Granularity 3. Tributary Slot Granularity 131 4. Tributary Slots 4. Tributary Slots 133 Figure 1: OTN Mux Service in a multi-domain network topology 135 Figure 1 shows a multi-domain OTN network with three domains. In 136 this example, user wants to setup an end-to-end OTN service that 137 passes through Domain-2. In order to create an OTN mux service in 138 Domain-2, user will need to specify the exact details of the client 139 side LO-ODU on NE2 and NE3, so that these service endpoints can be 140 paired with the LO-ODU endpoints on NE1 and NE4, respectively. 142 Let's assume that ODU4 is the client side HO-ODU on NE2 and NE3, and 143 the client signal is ODU2. User will need to specify the OTN client 144 signal (ODU2 in this example), the Tributary Port Number (TPN), 145 Tributary Slot Granularities (TSG) and tributary slots to be used. 146 As shown in the figure above, these service parameters must be the 147 same between NE1 and NE2, and NE3 and NE4. 149 Once the OTN Mux service is setup in Domain-2, the incoming signal 150 from either NE1 and/or NE4 will be switched inside Domain-2, and 151 delivered to NE at the other end. 153 3.2. Bookended and Non-BookEnded OTN Tunnel 155 OTN tunnel model provides support for both bookended and non- 156 bookended OTN tunnels. 158 For bookended tunnels, the same client signal is present on source 159 and destination endpoints. For example, ODU2e bookended tunnel will 160 have the same ODU2e client signal at both source and destination 161 endpoints. 163 For non-bookended tunnels, different client signals are present on 164 source and destination endpoints. For example, the client signal can 165 be ODU2e on the source endpoint and the handoff at the destination 166 can be 10GbE-LAN client signal. 168 3.3. Network and Client side tunnel services 170 The OTN tunnel model provides support for both network to network and 171 client to client tunnels. For network to network tunnel, network 172 termination points on source and destination node represent source 173 and destination endpoints. For client to client tunnel, client 174 termination points on source and destination node represent source 175 and destination endpoints. 177 If a client to client tunnel needs to use one or more HO (or server) 178 network to network tunnels, ERO and routing constraints, defined in 179 the base TE model, can be used to route the client tunnel over one or 180 more server tunnels. 182 3.4. OTN Tunnel YANG Tree 184 module: ietf-otn-tunnel 185 augment /te:te/te:tunnels/te:tunnel: 186 +--rw payload-treatment? enumeration 187 +--rw src-client-signal? identityref 188 +--rw src-tpn? uint16 189 +--rw src-tsg? identityref 190 +--rw src-tributary-slot-count? uint16 191 +--rw src-tributary-slots 192 | +--rw values* uint8 193 +--rw dst-client-signal? identityref 194 +--rw dst-tpn? uint16 195 +--rw dst-tsg? identityref 196 +--rw dst-tributary-slot-count? uint16 197 +--rw dst-tributary-slots 198 +--rw values* uint8 200 rpcs: 201 +---x otn-te-tunnel-path-compute 202 +---w input 203 | +---w request* [id] 204 | +---w id uint8 205 | +---w type? identityref 206 | +---w source? inet:ip-address 207 | +---w destination? inet:ip-address 208 | +---w src-tp-id? binary 209 | +---w dst-tp-id? binary 210 | +---w switching-layer? identityref 211 | +---w encoding? identityref 212 | +---w protection-type? identityref 213 | +---w restoration-type? identityref 214 | +---w provider-id? te-types:te-global-id 215 | +---w client-id? te-types:te-global-id 216 | +---w te-topology-id? te-types:te-topology-id 217 | +---w setup-priority? uint8 218 | +---w hold-priority? uint8 219 | +---w te-path-metric-type? identityref 220 | +---w odu-type? identityref 221 | +---w p2p-primary-paths 222 | | +---w p2p-primary-path* [name] 223 | | +---w name string 224 | | +---w te-default-metric? uint32 225 | | +---w te-delay-metric? uint32 226 | | +---w te-hop-metric? uint32 227 | | +---w explicit-route-objects 228 | | +---w explicit-route-object* [index] 229 | | +---w explicit-route-usage? identityref 230 | | +---w index uint32 231 | | +---w (type)? 232 | | +--:(numbered) 233 | | | +---w numbered-hop 234 | | | +---w address? te-types:te-tp-id 235 | | | +---w hop-type? te-hop-type 236 | | +--:(as-number) 237 | | | +---w as-number-hop 238 | | | +---w as-number? binary 239 | | | +---w hop-type? te-hop-type 240 | | +--:(unnumbered) 241 | | | +---w unnumbered-hop 242 | | | +---w node-id? te-types:te-node-id 243 | | | +---w link-tp-id? te-types:te-tp-id 244 | | | +---w hop-type? te-hop-type 245 | | +--:(label) 246 | | | +---w label-hop 247 | | | +---w value? rt-types:generalized-label 248 | | +--:(sid) 249 | | +---w sid-hop 250 | | +---w sid? rt-types:generalized-label 251 | +---w p2p-secondary-paths 252 | | +---w p2p-secondary-path* [name] 253 | | +---w name string 254 | | +---w te-default-metric? uint32 255 | | +---w te-delay-metric? uint32 256 | | +---w te-hop-metric? uint32 257 | | +---w explicit-route-objects 258 | | +---w explicit-route-object* [index] 259 | | +---w explicit-route-usage? identityref 260 | | +---w index uint32 261 | | +---w (type)? 262 | | +--:(numbered) 263 | | | +---w numbered-hop 264 | | | +---w address? te-types:te-tp-id 265 | | | +---w hop-type? te-hop-type 266 | | +--:(as-number) 267 | | | +---w as-number-hop 268 | | | +---w as-number? binary 269 | | | +---w hop-type? te-hop-type 270 | | +--:(unnumbered) 271 | | | +---w unnumbered-hop 272 | | | +---w node-id? te-types:te-node-id 273 | | | +---w link-tp-id? te-types:te-tp-id 274 | | | +---w hop-type? te-hop-type 275 | | +--:(label) 276 | | | +---w label-hop 277 | | | +---w value? rt-types:generalized-label 278 | | +--:(sid) 279 | | +---w sid-hop 280 | | +---w sid? rt-types:generalized-label 281 | +---w payload-treatment? enumeration 282 | +---w src-client-signal? identityref 283 | +---w src-tpn? uint16 284 | +---w src-tsg? identityref 285 | +---w src-tributary-slot-count? uint16 286 | +---w src-tributary-slots 287 | | +---w values* uint8 288 | +---w dst-client-signal? identityref 289 | +---w dst-tpn? uint16 290 | +---w dst-tsg? identityref 291 | +---w dst-tributary-slot-count? uint16 292 | +---w dst-tributary-slots 293 | +---w values* uint8 294 +--ro output 295 +--ro return-code? enumeration 296 +--ro result* [id] 297 +--ro id uint8 298 +--ro p2p-primary-paths 299 | +--ro p2p-primary-path* [name] 300 | +--ro name string 301 | +--ro te-default-metric? uint32 302 | +--ro te-delay-metric? uint32 303 | +--ro te-hop-metric? uint32 304 | +--ro explicit-route-objects 305 | +--ro explicit-route-object* [index] 306 | +--ro explicit-route-usage? identityref 307 | +--ro index uint32 308 | +--ro (type)? 309 | +--:(numbered) 310 | | +--ro numbered-hop 311 | | +--ro address? te-types:te-tp-id 312 | | +--ro hop-type? te-hop-type 313 | +--:(as-number) 314 | | +--ro as-number-hop 315 | | +--ro as-number? binary 316 | | +--ro hop-type? te-hop-type 317 | +--:(unnumbered) 318 | | +--ro unnumbered-hop 319 | | +--ro node-id? te-types:te-node-id 320 | | +--ro link-tp-id? te-types:te-tp-id 321 | | +--ro hop-type? te-hop-type 322 | +--:(label) 323 | | +--ro label-hop 324 | | +--ro value? rt-types:generalized-label 325 | +--:(sid) 326 | +--ro sid-hop 327 | +--ro sid? rt-types:generalized-label 328 +--ro p2p-secondary-paths 329 +--ro p2p-secondary-path* [name] 330 +--ro name string 331 +--ro te-default-metric? uint32 332 +--ro te-delay-metric? uint32 333 +--ro te-hop-metric? uint32 334 +--ro explicit-route-objects 335 +--ro explicit-route-object* [index] 336 +--ro explicit-route-usage? identityref 337 +--ro index uint32 338 +--ro (type)? 339 +--:(numbered) 340 | +--ro numbered-hop 341 | +--ro address? te-types:te-tp-id 342 | +--ro hop-type? te-hop-type 343 +--:(as-number) 344 | +--ro as-number-hop 345 | +--ro as-number? binary 346 | +--ro hop-type? te-hop-type 347 +--:(unnumbered) 348 | +--ro unnumbered-hop 349 | +--ro node-id? te-types:te-node-id 350 | +--ro link-tp-id? te-types:te-tp-id 351 | +--ro hop-type? te-hop-type 352 +--:(label) 353 | +--ro label-hop 354 | +--ro value? rt-types:generalized-label 355 +--:(sid) 356 +--ro sid-hop 357 +--ro sid? rt-types:generalized-label 359 3.5. OTN Tunnel YANG Code 361 file "ietf-otn-tunnel@2017-10-30.yang" 363 module ietf-otn-tunnel { 364 yang-version 1.1; 366 namespace "urn:ietf:params:xml:ns:yang:ietf-otn-tunnel"; 367 prefix "otn-tunnel"; 369 import ietf-te { 370 prefix "te"; 371 } 373 import ietf-otn-types { 374 prefix "otn-types"; 375 } 376 import ietf-te-types { 377 prefix "te-types"; 378 } 380 import ietf-inet-types { 381 prefix "inet"; 382 } 384 organization 385 "IETF CCAMP Working Group"; 386 contact 387 "WG Web: 388 WG List: 390 Editor: Haomian Zheng 391 393 Editor: Zheyu Fan 394 396 Editor: Anurag Sharma 397 399 Editor: Rajan Rao 400 402 Editor: Sergio Belotti 403 405 Editor: Victor Lopez 406 408 Editor: Yunbo Li 409 411 Editor: Yunbin Xu 412 "; 414 description 415 "This module defines a model for OTN Tunnel Services."; 417 revision "2017-10-30" { 418 description 419 "Revision 0.4"; 420 reference 421 "draft-ietf-ccamp-otn-tunnel-model-01.txt"; 422 } 423 grouping otn-tunnel-endpoint { 424 description "Parameters for OTN tunnel"; 426 leaf payload-treatment { 427 type enumeration { 428 enum switching { 429 description "Client signal is switched to another tunnel 430 in this domain"; 431 } 432 enum transport { 433 description "Client signal is transparently transmitted 434 in this domain"; 435 } 436 } 437 default switching; 438 description 439 "Treatment of the incoming payload. Payload can be switched 440 or transported."; 441 } 443 leaf src-client-signal { 444 type identityref { 445 base otn-types:client-signal; 446 } 447 description 448 "Client signal at the source endpoint of the tunnel"; 449 } 451 leaf src-tpn { 452 type uint16 { 453 range "0..4095"; 454 } 455 description 456 "Tributary Port Number. Applicable in case of mux services"; 457 reference 458 "RFC7139: GMPLS Signaling Extensions for Control of Evolving 459 G.709 Optical Transport Networks"; 460 } 462 leaf src-tsg { 463 type identityref { 464 base otn-types:tributary-slot-granularity; 465 } 466 description 467 "Tributary slot granularity. 468 Applicable in case of mux services"; 469 reference 470 "G.709/Y.1331, February 2016: Interfaces for the 471 Optical Transport Network (OTN)"; 472 } 474 leaf src-tributary-slot-count { 475 type uint16; 476 description 477 "Number of tributary slots used at the source."; 478 } 480 container src-tributary-slots { 481 description 482 "A list of tributary slots used by the client service. 483 Applicable in case of mux services"; 484 leaf-list values { 485 type uint8; 486 description 487 "Tributary tributary slot value"; 488 reference 489 "G.709/Y.1331, February 2016: Interfaces for the 490 Optical Transport Network (OTN)"; 491 } 492 } 494 leaf dst-client-signal { 495 type identityref { 496 base otn-types:client-signal; 497 } 498 description 499 "Client signal at the destination endpoint of the tunnel"; 500 } 502 leaf dst-tpn { 503 type uint16 { 504 range "0..4095"; 505 } 506 description 507 "Tributary Port Number. Applicable in case of mux services"; 508 reference 509 "RFC7139: GMPLS Signaling Extensions for Control of Evolving 510 G.709 Optical Transport Networks."; 511 } 513 leaf dst-tsg { 514 type identityref { 515 base otn-types:tributary-slot-granularity; 516 } 517 description 518 "Tributary slot granularity. 520 Applicable in case of mux services"; 521 reference 522 "G.709/Y.1331, February 2016: Interfaces for the 523 Optical Transport Network (OTN)"; 524 } 526 leaf dst-tributary-slot-count { 527 type uint16; 528 description 529 "Number of tributary slots used at the destination."; 530 } 532 container dst-tributary-slots { 533 description 534 "A list of tributary slots used by the client service. 535 Applicable in case of mux services"; 536 leaf-list values { 537 type uint8; 538 description 539 "Tributary slot value"; 540 reference 541 "G.709/Y.1331, February 2016: Interfaces for the 542 Optical Transport Network (OTN)"; 543 } 544 } 545 } 547 /* 548 Note: Comment has been given to authors of TE Tunnel model to add 549 list of endpoints under config to support P2MP tunnel. 550 */ 551 augment "/te:te/te:tunnels/te:tunnel" { 552 description 553 "Augment with additional parameters required for OTN service"; 554 uses otn-tunnel-endpoint; 555 } 557 grouping p2p-path-ero { 558 description 559 "TE tunnel ERO configuration grouping"; 561 leaf te-default-metric { 562 type uint32; 563 description 564 "Traffic engineering metric."; 565 } 566 leaf te-delay-metric { 567 type uint32; 568 description 569 "Traffic engineering delay metric."; 570 } 571 leaf te-hop-metric { 572 type uint32; 573 description 574 "Traffic engineering hop metric."; 575 } 576 container explicit-route-objects { 577 description "Explicit route objects container"; 578 list explicit-route-object { 579 key "index"; 580 description 581 "List of explicit route objects"; 582 leaf explicit-route-usage { 583 type identityref { 584 base te-types:route-usage-type; 585 } 586 description "An explicit-route hop action."; 587 } 588 uses te-types:explicit-route-hop_config; 589 } 590 } 591 } 593 rpc otn-te-tunnel-path-compute { 594 description "OTN TE tunnel path computation"; 595 input { 596 list request { 597 key "id"; 598 description "A list of path computation requests."; 600 leaf id { 601 type uint8; 602 description 603 "Request ID."; 604 } 605 leaf type { 606 type identityref { 607 base te-types:tunnel-type; 608 } 609 description "TE tunnel type."; 610 } 611 leaf source { 612 type inet:ip-address; 613 description 614 "TE tunnel source address."; 615 } 616 leaf destination { 617 type inet:ip-address; 618 description 619 "TE tunnel destination address"; 620 } 621 leaf src-tp-id { 622 type binary; 623 description 624 "TE tunnel source termination point identifier."; 625 } 626 leaf dst-tp-id { 627 type binary; 628 description 629 "TE tunnel destination termination point identifier."; 630 } 631 leaf switching-layer { 632 type identityref { 633 base te-types:switching-capabilities; 634 } 635 description 636 "Switching layer where the requests are computed."; 637 } 638 leaf encoding { 639 type identityref { 640 base te-types:lsp-encoding-types; 641 } 642 description "LSP encoding type"; 643 } 644 leaf protection-type { 645 type identityref { 646 base te-types:lsp-protection-type; 647 } 648 description "LSP protection type"; 649 } 650 leaf restoration-type { 651 type identityref { 652 base te-types:lsp-restoration-type; 653 } 654 description "LSP restoration type"; 655 } 656 leaf provider-id { 657 type te-types:te-global-id; 658 description 659 "An identifier to uniquely identify a provider."; 660 } 661 leaf client-id { 662 type te-types:te-global-id; 663 description 664 "An identifier to uniquely identify a client."; 665 } 666 leaf te-topology-id { 667 type te-types:te-topology-id; 668 description 669 "It is presumed that a datastore will contain many 670 topologies. To distinguish between topologies it is 671 vital to have UNIQUE topology identifiers."; 672 } 673 leaf setup-priority { 674 type uint8 { 675 range "0..7"; 676 } 677 description 678 "TE LSP setup priority"; 679 } 680 leaf hold-priority { 681 type uint8 { 682 range "0..7"; 683 } 684 description 685 "TE LSP hold priority"; 686 } 687 leaf te-path-metric-type { 688 type identityref { 689 base te-types:path-metric-type; 690 } 691 default te-types:path-metric-te; 692 description 693 "The tunnel path metric type."; 694 } 696 leaf odu-type { 697 type identityref{ 698 base otn-types:tributary-protocol-type; 699 } 700 description "Type of ODU"; 701 } 702 container p2p-primary-paths { 703 description "Set of P2P primary paths container"; 704 list p2p-primary-path { 705 key "name"; 706 description 707 "List of primary paths for this tunnel."; 708 leaf name { 709 type string; 710 description "TE path name"; 711 } 712 uses p2p-path-ero; 713 } 714 } 715 container p2p-secondary-paths { 716 description "Set of P2P secondary paths container"; 717 list p2p-secondary-path { 718 key "name"; 719 description 720 "List of secondary paths for this tunnel."; 721 leaf name { 722 type string; 723 description "TE path name"; 724 } 725 uses p2p-path-ero; 726 } 727 } 728 uses otn-tunnel-endpoint; 729 } 730 } 731 output { 732 leaf return-code { 733 type enumeration { 734 enum success { 735 description "success"; 736 } 737 enum aborted { 738 description "aborted"; 739 } 740 enum destination-not-found { 741 description "destination-not-found"; 742 } 743 enum invalid-argument { 744 description "invalid-argument"; 745 } 746 enum no-memory { 747 description "no-memory"; 748 } 749 enum no-path-found { 750 description "no-path-found"; 751 } 752 enum other-error { 753 description "other-error"; 754 } 755 enum some-path-not-found { 756 description "some-path-not-found"; 757 } 758 enum source-not-found { 759 description "source-not-found"; 761 } 762 enum topology-error { 763 description "topology-error"; 764 } 765 } 766 description 767 "Return code"; 768 } 769 list result { 770 key "id"; 771 description 772 "A list of results for all requests."; 774 leaf id { 775 type uint8; 776 description 777 "Request ID"; 778 } 779 container p2p-primary-paths { 780 description "Set of P2P primary paths container"; 781 list p2p-primary-path { 782 key "name"; 783 description 784 "List of resultant primary paths for this tunnel."; 785 leaf name { 786 type string; 787 description "TE path name"; 788 } 789 uses p2p-path-ero; 790 } 791 } 792 container p2p-secondary-paths { 793 description "Set of P2P secondary paths container"; 794 list p2p-secondary-path { 795 key "name"; 796 description 797 "List of resultant secondary paths for this tunnel."; 798 leaf name { 799 type string; 800 description "TE path name"; 801 } 802 uses p2p-path-ero; 803 } 804 } 805 } 806 } 807 } 808 } 809 811 3.6. OTN Types YANG Code 813 file "ietf-otn-types@2017-10-30.yang" 815 module ietf-otn-types { 816 namespace "urn:ietf:params:xml:ns:yang:ietf-otn-types"; 817 prefix "otn-types"; 819 organization 820 "IETF CCAMP Working Group"; 821 contact 822 "WG Web: 823 WG List: 825 Editor: Haomian Zheng 826 828 Editor: Zheyu Fan 829 831 Editor: Anurag Sharma 832 834 Editor: Rajan Rao 835 837 Editor: Sergio Belotti 838 840 Editor: Victor Lopez 841 843 Editor: Yunbo Li 844 846 Editor: Yunbin Xu 847 "; 849 description 850 "This module defines OTN types."; 852 revision "2017-10-30" { 853 description 854 "Revision 0.4"; 856 reference 857 "draft-ietf-ccamp-otn-tunnel-model-01.txt"; 858 } 860 identity tributary-slot-granularity { 861 description 862 "Tributary slot granularity"; 863 reference 864 "G.709/Y.1331, February 2016: Interfaces for the Optical 865 Transport Network (OTN)"; 866 } 868 identity tsg-1.25G { 869 base tributary-slot-granularity; 870 description 871 "1.25G tributary slot granularity"; 872 } 874 identity tsg-2.5G { 875 base tributary-slot-granularity; 876 description 877 "2.5G tributary slot granularity"; 878 } 879 /* 880 identity tsg-1.25Gand2.5G { 881 base tributary-slot-granularity; 882 description 883 "Both 1.25G and 2.5G tributary slot granularity"; 884 } 885 */ 886 identity tributary-protocol-type { 887 description 888 "Base identity for protocol framing used by tributary signals"; 889 } 891 identity prot-OTU1 { 892 base tributary-protocol-type; 893 description 894 "OTU1 protocol (2.66G)"; 895 } 896 /* 897 identity prot-OTU1e { 898 base tributary-protocol-type; 899 description 900 "OTU1e type (11.04G)"; 901 } 903 identity prot-OTU1f { 904 base tributary-protocol-type; 905 description 906 "OTU1f type (11.27G)"; 907 } 908 */ 909 identity prot-OTU2 { 910 base tributary-protocol-type; 911 description 912 "OTU2 type (10.70G)"; 913 } 915 identity prot-OTU2e { 916 base tributary-protocol-type; 917 description 918 "OTU2e type (11.09G)"; 919 } 920 /* 921 identity prot-OTU2f { 922 base tributary-protocol-type; 923 description 924 "OTU2f type (11.31G)"; 925 } 926 */ 927 identity prot-OTU3 { 928 base tributary-protocol-type; 929 description 930 "OTU3 type (43.01G)"; 931 } 932 /* 933 identity prot-OTU3e1 { 934 base tributary-protocol-type; 935 description 936 "OTU3e1 type (44.57G)"; 937 } 939 identity prot-OTU3e2 { 940 base tributary-protocol-type; 941 description 942 "OTU3e2 type (44.58G)"; 943 } 944 */ 945 identity prot-OTU4 { 946 base tributary-protocol-type; 947 description 948 "OTU4 type (111.80G)"; 949 } 951 identity prot-OTUCn { 952 base tributary-protocol-type; 953 description 954 "OTUCn type (beyond 100G)"; 955 } 957 identity prot-ODU0 { 958 base tributary-protocol-type; 959 description 960 "ODU0 protocol (1.24G)"; 961 } 963 identity prot-ODU1 { 964 base tributary-protocol-type; 965 description 966 "ODU1 protocol (2.49G)"; 967 } 968 /* 969 identity prot-ODU1e { 970 base tributary-protocol-type; 971 description 972 "ODU1e protocol (10.35G)."; 973 } 975 identity prot-ODU1f { 976 base tributary-protocol-type; 977 description 978 "ODU1f protocol (10.56G)."; 979 } 980 */ 981 identity prot-ODU2 { 982 base tributary-protocol-type; 983 description 984 "ODU2 protocol (10.03G)"; 985 } 987 identity prot-ODU2e { 988 base tributary-protocol-type; 989 description 990 "ODU2e protocol (10.39G)"; 991 } 992 /* 993 identity prot-ODU2f { 994 base tributary-protocol-type; 995 description 996 "ODU2f protocol (10.60G)."; 997 } 998 */ 999 identity prot-ODU3 { 1000 base tributary-protocol-type; 1001 description 1002 "ODU3 protocol (40.31G)"; 1003 } 1004 /* 1005 identity prot-ODU3e1 { 1006 base tributary-protocol-type; 1007 description 1008 "ODU3e1 protocol (41.77G)."; 1009 } 1011 identity prot-ODU3e2 { 1012 base tributary-protocol-type; 1013 description 1014 "ODU3e2 protocol (41.78G)."; 1015 } 1016 */ 1017 identity prot-ODU4 { 1018 base tributary-protocol-type; 1019 description 1020 "ODU4 protocol (104.79G)"; 1021 } 1023 identity prot-ODUFlex-cbr { 1024 base tributary-protocol-type; 1025 description 1026 "ODU Flex CBR protocol for transporting constant bit rate 1027 signal"; 1028 } 1030 identity prot-ODUFlex-gfp { 1031 base tributary-protocol-type; 1032 description 1033 "ODU Flex GFP protocol for transporting stream of packets 1034 using Generic Framing Procedure"; 1035 } 1037 identity prot-ODUCn { 1038 base tributary-protocol-type; 1039 description 1040 "ODUCn protocol (beyond 100G)"; 1041 } 1043 identity prot-1GbE { 1044 base tributary-protocol-type; 1045 description 1046 "1G Ethernet protocol"; 1047 } 1048 identity prot-10GbE-LAN { 1049 base tributary-protocol-type; 1050 description 1051 "10G Ethernet LAN protocol"; 1052 } 1054 identity prot-40GbE { 1055 base tributary-protocol-type; 1056 description 1057 "40G Ethernet protocol"; 1058 } 1060 identity prot-100GbE { 1061 base tributary-protocol-type; 1062 description 1063 "100G Ethernet protocol"; 1064 } 1066 identity client-signal { 1067 description 1068 "Base identity from which specific client signals for the 1069 tunnel are derived"; 1070 } 1072 identity client-signal-1GbE { 1073 base client-signal; 1074 description 1075 "Client signal type of 1GbE"; 1076 } 1078 identity client-signal-10GbE-LAN { 1079 base client-signal; 1080 description 1081 "Client signal type of 10GbE LAN"; 1082 } 1084 identity client-signal-10GbE-WAN { 1085 base client-signal; 1086 description 1087 "Client signal type of 10GbE WAN"; 1088 } 1090 identity client-signal-40GbE { 1091 base client-signal; 1092 description 1093 "Client signal type of 40GbE"; 1094 } 1095 identity client-signal-100GbE { 1096 base client-signal; 1097 description 1098 "Client signal type of 100GbE"; 1099 } 1101 identity client-signal-OC3_STM1 { 1102 base client-signal; 1103 description 1104 "Client signal type of OC3 & STM1"; 1105 } 1107 identity client-signal-OC12_STM4 { 1108 base client-signal; 1109 description 1110 "Client signal type of OC12 & STM4"; 1111 } 1113 identity client-signal-OC48_STM16 { 1114 base client-signal; 1115 description 1116 "Client signal type of OC48 & STM16"; 1117 } 1119 identity client-signal-OC192_STM64 { 1120 base client-signal; 1121 description 1122 "Client signal type of OC192 & STM64"; 1123 } 1125 identity client-signal-OC768_STM256 { 1126 base client-signal; 1127 description 1128 "Client signal type of OC768 & STM256"; 1129 } 1131 identity client-signal-ODU0 { 1132 base client-signal; 1133 description 1134 "Client signal type of ODU0 (1.24G)"; 1135 } 1137 identity client-signal-ODU1 { 1138 base client-signal; 1139 description 1140 "ODU1 protocol (2.49G)"; 1141 } 1142 identity client-signal-ODU2 { 1143 base client-signal; 1144 description 1145 "Client signal type of ODU2 (10.03G)"; 1146 } 1148 identity client-signal-ODU2e { 1149 base client-signal; 1150 description 1151 "Client signal type of ODU2e (10.39G)"; 1152 } 1154 identity client-signal-ODU3 { 1155 base client-signal; 1156 description 1157 "Client signal type of ODU3 (40.31G)"; 1158 } 1159 /* 1160 identity client-signal-ODU3e2 { 1161 base client-signal; 1162 description 1163 "Client signal type of ODU3e2 (41.78G)"; 1164 } 1165 */ 1166 identity client-signal-ODU4 { 1167 base client-signal; 1168 description 1169 "Client signal type of ODU4 (104.79G)"; 1170 } 1172 identity client-signal-ODUflex-cbr { 1173 base client-signal; 1174 description 1175 "Client signal type of ODU Flex CBR"; 1176 } 1178 identity client-signal-ODUflex-gfp { 1179 base client-signal; 1180 description 1181 "Client signal type of ODU Flex GFP"; 1182 } 1184 identity client-signal-ODUCn { 1185 base client-signal; 1186 description 1187 "Client signal type of ODUCn (beyond 100G)"; 1188 } 1189 identity client-signal-FC400 { 1190 base client-signal; 1191 description 1192 "Client signal type of Fibre Channel FC400"; 1193 } 1195 identity client-signal-FC800 { 1196 base client-signal; 1197 description 1198 "Client signal type of Fibre Channel FC800"; 1199 } 1201 identity client-signal-FICON-4G { 1202 base client-signal; 1203 description 1204 "Client signal type of Fibre Connection 4G"; 1205 } 1207 identity client-signal-FICON-8G { 1208 base client-signal; 1209 description 1210 "Client signal type of Fibre Connection 8G"; 1211 } 1212 } 1214 1216 4. Security Considerations 1218 TBD. 1220 5. IANA Considerations 1222 TBD. 1224 6. Acknowledgements 1226 TBD. 1228 7. Contributors 1230 Dieter Beller 1231 Nokia 1232 Email: dieter.beller@nokia.com 1234 Yanlei Zheng 1235 China Unicom 1236 Email: zhengyl@dimpt.com 1238 Xian Zhang 1239 Huawei Technologies 1240 Email: zhang.xian@huawei.com 1242 Lei Wang 1243 China Mobile 1244 Email: wangleiyj@chinamobile.com 1246 Oscar Gonzalez de Dios 1247 Telefonica 1248 Email: oscar.gonzalezdedios@telefonica.com 1250 8. Normative References 1252 [I-D.ietf-netmod-yang-tree-diagrams] 1253 Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- 1254 ietf-netmod-yang-tree-diagrams-02 (work in progress), 1255 October 2017. 1257 Authors' Addresses 1259 Haomian Zheng 1260 Huawei Technologies 1261 F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District 1262 Shenzhen, Guangdong 518129 1263 P.R.China 1265 Email: zhenghaomian@huawei.com 1267 Zheyu Fan 1268 Huawei Technologies 1269 F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District 1270 Shenzhen, Guangdong 518129 1271 P.R.China 1273 Email: fanzheyu2@huawei.com 1275 Anurag Sharma 1276 Google 1277 1600 Amphitheatre Parkway 1278 Mountain View, CA 94043 1279 USA 1281 Email: ansha@google.com 1282 Rajan Rao 1283 Infinera 1284 169 Java Drive 1285 Sunnyvale, CA 94089 1286 USA 1288 Email: rrao@infinera.com 1290 Sergio Belotti 1291 Nokia 1293 Email: sergio.belotti@nokia.com 1295 Victor Lopez 1296 Telefonica 1298 Email: victor.lopezalvarez@telefonica.com 1300 Yunbo Li 1301 China Mobile 1303 Email: liyunbo@chinamobile.com 1305 Yunbin Xu 1306 CAICT 1308 Email: xuyunbin@ritt.cn