idnits 2.17.1 draft-ietf-ccamp-layer0-types-ext-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 : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates draft-ietf-ccamp-layer0-types, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 887 has weird spacing: '... leaf min-O...' == Line 898 has weird spacing: '... leaf min-Q...' == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (4 August 2021) is 989 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) == Unused Reference: 'I-D.ietf-ccamp-layer0-types' is defined on line 1189, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-ccamp-optical-impairment-topology-yang' is defined on line 1196, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-ccamp-wson-yang' is defined on line 1204, but no explicit reference was found in the text == Unused Reference: 'RFC8795' is defined on line 1226, but no explicit reference was found in the text == Unused Reference: 'RFC2629' is defined on line 1243, but no explicit reference was found in the text == Outdated reference: A later version (-15) exists of draft-ietf-ccamp-optical-impairment-topology-yang-07 == Outdated reference: A later version (-10) exists of draft-ietf-ccamp-dwdm-if-param-yang-06 -- Obsolete informational reference (is this intentional?): RFC 2629 (Obsoleted by RFC 7749) -- Obsolete informational reference (is this intentional?): RFC 5226 (Obsoleted by RFC 8126) Summary: 0 errors (**), 0 flaws (~~), 11 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 CCAMP D. Beller, Ed. 3 Internet-Draft S. Belotti, Ed. 4 Updates: draft-ietf-ccamp-layer0-types (if Nokia 5 approved) H. Zheng 6 Intended status: Standards Track I. Busi 7 Expires: 5 February 2022 Huawei 8 E. Le Rouzic 9 Orange 10 4 August 2021 12 A YANG Data Model for Layer 0 Types - Revision 2 13 draft-ietf-ccamp-layer0-types-ext-00 15 Abstract 17 This document defines a collection of common data types and groupings 18 in the YANG data modeling language, which are used in several YANG 19 modules for wavelength Division multiplexing (WDM) transport 20 networks. The YANG module ietf-layer0-types-ext updates ietf- 21 layer0-types defined in draft-ietf-ccamp-layer0-types, which has been 22 reduced in scope prior to publication to only cover spectrum 23 management related aspects required for the YANG module ietf-wson- 24 topology defined in draft-ietf-ccamp-wson-yang. 26 To be completed 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at https://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on 5 February 2022. 45 Copyright Notice 47 Copyright (c) 2021 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 52 license-info) in effect on the date of publication of this document. 53 Please review these documents carefully, as they describe your rights 54 and restrictions with respect to this document. Code Components 55 extracted from this document must include Simplified BSD License text 56 as described in Section 4.e of the Trust Legal Provisions and are 57 provided without warranty as described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 62 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 63 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 64 2. Extensions for the Layer 0 Types Module . . . . . . . . . . . 3 65 3. Layer0 Types Revision 2 YANG CODE . . . . . . . . . . . . . . 4 66 4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 25 67 5. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 25 68 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 69 7. Security Considerations . . . . . . . . . . . . . . . . . . . 25 70 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 71 8.1. Normative References . . . . . . . . . . . . . . . . . . 25 72 8.2. Informative References . . . . . . . . . . . . . . . . . 26 73 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 75 1. Introduction 77 YANG [RFC7950] is a data modeling language used to model 78 configuration data, state data, Remote Procedure Calls, and 79 notifications for network management protocols such as NETCONF 80 [RFC6241]. The YANG language supports a small set of built-in data 81 types and provides mechanisms to derive other types from the built-in 82 types. 84 This document introduces a collection of common data types derived 85 from the built-in YANG data types. The derived types and groupings 86 are designed to be the common types applicable for modeling Traffic 87 Engineering (TE) features as well as non-TE features (e.g., physical 88 network configuration aspect) for Layer 0 optical networks in 89 model(s) defined outside of this document. 91 1.1. Requirements Language 93 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 94 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 95 document are to be interpreted as described in RFC 2119 [RFC2119]. 97 1.2. Terminology 99 2. Extensions for the Layer 0 Types Module 101 This document defines YANG module extensions for common Layer 0 102 types. named ietf-layer0-types-ext. This module can be used for 103 both WSON and Flexi-grid DWDM networks but in particular is adding 104 common types used in the context of optical impairment aware topology 105 model in WSON and SSONs. The ietf-layer0-types-ext module contains 106 the following YANG identities, types and groupings that can be reused 107 in other YANG modules: 109 transceiver-capabilities: 111 a YANG grouping to define the transceiver capabilities (also called 112 "modes") needed to determine optical signal compatibility. 114 standard-mode: 116 a YANG grouping for ITU-T G.698.2 standard mode that guarantees 117 interoperability. 119 organizational-mode: 121 a YANG grouping to define transponder operational mode supported by 122 organizations or vendors. 124 common-explicit-mode: 126 a YANG grouping to define the list of attributes related to optical 127 impairments limits in case of transceiver explicit mode. This 128 grouping should be the same used in 129 [I-D.ietf-ccamp-dwdm-if-param-yang]. 131 common-organizational-explicit-mode: 133 a YANG grouping to define the common capabilities attributes limit 134 range in case of operational mode and explicit mode. Also this 135 grouping should be used in [I-D.ietf-ccamp-dwdm-if-param-yang]. 137 cd-pmd-penalty: 139 a YANG grouping to define the triplet used as entries in the list 140 optional penalty associated with a given accumulated CD and PMD. 141 This list of triplet cd, pmd, penalty can be used to sample the 142 function penalty = f(CD, PMD). 144 [Editor's note: There is still stuff from the xml template that needs 145 to be removed] 147 3. Layer0 Types Revision 2 YANG CODE 149 The YANG code is developed on GitHub and can also be found in the 150 following CCAMP repository: 152 https://github.com/ietf-ccamp-wg/ietf-ccamp-layer0-types-ext 154 [Editor's note: YANG code below always has to be updated before 155 submitting a new revision!] 157 158 module ietf-layer0-types-ext { 159 namespace "urn:ietf:params:xml:ns:yang:ietf-layer0-types-ext"; 160 prefix "l0-types-ext"; 162 organization 163 "IETF CCAMP Working Group"; 164 contact 165 "WG Web: 166 WG List: 168 Editor: Dieter Beller 169 171 Editor: Sergio Belotti 172 174 Editor: Italo Busi 175 177 Editor: Haomian Zheng 178 "; 180 // Additional contacts TBA (contributors) 182 description 183 "Description to be added!!! 185 Copyright (c) 2021 IETF Trust and the persons identified 186 as authors of the code. All rights reserved. 188 Redistribution and use in source and binary forms, with 189 or without modification, is permitted pursuant to, and 190 subject to the license terms contained in, the Simplified 191 BSD License set forth in Section 4.c of the IETF Trust's 192 Legal Provisions Relating to IETF Documents 193 (http://trustee.ietf.org/license-info). 195 This version of this YANG module is part of RFC XXXX; see 196 the RFC itself for full legal notices."; 198 revision "2021-07-05" { 199 description 200 "Initial Version"; 201 reference 202 "RFC XXXX: A YANG Data Model for Layer 0 Types - Revision 2"; 203 } 205 /* 206 * Identities 207 */ 209 identity modulation { 210 description "base identity for modulation type"; 211 } 213 identity QPSK { 214 base modulation; 215 description 216 "QPSK (Quadrature Phase Shift Keying) modulation"; 217 } 219 identity DP-QPSK { 220 base modulation; 221 description 222 "DP-QPSK (Dual Polarization Quadrature 223 Phase Shift Keying) modulation"; 224 } 226 identity QAM8 { 227 base modulation; 228 description 229 "8QAM (8-State Quadrature Amplitude Modulation) modulation"; 230 } 232 identity QAM16 { 233 base modulation; 234 description 235 "QAM16 (Quadrature Amplitude Modulation)"; 236 } 238 identity DP-QAM8 { 239 base modulation; 240 description 241 "DP-QAM8 (Dual Polarization Quadrature Amplitude Modulation)"; 242 } 244 identity DC-DP-QAM8 { 245 base modulation; 246 description 247 "DC DP-QAM8 (Dual Carrier Dual Polarization Quadrature 248 Amplitude Modulation)"; 249 } 251 identity DP-QAM16 { 252 base modulation; 253 description 254 "DP-QAM16 (Dual Polarization Quadrature Amplitude 255 Modulation)"; 256 } 258 identity DC-DP-QAM16 { 259 base modulation; 260 description 261 "DC DP-QAM16 (Dual Carrier Dual Polarization Quadrature 262 Amplitude Modulation)"; 263 } 265 identity fec-type { 266 description 267 "Base identity from which specific FEC 268 (Forward Error Correction) type identities are derived."; 269 } 271 identity g-fec { 272 base fec-type; 273 description 274 "G-FEC (Generic-FEC)"; 275 } 276 identity e-fec { 277 base fec-type; 278 description 279 "E-FEC (Enhanced-FEC)"; 280 } 281 identity no-fec { 282 base fec-type; 283 description 284 "No FEC"; 285 } 287 identity reed-solomon { 288 base fec-type; 289 description 290 "Reed-Solomon error correction"; 291 } 293 identity hamming-code { 294 base fec-type; 295 description 296 "Hamming Code error correction"; 297 } 299 identity golay { 300 base fec-type; 301 description "Golay error correction"; 302 } 304 identity line-coding { 305 description 306 "base line-coding class"; 307 reference 308 "ITU-T G.698.2-201811 section 7"; 309 } 311 identity line-coding-NRZ-2p5G { 312 base line-coding; 313 description 314 "ITU-T G.698.2-201811 section 7 table 8-1"; 315 } 317 identity line-coding-NRZ-OTU1 { 318 base line-coding; 319 description 320 "ITU-T G.698.2-201811 section 7 table 8-2"; 321 } 323 identity line-coding-NRZ-10G { 324 base line-coding; 325 description 326 "ITU-T G.698.2-201811 section 7 table 8-3/8-5"; 327 } 329 identity line-coding-NRZ-OTU2 { 330 base line-coding; 331 description 332 "ITU-T G.698.2-201811 section 7 table 8-4/8-6"; 333 } 335 identity wavelength-assignment { 336 description 337 "Wavelength selection base"; 338 reference 339 "RFC6163:Framework for GMPLS and Path Computation Element 340 (PCE) Control of Wavelength Switched Optical Networks (WSONs)"; 341 } 343 identity unspecified-wavelength-assignment { 344 base wavelength-assignment; 345 description 346 "No method specified"; 347 } 349 identity first-fit-wavelength-assignment { 350 base wavelength-assignment; 351 description 352 "All the available wavelengths are numbered, 353 and this WA (Wavelength Assignment) method chooses 354 the available wavelength with the lowest index"; 355 } 357 identity random-wavelength-assignment { 358 base wavelength-assignment; 359 description 360 "This WA method chooses an available 361 wavelength randomly"; 362 } 364 identity least-loaded-wavelength-assignment { 365 base wavelength-assignment; 366 description 367 "This WA method selects the wavelength that 368 has the largest residual capacity on the most loaded 369 link along the route (in multi-fiber networks)"; 370 } 372 identity term-type { 373 description 374 "Termination type"; 375 reference 376 "ITU-T G.709: Interfaces for the Optical Transport Network"; 377 } 379 identity term-phys { 380 base term-type; 381 description 382 "Physical layer termination"; 383 } 384 identity term-otu { 385 base term-type; 386 description 387 "OTU (Optical Transport Unit) termination"; 388 } 390 identity term-odu { 391 base term-type; 392 description 393 "ODU (Optical Data Unit) termination"; 394 } 396 identity term-opu { 397 base term-type; 398 description 399 "OPU (Optical Payload Unit) termination"; 400 } 402 identity otu-type { 403 description 404 "Base identity from which specific OTU identities are derived"; 405 reference 406 "ITU-T G.709: Interfaces for the Optical Transport Network"; 407 } 409 identity OTU1 { 410 base otu-type; 411 description 412 "OTU1 (2.66 Gb/s)"; 413 } 415 identity OTU1e { 416 base otu-type; 417 description 418 "OTU1e (11.04 Gb/s)"; 419 } 421 identity OTU1f { 422 base otu-type; 423 description 424 "OTU1f (11.27 Gb/s)"; 425 } 427 identity OTU2 { 428 base otu-type; 429 description 430 "OTU2 (10.70 Gb/s)"; 431 } 432 identity OTU2e { 433 base otu-type; 434 description 435 "OTU2e (11.09 Gb/s)"; 436 } 438 identity OTU2f { 439 base otu-type; 440 description 441 "OTU2f (11.31G)"; 442 } 444 identity OTU3 { 445 base otu-type; 446 description 447 "OTU3 (43.01 Gb/s)"; 448 } 450 identity OTU3e1 { 451 base otu-type; 452 description 453 "OTU3e1 (44.57 Gb/s)"; 454 } 456 identity OTU3e2 { 457 base otu-type; 458 description 459 "OTU3e2 (44.58 Gb/s)"; 460 } 462 identity OTU4 { 463 base otu-type; 464 description 465 "OTU4 (111.80 Gb/s)"; 466 } 468 identity OTUCn { 469 base otu-type; 470 description 471 "OTUCn (n x 105.25 Gb/s)"; 472 } 474 identity type-power-mode { 475 description 476 "power equalization mode used within the 477 OMS and its elements"; 478 } 479 identity power-spectral-density { 480 base type-power-mode; 481 description 482 "all elements must use power spectral density (W/Hz)"; 483 } 485 identity carrier-power { 486 base type-power-mode; 487 description 488 "all elements must use power (dBm)"; 489 } 491 /* 492 * Typedefs 493 */ 495 typedef operational-mode { 496 type string; 497 description 498 "Organization/vendor specific mode that guarantees 499 interoperability."; 500 reference "ITU-T G.698.2 (11/2018)"; 501 } 503 typedef standard-mode { 504 type string; 505 description 506 "ITU-T G.698.2 standard mode that guarantees 507 interoperability. 508 It must be an string with the following format: 509 B-DScW-ytz(v) where all these attributes 510 are conformant 511 to the ITU-T recomendation"; 512 reference "ITU-T G.698.2 (11/2018)"; 513 } 515 typedef organization-identifier { 516 type string; 517 description 518 "vendor/organization identifier that uses a private mode 519 out of already defined in G.698.2 ITU-T application-code"; 520 reference 521 "RFC7581: Routing and Wavelength Assignment Information 522 Encoding for Wavelength Switched Optical Networks"; 523 } 525 typedef frequency-thz { 526 type decimal64 { 527 fraction-digits 6; 528 } 529 units THz; 530 description 531 "The DWDM frequency in THz, e.g., 193.112500"; 532 reference 533 "RFC6205: Generalized Labels for 534 Lambda-Switch-Capable (LSC) Label Switching Routers"; 535 } 536 typedef frequency-ghz { 537 type decimal64 { 538 fraction-digits 3; 539 } 540 units GHz; 541 description 542 "The DWDM frequency in GHz, e.g., 193112.500"; 543 reference 544 "RFC6205: Generalized Labels for 545 Lambda-Switch-Capable (LSC) Label Switching Routers"; 546 } 548 typedef dbm-t { 549 type int32; 550 units ".01dbm"; 551 description 552 "Amplifiers and Transceivers Power in dBm."; 553 } 555 typedef snr { 556 type decimal64 { 557 fraction-digits 2; 558 } 559 units "dB@0.1nm"; 560 description 561 "(Optical) Signal to Noise Ratio measured over 0.1 nm 562 resolution bandwidth"; 563 } 565 typedef fiber-type { 566 type enumeration { 567 enum G.652 { 568 description "G.652 Standard Singlemode Fiber"; 569 } 570 enum G.654 { 571 description "G.654 Cutoff Shifted Fiber"; 572 } 573 enum G.653 { 574 description "G.653 Dispersion Shifted Fiber"; 576 } 577 enum G.655 { 578 description "G.655 Non-Zero Dispersion Shifted Fiber"; 579 } 580 enum G.656 { 581 description "G.656 Non-Zero Dispersion for Wideband 582 Optical Transport"; 583 } 584 enum G.657 { 585 description "G.657 Bend-Insensitive Fiber"; 586 } 587 } 588 description 589 "ITU-T based fiber-types"; 590 } 592 /* 593 * Groupings 594 */ 596 /* supported inverse multiplexing capabilities such as 597 max. OTSiG:OTSi cardinality 598 It is a transponder attribute not transceiver 599 */ 601 /* leaf multiplexing-cap { 602 type uint32; 603 config false; 604 description "supported inverse multiplexing capabilities 605 such as max. OTSiG:OTSi cardinality"; 606 } 607 */ 609 grouping transceiver-capabilities { 610 description 611 "This grouping is intended to be use for reporting the 612 capabilities of a transceiver."; 614 container supported-modes { 615 description 616 "Transceiver's supported modes."; 617 list supported-mode { 618 key "mode-id"; 619 config false; 620 description "list of supported transceiver's modes."; 621 leaf mode-id { 622 type string { 623 length "1..255"; 625 } 626 description "ID for the supported transceiver's mode."; 627 } 628 choice mode { 629 mandatory true; 630 description 631 "Indicates whether the transceiver's mode is a standard 632 mode, an organizational mode or an explicit mode."; 633 case G.698.2 { 634 uses standard-mode; 635 } 636 case organizational-mode { 637 container organizational-mode { 638 description 639 "The set of attributes for an organizational mode"; 640 uses organizational-mode; 641 uses common-organizational-explicit-mode; 642 } // container organizational-mode 643 } 644 case explicit-mode { 645 container explicit-mode { 646 description 647 "The set of attributes for an explicit mode"; 648 container supported-modes { 649 description 650 "Container for all the standard and organizational 651 modes supported by the transceiver's explicit 652 mode."; 653 leaf-list supported-application-codes { 654 type leafref { 655 path "../../../mode-id"; 656 } 657 must "../../../../" 658 + "supported-mode[mode-id=current()]/" 659 + "standard-mode" { 660 description 661 "The pointer is only for application codes 662 supported by transceiver."; 663 } 664 description 665 "List of pointers to the application codes 666 supported by the transceiver's explicit mode."; 667 } 668 leaf-list supported-organizational-modes { 669 type leafref { 670 path "../../../mode-id"; 671 } 672 must "../../../../" 673 + "supported-mode[mode-id=current()]/" 674 + "organizational-mode" { 675 description 676 "The pointer is only for organizational modes 677 supported by transceiver."; 678 } 679 description 680 "List of pointers to the organizational modes 681 supported by the transceiver's explicit mode."; 682 } 683 } // container supported-modes 684 uses common-explicit-mode; 685 uses common-organizational-explicit-mode; 686 } // container explicit-mode 687 } // end of case explicit-mode 688 } // end of choice 689 } // list supported-modes 690 } // container supported-modes 691 } // grouping transceiver-capabilities 693 grouping standard-mode { 694 description 695 "ITU-T G.698.2 standard mode that guarantees interoperability. 696 It must be an string with the following format: 697 B-DScW-ytz(v) where all these attributes are conformant 698 to the ITU-T recomendation"; 700 leaf standard-mode { 701 type standard-mode; 702 config false; 703 description 704 "G.698.2 standard mode"; 705 } 706 } 708 grouping organizational-mode { 709 description 710 "Transponder operational mode supported by organizations or 711 vendor"; 713 leaf operational-mode { 714 type operational-mode; 715 config false; 716 description 717 "configured organization- or vendor-specific 718 application identifiers (AI) supported by the transponder"; 719 } 720 leaf organization-identifier { 721 type organization-identifier; 722 config false; 723 description 724 "organization identifier that uses organizational 725 mode"; 727 } 728 } 730 grouping cd-pmd-penalty { 731 description "entries of table; triplet chromatic 732 dispersion, polarization mode dispersion and 733 associated penalty"; 735 leaf chromatic-dispersion { 736 type decimal64 { 737 fraction-digits 2; 738 range "0..max"; 739 } 740 units "ps/nm"; 741 config false; 742 mandatory true; 743 description "chromatic dispersion"; 744 } 746 leaf polarization-mode-dispersion { 747 type decimal64 { 748 fraction-digits 2; 749 range "0..max"; 750 } 751 units "ps"; 752 config false; 753 mandatory true; 754 description "Polarization mode dispersion"; 755 } 757 leaf penalty { 758 type decimal64 { 759 fraction-digits 2; 760 range "0..max"; 761 } 762 units "dB"; 763 config false; 764 mandatory true; 765 description "Associated penalty on the receiver"; 766 } 767 } 768 grouping pdl-penalty { 769 description 770 "entries of table; pair of values polarization dependent loss 771 and associated penalty"; 773 leaf max-polarization-dependent-loss { 774 type decimal64 { 775 fraction-digits 2; 776 } 777 units "dB"; 778 config false; 779 mandatory true; 780 description 781 "Maximum acceptable accumulate polarization dependent loss"; 782 } 784 leaf penalty { 785 type uint8; 786 units "dB"; 787 config false; 788 mandatory true; 789 description "Associated penalty on the receiver"; 790 } 791 } 793 /* 794 * This grouping represent the list of attributes related to 795 * optical impairment limits for explicit mode 796 * (min OSNR, max PMD, max CD, max PDL, Q-factor limit, etc.) 797 * In case of standard and operational mode the attributes are 798 * implicit 799 */ 801 grouping common-explicit-mode { 802 description "Attributes capabilities related to 803 explicit mode of an optical transceiver"; 805 leaf line-coding-bitrate { 806 type identityref { 807 base line-coding; 808 } 809 config false; 810 description "Bit rate/line coding of optical tributary signal"; 811 reference 812 "ITU-T G.698.2 section 7.1.2"; 813 } 814 leaf max-polarization-mode-dispersion { 815 type decimal64 { 816 fraction-digits 2; 817 range "0..max"; 818 } 819 units "ps"; 820 config false; 821 description 822 "Maximum acceptable accumulated polarization mode 823 dispersion on the receiver"; 824 } 826 leaf max-chromatic-dispersion { 827 type decimal64 { 828 fraction-digits 2; 829 range "0..max"; 830 } 831 units "ps/nm"; 832 config false; 833 description 834 "Maximum acceptable accumulated chromatic dispersion 835 on the receiver"; 836 } 838 list chromatic-and-polarization-dispersion-penalty { 839 config false; 840 description 841 "Optional penalty associated with a given accumulated 842 CD and PMD. 843 This list of triplet cd, pmd, penalty can be used to 844 sample the function penalty = f(CD, PMD)."; 845 uses cd-pmd-penalty ; 846 } 848 leaf max-diff-group-delay { 849 type int32; 850 config false; 851 description "Maximum Differential group delay of this mode 852 for this lane"; 853 } 855 list max-polarization-dependent-loss-penalty { 856 config false; 857 description 858 "Optional penalty associated with the maximum acceptable 859 accumulated polarization dependent loss. 860 This list of pair pdl and penalty can be used to 861 sample the function pdl = f(penalty)."; 863 uses pdl-penalty ; 864 } 866 leaf available-modulation-type { 867 type identityref { 868 base modulation; 869 } 870 config false; 871 description 872 "Modulation type the specific transceiver in the list 873 can support"; 874 } 875 leaf otsi-carrier-bandwidth { 876 type frequency-ghz; 877 config false; 878 description 879 "Carrier bandwidth occupancy. 880 The required bandwidth can be given 881 by the transceiver vendor or 882 can be function of the following parameters: 883 baudrate, nyquist-spacing, roll-off and 884 cross-talk penalty"; 885 } 887 leaf min-OSNR { 888 type snr; 889 config false; 890 description "min OSNR measured over 0.1 nm 891 resolution bandwidth: 892 if received OSNR at minimum Rx-power is lower than MIN-OSNR, 893 an increased level of bit-errors post-FEC needs 894 to be expected."; 895 // change resolution BW from 12.5 GHz to 0.1 nm 896 } 898 leaf min-Q-factor { 899 type int32; 900 units "dB"; 901 config false; 902 description "min Qfactor at FEC threshold"; 903 } 905 leaf available-baud-rate { 906 type uint32; 907 units Bd; 908 config false; 909 description 910 "Baud-rate the specific transceiver in 911 the list can support. 912 Baud-rate is the unit for 913 symbol rate or modulation rate 914 in symbols per second or 915 pulses per second. 916 It is the number of distinct symbol 917 changes (signal events) made to the 918 transmission medium 919 per second in a digitally 920 modulated signal or a line code"; 921 } 923 leaf nyquist-spacing-factor { 924 type decimal64 { 925 fraction-digits 4; 926 range "1..2"; 927 } 928 config false; 929 description 930 "1.x factor to multiply the baud rate 931 for Nyquist shaped signal"; 932 } 934 leaf roll-off { 935 type decimal64 { 936 fraction-digits 4; 937 range "0..1"; 938 } 939 config false; 940 description 941 "the roll-off factor (beta with values from 0 to 1) 942 identifies how the real signal shape exceed 943 the baud rate. If=0 it is exactly matching 944 the baud rate.If=1 the signal exceeds the 945 50% of the baud rate at each side."; 946 } 948 leaf xtalk-penalty { 949 type int32; 950 config false; 951 description ""; 952 } 954 leaf available-fec-type { 955 type identityref { 956 base fec-type; 957 } 958 config false; 959 description "Available FEC"; 960 } 962 leaf fec-code-rate { 963 type decimal64 { 964 fraction-digits 8; 965 range "0..max"; 966 } 967 config false; 968 description "FEC-code-rate"; 969 } 971 leaf fec-threshold { 972 type decimal64 { 973 fraction-digits 8; 974 range "0..max"; 975 } 976 config false; 977 description 978 "Threshold on the BER, for which FEC 979 is able to correct errors"; 980 } 981 } // grouping common-explicit-mode 983 grouping common-organizational-explicit-mode { 984 description "Common capability attributes limit range 985 in case of operational mode and explicit mode. 986 These attributes are supported separately in 987 case of application codes"; 989 /* transmitter tuning range (f_tx-min, f_tx-max) */ 991 leaf min-central-frequency { 992 type frequency-thz; 993 config false; 994 description 995 "This parameter indicates the minimum frequency for 996 this transceiver."; 997 } 998 leaf max-central-frequency { 999 type frequency-thz; 1000 config false; 1001 description 1002 "This parameter indicates the maximum frequency 1003 for this transceiver."; 1004 } 1006 /* transmitter-tunability-grid */ 1007 leaf minimum-channel-spacing { 1008 type frequency-ghz; 1009 config false; 1010 description 1011 "This paramenter represents the minumum difference in 1012 frequency between two adjacent channels 1013 (ref. G.698.2 sec.7.1.1). 1014 This free value is to permit OTSi's central frequency not 1015 to stay on the G.694.1 grid."; 1016 } 1018 /* supported transmitter power range [p_tx-min, p_tx_max] */ 1020 leaf tx-channel-power-min { 1021 type dbm-t; 1022 config false; 1023 description "The minimum output power of this interface"; 1024 } 1025 leaf tx-channel-power-max { 1026 type dbm-t; 1027 config false; 1028 description "The maximum output power of this interface"; 1029 } 1031 /* supported receiver power range [p_rx-min, p_rx_max] */ 1033 leaf rx-channel-power-min { 1034 type dbm-t; 1035 config false; 1036 description "The minimum input power of this interface"; 1037 } 1038 leaf rx-channel-power-max { 1039 type dbm-t; 1040 config false; 1041 description "The maximum input power of this interface"; 1042 } 1044 leaf rx-total-power-max { 1045 type dbm-t; 1046 config false; 1047 description "Maximum rx optical power for 1048 all the channels"; 1049 } 1051 } // grouping common-organizational-explicit-mode 1053 /* This grouping represent the list of configured parameters */ 1054 /* values independent of operational mode */ 1055 grouping common-transceiver-configured-param { 1056 description "Capability of an optical transceiver"; 1058 leaf otsi-carrier-frequency { 1059 type frequency-thz; 1060 description 1061 "OTSi carrier frequency, equivalent to the 1062 actual configured transmitter frequency"; 1063 } 1065 leaf tx-channel-power { 1066 type dbm-t; 1067 description "The current channel transmit power"; 1068 } 1070 leaf rx-channel-power { 1071 type dbm-t; 1072 config false; 1073 description "The current channel received power "; 1074 } 1076 leaf rx-total-power { 1077 type dbm-t; 1078 config false; 1079 description "Current total received power"; 1080 } 1082 } // grouping for configured attributes out of mode 1084 grouping l0-tunnel-attributes { 1085 description 1086 "Parameters for Layer0 (WSON or Flexi-Grid) Tunnels."; 1087 leaf fec-type { 1088 type identityref { 1089 base fec-type; 1090 } 1091 description 1092 "FEC type."; 1093 } 1094 leaf termination-type { 1095 type identityref { 1096 base term-type; 1097 } 1098 description 1099 "Termination type."; 1100 } 1101 leaf bit-stuffing { 1102 type boolean; 1103 description 1104 "Bit stuffing enabled/disabled."; 1105 } 1106 } 1108 grouping l0-path-constraints { 1109 description 1110 "Global named path constraints configuration 1111 grouping for Layer0 (WSON or Flexi-Grid) paths."; 1112 leaf wavelength-assignment { 1113 type identityref { 1114 base wavelength-assignment; 1115 } 1116 description "Wavelength Allocation Method"; 1117 } 1118 } 1120 grouping frequency-range { 1121 description 1122 "The parameters that define a frequency range."; 1123 leaf lower-frequency { 1124 type frequency-thz; 1125 mandatory true; 1126 description 1127 "The lower frequency boundary of the 1128 frequency range."; 1129 } 1130 leaf upper-frequency { 1131 type frequency-thz; 1132 must '. > ../lower-frequency' { 1133 error-message 1134 "The upper frequency must be greater than the lower 1135 frequency."; 1136 } 1137 mandatory true; 1138 description 1139 "The upper frequency boundary of the 1140 frequency range."; 1141 } 1142 } 1143 } 1144 1146 Figure 1 1148 4. Acknowledgements 1150 To be added if any. 1152 5. Contributors 1154 Gabriele Galimberti 1155 Cisco 1157 Email: ggalimbe@cisco.com 1159 Enrico Griseri 1160 Nokia 1162 Email: Enrico.Griseri@nokia.com 1164 Aihua Guo 1165 Futurewei 1167 Email: aihuaguo@futurewei.com 1169 6. IANA Considerations 1171 This memo includes no request to IANA. 1173 All drafts are required to have an IANA considerations section (see 1174 Guidelines for Writing an IANA Considerations Section in RFCs 1175 [RFC5226] for a guide). If the draft does not require IANA to do 1176 anything, the section contains an explicit statement that this is the 1177 case (as above). If there are no requirements for IANA, the section 1178 will be removed during conversion into an RFC by the RFC Editor. 1180 7. Security Considerations 1182 All drafts are required to have a security considerations section. 1183 See RFC 3552 [RFC3552] for a guide. 1185 8. References 1187 8.1. Normative References 1189 [I-D.ietf-ccamp-layer0-types] 1190 Zheng, H., Lee, Y., Guo, A., Lopez, V., and D. King, "A 1191 YANG Data Model for Layer 0 Types", Work in Progress, 1192 Internet-Draft, draft-ietf-ccamp-layer0-types-09, 29 1193 December 2020, . 1196 [I-D.ietf-ccamp-optical-impairment-topology-yang] 1197 Lee, Y., Rouzic, E. L., Lopez, V., Galimberti, G., and D. 1198 Beller, "A YANG Data Model for Optical Impairment-aware 1199 Topology", Work in Progress, Internet-Draft, draft-ietf- 1200 ccamp-optical-impairment-topology-yang-07, 8 July 2021, 1201 . 1204 [I-D.ietf-ccamp-wson-yang] 1205 Zheng, H., Lee, Y., Guo, A., Lopez, V., and D. King, "A 1206 YANG Data Model for WSON (Wavelength Switched Optical 1207 Networks)", Work in Progress, Internet-Draft, draft-ietf- 1208 ccamp-wson-yang-28, 29 December 2020, 1209 . 1212 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1213 Requirement Levels", BCP 14, RFC 2119, 1214 DOI 10.17487/RFC2119, March 1997, 1215 . 1217 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1218 and A. Bierman, Ed., "Network Configuration Protocol 1219 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1220 . 1222 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1223 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1224 . 1226 [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 1227 O. Gonzalez de Dios, "YANG Data Model for Traffic 1228 Engineering (TE) Topologies", RFC 8795, 1229 DOI 10.17487/RFC8795, August 2020, 1230 . 1232 8.2. Informative References 1234 [I-D.ietf-ccamp-dwdm-if-param-yang] 1235 Galimberti, G., Kunze, R., Burk, A., Hiremagalur, D., and 1236 G. Grammel, "A YANG model to manage the optical interface 1237 parameters for an external transponder in a WDM network", 1238 Work in Progress, Internet-Draft, draft-ietf-ccamp-dwdm- 1239 if-param-yang-06, 12 July 2021, 1240 . 1243 [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, 1244 DOI 10.17487/RFC2629, June 1999, 1245 . 1247 [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC 1248 Text on Security Considerations", BCP 72, RFC 3552, 1249 DOI 10.17487/RFC3552, July 2003, 1250 . 1252 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 1253 IANA Considerations Section in RFCs", RFC 5226, 1254 DOI 10.17487/RFC5226, May 2008, 1255 . 1257 Authors' Addresses 1259 Dieter Beller (editor) 1260 Nokia 1262 Email: Dieter.Beller@nokia.com 1264 Sergio Belotti (editor) 1265 Nokia 1267 Email: Sergio.Belotti@nokia.com 1269 Haomian Zheng 1270 Huawei 1272 Email: ZhengHaomian@huawei.com 1274 Italo Busi 1275 Huawei 1277 Email: Italo.Busi@huawei.com 1278 Esther Le Rouzic 1279 Orange 1281 Email: esther.lerouzic@orange.com