module ietf-opt-parameters-wdm {
namespace "urn:ietf:params:xml:ns:yang:ietf-opt-parameters-wdm";
prefix iietf-opt-parameters-wdm;
import ietf-interfaces {
prefix if;
}
import iana-if-type {
prefix ianaift;
}
organization
"IETF CCAMP
Working Group";
contact
"WG Web:
WG List:
Editor: Gabriele Galimberti
";
description
"This module contains a collection of YANG definitions for
collecting and configuring Optical Parameters
in Optical Networks and calculate the circuit feasibility.
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 "2020-03-13" {
description
"Revision 1.2";
reference
"";
}
revision "2018-10-22" {
description
"Revision 1.1";
reference
"";
}
revision "2018-03-06" {
description
"Revision 1.0";
reference
"";
}
revision "2016-10-30" {
description
"Initial revision.";
reference
"RFC XXXX: A YANG Data Model for Optical Paramenters
of DWDM Networks
";
}
typedef tilt-t {
type decimal64 {
fraction-digits 2;
range "-5..5";
}
description "Tilt Type";
}
typedef signal-output-power-t {
type decimal64 {
fraction-digits 2;
range "-10..30";
}
description "
Amplifier Power provisioning ";
}
typedef active-channel-t {
type union {
type uint8 {
range "0..200";
}
}
description "
Number of channels active on a span - and on an amplifier";
}
typedef dbm-t {
type decimal64 {
fraction-digits 2;
range "-50..-30 | -10..5 | 10000000";
}
description "
Amplifier Power in dBm ";
}
typedef attenuator-t {
type decimal64 {
fraction-digits 2;
range "-15..-5";
}
description "
Attenuation value (attenuator) applied after the Amplifier";
}
typedef ch-noise-figure-point {
type decimal64 {
fraction-digits 2;
range "-15..-5";
}
description "
Amplifier noise figure of point power";
}
typedef ch-isolation-cross {
type decimal64 {
fraction-digits 2;
range "-15..-5";
}
description "
cross channel isolation value";
}
grouping opwr-threshold-warning-grp {
description "
Minimum Optical Power threshold
- this is used to rise Power alarm ";
leaf opwr-min {
type dbm-t;
units "dBm";
default -1;
description "Minimum Power Value";
}
leaf opwr-min-clear {
type dbm-t;
units "dBm";
default -1;
description "threshold to clear Minimum Power value Alarm";
}
leaf opwr-max {
type dbm-t;
units "dBm";
default 1;
description "
Maximum Optical Power threshold
- this is used to rise Power alarm ";
}
}
grouping gain-degrade-alarm-grp {
description "
Low Optical Power gain threshold
- this is used to rise Power alarm ";
leaf gain-degrade-low {
type dbm-t;
units "dBm";
default -1;
description "Low Gain Degrade Value";
}
leaf gain-degrade-high {
type dbm-t;
units "dBm";
default 1;
description "
High Optical Power gain threshold
- this is used to rise Power alarm ";
}
}
grouping power-degrade-high-alarm-grp {
description "
High Optical Power gain alarm ";
leaf gain-degrade-high {
type dbm-t;
units "dBm";
default 1;
description "Low Gain Degrade Value";
}
}
grouping power-degrade-low-alarm-grp {
description "
Low Optical Power gain alarm ";
leaf power-degrade-low {
type dbm-t;
units "dBm";
default -1;
config false;
description "High Gain Degrade Value";
}
}
grouping noise-grp {
description "Noise feasibility";
leaf noise {
type decimal64 {
fraction-digits 2;
}
units "dB";
description "Noise feasibility - reference ITU-T G.680
OSNR added to the signal by the OMS. The noise is intended
per channel and is independent of the number of active
channels in OMS";
}
}
grouping noise-sigma-grp {
description "Noise sigma feasibility";
leaf noise-sigma {
type decimal64 {
fraction-digits 2;
}
units "dB";
description "Noise Sigma feasibility - accuracy of the
OSNR added to
the signal by the OMS";
}
}
grouping chromatic-dispersion-grp {
description "Chromatic Dispersion";
leaf chromatic-dispersion {
type decimal64 {
fraction-digits 2;
}
units "ps/nm";
description "Chromatic Dispersion (CD) related to the OMS";
}
}
grouping chromatic-dispersion-slope-grp {
description "Chromatic Dispersion slope";
leaf chromatic-dispersion-slope {
type decimal64 {
fraction-digits 2;
}
units "ps/nm^2";
description "Chromatic Dispersion (CD) Slope related to
the OMS";
}
}
grouping pmd-grp {
description "Polarization Mode Dispersion";
leaf pmd {
type decimal64 {
fraction-digits 2;
}
units "ps";
description "Polarization Mode Dispersion (PMD) related
to OMS";
}
}
grouping pdl-grp {
description "Polarization Dependent Loss";
leaf pdl {
type decimal64 {
fraction-digits 2;
}
units "dB";
description "Polarization Dependent Loss (PDL) related to
the OMS";
}
}
grouping drop-power-grp {
description "Drop power at DWDM if RX feasibility";
leaf drop-power {
type decimal64 {
fraction-digits 2;
}
units "dBm";
description "Drop Power value at the DWDM Transceiver RX
side";
}
}
grouping drop-power-sigma-grp {
description "Drop power sigma at DWDM if RX feasibility ";
leaf drop-power-sigma {
type decimal64 {
fraction-digits 2;
}
units "db";
description "Drop Power Sigma value at the DWDM Transceiver
RX side";
}
}
grouping ripple-grp {
description "Channel Ripple";
leaf ripple {
type decimal64 {
fraction-digits 2;
}
units "db";
description "Channel Ripple";
}
}
grouping ch-noise-figure-grp {
list ch-noise-figure {
key "ch-noise-fig";
description "Channel signal-spontaneous noise figure";
leaf ch-noise-fig {
type ch-noise-figure-point;
description "Channel signal-spontaneous noise
figure point";
}
leaf input-to-output {
type decimal64 {
fraction-digits 2;
}
units "dB";
description "from input port to output port";
}
leaf input-to-drop {
type decimal64 {
fraction-digits 2;
}
units "dB";
description "from input port to drop port";
}
leaf add-to-output {
type decimal64 {
fraction-digits 2;
}
units "dB";
description "from add port to output port";
}
}
description "Channel signal-spontaneous noise figure";
}
grouping dgd-grp {
description "Differential Group Delay";
leaf dgd {
type decimal64 {
fraction-digits 2;
}
units "db";
description "differential group delay";
}
}
grouping ch-isolation-grp {
list ch-isolation {
key "ch-isolat";
description "adjacent and not adjacent channel isolation";
leaf ch-isolat {
type ch-isolation-cross;
description "channel isolation from adjacent";
}
leaf ad-ch-isol {
type decimal64 {
fraction-digits 2;
}
units "dB";
description "adjecent channel isolation";
}
leaf no-ad-ch-iso {
type decimal64 {
fraction-digits 2;
}
units "dB";
description "non adjecent channel isolation";
}
}
description "djacent and not adjacent channel isolation";
}
grouping ch-extinction-grp {
description "Channel Extinsion";
leaf cer {
type decimal64 {
fraction-digits 2;
}
units "db";
description "channel extinction";
}
}
grouping att-coefficient-grp {
description "Attenuation coefficient (for a fibre segment)";
leaf att {
type decimal64 {
fraction-digits 2;
}
units "db";
description "Attenuation coefficient (for a fibre segment)";
}
}
augment "/if:interfaces/if:interface" {
when "if:type = 'ianaift:opticalTransport'" {
description "Specific optical-transport Interface Data";
}
description "Specific optical-transport Interface Data";
container optical-transport {
description "Specific optical-transport Data";
leaf attenuator-value {
type attenuator-t;
description "External attenuator value ";
}
leaf offset {
type decimal64 {
fraction-digits 2;
range "-30..30";
}
description "Raman and power amplifiers offset";
}
leaf channel-power-ref {
type decimal64 {
fraction-digits 2;
range "-10..15";
}
description "Optical power per channel";
}
leaf tilt-calibration {
type tilt-t;
description "Amplifier Tilt tuning";
}
}
container opwr-threshold-warning {
description "Optical power threshold warning";
uses opwr-threshold-warning-grp;
}
container gain-degrade-alarm {
description "Gain degrade alarm";
uses gain-degrade-alarm-grp;
}
container power-degrade-high-alarm {
description "Power degrade high aparm";
uses power-degrade-high-alarm-grp;
}
container power-degrade-low-alarm {
description "Power degrade low alarm";
uses power-degrade-low-alarm-grp;
}
container noise {
description "Channel Noise feasibility";
uses noise-grp;
}
container noise-sigma {
description "Channel Noise sigma feasibility";
uses noise-grp;
}
container chromatic-dispersion {
description "Chromatic Dispersion";
uses noise-sigma-grp;
}
container chromatic-dispersion-slope {
description "Chromatic Dispersion slope";
uses chromatic-dispersion-slope-grp;
}
container pmd {
description "Polarization Mode Dispersion";
uses pmd-grp;
}
container pdl {
description "Polarization Dependent Loss";
uses pdl-grp;
}
container drop-power {
description "Drop power at DWDM if RX feasibility";
uses drop-power-grp;
}
container drop-power-sigma {
description "Drop power sigma at DWDM if RX feasibility";
uses noise-grp;
}
container ripple {
description "Channel Ripple";
uses drop-power-sigma-grp;
}
container ch-noise-figure {
config false;
description "Channel signal-spontaneous noise figure";
uses ch-noise-figure-grp;
}
container dgd {
description "Differential Group Delay";
uses dgd-grp;
}
container ch-isolation {
config false;
description "adjacent and not adjacent channel isolation";
uses ch-isolation-grp;
}
container ch-extinction {
description "Channel Extinsion";
uses ch-extinction-grp;
}
}
}