1 module openconfig-transport-line-common {
6 namespace "http://openconfig.net/yang/transport-line-common";
10 // import some basic types
11 import iana-if-type { prefix ift; }
12 import openconfig-extensions { prefix oc-ext; }
13 import openconfig-interfaces { prefix oc-if; }
14 import openconfig-platform { prefix oc-platform; }
15 import openconfig-types { prefix oc-types; }
16 import openconfig-transport-types { prefix oc-opt-types; }
20 organization "OpenConfig working group";
23 "OpenConfig working group
27 "This module defines common data elements for OpenConfig data
28 models for optical transport line system elements, such as
29 amplifiers and ROADMs (wavelength routers).";
31 oc-ext:openconfig-version "0.3.1";
33 revision "2017-09-08" {
35 "Correct bug with OSC interfaces";
39 revision "2017-07-08" {
41 "Add monitor port type and refs to hw ports, ";
45 revision "2017-03-28" {
47 "Added min/max/avg stats, status for media channels, OCM, APS";
51 revision "2016-03-31" {
53 "Initial public release";
58 // extension statements
62 // identity statements
64 identity OPTICAL_LINE_PORT_TYPE {
66 "Type definition for optical node port types";
70 base OPTICAL_LINE_PORT_TYPE;
72 "Ingress port, corresponding to a signal entering
73 a line device such as an amplifier or wavelength
78 base OPTICAL_LINE_PORT_TYPE;
80 "Egress port, corresponding to a signal exiting
81 a line device such as an amplifier or wavelength
86 base OPTICAL_LINE_PORT_TYPE;
88 "Add port, corresponding to a signal injected
89 at a wavelength router.";
93 base OPTICAL_LINE_PORT_TYPE;
95 "Drop port, corresponding to a signal dropped
96 at a wavelength router.";
100 base OPTICAL_LINE_PORT_TYPE;
102 "Monitor port, corresponding to a signal used by an optical
103 channel monitor. This is used to represent the connection
104 that a channel monitor port is connected to. This
105 connection may be via physical cable and faceplate ports or
106 internal to the device";
109 // typedef statements
111 // grouping statements
113 grouping optical-osc-config {
115 "Configuration data for OSC interfaces";
118 type oc-if:base-interface-ref;
120 "Reference to an OSC interface";
124 grouping optical-osc-state {
126 "Operational state data for OSC interfaces";
128 container input-power {
130 "The input optical power of this port in units
131 of 0.01dBm. If avg/min/max statistics are not supported,
132 the target is expected to just supply the instant value";
134 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
137 container output-power {
139 "The output optical power of this port in units
140 of 0.01dBm. If avg/min/max statistics are not supported,
141 the target is expected to just supply the instant value";
143 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
146 container laser-bias-current {
148 "The current applied by the system to the transmit laser to
149 achieve the output power. The current is expressed in mA
150 with up to one decimal precision. If avg/min/max statistics
151 are not supported, the target is expected to just supply
154 uses oc-types:avg-min-max-instant-stats-precision2-mA;
160 grouping optical-osc-top {
162 "Top-level grouping for configuration and operational state
163 data for optical supervisory channels (OSC) for amplifiers,
164 WSS/ROADM, nodes, etc.";
168 "Configuration data for OSCs";
170 uses optical-osc-config;
178 "Operational state data for OSCs";
180 uses optical-osc-config;
181 uses optical-osc-state;
186 grouping transport-line-common-port-config {
188 "Configuration data for optical line ports";
191 type oc-opt-types:admin-state-type;
193 "Sets the admin state of the optical-port";
197 grouping transport-line-common-port-state {
199 "Operational state data describing optical line ports";
201 leaf optical-port-type {
203 base OPTICAL_LINE_PORT_TYPE;
206 "Indicates the type of transport line port. This is an
207 informational field that should be made available by the
208 device (e.g., in the openconfig-platform model).";
211 container input-power {
213 "The total input optical power of this port in units
214 of 0.01dBm. If avg/min/max statistics are not supported,
215 just supply the instant value";
217 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
220 container output-power {
222 "The total output optical power of this port in units
223 of 0.01dBm. If avg/min/max statistics are not supported,
224 just supply the instant value";
226 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
230 grouping transport-line-common-port-top {
232 "Top-level grouping ";
234 container optical-port {
236 "Top-level container ";
241 "Operational config data for optical line ports";
243 uses transport-line-common-port-config;
251 "Operational state data for optical line ports";
253 uses transport-line-common-port-config;
254 uses transport-line-common-port-state;
261 // data definition statements
263 // uses optical-osc-top;
265 // augment statements
267 augment "/oc-platform:components/oc-platform:component" {
269 "Adding optical line port data to platform model";
271 uses transport-line-common-port-top {
272 when "/oc-platform:components/oc-platform:component/" +
273 "oc-platform:state/oc-platform:type = 'PORT'" {
275 "Augment is active when component is of type
281 //TODO:this is placeholder until SONET model is added
282 //to interfaces model
283 augment "/oc-if:interfaces/oc-if:interface" {
284 when "oc-if:config/oc-if:type = 'ift:sonet'" {
285 description "Additional interface configuration parameters when
286 the interface type is SONET/SDH";
288 description "Adds additional SONET/SDH-specific data to
293 "Data related to SONET/SDH interfaces";
299 // notification statements