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