| 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; |
| |
| |
| } |