blob: 02b668c50178d6a1028cd1ccf90fee9944dbb208 [file] [log] [blame]
module openconfig-optical-amplifier {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/optical-amplfier";
prefix "oc-opt-amp";
import openconfig-platform { prefix oc-platform; }
import openconfig-transport-line-common { prefix oc-line-com; }
import openconfig-types { prefix oc-types; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This model describes configuration and operational state data
for optical amplifiers, deployed as part of a transport
line system.";
oc-ext:openconfig-version "0.3.0";
revision "2017-07-08" {
description
"Add monitor port type and refs to hw ports, ";
reference "0.3.0";
}
revision "2017-03-28" {
description
"Added min/max/avg stats, status for media channels, OCM, APS";
reference "0.2.0";
}
revision "2016-03-31" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity OPTICAL_AMPLIFIER_TYPE {
description
"Type definition for different types of optical amplifiers";
}
identity EDFA {
base OPTICAL_AMPLIFIER_TYPE;
description
"Erbium doped fiber amplifer (EDFA)";
}
identity FORWARD_RAMAN {
base OPTICAL_AMPLIFIER_TYPE;
description
"Forward pumping Raman amplifier";
}
identity BACKWARD_RAMAN {
base OPTICAL_AMPLIFIER_TYPE;
description
"Backward pumping Raman amplifier";
}
identity HYBRID {
base OPTICAL_AMPLIFIER_TYPE;
description
"Hybrid backward pumping Raman + EDFA amplifier";
}
identity GAIN_RANGE {
description
"Base type for expressing the gain range for a switched gain
amplifier. The gain range is expressed as a generic setting,
e.g., LOW/MID/HIGH. The actual db range will be determined
by the implementation.";
}
identity LOW_GAIN_RANGE {
base GAIN_RANGE;
description
"LOW gain range setting";
}
identity MID_GAIN_RANGE {
base GAIN_RANGE;
description
"MID gain range setting";
}
identity HIGH_GAIN_RANGE {
base GAIN_RANGE;
description
"HIGH gain range setting";
}
identity FIXED_GAIN_RANGE {
base GAIN_RANGE;
description
"Fixed or non-switched gain amplfier";
}
identity OPTICAL_AMPLIFIER_MODE {
description
"Type definition for different types of optical amplifier
operating modes";
}
identity CONSTANT_POWER {
base OPTICAL_AMPLIFIER_MODE;
description
"Constant power mode";
}
identity CONSTANT_GAIN {
base OPTICAL_AMPLIFIER_MODE;
description
"Constant gain mode";
}
// grouping statements
grouping optical-amplifier-config {
description
"Configuration data for optical amplifiers";
leaf name {
type string;
description
"User-defined name assigned to identify a specific amplifier
in the device";
}
leaf type {
type identityref {
base OPTICAL_AMPLIFIER_TYPE;
}
description
"Type of the amplifier";
}
leaf target-gain {
type decimal64 {
fraction-digits 2;
range 0..max;
}
units dB;
description
"Positive gain applied by the amplifier.";
}
leaf target-gain-tilt {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"Gain tilt control";
}
leaf gain-range {
type identityref {
base GAIN_RANGE;
}
description
"Selected gain range. The gain range is a platform-defined
value indicating the switched gain amplifier setting";
}
leaf amp-mode {
type identityref {
base OPTICAL_AMPLIFIER_MODE;
}
description
"The operating mode of the amplifier";
}
leaf target-output-power {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"Output optical power of the amplifier.";
}
leaf enabled {
type boolean;
description
"Turns power on / off to the amplifiers gain module.";
}
}
grouping optical-amplifier-state {
description
"Operational state data for optical amplifiers";
leaf ingress-port {
type leafref {
path "/oc-platform:components/oc-platform:component/" +
"oc-platform:name";
}
description
"Reference to system-supplied name of the amplifier ingress
port. This leaf is only valid for ports of type INGRESS.";
}
leaf egress-port {
type leafref {
path "/oc-platform:components/oc-platform:component/" +
"oc-platform:name";
}
description
"Reference to system-supplied name of the amplifier egress
port. This leaf is only valid for ports of type EGRESS.";
}
container actual-gain {
description
"The actual gain applied by the amplifier in units of
0.01dB. If avg/min/max statistics are not supported,
just supply the instant value";
uses oc-types:avg-min-max-instant-stats-precision2-dB;
}
container actual-gain-tilt {
description
"The actual tilt applied by the amplifier in units of
0.01dB. If avg/min/max statistics are not supported,
just supply the instant value";
uses oc-types:avg-min-max-instant-stats-precision2-dB;
}
container input-power-total {
description
"The total input optical power of this port in units
of 0.01dBm. If avg/min/max statistics are not supported,
just supply the instant value";
uses oc-types:avg-min-max-instant-stats-precision2-dBm;
}
container input-power-c-band {
description
"The C band (consisting of approximately 191 to 195 THz or
1530nm to 1565 nm) input optical power of this port in units
of 0.01dBm. If avg/min/max statistics are not supported,
just supply the instant value";
uses oc-types:avg-min-max-instant-stats-precision2-dBm;
}
container input-power-l-band {
description
"The L band (consisting of approximately 184 to 191 THz or
1565 to 1625 nm) input optical power of this port in units
of 0.01dBm. If avg/min/max statistics are not supported,
just supply the instant value";
uses oc-types:avg-min-max-instant-stats-precision2-dBm;
}
container output-power-total {
description
"The total output optical power of this port in units
of 0.01dBm. If avg/min/max statistics are not supported,
just supply the instant value";
uses oc-types:avg-min-max-instant-stats-precision2-dBm;
}
container output-power-c-band {
description
"The C band (consisting of approximately 191 to 195 THz or
1530nm to 1565 nm)output optical power of this port in units
of 0.01dBm. If avg/min/max statistics are not supported,
just supply the instant value";
uses oc-types:avg-min-max-instant-stats-precision2-dBm;
}
container output-power-l-band {
description
"The L band (consisting of approximately 184 to 191 THz or
1565 to 1625 nm)output optical power of this port in units
of 0.01dBm. If avg/min/max statistics are not supported,
just supply the instant value";
uses oc-types:avg-min-max-instant-stats-precision2-dBm;
}
container laser-bias-current {
description
"The current applied by the system to the transmit laser to
achieve the output power. The current is expressed in mA
with up to two decimal precision. If avg/min/max statistics
are not supported, just supply the instant value";
uses oc-types:avg-min-max-instant-stats-precision2-mA;
}
container optical-return-loss {
description
"The optical return loss (ORL) is the ratio of the light
reflected back into the port to the light launched out of
the port. ORL is in units of 0.01dBm. If avg/min/max
statistics are not supported, just supply the instant value";
uses oc-types:avg-min-max-instant-stats-precision2-dBm;
}
}
grouping optical-amplifier-top {
description
"Top-level grouping for optical amplifier data";
container optical-amplifier {
description
"Enclosing container for amplifiers and supervisory channels";
container amplifiers {
description
"Enclosing container for list of amplifiers";
list amplifier {
key "name";
description
"List of optical amplifiers present in the device";
leaf name {
type leafref {
path "../config/name";
}
description
"Reference to the name of the amplifier";
}
container config {
description
"Configuration data for the amplifier";
uses optical-amplifier-config;
}
container state {
config false;
description
"Operational state data for the amplifier";
uses optical-amplifier-config;
uses optical-amplifier-state;
}
}
}
container supervisory-channels {
description
"Enclosing container for list of supervisory channels";
list supervisory-channel {
key "interface";
description
"List of supervisory channels";
leaf interface {
type leafref {
path "../config/interface";
}
description
"Reference to the interface of the supervisory channel";
}
uses oc-line-com:optical-osc-top;
}
}
}
}
// data definition statements
uses optical-amplifier-top;
}