draft-ietf-ccamp-dwdm-if-param-yang-02.txt | draft-ietf-ccamp-dwdm-if-param-yang-03.txt | |||
---|---|---|---|---|
Internet Engineering Task Force G. Galimberti, Ed. | Internet Engineering Task Force G. Galimberti, Ed. | |||
Internet-Draft Cisco | Internet-Draft Cisco | |||
Intended status: Experimental R. Kunze | Intended status: Experimental R. Kunze | |||
Expires: May 7, 2020 Deutsche Telekom | Expires: September 10, 2020 A. Burk | |||
Deutsche Telekom | ||||
D. Hiremagalur, Ed. | D. Hiremagalur, Ed. | |||
G. Grammel, Ed. | G. Grammel, Ed. | |||
Juniper | Juniper | |||
November 4, 2019 | March 9, 2020 | |||
A YANG model to manage the optical interface parameters for an external | A YANG model to manage the optical interface parameters for an external | |||
transponder in a WDM network | transponder in a WDM network | |||
draft-ietf-ccamp-dwdm-if-param-yang-02 | draft-ietf-ccamp-dwdm-if-param-yang-03 | |||
Abstract | Abstract | |||
This memo defines a Yang model related to the Optical Transceiver | This memo defines a Yang model related to the Optical Transceiver | |||
parameters characterising coherent 100G and above interfaces. 100G | parameters characterising coherent 100G and above interfaces. 100G | |||
and above Transceivers support coherent modulation, multiple | and above Transceivers support coherent modulation, multiple | |||
modulation formats, multiple FEC codes including some not yet | modulation formats, multiple FEC codes including some not yet | |||
specified (or by in phase of specification by) ITU-T G.698.2 | 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 | [ITU.G698.2] or any other ITU-T recommendation. More context about | |||
the state of the Coherent transceivers is described in draft-many- | the state of the Coherent transceivers is described in draft-many- | |||
skipping to change at page 2, line 10 ¶ | skipping to change at page 2, line 12 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on May 7, 2020. | This Internet-Draft will expire on September 10, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 43 ¶ | skipping to change at page 2, line 45 ¶ | |||
4.1. Optical Parameters Description . . . . . . . . . . . . . 5 | 4.1. Optical Parameters Description . . . . . . . . . . . . . 5 | |||
4.1.1. Parameters at Ss . . . . . . . . . . . . . . . . . . 5 | 4.1.1. Parameters at Ss . . . . . . . . . . . . . . . . . . 5 | |||
4.1.2. Interface at point Rs . . . . . . . . . . . . . . . . 5 | 4.1.2. Interface at point Rs . . . . . . . . . . . . . . . . 5 | |||
4.2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 5 | 4.2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
4.3. Optical Interface for external transponder in a WDM | 4.3. Optical Interface for external transponder in a WDM | |||
network . . . . . . . . . . . . . . . . . . . . . . . . . 5 | network . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
5. Structure of the Yang Module . . . . . . . . . . . . . . . . 7 | 5. Structure of the Yang Module . . . . . . . . . . . . . . . . 7 | |||
6. Yang Module . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 6. Yang Module . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 | |||
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 19 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 21 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 21 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 23 | 11.2. Informative References . . . . . . . . . . . . . . . . . 23 | |||
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 23 | Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 23 | |||
Appendix B. Open Issues . . . . . . . . . . . . . . . . . . . . 23 | Appendix B. Open Issues . . . . . . . . . . . . . . . . . . . . 23 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | Appendix C. Applicability examples . . . . . . . . . . . . . . . 23 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | ||||
1. Introduction | 1. Introduction | |||
This memo defines a Yang model that translates and obsolete the SNMP | This memo defines a Yang model that translates and obsolete the SNMP | |||
mib module defined in draft-galikunze-ccamp-dwdm-if-snmp-mib for | mib module defined in draft-galikunze-ccamp-dwdm-if-snmp-mib for | |||
managing single channel optical interface parameters of DWDM | managing single channel optical interface parameters of DWDM | |||
applications, using the approach specified in G.698.2. This model | applications, using the approach specified in G.698.2. This model | |||
supports parameters to characterize coherent transceivers found in | supports parameters to characterize coherent transceivers found in | |||
current implementations to specify the mode of operation. As | current implementations to specify the mode of operation. As | |||
application identifiers like those specified in ITU-T G.874.1 | application identifiers like those specified in ITU-T G.874.1 | |||
skipping to change at page 6, line 6 ¶ | skipping to change at page 6, line 6 ¶ | |||
other operational parameters. The module provides also treshold | other operational parameters. The module provides also treshold | |||
settings and notifications to supervise measured parameters and | settings and notifications to supervise measured parameters and | |||
notify the client. | notify the client. | |||
module: ietf-ext-xponder-wdm-if | module: ietf-ext-xponder-wdm-if | |||
augment /if:interfaces/if:interface: | augment /if:interfaces/if:interface: | |||
+--rw optIfOChRsSs | +--rw optIfOChRsSs | |||
+--rw if-current-mode | +--rw if-current-mode | |||
| +--ro mode-id? string | | +--ro mode-id? string | |||
| +--ro application-identifier? string | | +--ro application-identifier? string | |||
| +--ro min-central-frequency? uint32 | | +--ro min-central-frequency? frequency-thz | |||
| +--ro max-central-frequency? uint32 | | +--ro max-central-frequency? frequency-thz | |||
| +--ro min-input-power? dbm-t | | +--ro min-input-power? dbm-t | |||
| +--ro max-input-power? dbm-t | | +--ro max-input-power? dbm-t | |||
| +--ro min-output-power? dbm-t | | +--ro min-output-power? dbm-t | |||
| +--ro max-output-power? dbm-t | | +--ro max-output-power? dbm-t | |||
| +--ro min-osnr-margin? int32 | | +--ro min-osnr-margin? int32 | |||
| +--ro min-q-margin? int32 | | +--ro min-q-margin? int32 | |||
| +--ro fec-info? string | | +--ro fec-info? string | |||
| +--ro fec-bitrate? string | | +--ro fec-bitrate? string | |||
| +--ro fec-gain? string | | +--ro fec-gain? string | |||
| +--ro fec-ber-mantissa-threshold? uint32 | | +--ro fec-ber-mantissa-threshold? uint32 | |||
| +--ro fec-ber-exponent-threshold? int32 | | +--ro fec-ber-exponent-threshold? int32 | |||
| +--ro number-of-lanes? uint32 | | +--ro number-of-lanes? uint32 | |||
| +--ro min-laser-temperature? int32 | | +--ro min-laser-temperature? int32 | |||
| +--ro max-laser-temperature? int32 | | +--ro max-laser-temperature? int32 | |||
| +--ro max-total-rx-optical-power? dbm-t | | +--ro max-total-rx-optical-power? dbm-t | |||
| +--ro max-chromatic-dispersion? int32 | | +--ro max-chromatic-dispersion? int32 | |||
| +--ro max-diff-group-delay? int32 | | +--ro max-diff-group-delay? int32 | |||
| +--ro modulation-format? string | | +--ro modulation-format? string | |||
| +--ro baud-rate? string | ||||
| +--ro bits-per-symbol? uint32 | | +--ro bits-per-symbol? uint32 | |||
| +--ro num-symbols-in-alphabet? uint32 | | +--ro num-symbols-in-alphabet? uint32 | |||
| +--ro symbols-index? uint32 | | +--ro symbols-index? uint32 | |||
+--ro if-supported-mode | +--ro if-supported-mode | |||
| +--ro number-of-modes-supported? uint32 | | +--ro number-of-modes-supported? uint32 | |||
| +--ro mode-list* [mode-id] | | +--ro mode-list* [mode-id] | |||
| +--ro mode-id? string | | +--ro mode-id? string | |||
| +--ro application-identifer? string | | +--ro application-identifer? string | |||
| +--ro min-central-frequency? uint32 | | +--ro min-central-frequency? frequency-thz | |||
| +--ro max-central-frequency? uint32 | | +--ro max-central-frequency? frequency-thz | |||
| +--ro min-channel-input-power? dbm-t | | +--ro min-channel-input-power? dbm-t | |||
| +--ro max-channel-input-power? dbm-t | | +--ro max-channel-input-power? dbm-t | |||
| +--ro min-channel-output-power? dbm-t | | +--ro min-channel-output-power? dbm-t | |||
| +--ro max-channel-output-power? dbm-t | | +--ro max-channel-output-power? dbm-t | |||
| +--ro min-osnr-margin? int32 | | +--ro min-osnr-margin? int32 | |||
| +--ro min-q-margin? int32 | | +--ro min-q-margin? int32 | |||
| +--ro fec-info? string | | +--ro fec-info? string | |||
| +--ro fec-bitrate? string | | +--ro fec-bitrate? string | |||
| +--ro fec-gain? string | | +--ro fec-gain? string | |||
| +--ro pre-fec-ber-mantissa-threshold? uint32 | | +--ro pre-fec-ber-mantissa-threshold? uint32 | |||
skipping to change at page 7, line 12 ¶ | skipping to change at page 7, line 13 ¶ | |||
| +--ro max-total-rx-optical-power? dbm-t | | +--ro max-total-rx-optical-power? dbm-t | |||
| +--ro max-chromatic-dispersion? int32 | | +--ro max-chromatic-dispersion? int32 | |||
| +--ro max-diff-group-delay? int32 | | +--ro max-diff-group-delay? int32 | |||
| +--ro modulation-format? string | | +--ro modulation-format? string | |||
| +--ro baud-rate? string | | +--ro baud-rate? string | |||
| +--ro bits-per-symbol? uint32 | | +--ro bits-per-symbol? uint32 | |||
| +--ro num-symbols-in-alphabet? uint32 | | +--ro num-symbols-in-alphabet? uint32 | |||
| +--ro symbols-index? uint32 | | +--ro symbols-index? uint32 | |||
+--rw current-opt-if-och-mode-params | +--rw current-opt-if-och-mode-params | |||
+--rw mode-id? string | +--rw mode-id? string | |||
+--rw central-frequency? uint32 | +--rw central-frequency? frequency-thz | |||
+--rw channel-output-power? int32 | +--rw channel-output-power? dbm-t | |||
+--ro channel-input-power? int32 | +--ro channel-input-power? dbm-t | |||
+--ro total-input-power? int32 | +--ro total-input-power? dbm-t | |||
+--rw min-fec-ber-mantissa-threshold? uint32 | +--rw min-fec-ber-mantissa-threshold? uint32 | |||
+--rw min-fec-ber-exponent-threshold? int32 | +--rw min-fec-ber-exponent-threshold? int32 | |||
+--rw max-fec-ber-mantissa-threshold? uint32 | +--rw max-fec-ber-mantissa-threshold? uint32 | |||
+--rw max-fec-ber-exponent-threshold? int32 | +--rw max-fec-ber-exponent-threshold? int32 | |||
+--rw number-of-tcas-supported? uint32 | +--rw number-of-tcas-supported? uint32 | |||
+--rw mode-list* [tca-type] | +--rw mode-list* [tca-type] | |||
| +--rw tca-type opt-if-och-tca-types | | +--rw tca-type opt-if-och-tca-types | |||
| +--rw min-threshold? int32 | | +--rw min-threshold? int32 | |||
| +--rw max-threshold? int32 | | +--rw max-threshold? int32 | |||
+--ro cur-osnr? int32 | +--ro cur-osnr? int32 | |||
skipping to change at page 8, line 12 ¶ | skipping to change at page 8, line 12 ¶ | |||
ietf-ext-xponder-wdm-if is a top level model for the support of this | ietf-ext-xponder-wdm-if is a top level model for the support of this | |||
feature. | feature. | |||
6. Yang Module | 6. Yang Module | |||
The ietf-ext-xponder-wdm-if is defined as an extension to ietf | The ietf-ext-xponder-wdm-if is defined as an extension to ietf | |||
interfaces. | interfaces. | |||
<CODE BEGINS> file "ietf-ext-xponder-wdm-if.yang" | <CODE BEGINS> file "ietf-ext-xponder-wdm-if.yang" | |||
module draft-ietf-ccamp-dwdm-if-param-yang-02 { | module draft-ietf-ccamp-dwdm-if-param-yang-03 { | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-ext-xponder-wdm-if"; | namespace "urn:ietf:params:xml:ns:yang:ietf-ext-xponder-wdm-if"; | |||
prefix ietf-ext-xponder-wdm-if; | prefix ietf-ext-xponder-wdm-if; | |||
import ietf-interfaces { | import ietf-interfaces { | |||
prefix if; | prefix if; | |||
} | } | |||
import ietf-layer0-types { | ||||
prefix "layer0-types"; | ||||
} | ||||
organization | organization | |||
"IETF CCAMP | "IETF CCAMP | |||
Working Group"; | Working Group"; | |||
contact | contact | |||
"WG Web: <http://tools.ietf.org/wg/ccamp/> | "WG Web: <http://tools.ietf.org/wg/ccamp/> | |||
WG List: <mailto:ccamp@ietf.org> | WG List: <mailto:ccamp@ietf.org> | |||
Editor: Dharini Hiremagalur | Editor: Dharini Hiremagalur | |||
<mailto:dharinih@juniper.net>"; | <mailto:dharinih@juniper.net>"; | |||
skipping to change at page 8, line 45 ¶ | skipping to change at page 8, line 49 ¶ | |||
Copyright (c) 2016 IETF Trust and the persons identified | Copyright (c) 2016 IETF Trust and the persons identified | |||
as authors of the code. All rights reserved. | as authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and | without modification, is permitted pursuant to, and | |||
subject to the license terms contained in, the Simplified | subject to the license terms contained in, the Simplified | |||
BSD License set forth in Section 4.c of the IETF Trust's | BSD License set forth in Section 4.c of the IETF Trust's | |||
Legal Provisions Relating to IETF Documents | Legal Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info)."; | (http://trustee.ietf.org/license-info)."; | |||
revision "2020-03-09" { | ||||
description | ||||
"Revision 1.5"; | ||||
reference | ||||
""; | ||||
} | ||||
revision "2019-11-04" { | revision "2019-11-04" { | |||
description | description | |||
"Revision 1.4"; | "Revision 1.4"; | |||
reference | reference | |||
""; | ""; | |||
} | } | |||
revision "2019-07-08" { | revision "2019-07-08" { | |||
description | description | |||
"Revision 1.3"; | "Revision 1.3"; | |||
skipping to change at page 9, line 36 ¶ | skipping to change at page 9, line 47 ¶ | |||
reference | reference | |||
""; | ""; | |||
} | } | |||
revision "2016-03-17" { | revision "2016-03-17" { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference | reference | |||
""; | ""; | |||
} | } | |||
typedef dbm-t { | typedef dbm-t { | |||
type decimal64 { | type int32; | |||
fraction-digits 2; | units ".01dbm"; | |||
range "-50..-30 | -10..5 | 10000000"; | } | |||
} | description " | |||
description " | Amplifiers and Transceivers Power in dBm"; | |||
Amplifier Power in dBm"; | } | |||
} | typedef opt-if-och-tca-types { | |||
typedef opt-if-och-tca-types { | type enumeration { | |||
type enumeration { | enum max-laser-linewdt { | |||
enum max-laser-linewdt { | description "The maximum laser linewidth"; | |||
description "The maximum laser linewidth"; | } | |||
} | enum min-tx-power-tca { | |||
enum min-tx-power-tca { | description "The min tx power TCA"; | |||
description "The min tx power TCA"; | } | |||
} | enum max-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{ | |||
enum min-rx-power-tca{ | description "The min tx power TCA"; | |||
description "The min tx power TCA"; | } | |||
} | enum max-rx-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{ | |||
enum max-pol-power-diff-tca{ | description "The power difference between polarization | |||
description "The power difference between polarization TCA"; | TCA"; | |||
} | } | |||
enum max-pol-skew-diff-tca{ | enum max-pol-skew-diff-tca{ | |||
description "The skew between the two polarization TCA"; | description "The skew between the two polarization TCA"; | |||
} | } | |||
enum min-frequency-offset-tca{ | enum min-frequency-offset-tca{ | |||
description "Min Frequency offset TCA"; | description "Min Frequency offset TCA"; | |||
} | } | |||
enum max-frequency-offset-tca{ | enum max-frequency-offset-tca{ | |||
description "Max Frequency offset TCA"; | description "Max Frequency offset TCA"; | |||
} | } | |||
enum min-osnr-tca{ | enum min-osnr-tca{ | |||
description "Min OSNR TCA"; | description "Min OSNR TCA"; | |||
} | } | |||
enum max-osnr-tca{ | enum max-osnr-tca{ | |||
description "Max OSNR TCA"; | description "Max OSNR TCA"; | |||
} | } | |||
enum min-laser-temperature-tca{ | enum min-laser-temperature-tca{ | |||
description "The min tx power TCA"; | description "The min tx power TCA"; | |||
} | } | |||
enum max-laser-temperature-tca{ | enum max-laser-temperature-tca{ | |||
description "Temperature TCA"; | description "Temperature TCA"; | |||
} | } | |||
enum min-fec-ber-tca{ | enum min-fec-ber-tca{ | |||
description "Min Pre Fec BER TCA"; | description "Min Pre Fec BER TCA"; | |||
} | } | |||
enum max-fec-ber-tca{ | enum max-fec-ber-tca{ | |||
description "Max Pre Fec BER TCA"; | description "Max Pre Fec BER TCA"; | |||
} | } | |||
enum min-q-tca{ | enum min-q-tca{ | |||
description "Min Q TCA"; | description "Min Q TCA"; | |||
} | } | |||
enum max-q-tca { | enum max-q-tca { | |||
description "Max Q TCA"; | description "Max Q TCA"; | |||
} | } | |||
} | } | |||
description "The different types of TCA's"; | description "The different types of TCA's"; | |||
} | } | |||
grouping opt-if-och-power { | grouping opt-if-och-power { | |||
description "Interface optical Power"; | description "Interface optical Power"; | |||
leaf channel-output-power { | leaf channel-output-power { | |||
type int32; | type dbm-t; | |||
units ".01dbm"; | description "The output power for this interface in .01 dBm. | |||
description "The output power for this interface in .01 dBm. | The setting of the output power is optional"; | |||
The setting of the output power is optional"; | } | |||
} | ||||
leaf channel-input-power { | leaf channel-input-power { | |||
type int32; | type dbm-t; | |||
units ".01dbm"; | config false; | |||
config false; | description "The current channel input power of this | |||
description "The current channel input power of this interface"; | interface"; | |||
} | } | |||
leaf total-input-power { | leaf total-input-power { | |||
type int32; | type dbm-t; | |||
units ".01dbm"; | config false; | |||
config false; | description "The total input power of this interface"; | |||
description "The total input power of this interface"; | } | |||
} | } | |||
} | ||||
grouping opt-if-och-tca-thresholds { | grouping opt-if-och-tca-thresholds { | |||
description "Thresholds for TCA's"; | description "Thresholds for TCA's"; | |||
leaf tca-type { | leaf tca-type { | |||
type opt-if-och-tca-types; | type opt-if-och-tca-types; | |||
description "type of the TCA eg TX Power"; | description "type of the TCA eg TX Power"; | |||
} | } | |||
leaf min-threshold { | leaf min-threshold { | |||
type int32; | type int32; | |||
description "A TCA is generated if the variable is less than | description "A TCA is generated if the variable is less than | |||
this value"; | this value"; | |||
} | ||||
leaf max-threshold { | ||||
type int32; | ||||
description "A TCA is generated if the variable is more than | ||||
this value"; | ||||
} | ||||
} | ||||
grouping opt-if-och-fec { | } | |||
description "FEC info"; | leaf max-threshold { | |||
leaf fec-info { | type int32; | |||
type string { length "1..255"; } | description "A TCA is generated if the variable is more than | |||
config false; | this value"; | |||
description "FEC Type - eg GFEC"; | } | |||
} | } | |||
leaf fec-bitrate { | ||||
type string { length "1..255"; } | ||||
config false; | ||||
description "FEC Overhead rate "; | ||||
} | ||||
leaf fec-gain { | ||||
type string { length "1..255"; } | ||||
config false; | ||||
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 { | grouping opt-if-och-fec { | |||
description "Interface Central Frequency"; | description "FEC info"; | |||
leaf central-frequency { | ||||
type uint32; | ||||
description "This parameter indicates the frequency of this | ||||
interface "; | ||||
} | ||||
} | ||||
grouping opt-if-och-modulation-params { | leaf fec-info { | |||
description "Optical modulation parameters for the lane"; | type string { length "1..255"; } | |||
config false; | ||||
description "FEC Type - eg GFEC"; | ||||
} | ||||
leaf fec-bitrate { | ||||
type string { length "1..255"; } | ||||
config false; | ||||
description "FEC Overhead rate "; | ||||
} | ||||
leaf fec-gain { | ||||
type string { length "1..255"; } | ||||
config false; | ||||
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"; | ||||
} | ||||
} | ||||
leaf modulation-format { | grouping opt-if-och-central-frequency { | |||
type string { length "1..255"; } | description "Interface Central Frequency"; | |||
config false; | leaf central-frequency { | |||
description "Modulation format for this mode"; | type layer0-types:frequency-thz; | |||
} | description "This parameter indicates the frequency of this | |||
leaf baud-rate { | interface "; | |||
type uint32; | } | |||
description "Baud-rate or symbol rate"; | } | |||
} | ||||
leaf bits-per-symbol { | ||||
type uint32; | ||||
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"; | ||||
} | ||||
leaf symbols-index { | ||||
type uint32; | ||||
description "This parameter is the symbol index this mode"; | ||||
} | ||||
} | ||||
grouping opt-if-och-lane-param { | grouping opt-if-och-modulation-params { | |||
description "Optical parameters for the lane"; | description "Optical modulation parameters for the lane"; | |||
leaf modulation-format { | ||||
type string { length "1..255"; } | ||||
config false; | ||||
description "Modulation format for this mode"; | ||||
} | ||||
leaf baud-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"; | ||||
} | ||||
leaf num-symbols-in-alphabet { | ||||
type uint32; | ||||
description "This parameter the bits per symbol for this | ||||
mode"; | ||||
} | ||||
leaf symbols-index { | ||||
type uint32; | ||||
description "This parameter is the symbol index this mode"; | ||||
} | ||||
} | ||||
leaf number-of-lanes { | grouping opt-if-och-lane-param { | |||
type uint32; | description "Optical parameters for the lane"; | |||
config false; | ||||
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 | ||||
lane"; | ||||
} | ||||
leaf max-laser-temperature { | ||||
type int32; | ||||
units ".01C"; | ||||
config false; | ||||
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 | ||||
lane"; | ||||
} | ||||
leaf max-chromatic-dispersion { | ||||
type int32; | ||||
config false; | ||||
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 lane"; | ||||
} | ||||
uses opt-if-och-modulation-params; | ||||
} | ||||
grouping opt-if-och-tca-list { | leaf number-of-lanes { | |||
description "List of TCA's"; | type uint32; | |||
leaf number-of-tcas-supported { | config false; | |||
type uint32; | description "Number of optical lanes of this interface"; | |||
description "Number of TCAs supported by this interface"; | } | |||
} | leaf min-laser-temperature { | |||
list mode-list { | type int32; | |||
key "tca-type"; | units ".01C"; | |||
description "List of the TCAs"; | config false; | |||
uses opt-if-och-tca-thresholds; | 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 lane"; | ||||
} | ||||
leaf max-total-rx-optical-power { | ||||
type dbm-t; | ||||
config false; | ||||
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 lane"; | ||||
} | ||||
leaf max-diff-group-delay { | ||||
type int32; | ||||
config false; | ||||
description "Maximum Differential group delay of this mode | ||||
for this lane"; | ||||
} | ||||
uses opt-if-och-modulation-params; | ||||
} | ||||
grouping opt-if-och-fec-tca-thresholds { | grouping opt-if-och-tca-list { | |||
description "Pre FEC BER Thresholds for TCA's"; | description "List of TCA's"; | |||
leaf min-fec-ber-mantissa-threshold { | leaf number-of-tcas-supported { | |||
type uint32; | type uint32; | |||
description "Min Mantissa of the FEC BER threshold"; | description "Number of TCAs supported by this interface"; | |||
} | } | |||
leaf min-fec-ber-exponent-threshold { | list mode-list { | |||
type int32; | key "tca-type"; | |||
description "Min Exponent of the FEC BER threshold"; | description "List of the TCAs"; | |||
} | uses opt-if-och-tca-thresholds; | |||
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 { | grouping opt-if-och-fec-tca-thresholds { | |||
description "OCh mode parameters"; | 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"; | ||||
} | ||||
} | ||||
leaf mode-id { | grouping opt-if-och-mode-params { | |||
type string { length "1..255"; } | description "OCh mode parameters"; | |||
description "ID for the OCh mode template"; | leaf mode-id { | |||
} | type string { length "1..255"; } | |||
leaf min-osnr-margin { | description "ID for the OCh mode template"; | |||
type int32; | } | |||
units "dB"; | leaf min-osnr-margin { | |||
config false; | type int32; | |||
description "OSNR margin to FEC threshold"; | units "dB"; | |||
} | config false; | |||
leaf q-margin { | description "OSNR margin to FEC threshold"; | |||
type int32; | } | |||
units "dB"; | leaf q-margin { | |||
config false; | type int32; | |||
description "Q-Factor margin to FEC threshold"; | 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; | ||||
} | } | |||
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 { | grouping opt-if-och-statistics { | |||
description "OCh statistics"; | description "OCh statistics"; | |||
leaf cur-osnr { | leaf cur-osnr { | |||
type int32; | type int32; | |||
units "dB"; | units "dB"; | |||
config false; | config false; | |||
description "OSNR margin to FEC threshold"; | description "OSNR margin to FEC threshold"; | |||
} | } | |||
leaf cur-q-factor { | leaf cur-q-factor { | |||
type int32; | type int32; | |||
units "dB"; | units "dB"; | |||
config false; | config false; | |||
description "Q-Factor of the interface"; | description "Q-Factor of the interface"; | |||
} | } | |||
leaf uncorrected-words { | leaf uncorrected-words { | |||
type uint64; | type uint64; | |||
config false; | config false; | |||
description "Post-FEC errored words"; | description "Post-FEC errored words"; | |||
} | } | |||
leaf pre-fec-ber-mantissa { | leaf pre-fec-ber-mantissa { | |||
type uint32; | type uint32; | |||
config false; | config false; | |||
description "Pre-FEC errored words mantissa"; | description "Pre-FEC errored words mantissa"; | |||
} | } | |||
leaf pre-fec-ber-exponent { | leaf pre-fec-ber-exponent { | |||
type int32; | type int32; | |||
config false; | config false; | |||
description "Pre-FEC errored words exponent"; | description "Pre-FEC errored words exponent"; | |||
} | } | |||
} | } | |||
grouping opt-if-och-mode { | ||||
description "OCh mode template"; | ||||
leaf mode-id { | grouping opt-if-och-mode { | |||
type string { length "1..255"; } | description "OCh mode template"; | |||
config false; | ||||
description "ID for the OCh mode template"; | ||||
} | ||||
leaf application-identifier { | ||||
type uint32; | ||||
config false; | ||||
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"; | ||||
} | ||||
leaf max-central-frequency { | ||||
type uint32; | ||||
config false; | ||||
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"; | ||||
} | ||||
leaf max-channel-input-power { | ||||
type dbm-t; | ||||
config false; | ||||
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"; | ||||
} | ||||
leaf max-channel-output-power { | ||||
type dbm-t; | ||||
config false; | ||||
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 { | leaf mode-id { | |||
description "List of Mode list group"; | type string { length "1..255"; } | |||
config false; | ||||
description "ID for the OCh mode template"; | ||||
} | ||||
leaf application-identifier { | ||||
type uint32; | ||||
config false; | ||||
description "This parameter indicates the application | ||||
identifier according to G.698.2"; | ||||
} | ||||
leaf number-of-modes-supported { | leaf min-central-frequency { | |||
type uint32; | type layer0-types:frequency-thz; | |||
description "Number of modes supported by this interface"; | config false; | |||
} | description | |||
list mode-list { | "his parameter indicates the minimum frequency for | |||
key "mode-id"; | this template"; | |||
description "List of the modes"; | } | |||
uses opt-if-och-mode; | leaf max-central-frequency { | |||
} | type layer0-types:frequency-thz; | |||
} | config false; | |||
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"; | ||||
} | ||||
leaf max-channel-input-power { | ||||
type dbm-t; | ||||
config false; | ||||
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"; | ||||
} | ||||
leaf max-channel-output-power { | ||||
type dbm-t; | ||||
config false; | ||||
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; | ||||
} | ||||
notification opt-if-och-central-frequency-change { | grouping opt-if-och-mode-list { | |||
description "A change of Central Frequency has been detected"; | description "List of Mode list group"; | |||
leaf "if-name" { | leaf number-of-modes-supported { | |||
type leafref { path "/if:interfaces/if:interface/if:name"; } | type uint32; | |||
description "Interface name"; | description "Number of modes supported by this interface"; | |||
} | } | |||
container new-opt-if-och-central-frequency { | list mode-list { | |||
description "The new Central Frequency of the interface"; | key "mode-id"; | |||
uses opt-if-och-central-frequency; | description "List of the modes"; | |||
} | uses opt-if-och-mode; | |||
} | } | |||
} | ||||
notification opt-if-och-mode-change { | notification opt-if-och-central-frequency-change { | |||
description "A change of Mode Template has been detected"; | description "A change of Central Frequency has been detected"; | |||
leaf "if-name" { | leaf "if-name" { | |||
type leafref { path "/if:interfaces/if:interface/if:name"; } | type leafref { path "/if:interfaces/if:interface/if:name"; } | |||
description "Interface name"; | description "Interface name"; | |||
} | } | |||
leaf mode-id { | container new-opt-if-och-central-frequency { | |||
type string { length "1..255"; } | description "The new Central Frequency of the interface"; | |||
description "ID for the OCh mode template"; | uses opt-if-och-central-frequency; | |||
} | } | |||
} | } | |||
notification opt-if-och-min-tca { | notification opt-if-och-mode-change { | |||
description "A min output TCA notification"; | description "A change of Mode Template has been detected"; | |||
leaf "if-name" { | leaf "if-name" { | |||
type leafref { path "/if:interfaces/if:interface/if:name"; } | type leafref { path "/if:interfaces/if:interface/if:name"; } | |||
description "Interface name"; | description "Interface name"; | |||
} | } | |||
leaf tca-type { | leaf mode-id { | |||
type opt-if-och-tca-types; | type string { length "1..255"; } | |||
description "Type of TCA for eg min tx power TCA"; | description "ID for the OCh mode template"; | |||
} | } | |||
} | } | |||
augment "/if:interfaces/if:interface" { | notification opt-if-och-min-tca { | |||
description "Parameters for an optical interface"; | description "A min output TCA notification"; | |||
container optIfOChRsSs { | leaf "if-name" { | |||
description "RsSs path configuration for an interface"; | 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"; | ||||
} | ||||
} | ||||
container if-current-mode { | augment "/if:interfaces/if:interface" { | |||
description "Current mode template of the interface"; | description "Parameters for an optical interface"; | |||
uses opt-if-och-mode; | ||||
} | container optIfOChRsSs { | |||
container if-supported-mode { | description "RsSs path configuration for an interface"; | |||
config false; | ||||
description "Supported mode list of this interface"; | container if-current-mode { | |||
uses opt-if-och-mode-list; | description "Current mode template of the interface"; | |||
} | uses opt-if-och-mode; | |||
container current-opt-if-och-mode-params { | } | |||
description "Current parameters of this interface"; | container if-supported-mode { | |||
uses opt-if-och-mode-params; | config false; | |||
uses opt-if-och-statistics; | 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"; | ||||
uses opt-if-och-mode-params; | ||||
uses opt-if-och-statistics; | ||||
} | ||||
} | ||||
} | ||||
} | ||||
<CODE ENDS> | ||||
<CODE ENDS> | ||||
7. Security Considerations | 7. Security Considerations | |||
The YANG module defined in this memo is designed to be accessed via | The YANG module defined in this memo is designed to be accessed via | |||
the NETCONF protocol [RFC6241]. he lowest NETCONF layer is the secure | the NETCONF protocol [RFC6241]. he lowest NETCONF layer is the secure | |||
transport layer and the mandatory-to-implement secure transport is | transport layer and the mandatory-to-implement secure transport is | |||
SSH [RFC6242]. The NETCONF access control model [RFC6536] provides | SSH [RFC6242]. The NETCONF access control model [RFC6536] provides | |||
the means to restrict access for particular NETCONF users to a pre- | the means to restrict access for particular NETCONF users to a pre- | |||
configured subset of all available NETCONF protocol operation and | configured subset of all available NETCONF protocol operation and | |||
content. | content. | |||
skipping to change at page 23, line 44 ¶ | skipping to change at page 23, line 44 ¶ | |||
submitted to the IESG for publication as an RFC. | submitted to the IESG for publication as an RFC. | |||
Note to RFC Editor: please remove this appendix before publication as | Note to RFC Editor: please remove this appendix before publication as | |||
an RFC. | an RFC. | |||
Appendix B. Open Issues | Appendix B. Open Issues | |||
Note to RFC Editor: please remove this appendix before publication as | Note to RFC Editor: please remove this appendix before publication as | |||
an RFC. | an RFC. | |||
Appendix C. Applicability examples | ||||
As an examample here below is the way and OpenROADM compliant | ||||
equipment could be managed using the Yang models described in thei | ||||
draft. | ||||
In OpenROADM MSA there is a limited number of DWDM interfaces | ||||
supported. Basically only the 100G Staircase FEC and 400G oFEC are | ||||
supported and these two kind of interfaces can be easily summarized | ||||
with the "mode-id" and the "application-identifier" strings. | ||||
the models below are enough to identify the interface and few working | ||||
parameters: | ||||
module: ietf-ext-xponder-wdm-if | ||||
augment /if:interfaces/if:interface: | ||||
+--rw optIfOChRsSs | ||||
+--rw if-current-mode | ||||
| +--ro mode-id? string | ||||
| +--ro application-identifier? string | ||||
. | ||||
. | ||||
. | ||||
+--rw current-opt-if-och-mode-params | ||||
+--rw mode-id? string | ||||
+--rw central-frequency? frequency-thz | ||||
+--rw channel-output-power? dbm-t | ||||
+--ro channel-input-power? dbm-t | ||||
. | ||||
. | ||||
. | ||||
+--ro cur-osnr? int32 | ||||
+--ro cur-q-factor? int32 | ||||
+--ro uncorrected-words? uint64 | ||||
+--ro pre-fec-ber-mantissa? uint32 | ||||
+--ro pre-fec-ber-exponent? int32 | ||||
Authors' Addresses | Authors' Addresses | |||
Gabriele Galimberti (editor) | Gabriele Galimberti (editor) | |||
Cisco | Cisco | |||
Via Santa Maria Molgora, 48 c | Via Santa Maria Molgora, 48 c | |||
20871 - Vimercate | 20871 - Vimercate | |||
Italy | Italy | |||
Phone: +390392091462 | Phone: +390392091462 | |||
Email: ggalimbe@cisco.com | Email: ggalimbe@cisco.com | |||
Ruediger Kunze | Ruediger Kunze | |||
Deutsche Telekom | Deutsche Telekom | |||
Winterfeldtstr. 21-27 | Winterfeldtstr. 21-27 | |||
10781 Berlin | 10781 Berlin | |||
Germany | Germany | |||
Phone: +491702275321 | Phone: +491702275321 | |||
Email: RKunze@telekom.de | Email: RKunze@telekom.de | |||
Andreas Burk | ||||
Deutsche Telekom | ||||
Germany | ||||
Phone: +49 | ||||
Email: andreas.burk@telekom.de | ||||
Dharini Hiremagalur (editor) | Dharini Hiremagalur (editor) | |||
Juniper | Juniper | |||
1133 Innovation Way | 1133 Innovation Way | |||
Sunnyvale - 94089 California | Sunnyvale - 94089 California | |||
USA | USA | |||
Email: dharinih@juniper.net | Email: dharinih@juniper.net | |||
Gert Grammel (editor) | Gert Grammel (editor) | |||
Juniper | Juniper | |||
End of changes. 49 change blocks. | ||||
429 lines changed or deleted | 492 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |