blob: 02b668c50178d6a1028cd1ccf90fee9944dbb208 [file] [log] [blame]
Thomas Vachuska6655bee2017-08-24 16:12:59 -07001module openconfig-optical-amplifier {
2
3 yang-version "1";
4
5 // namespace
6 namespace "http://openconfig.net/yang/optical-amplfier";
7
8 prefix "oc-opt-amp";
9
10 import openconfig-platform { prefix oc-platform; }
11 import openconfig-transport-line-common { prefix oc-line-com; }
12 import openconfig-types { prefix oc-types; }
13 import openconfig-extensions { prefix oc-ext; }
14
15
16 // meta
17 organization "OpenConfig working group";
18
19 contact
20 "OpenConfig working group
21 www.openconfig.net";
22
23 description
24 "This model describes configuration and operational state data
25 for optical amplifiers, deployed as part of a transport
26 line system.";
27
28 oc-ext:openconfig-version "0.3.0";
29
30 revision "2017-07-08" {
31 description
32 "Add monitor port type and refs to hw ports, ";
33 reference "0.3.0";
34 }
35
36 revision "2017-03-28" {
37 description
38 "Added min/max/avg stats, status for media channels, OCM, APS";
39 reference "0.2.0";
40 }
41
42 revision "2016-03-31" {
43 description
44 "Initial public release";
45 reference "0.1.0";
46 }
47
48
49 // extension statements
50
51 // feature statements
52
53 // identity statements
54
55 identity OPTICAL_AMPLIFIER_TYPE {
56 description
57 "Type definition for different types of optical amplifiers";
58 }
59
60 identity EDFA {
61 base OPTICAL_AMPLIFIER_TYPE;
62 description
63 "Erbium doped fiber amplifer (EDFA)";
64 }
65
66 identity FORWARD_RAMAN {
67 base OPTICAL_AMPLIFIER_TYPE;
68 description
69 "Forward pumping Raman amplifier";
70 }
71
72 identity BACKWARD_RAMAN {
73 base OPTICAL_AMPLIFIER_TYPE;
74 description
75 "Backward pumping Raman amplifier";
76 }
77
78 identity HYBRID {
79 base OPTICAL_AMPLIFIER_TYPE;
80 description
81 "Hybrid backward pumping Raman + EDFA amplifier";
82 }
83
84 identity GAIN_RANGE {
85 description
86 "Base type for expressing the gain range for a switched gain
87 amplifier. The gain range is expressed as a generic setting,
88 e.g., LOW/MID/HIGH. The actual db range will be determined
89 by the implementation.";
90 }
91
92 identity LOW_GAIN_RANGE {
93 base GAIN_RANGE;
94 description
95 "LOW gain range setting";
96 }
97
98 identity MID_GAIN_RANGE {
99 base GAIN_RANGE;
100 description
101 "MID gain range setting";
102 }
103
104 identity HIGH_GAIN_RANGE {
105 base GAIN_RANGE;
106 description
107 "HIGH gain range setting";
108 }
109
110 identity FIXED_GAIN_RANGE {
111 base GAIN_RANGE;
112 description
113 "Fixed or non-switched gain amplfier";
114 }
115
116 identity OPTICAL_AMPLIFIER_MODE {
117 description
118 "Type definition for different types of optical amplifier
119 operating modes";
120 }
121
122 identity CONSTANT_POWER {
123 base OPTICAL_AMPLIFIER_MODE;
124 description
125 "Constant power mode";
126 }
127
128 identity CONSTANT_GAIN {
129 base OPTICAL_AMPLIFIER_MODE;
130 description
131 "Constant gain mode";
132 }
133
134
135 // grouping statements
136
137 grouping optical-amplifier-config {
138 description
139 "Configuration data for optical amplifiers";
140
141 leaf name {
142 type string;
143 description
144 "User-defined name assigned to identify a specific amplifier
145 in the device";
146 }
147
148 leaf type {
149 type identityref {
150 base OPTICAL_AMPLIFIER_TYPE;
151 }
152 description
153 "Type of the amplifier";
154 }
155
156 leaf target-gain {
157 type decimal64 {
158 fraction-digits 2;
159 range 0..max;
160 }
161 units dB;
162 description
163 "Positive gain applied by the amplifier.";
164 }
165
166 leaf target-gain-tilt {
167 type decimal64 {
168 fraction-digits 2;
169 }
170 units dB;
171 description
172 "Gain tilt control";
173 }
174
175 leaf gain-range {
176 type identityref {
177 base GAIN_RANGE;
178 }
179 description
180 "Selected gain range. The gain range is a platform-defined
181 value indicating the switched gain amplifier setting";
182 }
183
184 leaf amp-mode {
185 type identityref {
186 base OPTICAL_AMPLIFIER_MODE;
187 }
188 description
189 "The operating mode of the amplifier";
190 }
191
192 leaf target-output-power {
193 type decimal64 {
194 fraction-digits 2;
195 }
196 units dBm;
197 description
198 "Output optical power of the amplifier.";
199 }
200
201 leaf enabled {
202 type boolean;
203 description
204 "Turns power on / off to the amplifiers gain module.";
205 }
206
207 }
208
209 grouping optical-amplifier-state {
210 description
211 "Operational state data for optical amplifiers";
212
213 leaf ingress-port {
214 type leafref {
215 path "/oc-platform:components/oc-platform:component/" +
216 "oc-platform:name";
217 }
218 description
219 "Reference to system-supplied name of the amplifier ingress
220 port. This leaf is only valid for ports of type INGRESS.";
221 }
222
223 leaf egress-port {
224 type leafref {
225 path "/oc-platform:components/oc-platform:component/" +
226 "oc-platform:name";
227 }
228 description
229 "Reference to system-supplied name of the amplifier egress
230 port. This leaf is only valid for ports of type EGRESS.";
231 }
232
233 container actual-gain {
234 description
235 "The actual gain applied by the amplifier in units of
236 0.01dB. If avg/min/max statistics are not supported,
237 just supply the instant value";
238
239 uses oc-types:avg-min-max-instant-stats-precision2-dB;
240 }
241
242 container actual-gain-tilt {
243 description
244 "The actual tilt applied by the amplifier in units of
245 0.01dB. If avg/min/max statistics are not supported,
246 just supply the instant value";
247
248 uses oc-types:avg-min-max-instant-stats-precision2-dB;
249 }
250
251 container input-power-total {
252 description
253 "The total input optical power of this port in units
254 of 0.01dBm. If avg/min/max statistics are not supported,
255 just supply the instant value";
256
257 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
258 }
259
260 container input-power-c-band {
261 description
262 "The C band (consisting of approximately 191 to 195 THz or
263 1530nm to 1565 nm) input optical power of this port in units
264 of 0.01dBm. If avg/min/max statistics are not supported,
265 just supply the instant value";
266
267 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
268 }
269
270 container input-power-l-band {
271 description
272 "The L band (consisting of approximately 184 to 191 THz or
273 1565 to 1625 nm) input optical power of this port in units
274 of 0.01dBm. If avg/min/max statistics are not supported,
275 just supply the instant value";
276
277 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
278 }
279
280 container output-power-total {
281 description
282 "The total output optical power of this port in units
283 of 0.01dBm. If avg/min/max statistics are not supported,
284 just supply the instant value";
285
286 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
287 }
288
289 container output-power-c-band {
290 description
291 "The C band (consisting of approximately 191 to 195 THz or
292 1530nm to 1565 nm)output optical power of this port in units
293 of 0.01dBm. If avg/min/max statistics are not supported,
294 just supply the instant value";
295
296 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
297 }
298
299 container output-power-l-band {
300 description
301 "The L band (consisting of approximately 184 to 191 THz or
302 1565 to 1625 nm)output optical power of this port in units
303 of 0.01dBm. If avg/min/max statistics are not supported,
304 just supply the instant value";
305
306 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
307 }
308
309 container laser-bias-current {
310 description
311 "The current applied by the system to the transmit laser to
312 achieve the output power. The current is expressed in mA
313 with up to two decimal precision. If avg/min/max statistics
314 are not supported, just supply the instant value";
315
316 uses oc-types:avg-min-max-instant-stats-precision2-mA;
317 }
318
319 container optical-return-loss {
320 description
321 "The optical return loss (ORL) is the ratio of the light
322 reflected back into the port to the light launched out of
323 the port. ORL is in units of 0.01dBm. If avg/min/max
324 statistics are not supported, just supply the instant value";
325
326 uses oc-types:avg-min-max-instant-stats-precision2-dBm;
327 }
328 }
329
330 grouping optical-amplifier-top {
331 description
332 "Top-level grouping for optical amplifier data";
333
334 container optical-amplifier {
335 description
336 "Enclosing container for amplifiers and supervisory channels";
337
338 container amplifiers {
339 description
340 "Enclosing container for list of amplifiers";
341
342 list amplifier {
343 key "name";
344 description
345 "List of optical amplifiers present in the device";
346
347 leaf name {
348 type leafref {
349 path "../config/name";
350 }
351 description
352 "Reference to the name of the amplifier";
353 }
354
355 container config {
356 description
357 "Configuration data for the amplifier";
358
359 uses optical-amplifier-config;
360 }
361
362 container state {
363
364 config false;
365
366 description
367 "Operational state data for the amplifier";
368
369 uses optical-amplifier-config;
370 uses optical-amplifier-state;
371 }
372 }
373 }
374
375 container supervisory-channels {
376 description
377 "Enclosing container for list of supervisory channels";
378
379 list supervisory-channel {
380 key "interface";
381 description
382 "List of supervisory channels";
383
384 leaf interface {
385 type leafref {
386 path "../config/interface";
387 }
388 description
389 "Reference to the interface of the supervisory channel";
390 }
391
392 uses oc-line-com:optical-osc-top;
393 }
394 }
395 }
396 }
397
398 // data definition statements
399
400 uses optical-amplifier-top;
401
402
403}