idnits 2.17.1 draft-ietf-ccamp-layer0-types-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 5 instances of too long lines in the document, the longest one being 1 character in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 629 has weird spacing: '...dentity flexi...' == Line 643 has weird spacing: '...dentity flexi...' == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (May 27, 2019) is 1795 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) == Missing Reference: 'RFCXXXX' is mentioned on line 130, but not defined == Unused Reference: 'RFC8363' is defined on line 1196, but no explicit reference was found in the text ** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341) Summary: 2 errors (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 CCAMP Working Group Y. Lee (Editor) 2 Internet Draft Futurewei 3 Intended status: Standard Track 4 Expires: November 27, 2019 D. Dhody 5 Huawei 7 A. Guo 8 Futurewei 10 V. Lopez 11 Telefonica 13 D. King 14 U. of Lancaster 16 May 27, 2019 18 A YANG Data Model for Layer 0 Types 20 draft-ietf-ccamp-layer0-types-01 22 Abstract 24 This document defines a collection of common data types and 25 groupings in YANG data modeling language. These derived common 26 types and groupings are intended to be imported by modules that 27 model Layer 0 Traffic Engineering (TE) configuration and state 28 capabilities such as Wavelength Switched Optical Networks (WSONs) 29 and Spectrum Switched optical Networks (SSONs). 31 Status of this Memo 33 This Internet-Draft is submitted to IETF in full conformance with 34 the provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF), its areas, and its working groups. Note that 38 other groups may also distribute working documents as Internet- 39 Drafts. 41 Internet-Drafts are draft documents valid for a maximum of six 42 months and may be updated, replaced, or obsoleted by other documents 43 at any time. It is inappropriate to use Internet-Drafts as 44 reference material or to cite them other than as "work in progress." 46 The list of current Internet-Drafts can be accessed at 47 http://www.ietf.org/ietf/1id-abstracts.txt 48 The list of Internet-Draft Shadow Directories can be accessed at 49 http://www.ietf.org/shadow.html 51 This Internet-Draft will expire on November 27, 2019. 53 Copyright Notice 55 Copyright (c) 2019 IETF Trust and the persons identified as the 56 document authors. All rights reserved. 58 This document is subject to BCP 78 and the IETF Trust's Legal 59 Provisions Relating to IETF Documents 60 (http://trustee.ietf.org/license-info) in effect on the date of 61 publication of this document. Please review these documents 62 carefully, as they describe your rights and restrictions with 63 respect to this document. Code Components extracted from this 64 document must include Simplified BSD License text as described in 65 Section 4.e of the Trust Legal Provisions and are provided without 66 warranty as described in the Simplified BSD License. 68 Table of Contents 70 1. Introduction...................................................2 71 1.1. Requirements Language.....................................3 72 1.2. Terminology...............................................3 73 1.3. Prefixes in Data Node Names...............................3 74 2. IETF-Layer0-Types YANG Module..................................7 75 3. Security Considerations.......................................23 76 4. IANA Considerations...........................................24 77 5. References....................................................25 78 5.1. Normative References.....................................25 79 5.2. Informative References...................................25 80 6. Contributors..................................................27 81 Authors' Addresses...............................................27 83 1. Introduction 85 YANG [RFC6020] and [RFC7950] is a data modeling language used to 86 model configuration data, state data, Remote Procedure Calls, and 87 notifications for network management protocols such as NETCONF 88 [RFC6241]. The YANG language supports a small set of built-in data 89 types and provides mechanisms to derive other types from the built- 90 in types. 92 This document introduces a collection of common data types derived 93 from the built-in YANG data types. The derived types and groupings 94 are designed to be the common types applicable for modeling Traffic 95 Engineering (TE) features for Layer 0 optical networks in model(s) 96 defined outside of this document. Examples of Layer 0 optical 97 networks are Wavelength Switched Optical Networks (WSONs) [RFC6163] 98 and Spectrum Switched optical Networks (SSONs) [RFC7698]. 100 [G.698.2] defines amplified multichannel Dense Wavelength Division 101 Multiplexing (DWDM) applications with single channel optical 102 interfaces. The YANG data model defined in this document refers to 103 the standard application mode defined in [G.698.2]. 105 1.1. Requirements Language 107 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 108 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 109 "OPTIONAL" in this document are to be interpreted as described in BCP 110 14 [RFC2119] [RFC8174] when, and only when, they appear in all 111 capitals, as shown here. 113 1.2. Terminology 115 Refer to [RFC7446] and [RFC7581] for the key terms used in this 116 document. 118 The terminology for describing YANG data models is found in 119 [RFC7950]. 121 1.3. Prefixes in Data Node Names 123 In this document, names of data nodes and other data model objects 124 are prefixed using the standard prefix associated with the 125 corresponding YANG imported modules, as shown in Table 1. 127 +-------------+-------------------------+-----------------+ 128 | Prefix | YANG module | Reference | 129 +-------------+-------------------------+-----------------+ 130 | layer0-type | ietf-layer0-types | [RFCXXXX] | 131 +-------------+-------------------------+-----------------+ 133 Table 1: Prefixes and corresponding YANG modules 135 Note: The RFC Editor will replace XXXX with the number assigned to 136 the RFC once this draft becomes an RFC. 138 YANG module "ietf-layer0-types" (defined in Section 3) references 139 [RFC6163], [RFC7205], and [RFC7698]. 141 3. Overview 143 This document defines one YANG module for common Layer 0 TE types: 144 ietf-layer0-types for WSON and SSON specific types. 146 3.1. TE Types Module Contents 148 The ietf-layer0-types module contains common Layer 0 TE types that 149 are to be imported by layer 0 specific technology such as WSON and 150 SSON. 152 The ietf-layer0-types module contains the following YANG reusable 153 types and groupings: 155 Operational-mode: 157 A type that represents operational-model type as defined in 158 [G.698.2]. 160 Vendor-identifier: 162 A type that represents vendor identifier as defined in [RFC7581]. 164 layer0-node-type: 166 A base YANG identity for supported node type as defined in 167 [RFC6163]. 169 wavelength-assignment: 171 A base YANG identity for allocated wavelength assignment type as 172 defined in [RFC6163]. 174 layer0-grid-type: 176 A base YANG identity for the node type as defined in 177 [RFC6163] & [RFC7698]. 179 term-type: 181 A base YANG identity for the supported termination type as 182 defined in [G.709]. 184 layer0-bandwidth-type: 186 A base YANG identity for the layer0 bandwidth type as 187 defined in [G.709]. 189 dwdm-ch-spc-type: 191 A base YANG identity for the DWDM channel spacing type as 192 defined in [RFC6205]. 194 cwdm-ch-spc-type: 196 A base YANG identity for the CWDM channel spacing type as 197 defined in [RFC6205]. 199 FEC-type: 201 A base YANG identity for the FEC type as defined in [G.709]. 203 wson-path-bandwidth: 205 A YANG grouping that defines the WSON path bandwidth attributes 206 as defined in [RFC6163]. 208 wson-link-bandwidth: 210 A YANG grouping that defines WSON link bandwidth attributes as 211 defined in [RFC6163]. 213 wson-link-label: 215 A YANG grouping that defines the label for WSON links as defined 216 In [RFC6205]. 218 wson-path-label: 220 A YANG groupin that defines the label for WSON paths as defined 221 In [RFC6205]. 223 layer0-label-restriction: 225 A YANG grouping that defines the layer 0 label restriction 226 applicable for both WSON and SSON and per priority level as 227 defined in [RFC3209]. 229 wson-label-step: 231 A YANG grouping that defines label steps for WSON as defined in 232 [TE-topo]. 234 flexi-grid-node-attributes: 236 A YANG grouping that defines Flex-grid node attrtibutes as 237 defined in [RFC7698]. 239 flexi-grid-path-bandwidth: 241 A YANG grouping that defines flex-grid path bandwidth attributes 242 as defined in [RFC7698]. 244 flexi-grid-link-bandwidth: 246 A YANG grouping that defines flex-grid link bandwidth attributes 247 As defined in [RFC7698]. 249 flexi-grid-link-label: 251 A YANG grouping that defines flex-grid link label attributes as 252 defined in [RFC7698]. 254 flexi-grid-channel: 256 A YANG grouping that defines flex-grid channel as defined in 257 [RFC7698]. 259 flexi-grid-path-label: 261 A YANG grouping that defines flex-grid path label for both single 262 channel and multiple carriers [RFC7698]. 264 flexi-grid-label-restriction: 266 A YANG grouping that defines flex-grid label restrictions and per 267 priority level as defined in [RFC3209]. 269 flexi-grid-label-step: 271 A YANG grouping that defines flex-grid label steps as defined in 272 [TE-topo]. 274 2. IETF-Layer0-Types YANG Module 276 file ietf-layer0-types@2019-05-15.yang 277 module ietf-layer0-types { 278 namespace "urn:ietf:params:xml:ns:yang:ietf-layer0-types"; 279 prefix "layer0-types"; 281 organization 282 "IETF CCAMP Working Group"; 283 contact 284 "WG Web: 285 WG List: 287 Editor: Aihua Guo 288 290 Editor: Young Lee 291 293 Editor: Italo Busi 294 296 Editor: Dieter Beller 297 "; 299 description 300 "This module defines Optical Layer 0 types. This module 301 provides groupings that can be applicable to Layer 0 302 Fixed Optical Networks (e.g., CWDM (Coarse Wavelength 303 Division Multiplexing) and DWDM (Dense Wavelength Division 304 Multiplexing)) and Flexi-grid Optical Networks. 306 Copyright (c) 2018 IETF Trust and the persons identified 307 as authors of the code. All rights reserved. 309 Redistribution and use in source and binary forms, with 310 or without modification, is permitted pursuant to, and 311 subject to the license terms contained in, the Simplified 312 BSD License set forth in Section 4.c of the IETF Trust's 313 Legal Provisions Relating to IETF Documents 314 (http://trustee.ietf.org/license-info)."; 316 revision "2019-05-15" { 317 description 318 "Initial Version"; 319 reference 320 "RFC XXXX: A YANG Data Model for WSON (Wavelength Switched 321 Optical Networks)"; 322 } 324 typedef operational-mode { 325 type string; 326 description 327 "Vendor-specific mode that guarantees interoperability."; 328 reference "ITU-T G.698.2 (11/2018)"; 329 } 331 typedef standard-mode { 332 type string; 333 description 334 "ITU-T G.698.2 standard mode that guarantees interoperability. 335 It must be an string with the following format: 336 B-DScW-ytz(v) where all these attributes are conformant 337 to the ITU-T recomendation"; 338 reference "ITU-T G.698.2 (11/2018)"; 339 } 341 typedef vendor-identifier { 342 type string; 343 description 344 "vendor identifier that uses vendor-specific mode"; 345 reference 346 "RFC7581: Routing and Wavelength Assignment Information 347 Encoding for Wavelength Switched Optical Networks"; 348 } 350 typedef frequency-thz { 351 type decimal64 { 352 fraction-digits 5; 353 } 354 units THz; 355 description 356 "The DWDM frequency in THz, e.g., 193.12500"; 357 reference 358 "RFC6205:Generalized Labels for Lambda-Switch-Capable (LSC) 359 Label Switching Routers"; 360 } 362 typedef frequency-ghz { 363 type decimal64 { 364 fraction-digits 5; 366 } 367 units GHz; 368 description 369 "The DWDM frequency in GHz, e.g., 193125.00"; 370 reference 371 "RFC6205: Generalized Labels for Lambda-Switch-Capable (LSC) 372 Label Switching Routers"; 373 } 375 identity layer0-node-type { 376 description 377 "layer0 node type."; 378 reference 379 "RFC6163: Framework for GMPLS and Path Computation Element 380 (PCE) Control of Wavelength Switched Optical Networks 381 (WSONs)"; 382 } 384 identity flexi-grid-node { 385 base layer0-node-type; 386 description 387 "flexi Grid node"; 388 } 390 identity wson-node-foadm { 391 base layer0-node-type; 392 description 393 "Fixed OADM (Optical Add-Drop Multiplexer) node"; 394 } 396 identity wson-node-roadm { 397 base layer0-node-type; 398 description 399 "ROADM (Reconfigurable Optical Add-Drop Multiplexer) 400 or OXC (Optical Cross Connect) node"; 401 } 403 identity wson-node-ila { 404 base layer0-node-type; 405 description 406 "ILA (In-Line Amplifier) node"; 407 } 409 identity wavelength-assignment { 410 description 411 "Wavelength selection base"; 412 reference 413 "RFC6163: Framework for GMPLS and Path Computation Element 414 (PCE) Control of Wavelength Switched Optical Networks 415 (WSONs)"; 416 } 418 identity unspecified-wavelength-assignment { 419 base wavelength-assignment; 420 description 421 "No method specified"; 422 } 424 identity first-fit-wavelength-asignment { 425 base wavelength-assignment; 426 description 427 "All the available wavelengths are numbered, 428 and this WA (Wavelength Assignment) method chooses 429 the available wavelength with the lowest index"; 430 } 432 identity random-wavelength-asignment { 433 base wavelength-assignment; 434 description 435 "This WA method chooses an available 436 wavelength randomly"; 437 } 439 identity least-loaded-wavelength-asignment { 440 base wavelength-assignment; 441 description 442 "This WA method selects the wavelength that 443 has the largest residual capacity on the most loaded 444 link along the route (in multi-fiber networks)"; 445 } 447 identity layer0-grid-type { 448 description 449 "Layer0 grid type."; 450 reference 451 "RFC7698: Framework and Requirements for GMPLS-Based Control 452 of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM) 453 Networks & 454 RFC6163: Framework for GMPLS and Path Computation Element 455 (PCE) Control of Wavelength Switched Optical Networks 456 (WSONs)"; 457 } 459 identity flexi-grid-dwdm { 460 base layer0-grid-type; 461 description 462 "flexi grid"; 463 } 464 identity wson-grid-dwdm { 465 base layer0-grid-type; 466 description 467 "DWDM grid"; 468 } 470 identity wson-grid-cwdm { 471 base layer0-grid-type; 472 description 473 "CWDM grid"; 474 } 476 identity term-type { 477 description 478 "Termination type."; 479 } 481 identity term-phys { 482 base term-type; 483 description 484 "Physical Layer Termination"; 485 reference 486 "G.709: Interfaces for the Optical Transport Network (OTN)"; 487 } 489 identity term-otu { 490 base term-type; 491 description 492 "OTU (Optical Transport Unit) Termination"; 493 } 495 identity term-odu { 496 base term-type; 497 description 498 "ODU (Optical Data Unit) Termination"; 499 } 501 identity term-opu { 502 base term-type; 503 description 504 "OPU (Optical Payload Unit) Termination"; 505 } 507 identity term-section { 508 base term-type; 509 description 510 "Section Layer Termination"; 511 } 512 identity layer0-bandwidth-type { 513 description 514 "Bandwidth type carried by a single wavelength channel"; 515 reference 516 "G.709: Interfaces for the Optical Transport Network (OTN)"; 517 } 519 identity bw-otu1 { 520 base layer0-bandwidth-type; 521 description 522 "OTU1 (2.66G)"; 523 } 525 identity bw-otu1e { 526 base layer0-bandwidth-type; 527 description 528 "OTU1e (11.04G)"; 529 } 531 identity bw-otu1f { 532 base layer0-bandwidth-type; 533 description 534 "OTU1f (11.27G)"; 535 } 537 identity bw-otu2 { 538 base layer0-bandwidth-type; 539 description 540 "OTU2 (10.70G)"; 541 } 543 identity bw-otu2e { 544 base layer0-bandwidth-type; 545 description 546 "OTU2e (11.09G)"; 547 } 549 identity bw-otu2f { 550 base layer0-bandwidth-type; 551 description 552 "OTU2f (11.31G)"; 553 } 555 identity bw-otu3 { 556 base layer0-bandwidth-type; 557 description 558 "OTU3 (43.01G)"; 559 } 560 identity bw-otu3e1 { 561 base layer0-bandwidth-type; 562 description 563 "OTU3e1 (44.57G)"; 564 } 566 identity bw-otu3e2 { 567 base layer0-bandwidth-type; 568 description 569 "OTU3e2 (44.58G)"; 570 } 572 identity bw-otu4 { 573 base layer0-bandwidth-type; 574 description 575 "OTU4 (111.80G)"; 576 } 578 identity bw-otucn { 579 base layer0-bandwidth-type; 580 description 581 "OTUCn (beyond 100G)"; 582 } 584 identity dwdm-ch-spc-type { 585 description 586 "DWDM channel spacing type"; 587 reference 588 "RFC6205: Generalized Labels for Lambda-Switch-Capable (LSC) 589 Label Switching Routers"; 590 } 592 identity dwdm-100ghz { 593 base dwdm-ch-spc-type; 594 description 595 "100GHz channel spacing"; 596 reference 597 "ITU-T Recommendation G.694.1: Spectral grids for WDM applications: 598 DWDM frequency grid"; 599 } 601 identity dwdm-50ghz { 602 base dwdm-ch-spc-type; 603 description 604 "50GHz channel spacing"; 605 reference 606 "ITU-T Recommendation G.694.1: Spectral grids for WDM applications: 607 DWDM frequency grid"; 609 } 611 identity dwdm-25ghz { 612 base dwdm-ch-spc-type; 613 description 614 "25GHz channel spacing"; 615 reference 616 "ITU-T Recommendation G.694.1: Spectral grids for WDM applications: 617 DWDM frequency grid"; 618 } 620 identity dwdm-12p5ghz { 621 base dwdm-ch-spc-type; 622 description 623 "12.5GHz channel spacing"; 624 reference 625 "ITU-T Recommendation G.694.1: Spectral grids for WDM applications: 626 DWDM frequency grid"; 627 } 629 identity flexi-ch-spc-type { 630 description 631 "flexi-grid channel spacing type"; 632 reference 633 "RFC7581: Routing and Wavelength Assignment Information 634 Encoding for Wavelength Switched Optical Networks"; 635 } 637 identity flexi-ch-spc-6p25ghz { 638 base flexi-ch-spc-type; 639 description 640 "6.25GHz channel spacing"; 641 } 643 identity flexi-slot-width-granularity { 644 description 645 "flexi-grid slot width granularity"; 646 reference 647 "RFC7581: Routing and Wavelength Assignment Information 648 Encoding for Wavelength Switched Optical Networks"; 649 } 651 identity flexi-swg-12p5ghz { 652 base flexi-slot-width-granularity; 653 description 654 "12.5GHz slot width granularity"; 655 } 657 identity cwdm-ch-spc-type { 658 description 659 "CWDM channel spacing type"; 660 reference 661 "RFC6205: Generalized Labels for Lambda-Switch-Capable (LSC) 662 Label Switching Routers"; 663 } 665 identity cwdm-20nm { 666 base cwdm-ch-spc-type; 667 description 668 "20nm channel spacing"; 669 } 671 identity fec-type { 672 description 673 "FEC (Forward Error Correction) type"; 674 reference 675 "G.709: Interfaces for the Optical Transport Network (OTN)"; 676 } 678 identity g-fec { 679 base fec-type; 680 description 681 "G-FEC (Generic-FEC)"; 682 } 683 identity e-fec { 684 base fec-type; 685 description 686 "E-FEC (Enhanced-FEC)"; 687 } 688 identity no-fec { 689 base fec-type; 690 description 691 "No FEC"; 692 } 694 /* Groupings. */ 695 grouping wson-path-bandwidth { 696 description "WSON (Wavelength Switched Optical Network) 697 path bandwidth attributes"; 698 reference 699 "RFC6163"; 700 leaf bandwidth-type { 701 type identityref { 702 base layer0-bandwidth-type; 703 } 704 description "WSON bandwidth type"; 705 } 706 } 707 grouping wson-link-bandwidth { 708 description "WSON link bandwidth attributes"; 709 reference 710 "RFC6163"; 711 leaf-list supported-bandwidth-list { 712 type identityref { 713 base layer0-bandwidth-type; 714 } 715 description "WSON bandwidth type"; 716 } 717 } 719 grouping wson-link-label { 720 description 721 "Generic label for WSON links"; 722 reference 723 "RFC6205"; 724 choice grid-type { 725 description 726 "Label for DWDM or CWDM grid"; 727 case dwdm { 728 leaf dwdm-n { 729 type int16; 730 description 731 "N is used to determine the Nominal Central Frequency. 732 The set of nominal central frequencies can be 733 built using the following expression 734 f = 193.1 THz + N x 0.00625 THz, 735 where 193.1 THz is ITU-T 'anchor frequency' 736 for transmission over the C band, N is a positive or 737 negative integer including 0."; 738 reference 739 "RFC6205:Generalized Labels for Lambda-Switch-Capable 740 (LSC) Label Switching Routers"; 741 } 742 } 743 case cwdm { 744 leaf cwdm-n { 745 type int16; 746 description 747 "N is a two's-complement integer to take either a 748 positive, negative, or zero value. This value is 749 used to compute the channel wavelength as such 750 in G.694.2: 751 Wavelength (nm) = 1471 nm + N * 20 nm"; 752 reference 753 "RFC6205:Generalized Labels for Lambda-Switch-Capable 754 (LSC) Label Switching Routers"; 756 } 757 } 758 } 759 } 761 grouping wson-path-label { 762 description 763 "Generic label for WSON paths"; 764 reference 765 "RFC6205"; 766 choice grid-type { 767 description 768 "Label for DWDM or CWDM grid"; 769 case dwdm { 770 choice single-or-super-channel { 771 description "single or super channel"; 772 case single { 773 leaf dwdm-n { 774 type int16; 775 description 776 "N is used to determine the Nominal Central Frequency. 777 The set of nominal central frequencies can be 778 built using the following expression 779 f = 193.1 THz + N x 0.00625 THz, 780 where 193.1 THz is ITU-T 'anchor frequency' 781 for transmission over the C band, N is a positive or 782 negative integer including 0."; 783 } 784 } 785 case super { 786 leaf-list subcarrier-dwdm-n { 787 type int16; 788 description 789 "List of subcarrier channels for super channel. 790 Each of the channels is represented by an 791 integer, n, a two's-complement integer to take 792 either a positive, negative, or zero value. 793 This value is used to compute the frequency as 794 such in G.694.1: 795 Frequency (THz) = 796 193.1 THz + n * channel spacing (THz)"; 797 } 798 } 799 } 801 } 802 case cwdm { 803 leaf cwdm-n { 804 type int16; 805 description 806 "Represented by an integer, n, a two's-complement 807 integer to take either a positive, negative, or 808 zero value. This value is used to compute the 809 channel wavelength as such in G.694.2: 810 Wavelength (nm) = 1471 nm + n * 20 nm"; 811 reference 812 "RFC6205:Generalized Labels for Lambda-Switch-Capable 813 (LSC) Label Switching Routers"; 815 } 816 } 817 } 818 } 820 grouping layer0-label-restriction { 821 description 822 "layer0 label restriction."; 823 reference 824 "RFC3209"; 826 leaf grid-type { 827 type identityref { 828 base layer0-grid-type; 829 } 830 description "Grid type"; 831 } 832 leaf priority { 833 type uint8; 834 description "priority"; 835 } 836 } 838 grouping wson-label-step { 839 description "Label step information for WSON"; 840 reference 841 "draft-ietf-teas-yang-te-topo-20"; 842 choice layer0-grid-type { 843 description 844 "Grid type: DWDM, CWDM, etc."; 845 case dwdm { 846 leaf wson-dwdm { 847 type identityref { 848 base dwdm-ch-spc-type; 849 } 850 description 851 "Label-step is the channel-spacing (GHz), e.g., 852 100, 50, 25, or 12.5 GHz for DWDM"; 854 reference 855 "RFC6205:Generalized Labels for Lambda-Switch-Capable 856 (LSC) Label Switching Routers"; 858 } 859 } 860 case cwdm { 861 leaf wson-cwdm { 862 type identityref { 863 base cwdm-ch-spc-type; 864 } 865 description 866 "label-step is the channel-spacing (nm), i.e., 20 nm 867 for CWDM, which is the only value defined for CWDM"; 868 reference 869 "RFC6205:Generalized Labels for Lambda-Switch-Capable 870 (LSC) Label Switching Routers"; 871 } 872 } 873 } 874 } 876 grouping flexi-grid-node-attributes { 877 description "flexi-grid node attributes"; 878 reference 879 "RFC7698"; 880 container flexi-grid-node { 881 description "flexi-grid node attrtibutes"; 882 leaf node-type { 883 type identityref { 884 base layer0-node-type; 885 } 886 description "flexi-grid node type"; 887 } 888 } 889 } 891 grouping flexi-grid-path-bandwidth { 892 description "flexi-grid path bandwidth attributes"; 893 reference 894 "RFC7698"; 895 leaf bandwidth-type { 896 type identityref { 897 base layer0-bandwidth-type; 898 } 899 description "flexi-grid bandwidth type"; 900 } 901 } 902 grouping flexi-grid-link-bandwidth { 903 description "flexi-grid link bandwidth attributes"; 904 reference 905 "RFC7698"; 906 leaf-list supported-bandwidth-list { 907 type identityref { 908 base layer0-bandwidth-type; 909 } 910 description "flexi-grid bandwidth type"; 911 } 912 } 914 grouping flexi-grid-link-label { 915 description "flexi-grid link label."; 916 reference 917 "RFC7698"; 918 leaf flexi-n { 919 type uint16; 920 description 921 "N is used to determine the Nominal Central Frequency. 922 The set of nominal central frequencies can be 923 built using the following expression 924 f = 193.1 THz + N x 0.00625 THz, 925 where 193.1 THz is ITU-T 'anchor frequency' 926 for transmission over the C band, N is a positive or 927 negative integer including 0."; 928 reference 929 "RFC7698: Framework and Requirements for GMPLS-Based 930 Control of Flexi-Grid Dense Wavelength Division Multiplexing 931 (DWDM) Networks"; 932 } 933 } 935 grouping flexi-grid-channel { 936 description "flexi-grid channel grouping."; 937 reference 938 "RFC7698"; 939 uses flexi-grid-link-label; 941 leaf flexi-m { 942 type uint16 { 943 range "1..max"; 944 } 945 description 946 "M is used to determine the slot width. A slot width is 947 constrained to be M x SWG (that is, M x 12.5 GHz), 948 where M is an integer greater than or equal to 1."; 949 reference 950 "RFC7698: Framework and Requirements for GMPLS-Based 951 Control of Flexi-Grid Dense Wavelength Division Multiplexing 952 (DWDM) Networks"; 953 } 954 } 955 grouping flexi-grid-path-label { 956 description "flexi-grid path label."; 957 reference 958 "RFC7698"; 959 choice single-or-super-channel { 960 description "single of super channel"; 961 case single { 962 uses flexi-grid-channel; 963 } 964 case super { 965 list subcarrier-flexi-n { 966 key flexi-n; 967 uses flexi-grid-channel; 968 description 969 "List of subcarrier channels for flexi-grid 970 super channel."; 971 } 972 } 973 } 974 } 976 grouping flexi-grid-label-restriction { 977 description 978 "flexi Grid-specific label restriction"; 979 reference 980 "RFC7698 & RFC3209"; 981 uses layer0-label-restriction; 983 container flexi-grid { 984 description "flexi-grid definition"; 985 leaf nominal-central-frequency-granularity { 986 type identityref { 987 base flexi-ch-spc-type; 988 } 989 default flexi-ch-spc-6p25ghz; 990 description 991 "It is the spacing between allowed nominal central 992 frequencies. Default is 6.25 GHz"; 993 reference 994 "RFC7698: Framework and Requirements for GMPLS-Based 995 Control of Flexi-Grid Dense Wavelength Division Multiplexing 996 (DWDM) Networks"; 998 } 999 leaf slot-width-granularity { 1000 type identityref { 1001 base flexi-slot-width-granularity; 1002 } 1003 default flexi-swg-12p5ghz; 1004 description 1005 "Minimum space between slot widths. Default is 1006 12.5 GHz"; 1007 reference 1008 "RFC7698: Framework and Requirements for GMPLS-Based 1009 Control of Flexi-Grid Dense Wavelength Division Multiplexing 1010 (DWDM) Networks"; 1012 } 1014 leaf min-slot-width-factor { 1015 type uint16 { 1016 range "1..max"; 1017 } 1018 default 1; 1019 description 1020 "Minimum slot width is calculated by: 1021 Minimum slot width (GHz) = 1022 min-slot-width-factor * slot-width-granularity"; 1023 reference 1024 "RFC8363: GMPLS OSPF-TE Extensions in Support of Flexi-Grid 1025 Dense Wavelength Division Multiplexing (DWDM) Networks"; 1027 } 1029 leaf max-slot-width-factor { 1030 type uint16 { 1031 range "1..max"; 1032 } 1033 description 1034 "Maximum slot width is calculated by: 1035 Maximum slot width (GHz) = 1036 max-slot-width-factor * slot-width-granularity"; 1037 reference 1038 "RFC8363: GMPLS OSPF-TE Extensions in Support of Flexi-Grid 1039 Dense Wavelength Division Multiplexing (DWDM) Networks"; 1040 } 1042 } 1043 } 1045 grouping flexi-grid-label-step { 1046 description "Label step information for flexi grid"; 1047 reference 1048 "draft-ietf-teas-yang-te-topo-20"; 1049 leaf flexi { 1050 type identityref { 1051 base flexi-ch-spc-type; 1052 } 1053 default flexi-ch-spc-6p25ghz; 1054 description 1055 "Label-step is the nominal central frequency 1056 granularity (GHz), e.g., 6.25 GHz"; 1057 reference 1058 "RFC7698: Framework and Requirements for GMPLS-Based 1059 Control of Flexi-Grid Dense Wavelength Division Multiplexing 1060 (DWDM) Networks"; 1061 } 1062 } 1063 } 1065 1067 3. Security Considerations 1069 The YANG module specified in this document defines a schema for data 1070 that is designed to be accessed via network management protocols 1071 such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF 1072 layer is the secure transport layer, and the mandatory-to-implement 1073 secure transport is Secure Shell (SSH) [RFC6242]. The lowest 1074 RESTCONF layer is HTTPS, and the mandatory-to-implement secure 1075 transport is TLS [RFC8446]. 1077 The NETCONF access control model [RFC6536] provides the means to 1078 restrict access for particular NETCONF users to a preconfigured 1079 subset of all available NETCONF protocol operations and content. The 1080 NETCONF Protocol over Secure Shell (SSH) [RFC6242] describes a 1081 method for invoking and running NETCONF within a Secure Shell (SSH) 1082 session as an SSH subsystem. The Network Configuration Access 1083 Control Model (NACM) [RFC8341] provides the means to restrict access 1084 for particular NETCONF or RESTCONF users to a preconfigured subset 1085 of all available NETCONF or RESTCONF protocol operations and 1086 content. 1088 The YANG module in this document defines optical layer0 type 1089 definitions (i.e., typedef, identity and grouping statements) in 1090 YANG data modeling language to be imported and used by other layer 0 1091 specific modules. When imported and used, the resultant schema will 1092 have data nodes that can be writable, or readable. The access to 1093 such data nodes may be onsidered sensitive or vulnerable in some 1094 network environments. Write operations (e.g., edit-config) to these 1095 data nodes without proper protection can have a negative effect on 1096 network operations. 1098 The security considerations spelled out in the YANG 1.1 1099 specification [RFC7950] apply for this document as well. 1101 4. IANA Considerations 1103 This document registers the following namespace URIs in the IETF XML 1104 registry [RFC3688]. Following the format in [RFC3688], registration 1105 is requested to be made as follows: 1107 -------------------------------------------------------------------- 1108 URI: urn:ietf:params:xml:ns:yang: ietf-layer0-types 1109 Registrant Contact: The IESG. 1110 XML: N/A, the requested URI is an XML namespace. 1111 -------------------------------------------------------------------- 1113 This document registers the following YANG module in the YANG Module 1114 Names registry [RFC7950] & [RFC6020]: 1116 -------------------------------------------------------------------- 1117 name: ietf-layer0-types 1118 namespace: urn:ietf:params:xml:ns:yang: ietf-layer0-types 1119 prefix: layer0-types 1120 reference: RFC XXXX (TDB) 1121 -------------------------------------------------------------------- 1123 5. References 1125 5.1. Normative References 1127 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1128 the Network Configuration Protocol (NETCONF)", RFC 6020, 1129 October 2010. 1131 [RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed., 1132 "Network Configuration Protocol (NETCONF)", RFC 6241, June 1133 2011. 1135 [RFC6242] M. Wasserman, "Using the NETCONF Protocol over Secure 1136 Shell (SSH)", RFC 6242, June 2011. 1138 [RFC6536] A. Bierman, M. Bjorklund, "Network Configuration Protocol 1139 (NETCONF) Access Control Model", RFC 6536, March 2012. 1141 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1142 RFC 7950, August 2016. 1144 [RFC8040] A. Bierman, M. Bjorklund, K. Watsen, "RESTCONF Protocol", 1145 RFC 8040, January 2017. 1147 [RFC8341] A. Bierman, M. Bjorklund, "Network Configuration Access 1148 Control Model", RFC 8341, March 2018. 1150 [RFC8446] E. Rescorla, "The Transport Layer Security (TLS) Protocol 1151 Version 1.3", RFC8446, August 2018. 1153 5.2. Informative References 1155 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1156 Requirement Levels", BCP 14, RFC 2119, DOI 1157 10.17487/RFC2119, March 1997, . 1160 [RFC3209] D. Awduche, L. Berger, D. Gan, T. Li, V. Srinivasan, and 1161 G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", 1162 RFC 3209, December 2001. 1164 [RFC3688] M. Mealling, "The IETF XML Registry", RFC 3688, January 1165 2004. 1167 [RFC6163] Y. Lee, Ed. G. Berstein, Ed., W. Imajuku, "Framework for 1168 GMPLS and Path Computation Element (PCE) Control of 1169 Wavelength Switched Optical Networks (WSONs)", RFC 6163, 1170 April 2011. 1172 [RFC6205] T. Otani, Ed., D. Li, Ed., "Generalized Labels for Lambda- 1173 Switch-Capable (LSC) Label Switching Routers", RFC 6205, 1174 March 2011. 1176 [RFC7205] A. Romanow, S. Botzko, M. Duckworth, R. Even, Ed.,"Use 1177 Cases for Telepresence Multistreams", RFC 7205, April 1178 2014. 1180 [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and 1181 Wavelength Assignment Information Model for Wavelength 1182 Switched Optical Networks", RFC 7446, Feburary 2015. 1184 [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and 1185 Wavelength Assignment Information Encoding for Wavelength 1186 Switched Optical Networks", RFC 7581, June 2015. 1188 [RFC7698] O. Gonzalez de Dios, Ed., R. Casellas, Ed., "Framework and 1189 Requirements for GMPLS-Based Control of Flexi-Grid Dense 1190 Wavelength Division Multiplexing (DWDM) Networks", RFC 1191 7698, November 2015. 1193 [RFC8174] B. Leiba, "Ambiguity of Uppercase vs Lowercase in RFC 2119 1194 Key Words", RFC 8174, May 2017. 1196 [RFC8363] X. Zhang, H. Zheng, R. Casellas, O. Gonzalez de Dios, D. 1197 Ceccarelli, "GMPLS OSPF-TE Extensions in Support of Flexi- 1198 Grid Dense Wavelength Division Multiplexing (DWDM) 1199 Networks", RFC 8363, May 2018. 1201 [G.698.2] "Amplified multichannel dense wavelength division 1202 multiplexing applications with single channel optical 1203 interfaces", ITU-T G.698.2, November, 2018. 1205 [G.709] "Interfaces for the Optical Transport Network (OTN)", ITU-T 1206 G.709, June 2016. 1208 [TE-topo] Xufeng Liu, Igor Bryskin, Vishnu Pavan Beeram, Tarek Saad, 1209 Himanshu Shah, Oscar Gonzalez De Dios, "YANG Data Model 1210 for Traffic Engineering (TE) Topologies", draft-ietf-teas- 1211 yang-te-topo, work in progress. 1213 6. Contributors 1215 Authors' Addresses 1217 Young Lee (ed.) 1218 Futurewei Technologies 1219 5700 Tennyson Parkway, Suite 600 1220 Plano, TX 75024 1221 USA 1222 Email: younglee.tx@gmail.com 1224 Dhruv Dhody 1225 Huawei Technologies 1226 Divyashree Techno Park, Whitefield 1227 Bangalore, Karnataka 560066 1228 India 1229 EMail: dhruv.ietf@gmail.com 1231 Aihua Guo 1232 Futurewei Technologies 1233 Email: aguo@futurewei.com 1235 Victor Lopez 1236 Telefonica 1237 Email: victor.lopezalvarez@telefonica.com 1239 Daniel King 1240 University of Lancaster 1241 Email: d.king@lancaster.ac.uk 1243 Bin Yeong Yoon 1244 ETRI 1245 218 Gaijeongro, Yuseong-gu 1246 Daejeon, Korea 1247 Email: byyun@etri.re.kr 1249 Ricard Vilalta 1250 CTTC 1251 Email: ricard.vilalta@cttc.es 1253 Italo Busi 1254 Huawei 1255 Email: Italo.Busi@huawei.com