--- 1/draft-ietf-ccamp-dwdm-if-param-yang-01.txt 2019-11-04 02:13:58.597906407 -0800 +++ 2/draft-ietf-ccamp-dwdm-if-param-yang-02.txt 2019-11-04 02:13:58.641907666 -0800 @@ -1,23 +1,23 @@ Internet Engineering Task Force G. Galimberti, Ed. Internet-Draft Cisco Intended status: Experimental R. Kunze -Expires: January 9, 2020 Deutsche Telekom +Expires: May 7, 2020 Deutsche Telekom D. Hiremagalur, Ed. G. Grammel, Ed. Juniper - July 8, 2019 + November 4, 2019 A YANG model to manage the optical interface parameters for an external transponder in a WDM network - draft-ietf-ccamp-dwdm-if-param-yang-01 + draft-ietf-ccamp-dwdm-if-param-yang-02 Abstract This memo defines a Yang model related to the Optical Transceiver parameters characterising coherent 100G and above interfaces. 100G and above Transceivers support coherent modulation, multiple modulation formats, multiple FEC codes including some not yet specified (or by in phase of specification by) ITU-T G.698.2 [ITU.G698.2] or any other ITU-T recommendation. More context about the state of the Coherent transceivers is described in draft-many- @@ -45,21 +45,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on January 9, 2020. + This Internet-Draft will expire on May 7, 2020. Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -76,30 +76,30 @@ 3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.1. Optical Parameters Description . . . . . . . . . . . . . 5 4.1.1. Parameters at Ss . . . . . . . . . . . . . . . . . . 5 4.1.2. Interface at point Rs . . . . . . . . . . . . . . . . 5 4.2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 5 4.3. Optical Interface for external transponder in a WDM network . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. Structure of the Yang Module . . . . . . . . . . . . . . . . 7 6. Yang Module . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 7. Security Considerations . . . . . . . . . . . . . . . . . . . 20 - 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 - 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 - 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 21 - 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 - 11.1. Normative References . . . . . . . . . . . . . . . . . . 22 - 11.2. Informative References . . . . . . . . . . . . . . . . . 24 - Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 24 - Appendix B. Open Issues . . . . . . . . . . . . . . . . . . . . 24 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 + 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 + 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 + 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 + 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 19 + 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 + 11.1. Normative References . . . . . . . . . . . . . . . . . . 21 + 11.2. Informative References . . . . . . . . . . . . . . . . . 23 + Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 23 + Appendix B. Open Issues . . . . . . . . . . . . . . . . . . . . 23 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 1. Introduction This memo defines a Yang model that translates and obsolete the SNMP mib module defined in draft-galikunze-ccamp-dwdm-if-snmp-mib for managing single channel optical interface parameters of DWDM applications, using the approach specified in G.698.2. This model supports parameters to characterize coherent transceivers found in current implementations to specify the mode of operation. As application identifiers like those specified in ITU-T G.874.1 @@ -326,21 +326,21 @@ ietf-ext-xponder-wdm-if is a top level model for the support of this feature. 6. Yang Module The ietf-ext-xponder-wdm-if is defined as an extension to ietf interfaces. file "ietf-ext-xponder-wdm-if.yang" - module ietf-ext-xponder-wdm-if { + module draft-ietf-ccamp-dwdm-if-param-yang-02 { namespace "urn:ietf:params:xml:ns:yang:ietf-ext-xponder-wdm-if"; prefix ietf-ext-xponder-wdm-if; import ietf-interfaces { prefix if; } organization "IETF CCAMP Working Group"; @@ -359,40 +359,45 @@ Copyright (c) 2016 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info)."; - revision "2019-07-08" { + revision "2019-11-04" { description - "Revision 1.2"; + "Revision 1.4"; reference ""; + } + revision "2019-07-08" { + description + "Revision 1.3"; + reference + ""; + } revision "2018-10-22" { description "Revision 1.2"; reference ""; } - revision "2018-03-06" { description "Revision 1.1"; reference ""; } - revision "2017-03-06" { description "Revision 1.0"; reference ""; } revision "2016-03-17" { description "Initial revision."; reference @@ -401,153 +406,139 @@ typedef dbm-t { type decimal64 { fraction-digits 2; range "-50..-30 | -10..5 | 10000000"; } description " Amplifier Power in dBm "; } typedef opt-if-och-tca-types { - type enumeration { enum max-laser-linewdt { description " The maximum laser linewidth"; } enum min-tx-power-tca { - description " The min tx power tca"; + description "The min tx power TCA"; } enum max-tx-power-tca { - description " The min tx power tca"; - + description "The min tx power TCA"; } enum min-rx-power-tca{ - description " The min tx power tca"; + description "The min tx power TCA"; } enum max-rx-power-tca{ - description " The min tx power tca"; + description "The min tx power TCA"; } enum max-pol-power-diff-tca{ - description " The power diff. between polariz. tca"; + description "The power difference between polarization TCA"; } enum max-pol-skew-diff-tca{ - description " The Skew between the two polariz. tca"; + description "The skew between the two polarization TCA"; } enum min-frequency-offset-tca{ - description " Min Frequency offset tca"; + description "Min Frequency offset TCA"; } enum max-frequency-offset-tca{ - description " Max Frequency offset tca"; + description "Max Frequency offset TCA"; } enum min-osnr-tca{ - description " Min OSNR tca"; + description "Min OSNR TCA"; } enum max-osnr-tca{ - description " Max OSNR tca"; + description "Max OSNR TCA"; } enum min-laser-temperature-tca{ - description " The min tx power tca"; + description "The min tx power TCA"; } enum max-laser-temperature-tca{ - description " Temperature tca"; + description "Temperature TCA"; } enum min-fec-ber-tca{ - description " Min Pre Fec BER tca"; + description "Min Pre Fec BER TCA"; } enum max-fec-ber-tca{ - description " Max Pre Fec BER tca"; + description "Max Pre Fec BER TCA"; } enum min-q-tca{ - description "Min Q tca"; + description "Min Q TCA"; } enum max-q-tca { - description "Max Q tca"; + description "Max Q TCA"; } } description " The different types of TCA's"; } + grouping opt-if-och-power { description "Interface optical Power"; + leaf channel-output-power { type int32; units ".01dbm"; - description "The output power for this interface - in .01 dBm. - The setting of the output power is - optional"; + description "The output power for this interface in .01 dBm. + The setting of the output power is optional"; } leaf channel-input-power { type int32; units ".01dbm"; config false; - description "The current channel input power of this - interface"; + description "The current channel input power of this interface"; } + leaf total-input-power { type int32; units ".01dbm"; config false; - description "The total input power of this - interface"; + description "The total input power of this interface"; } } grouping opt-if-och-tca-thresholds { description "Thresholds for TCA's"; leaf tca-type { type opt-if-och-tca-types; description "type of the TCA eg TX Power"; } leaf min-threshold { type int32; - description " A TCA is generated if the variable is - less than this value"; - + description "A TCA is generated if the variable is less than + this value"; } leaf max-threshold { type int32; - description " A TCA is generated if the variable is - more than this value"; + description "A TCA is generated if the variable is more than + this value"; } } grouping opt-if-och-fec { - description "Fec info"; + description "FEC info"; leaf fec-info { - type string { - length "1..255"; - } + type string { length "1..255"; } config false; - description - "Fec Type - eg GFEC"; + description "FEC Type - eg GFEC"; } leaf fec-bitrate { - type string { - length "1..255"; - } + type string { length "1..255"; } config false; - description - "Fec Overhead rate "; + description "FEC Overhead rate "; } leaf fec-gain { - type string { - length "1..255"; - } + type string { length "1..255"; } config false; - description - "Fec Overhead rate "; + description "FEC Overhead rate "; } leaf pre-fec-ber-mantissa-threshold { type uint32; description " Mantissa of the FEC BER threshold"; - } leaf pre-fec-ber-exponent-threshold { type int32; description " Exponent of the FEC BER threshold"; } } grouping opt-if-och-central-frequency { description "Interface Central Frequency"; leaf central-frequency { @@ -545,156 +536,133 @@ leaf pre-fec-ber-exponent-threshold { type int32; description " Exponent of the FEC BER threshold"; } } grouping opt-if-och-central-frequency { description "Interface Central Frequency"; leaf central-frequency { type uint32; - description " This parameter indicates the frequency - of this interface "; - } + description "This parameter indicates the frequency of this + interface "; } - } grouping opt-if-och-modulation-params { description "Optical modulation parameters for the lane"; + leaf modulation-format { - type string { - length "1..255"; - } + type string { length "1..255"; } config false; - description - "Modulation format for this mode"; + description "Modulation format for this mode"; } leaf baud-rate { - type uinte32 - description - "Baud-rate or symbol rate"; + type uint32; + description "Baud-rate or symbol rate"; } leaf bits-per-symbol { type uint32; - description " This parameter the bits per symbol for - this mode."; - + description "This parameter the bits per symbol for this mode"; } leaf num-symbols-in-alphabet { type uint32; - description " This parameter the bits per symbol for - this mode."; - + description "This parameter the bits per symbol for this mode"; } leaf symbols-index { type uint32; - description " This parameter is the symbol index this - mode."; - + description "This parameter is the symbol index this mode"; + } } grouping opt-if-och-lane-param { description "Optical parameters for the lane"; + leaf number-of-lanes { type uint32; config false; - description - "Number of optical lanes of this interface"; + description "Number of optical lanes of this interface"; } leaf min-laser-temperature { type int32; units ".01C"; config false; - description - "Minimum Laser Temperature of this mode for - this interface"; + description "Minimum Laser Temperature of this mode for this + lane"; } leaf max-laser-temperature { type int32; units ".01C"; config false; - description - "Maximum Laser Temperature of this mode for - this interface"; + description "Maximum Laser Temperature of this mode for this + lane"; } leaf max-total-rx-optical-power { type dbm-t; config false; - description - "Maximum rx optical power of this mode for - this interface"; + description "Maximum rx optical power of this mode for this + lane"; } leaf max-chromatic-dispersion { type int32; config false; - description - "Maximum chromatic dispersion of this - mode for this interface"; + description "Maximum chromatic dispersion of this mode for this + lane"; } leaf max-diff-group-delay { type int32; config false; - description - "Maximum Differential group delay of this - mode for this interface"; + description "Maximum Differential group delay of this mode for + this lane"; } uses opt-if-och-modulation-params; } grouping opt-if-och-tca-list { - description "List of TCA's."; + description "List of TCA's"; leaf number-of-tcas-supported { type uint32; - description "Number of tcas - supported by this interface"; + description "Number of TCAs supported by this interface"; } list mode-list { key "tca-type"; - description "List of the tcas"; + description "List of the TCAs"; uses opt-if-och-tca-thresholds; } - } grouping opt-if-och-fec-tca-thresholds { description "Pre FEC BER Thresholds for TCA's"; leaf min-fec-ber-mantissa-threshold { type uint32; description " Min Mantissa of the FEC BER threshold"; - } leaf min-fec-ber-exponent-threshold { type int32; description " Min Exponent of the FEC BER threshold"; - } leaf max-fec-ber-mantissa-threshold { type uint32; description " Max Mantissa of the FEC BER threshold"; - } leaf max-fec-ber-exponent-threshold { type int32; description " Max Exponent of the FEC BER threshold"; - } } grouping opt-if-och-mode-params { - description "OCh mode parameters."; + description "OCh mode parameters"; + leaf mode-id { - type string { - length "1..255"; - } - description - "Id for the OCh mode template"; + type string { length "1..255"; } + description "ID for the OCh mode template"; } leaf min-osnr-margin { type int32; units "dB"; config false; description " OSNR margin to FEC threshold"; } leaf q-margin { type int32; units "dB"; @@ -694,184 +662,163 @@ units "dB"; config false; description " OSNR margin to FEC threshold"; } leaf q-margin { type int32; units "dB"; config false; description " Q-Factor margin to FEC threshold"; } - uses opt-if-och-central-frequency; uses opt-if-och-power; uses opt-if-och-fec-tca-thresholds; uses opt-if-och-tca-list; - } grouping opt-if-och-statistics { - description "OCh statistics."; + description "OCh statistics"; leaf cur-osnr { type int32; units "dB"; config false; description " OSNR margin to FEC threshold"; } leaf cur-q-factor { type int32; units "dB"; config false; description " Q-Factor of the interface"; } leaf uncorrected-words { type uint64; config false; - description " Post FEC errored words"; + description "Post-FEC errored words"; } leaf pre-fec-ber-mantissa { type uint32; config false; - description " Pre fec FEC errored words mantissa"; + description "Pre-FEC errored words mantissa"; } leaf pre-fec-ber-exponent { type int32; config false; - description " Pre fec FEC errored words exponent"; + description "Pre-FEC errored words exponent"; } } - grouping opt-if-och-mode { - description "OCh mode template."; + description "OCh mode template"; + leaf mode-id { - type string { - length "1..255"; - } + type string { length "1..255"; } config false; - description - "Id for the OCh mode template"; + description "ID for the OCh mode template"; } leaf application-identifier { type uint32; config false; - description "This parameter indicates the - application identifier according - toG.698.2"; + description "This parameter indicates the application identifier + according to G.698.2"; } leaf min-central-frequency { type uint32; config false; - description "This parameter indicates the minimum - frequency for this template "; + description "This parameter indicates the minimum frequency for + this template"; } leaf max-central-frequency { type uint32; config false; - description "This parameter indicates the minimum - frequency for this template "; + description "This parameter indicates the minimum frequency for + this template"; } leaf min-channel-input-power { type dbm-t; config false; - description "The minimum input power of this - interface"; + description "The minimum input power of this interface"; } leaf max-channel-input-power { type dbm-t; config false; - description "The maximum input power of this - interface"; + description "The maximum input power of this interface"; } leaf min-channel-output-power { type dbm-t; config false; - description "The minimum output power of this - interface"; + description "The minimum output power of this interface"; } leaf max-channel-output-power { type dbm-t; config false; - description "The maximum output power of this - interface"; + description "The maximum output power of this interface"; } leaf osnr-margin { type int32; units "dB"; config false; description "OSNR margin to FEC threshold"; - } leaf q-margin { type int32; units "dB"; config false; description "Q-Factor margin to FEC threshold"; } uses opt-if-och-fec; uses opt-if-och-lane-param; - } grouping opt-if-och-mode-list { - description "List of Mode list group."; + description "List of Mode list group"; + leaf number-of-modes-supported { type uint32; - description "Number of modes - supported by this interface"; + description "Number of modes supported by this interface"; } list mode-list { key "mode-id"; description "List of the modes "; uses opt-if-och-mode; } } notification opt-if-och-central-frequency-change { - description "A change of Central Frequency has been - detected."; + description "A change of Central Frequency has been detected"; + leaf "if-name" { - type leafref { - path "/if:interfaces/if:interface/if:name"; - } + type leafref { path "/if:interfaces/if:interface/if:name"; } description "Interface name"; } container new-opt-if-och-central-frequency { - description "The new Central Frequency of the - interface"; + description "The new Central Frequency of the interface"; uses opt-if-och-central-frequency; } } notification opt-if-och-mode-change { - description "A change of Mode Template has been - detected."; + description "A change of Mode Template has been detected"; + leaf "if-name" { - type leafref { - path "/if:interfaces/if:interface/if:name"; - } + type leafref { path "/if:interfaces/if:interface/if:name"; } description "Interface name"; } leaf mode-id { - type string { - length "1..255"; - } - description "Id for the OCh mode template"; + type string { length "1..255"; } + description "ID for the OCh mode template"; } - } notification opt-if-och-min-tca { - description "A min output TCA notification."; + description "A min output TCA notification"; + leaf "if-name" { - type leafref { - path "/if:interfaces/if:interface/if:name"; - } + type leafref { path "/if:interfaces/if:interface/if:name"; } description "Interface name"; } leaf tca-type { type opt-if-och-tca-types; description "Type of TCA for eg min tx power TCA"; } } augment "/if:interfaces/if:interface" { description "Parameters for an optical interface"; @@ -868,47 +815,43 @@ description "Interface name"; } leaf tca-type { type opt-if-och-tca-types; description "Type of TCA for eg min tx power TCA"; } } augment "/if:interfaces/if:interface" { description "Parameters for an optical interface"; + container optIfOChRsSs { description "RsSs path configuration for an interface"; + container if-current-mode { - description "Current mode template of the - interface"; + description "Current mode template of the interface"; uses opt-if-och-mode; } - container if-supported-mode { config false; - description "Supported mode list of - this interface"; + description "Supported mode list of this interface"; uses opt-if-och-mode-list; } container current-opt-if-och-mode-params { - description "Current parameters of - this interface"; + description "Current parameters of this interface"; uses opt-if-och-mode-params; uses opt-if-och-statistics; } - } } } - 7. Security Considerations The YANG module defined in this memo is designed to be accessed via the NETCONF protocol [RFC6241]. he lowest NETCONF layer is the secure transport layer and the mandatory-to-implement secure transport is SSH [RFC6242]. The NETCONF access control model [RFC6536] provides the means to restrict access for particular NETCONF users to a pre- configured subset of all available NETCONF protocol operation and content. @@ -1075,26 +1017,20 @@ DOI 10.17487/RFC3591, September 2003, . [RFC6205] Otani, T., Ed. and D. Li, Ed., "Generalized Labels for Lambda-Switch-Capable (LSC) Label Switching Routers", RFC 6205, DOI 10.17487/RFC6205, March 2011, . 11.2. Informative References - [I-D.ietf-ccamp-dwdm-if-mng-ctrl-fwk] - Kunze, R., Grammel, G., Beller, D., Galimberti, G., and J. - Meuric, "A framework for Management and Control of DWDM - optical interface parameters", draft-ietf-ccamp-dwdm-if- - mng-ctrl-fwk-11 (work in progress), June 2018. - [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, DOI 10.17487/RFC2629, June 1999, . [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet- Standard Management Framework", RFC 3410, DOI 10.17487/RFC3410, December 2002, .