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/