From 639509ad42f8bd6baf9b6f5b668a9bbfb05108d4 Mon Sep 17 00:00:00 2001 From: Andrej Kozemcak Date: Thu, 20 Dec 2018 17:49:33 +0100 Subject: Add Openconfig YANG modules. Change-Id: I7e98bf1ca7196cff042a35b8bf096d2ea9d80028 Signed-off-by: Andrej Kozemcak --- .../openconfig/openconfig-optical-amplifier.yang | 474 +++++++++++++++++++++ 1 file changed, 474 insertions(+) create mode 100644 src/plugins/yang/openconfig/openconfig-optical-amplifier.yang (limited to 'src/plugins/yang/openconfig/openconfig-optical-amplifier.yang') diff --git a/src/plugins/yang/openconfig/openconfig-optical-amplifier.yang b/src/plugins/yang/openconfig/openconfig-optical-amplifier.yang new file mode 100644 index 0000000..1467148 --- /dev/null +++ b/src/plugins/yang/openconfig/openconfig-optical-amplifier.yang @@ -0,0 +1,474 @@ +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.4.0"; + + revision "2017-10-02" { + description + "Add support for fiber type profile and physical component + association for amplifier gain blocks."; + reference "0.4.0"; + } + + revision "2017-09-08" { + description + "Correct bug with OSC interfaces"; + reference "0.3.1"; + } + + 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"; + } + + + identity FIBER_TYPE_PROFILE { + description + "Type definition for different profiles of fiber types"; + } + + identity DSF { + base FIBER_TYPE_PROFILE; + description + "Dispersion shifted fiber"; + } + + identity LEAF { + base FIBER_TYPE_PROFILE; + description + "Large effective area fiber"; + } + + identity SSMF { + base FIBER_TYPE_PROFILE; + description + "Standard single mode fiber"; + } + + identity TWC { + base FIBER_TYPE_PROFILE; + description + "True wave classic"; + } + + identity TWRS { + base FIBER_TYPE_PROFILE; + description + "True wave reduced slope"; + } + + // 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."; + } + + leaf fiber-type-profile { + type identityref { + base FIBER_TYPE_PROFILE; + } + description + "The fiber type profile specifies details about the + fiber type which are needed to accurately determine + the gain and perform efficient amplification. This is + only needed for Raman type amplifiers."; + } + + } + + grouping optical-amplifier-state { + description + "Operational state data for optical amplifiers"; + + leaf component { + type leafref { + path "/oc-platform:components/oc-platform:component/" + + "oc-platform:name"; + } + description + "Reference to the system-supplied physical component that + the amplifier gain block is contained within. Multiple + amplifier gain blocks may be contained within the same + physical component."; + } + + 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; + + +} -- cgit 1.2.3-korg