blob: dc69c768c8142e21282e81b25063c7f6fdf61c0a [file] [log] [blame]
hirokid8fd7862018-10-09 15:24:24 +09001module tapi-photonic-media {
2 namespace "urn:onf:otcc:yang:tapi-photonic-media";
3 prefix tapi-photonic-media;
4 import tapi-common {
5 prefix tapi-common;
6 }
7 import tapi-connectivity {
8 prefix tapi-connectivity;
9 }
10 import tapi-topology {
11 prefix tapi-topology;
12 }
13 organization "ONF OTCC (Open Transport Configuration & Control) Project";
14 contact "
15 Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
16 Project List: <mailto:transport-api@opennetworking.org>
17 Editor: Karthik Sethuraman
18 <mailto:karthik.sethuraman@necam.com>";
19 description "
20 This module contains TAPI PhotonicMedia Model definitions.
21 Source: TapiPhotonicMedia.uml
hiroki96ab3c22018-12-11 14:10:52 -080022 - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.
23 - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]
24 <https://github.com/OpenNetworkingFoundation/EagleUmlYang>
25 and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]
26 <https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines>
27 - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.
28 As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.
29 - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.
30 The YANG model backward compatibility criteria are outlined in section 11 of <https://tools.ietf.org/html/rfc7950>.
31 YANG models included in this release may not be backward compatible with previous TAPI releases.
hirokid8fd7862018-10-09 15:24:24 +090032 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
33 License: This module is distributed under the Apache License 2.0";
hiroki96ab3c22018-12-11 14:10:52 -080034 revision 2018-12-10 {
35 description "ONF Transport API version 2.1.1.
36 Changes included in this TAPI release (v2.1.1) are listed in
37 <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.1.md>";
38 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
39 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
40 }
hirokid8fd7862018-10-09 15:24:24 +090041 revision 2018-10-16 {
42 description "ONF Transport API version 2.1.0.
hiroki96ab3c22018-12-11 14:10:52 -080043 Changes included in this TAPI release (v2.1.0) are listed in
44 <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
Ai Hamano06163902018-12-06 09:18:20 +090045 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
hirokid8fd7862018-10-09 15:24:24 +090046 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
47 }
48 revision 2018-03-07 {
Ai Hamano06163902018-12-06 09:18:20 +090049 description "ONF Transport API version 2.0.2
50 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
hirokid8fd7862018-10-09 15:24:24 +090051 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
Ai Hamano06163902018-12-06 09:18:20 +090052 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
hirokid8fd7862018-10-09 15:24:24 +090053 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
54 }
55 revision 2018-02-16 {
Ai Hamano06163902018-12-06 09:18:20 +090056 description "ONF Transport API version 2.0.1
57 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
hirokid8fd7862018-10-09 15:24:24 +090058 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
Ai Hamano06163902018-12-06 09:18:20 +090059 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
hirokid8fd7862018-10-09 15:24:24 +090060 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
61 }
62 revision 2018-01-02 {
Ai Hamano06163902018-12-06 09:18:20 +090063 description "ONF Transport API version 2.0.0
64 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
hirokid8fd7862018-10-09 15:24:24 +090065 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
Ai Hamano06163902018-12-06 09:18:20 +090066 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
hirokid8fd7862018-10-09 15:24:24 +090067 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
68 }
69 augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point" {
70 container otsi-connection-end-point-spec {
71 uses otsi-connection-end-point-spec;
72 description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";
73 }
74 description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";
75 }
76 augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
77 container media-channel-node-edge-point-spec {
78 uses media-channel-node-edge-point-spec;
79 description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";
80 }
81 description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";
82 }
83 augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point" {
84 container otsi-assembly-connection-end-point-spec {
85 uses otsi-assembly-connection-end-point-spec;
86 description "none";
87 }
88 description "none";
89 }
90 augment "/tapi-common:context/tapi-common:service-interface-point" {
91 container otsi-service-interface-point-spec {
92 uses otsi-service-interface-point-spec;
93 description "none";
94 }
95 description "none";
96 }
97 augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {
98 container otsi-connectivity-service-end-point-spec {
99 uses otsi-connectivity-service-end-point-spec;
100 description "none";
101 }
102 description "none";
103 }
104 augment "/tapi-common:context/tapi-common:service-interface-point" {
105 container media-channel-service-interface-point-spec {
106 uses media-channel-service-interface-point-spec;
107 description "none";
108 }
109 description "none";
110 }
111 augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {
112 container media-channel-service-interface-point-spec {
113 uses media-channel-service-interface-point-spec;
114 description "none";
115 }
116 description "none";
117 }
118 augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point" {
119 container media-channel-connection-end-point-spec {
120 uses media-channel-connection-end-point-spec;
121 description "none";
122 }
123 description "none";
124 }
125 augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point" {
126 container ots-connection-end-point-spec {
127 uses ots-connection-end-point-spec;
128 description "none";
129 }
130 description "none";
131 }
132 augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point" {
133 container media-channel-assembly-spec {
134 uses media-channel-assembly-spec;
135 description "none";
136 }
137 description "none";
138 }
Ai Hamano933b0fe2018-11-30 11:22:37 +0900139 augment "/tapi-common:get-service-interface-point-list/tapi-common:output/tapi-common:sip" {
140 container otsi-service-interface-point-spec {
141 uses otsi-service-interface-point-spec;
142 description "none";
143 }
144 description "none";
145 }
146 augment "/tapi-common:get-service-interface-point-details/tapi-common:output/tapi-common:sip" {
147 container otsi-service-interface-point-spec {
148 uses otsi-service-interface-point-spec;
149 description "none";
150 }
151 description "none";
152 }
153 augment "/tapi-topology:get-node-edge-point-details/tapi-topology:output/tapi-topology:node-edge-point" {
154 container media-channel-node-edge-point-spec {
155 uses media-channel-node-edge-point-spec;
156 description "none";
157 }
158 description "none";
159 }
160 augment "/tapi-connectivity:get-connectivity-service-list/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {
161 container otsi-connectivity-service-end-point-spec {
162 uses otsi-connectivity-service-end-point-spec;
163 description "none";
164 }
165 description "none";
166 }
167 augment "/tapi-connectivity:get-connectivity-service-details/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {
168 container otsi-connectivity-service-end-point-spec {
169 uses otsi-connectivity-service-end-point-spec;
170 description "none";
171 }
172 description "none";
173 }
174 augment "/tapi-connectivity:create-connectivity-service/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {
175 container media-channel-connectivity-service-end-point-spec {
176 uses media-channel-connectivity-service-end-point-spec;
177 description "none";
178 }
179 description "none";
180 }
181 augment "/tapi-connectivity:update-connectivity-service/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {
182 container media-channel-connectivity-service-end-point-spec {
183 uses media-channel-connectivity-service-end-point-spec;
184 description "none";
185 }
186 description "none";
187 }
188 augment "/tapi-connectivity:get-connectivity-service-details/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {
189 container media-channel-connectivity-service-end-point-spec {
190 uses media-channel-connectivity-service-end-point-spec;
191 description "none";
192 }
193 description "none";
194 }
195 augment "/tapi-connectivity:get-connectivity-service-list/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {
196 container media-channel-connectivity-service-end-point-spec {
197 uses media-channel-connectivity-service-end-point-spec;
198 description "none";
199 }
200 description "none";
201 }
202 augment "/tapi-connectivity:create-connectivity-service/tapi-connectivity:input/tapi-connectivity:end-point" {
203 container otsi-connectivity-service-end-point-spec {
204 uses otsi-connectivity-service-end-point-spec;
205 description "none";
206 }
207 description "none";
208 }
209 augment "/tapi-connectivity:update-connectivity-service/tapi-connectivity:input/tapi-connectivity:end-point" {
210 container otsi-connectivity-service-end-point-spec {
211 uses otsi-connectivity-service-end-point-spec;
212 description "none";
213 }
214 description "none";
215 }
216 augment "/tapi-connectivity:update-connectivity-service/tapi-connectivity:input/tapi-connectivity:end-point" {
217 container media-channel-connectivity-service-end-point-spec {
218 uses media-channel-connectivity-service-end-point-spec;
219 description "none";
220 }
221 description "none";
222 }
223 augment "/tapi-connectivity:create-connectivity-service/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {
224 container otsi-connectivity-service-end-point-spec {
225 uses otsi-connectivity-service-end-point-spec;
226 description "none";
227 }
228 description "none";
229 }
230 augment "/tapi-connectivity:create-connectivity-service/tapi-connectivity:input/tapi-connectivity:end-point" {
231 container media-channel-connectivity-service-end-point-spec {
232 uses media-channel-connectivity-service-end-point-spec;
233 description "none";
234 }
235 description "none";
236 }
237 augment "/tapi-connectivity:update-connectivity-service/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {
238 container otsi-connectivity-service-end-point-spec {
239 uses otsi-connectivity-service-end-point-spec;
240 description "none";
241 }
242 description "none";
243 }
244 augment "/tapi-common:get-service-interface-point-details/tapi-common:output/tapi-common:sip" {
245 container media-channel-service-interface-point-spec {
246 uses media-channel-service-interface-point-spec;
247 description "none";
248 }
249 description "none";
250 }
251 augment "/tapi-common:get-service-interface-point-list/tapi-common:output/tapi-common:sip" {
252 container media-channel-service-interface-point-spec {
253 uses media-channel-service-interface-point-spec;
254 description "none";
255 }
256 description "none";
257 }
258 augment "/tapi-connectivity:get-connection-end-point-details/tapi-connectivity:output/tapi-connectivity:connection-end-point" {
259 container media-channel-connection-end-point-spec {
260 uses media-channel-connection-end-point-spec;
261 description "none";
262 }
263 description "none";
264 }
265 augment "/tapi-connectivity:get-connection-end-point-details/tapi-connectivity:output/tapi-connectivity:connection-end-point" {
266 container otsi-assembly-connection-end-point-spec {
267 uses otsi-assembly-connection-end-point-spec;
268 description "none";
269 }
270 description "none";
271 }
272 augment "/tapi-connectivity:get-connection-end-point-details/tapi-connectivity:output/tapi-connectivity:connection-end-point" {
273 container otsi-connection-end-point-spec {
274 uses otsi-connection-end-point-spec;
275 description "none";
276 }
277 description "none";
278 }
Ai Hamano06163902018-12-06 09:18:20 +0900279
280 /**************************
hirokid8fd7862018-10-09 15:24:24 +0900281 * package object-classes
Ai Hamano06163902018-12-06 09:18:20 +0900282 **************************/
283 grouping otsi-gserver-adaptation-pac {
284 leaf number-of-otsi {
285 type uint64;
286 config false;
hirokid8fd7862018-10-09 15:24:24 +0900287 description "none";
288 }
Ai Hamano06163902018-12-06 09:18:20 +0900289 description "none";
290 }
291 grouping otsi-connection-end-point-spec {
292 container otsi-termination {
293 config false;
294 uses otsi-termination-pac;
hirokid8fd7862018-10-09 15:24:24 +0900295 description "none";
296 }
Ai Hamano06163902018-12-06 09:18:20 +0900297 description "none";
298 }
299 grouping otsi-termination-pac {
300 container selected-central-frequency {
301 config false;
302 uses central-frequency;
hirokid8fd7862018-10-09 15:24:24 +0900303 description "none";
304 }
Ai Hamano06163902018-12-06 09:18:20 +0900305 container selected-application-identifier {
306 config false;
307 uses application-identifier;
308 description "This attribute indicates the selected Application Identifier that is used by the OCh trail termination function. The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.";
309 }
310 leaf selected-modulation {
311 type modulation-technique;
312 default "UNDEFINED";
313 config false;
314 description "This parameter defines the modulation used at the source";
315 }
316 container selected-spectrum {
317 config false;
318 uses spectrum-band;
hirokid8fd7862018-10-09 15:24:24 +0900319 description "none";
320 }
Ai Hamano06163902018-12-06 09:18:20 +0900321 container transmited-power {
322 config false;
323 uses power-properties-pac;
324 description "Measured power at the Transmitter.";
325 }
326 container received-power {
327 uses power-properties-pac;
hirokid8fd7862018-10-09 15:24:24 +0900328 description "none";
329 }
Ai Hamano06163902018-12-06 09:18:20 +0900330 container laser-properties {
331 config false;
332 uses laser-properties-pac;
333 description "Laser properties.";
334 }
335 description "Provides status information only.";
336 }
337 grouping media-channel-pool-capability-pac {
338 list supportable-spectrum {
339 key 'upper-frequency lower-frequency';
340 config false;
341 uses spectrum-band;
hirokid8fd7862018-10-09 15:24:24 +0900342 description "none";
343 }
Ai Hamano06163902018-12-06 09:18:20 +0900344 list available-spectrum {
345 key 'upper-frequency lower-frequency';
346 config false;
347 uses spectrum-band;
hirokid8fd7862018-10-09 15:24:24 +0900348 description "none";
349 }
Ai Hamano06163902018-12-06 09:18:20 +0900350 list occupied-spectrum {
351 key 'upper-frequency lower-frequency';
352 config false;
353 uses spectrum-band;
hirokid8fd7862018-10-09 15:24:24 +0900354 description "none";
355 }
Ai Hamano06163902018-12-06 09:18:20 +0900356 description "none";
357 }
358 grouping media-channel-node-edge-point-spec {
359 container mc-pool {
360 config false;
361 uses media-channel-pool-capability-pac;
hirokid8fd7862018-10-09 15:24:24 +0900362 description "none";
363 }
Ai Hamano06163902018-12-06 09:18:20 +0900364 description "none";
365 }
366 grouping otsi-routing-spec {
367 leaf optical-routing-strategy {
368 type optical-routing-strategy;
hirokid8fd7862018-10-09 15:24:24 +0900369 description "none";
370 }
Ai Hamano06163902018-12-06 09:18:20 +0900371 description "none";
372 }
373 grouping media-channel-properties-pac {
374 container occupied-spectrum {
375 config false;
376 uses spectrum-band;
hirokid8fd7862018-10-09 15:24:24 +0900377 description "none";
378 }
Ai Hamano06163902018-12-06 09:18:20 +0900379 container measured-power-ingress {
380 config false;
381 uses power-properties-pac;
hirokid8fd7862018-10-09 15:24:24 +0900382 description "none";
383 }
Ai Hamano06163902018-12-06 09:18:20 +0900384 container measured-power-egress {
385 uses power-properties-pac;
hirokid8fd7862018-10-09 15:24:24 +0900386 description "none";
387 }
Ai Hamano06163902018-12-06 09:18:20 +0900388 description "none";
389 }
390 grouping otsi-assembly-connection-end-point-spec {
391 container otsi-adapter {
392 config false;
393 uses otsi-gserver-adaptation-pac;
hirokid8fd7862018-10-09 15:24:24 +0900394 description "none";
395 }
Ai Hamano06163902018-12-06 09:18:20 +0900396 container fec-parameters {
397 config false;
398 uses fec-properties-pac;
hirokid8fd7862018-10-09 15:24:24 +0900399 description "none";
400 }
Ai Hamano06163902018-12-06 09:18:20 +0900401 description "none";
402 }
403 grouping otsi-capability-pac {
404 list supportable-lower-central-frequency {
405 key 'central-frequency';
406 config false;
407 uses central-frequency;
408 description "The lower frequency of the channel spectrum";
409 }
410 list supportable-upper-central-frequency {
411 key 'central-frequency';
412 config false;
413 uses central-frequency;
414 description "The Upper frequency of the channel spectrum";
415 }
416 list supportable-application-identifier {
417 key 'application-code';
418 config false;
419 uses application-identifier;
420 description "The list of supportable ApplicationIdentifiers.";
421 }
422 leaf-list supportable-modulation {
423 type modulation-technique;
424 config false;
425 description "This parameter defines the modulation used at the source";
426 }
427 container total-power-warn-threshold {
428 config false;
429 uses total-power-threshold-pac;
hirokid8fd7862018-10-09 15:24:24 +0900430 description "none";
431 }
Ai Hamano06163902018-12-06 09:18:20 +0900432 description "Can read the status of the warning for the upper value that the power can reach.";
433 }
434 grouping otsi-service-interface-point-spec {
435 container otsi-capability {
436 config false;
437 uses otsi-capability-pac;
hirokid8fd7862018-10-09 15:24:24 +0900438 description "none";
439 }
Ai Hamano06163902018-12-06 09:18:20 +0900440 description "none";
441 }
442 grouping otsi-connectivity-service-end-point-spec {
443 container otsi-config {
444 uses otsi-termination-config-pac;
hirokid8fd7862018-10-09 15:24:24 +0900445 description "none";
446 }
Ai Hamano06163902018-12-06 09:18:20 +0900447 description "none";
448 }
449 grouping otsi-termination-config-pac {
450 container central-frequency {
451 uses central-frequency;
452 description "The central frequency of the laser. It is the oscillation frequency of the corresponding electromagnetic wave";
hirokid8fd7862018-10-09 15:24:24 +0900453 }
Ai Hamano06163902018-12-06 09:18:20 +0900454 container spectrum {
455 uses spectrum-band;
hirokid8fd7862018-10-09 15:24:24 +0900456 description "none";
457 }
Ai Hamano06163902018-12-06 09:18:20 +0900458 container application-identifier {
459 uses application-identifier;
460 description "This attribute indicates the selected Application Identifier.";
461 }
462 leaf modulation {
463 type modulation-technique;
464 description "The modulation techniqu selected at the source.";
465 }
466 leaf laser-control {
467 type laser-control-type;
468 description "Laser control can be FORCED-ON, FORCED-OFF or LASER-SHUTDOWN";
469 }
470 container transmit-power {
471 uses power-properties-pac;
472 description "Transmit power as requested.";
473 }
474 leaf total-power-warn-threshold-upper {
475 type decimal64 {
476 fraction-digits 7;
477 }
478 description "Allows to configure the Upper power threshold which is expected to be different from Default, but within the Min and Max values specified as OTSi SIP capability.";
479 }
480 leaf total-power-warn-threshold-lower {
481 type decimal64 {
482 fraction-digits 7;
483 }
484 description "Allows to configure the Lowerpower threshold which is expected to be different from Default, but within the Min and Max values specified as OTSi SIP capability.";
485 }
486 description "none";
487 }
488 grouping fec-properties-pac {
489 leaf pre-fec-ber {
490 type uint64;
491 config false;
492 description "counter: bit error rate before correction by FEC";
493 }
494 leaf post-fec-ber {
495 type uint64;
496 config false;
497 description "counter: bit error rate after correction by FEC";
498 }
499 leaf corrected-bytes {
500 type uint64;
501 config false;
502 description "Bytes corrected between those that were received corrupted";
503 }
504 leaf corrected-bits {
505 type uint64;
506 config false;
507 description "Bits corrected between those that were received corrupted";
508 }
509 leaf uncorrectable-bytes {
510 type uint64;
511 config false;
512 description "Bytes that could not be corrected by FEC";
513 }
514 leaf uncorrectable-bits {
515 type uint64;
516 config false;
517 description "Bits that could not be corrected by FEC";
518 }
519 description "none";
520 }
521 grouping media-channel-service-interface-point-spec {
522 container mc-pool {
523 config false;
524 uses media-channel-pool-capability-pac;
525 description "none";
526 }
527 description "none";
528 }
529 grouping media-channel-connectivity-service-end-point-spec {
530 container mc-config {
531 uses media-channel-config-pac;
532 description "none";
533 }
534 description "none";
535 }
536 grouping media-channel-config-pac {
537 container spectrum {
538 uses spectrum-band;
539 description "none";
540 }
541 description "none";
542 }
543 grouping media-channel-connection-end-point-spec {
544 container media-channel {
545 config false;
546 uses media-channel-properties-pac;
547 description "none";
548 }
549 description "none";
550 }
551 grouping ots-connection-end-point-spec {
552 container ots-media-channel {
553 config false;
554 uses media-channel-properties-pac;
555 description "none";
556 }
557 description "none";
558 }
559 grouping media-channel-assembly-spec {
560 description "none";
561 }
562 grouping laser-properties-pac {
563 leaf laser-status {
564 type laser-control-status-type;
565 config false;
566 description "none";
567 }
568 leaf laser-application-type {
569 type laser-type;
570 config false;
571 description "The type of laser, its operational wavelengths, and its applications. String size 255.";
572 }
573 leaf laser-bias-current {
574 type decimal64 {
575 fraction-digits 7;
576 }
577 config false;
578 description "The Bias current of the laser that is the medium polarization current of the laser.";
579 }
580 leaf laser-temperature {
581 type decimal64 {
582 fraction-digits 7;
583 }
584 config false;
585 description "The temperature of the laser";
586 }
587 description "none";
588 }
589 grouping power-properties-pac {
590 leaf total-power {
591 type decimal64 {
592 fraction-digits 7;
593 }
594 description "The total power at any point in a channel specified in dBm.";
595 }
596 leaf power-spectral-density {
597 type decimal64 {
598 fraction-digits 7;
599 }
600 config false;
601 description "This describes how power of a signal is distributed over frequency specified in nW/MHz";
602 }
603 description "Indication with severity warning raised when a total power value measured is above the threshold.";
604 }
605 grouping total-power-threshold-pac {
606 leaf total-power-upper-warn-threshold-default {
607 type decimal64 {
608 fraction-digits 7;
609 }
610 description "Can read the value of the default threshold that was set";
611 }
612 leaf total-power-upper-warn-threshold-min {
613 type decimal64 {
614 fraction-digits 7;
615 }
616 description "Can read the value of the lower threshold that was set";
617 }
618 leaf total-power-upper-warn-threshold-max {
619 type decimal64 {
620 fraction-digits 7;
621 }
622 description "Can read the value of the upper threshold that was set";
623 }
624 leaf total-power-lower-warn-threshold-default {
625 type decimal64 {
626 fraction-digits 7;
627 }
628 description "Can read the value of the default threshold that was set";
629 }
630 leaf total-power-lower-warn-threshold-max {
631 type decimal64 {
632 fraction-digits 7;
633 }
634 description "Can read the value of the upper threshold that was set";
635 }
636 leaf total-power-lower-warn-threshold-min {
637 type decimal64 {
638 fraction-digits 7;
639 }
640 description "Can read the value of the lower threshold that was set";
641 }
642 description "none";
643 }
hirokid8fd7862018-10-09 15:24:24 +0900644
Ai Hamano06163902018-12-06 09:18:20 +0900645 /**************************
hirokid8fd7862018-10-09 15:24:24 +0900646 * package type-definitions
Ai Hamano06163902018-12-06 09:18:20 +0900647 **************************/
648 identity PHOTONIC_LAYER_QUALIFIER {
649 base tapi-common:LAYER_PROTOCOL_QUALIFIER;
650 description "none";
651 }
652 identity PHOTONIC_LAYER_QUALIFIER_OTSi {
653 base PHOTONIC_LAYER_QUALIFIER;
654 description "none";
655 }
656 identity PHOTONIC_LAYER_QUALIFIER_OTSiA {
657 base PHOTONIC_LAYER_QUALIFIER;
658 description "none";
659 }
660 identity PHOTONIC_LAYER_QUALIFIER_OTSiG {
661 base PHOTONIC_LAYER_QUALIFIER;
662 description "none";
663 }
664 identity PHOTONIC_LAYER_QUALIFIER_NMC {
665 base PHOTONIC_LAYER_QUALIFIER;
666 description "none";
667 }
668 identity PHOTONIC_LAYER_QUALIFIER_NMCA {
669 base PHOTONIC_LAYER_QUALIFIER;
670 description "none";
671 }
672 identity PHOTONIC_LAYER_QUALIFIER_SMC {
673 base PHOTONIC_LAYER_QUALIFIER;
674 description "none";
675 }
676 identity PHOTONIC_LAYER_QUALIFIER_SMCA {
677 base PHOTONIC_LAYER_QUALIFIER;
678 description "none";
679 }
680 identity PHOTONIC_LAYER_QUALIFIER_OCH {
681 base PHOTONIC_LAYER_QUALIFIER;
682 description "none";
683 }
684 identity PHOTONIC_LAYER_QUALIFIER_OMS {
685 base PHOTONIC_LAYER_QUALIFIER;
686 description "none";
687 }
688 identity PHOTONIC_LAYER_QUALIFIER_OTS {
689 base PHOTONIC_LAYER_QUALIFIER;
690 description "none";
691 }
692 grouping application-identifier {
693 leaf application-identifier-type {
694 type application-identifier-type;
695 description "The ITU-T recommendation which defines the application code format.";
696 }
697 leaf application-code {
698 type string;
hirokid8fd7862018-10-09 15:24:24 +0900699 description "none";
700 }
Ai Hamano06163902018-12-06 09:18:20 +0900701 description "The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.";
702 }
703 grouping central-frequency {
704 container frequency-constraint {
705 uses frequency-constraint;
hirokid8fd7862018-10-09 15:24:24 +0900706 description "none";
707 }
Ai Hamano06163902018-12-06 09:18:20 +0900708 leaf central-frequency {
709 type uint64;
710 description "The central frequency of the laser specified in MHz. It is the oscillation frequency of the corresponding electromagnetic wave. ";
hirokid8fd7862018-10-09 15:24:24 +0900711 }
Ai Hamano06163902018-12-06 09:18:20 +0900712 description "This data-type holds the central frequency information as well frequency constraints in terms of GridType ( FIXED grid (DWDM or CWDM) or FLEX grid) and AdjustmentGranularity.";
713 }
714 typedef optical-routing-strategy {
715 type enumeration {
716 enum OPTIMAL_OSNR {
hirokid8fd7862018-10-09 15:24:24 +0900717 description "none";
718 }
Ai Hamano06163902018-12-06 09:18:20 +0900719 enum NO_RELAY {
hirokid8fd7862018-10-09 15:24:24 +0900720 description "none";
721 }
Ai Hamano06163902018-12-06 09:18:20 +0900722 enum MIN_RELAY {
hirokid8fd7862018-10-09 15:24:24 +0900723 description "none";
724 }
Ai Hamano06163902018-12-06 09:18:20 +0900725 enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {
726 description "none";
hirokid8fd7862018-10-09 15:24:24 +0900727 }
Ai Hamano06163902018-12-06 09:18:20 +0900728 enum PREFERRED_NO_SKIPPING_WAVELENGTH {
729 description "none";
730 }
731 }
732 description "none";
733 }
734 typedef application-identifier-type {
735 type enumeration {
736 enum PROPRIETARY {
737 description "none";
738 }
739 enum ITUT_G959_1 {
740 description "none";
741 }
742 enum ITUT_G698_1 {
743 description "none";
744 }
745 enum ITUT_G698_2 {
746 description "none";
747 }
748 enum ITUT_G696_1 {
749 description "none";
750 }
751 enum ITUT_G695 {
752 description "none";
753 }
754 }
755 description "none";
756 }
757 typedef grid-type {
758 type enumeration {
759 enum DWDM {
760 description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
761 ";
762 }
763 enum CWDM {
764 description "Fixed frequency grid as specified in ITU-T G.694.2";
765 }
766 enum FLEX {
767 description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
768 - the allowed frequency slots have a nominal central frequency (in THz) defined by:
769 193.1 + n × 0.00625 where n is a positive or negative integer including 0 and 0.00625 is the nominal central frequency granularity in THz
770 - and a slot width defined by:
771 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
772 Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
773 }
774 enum GRIDLESS {
775 description "none";
776 }
777 enum UNSPECIFIED {
778 description "Unspecified/proprietary frequency grid";
779 }
780 }
781 description "The frequency grid standard that specify reference set of frequencies used to denote allowed nominal central frequencies that may be used for defining applications.";
782 }
783 typedef adjustment-granularity {
784 type enumeration {
785 enum G_100GHZ {
786 description "100000 MHz";
787 }
788 enum G_50GHZ {
789 description "50000 MHz";
790 }
791 enum G_25GHZ {
792 description "25000 MHz";
793 }
794 enum G_12_5GHZ {
795 description "12500 MHz";
796 }
797 enum G_6_25GHZ {
798 description "6250 MHz";
799 }
800 enum G_3_125GHZ {
801 description "3125 MHz";
802 }
803 enum UNCONSTRAINED {
804 description "none";
805 }
806 }
807 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency";
808 }
809 grouping spectrum-band {
810 leaf upper-frequency {
811 type uint64;
812 description "The upper frequency bound of the media channel spectrum specified in MHz";
813 }
814 leaf lower-frequency {
815 type uint64;
816 description "The lower frequency bound of the media channel spectrum specified in MHz";
817 }
818 container frequency-constraint {
819 uses frequency-constraint;
hirokid8fd7862018-10-09 15:24:24 +0900820 description "none";
821 }
Ai Hamano06163902018-12-06 09:18:20 +0900822 description "This data-type holds the spectrum information in termsof upper/lower frequency directly or optionally the information to determin this in terms of the nominal central frequency and spectral width for a FIXED grid (DWDM or CWDM) and FLEX grid type systems.";
823 }
824 typedef modulation-technique {
825 type enumeration {
826 enum RZ {
827 description "none";
hirokid8fd7862018-10-09 15:24:24 +0900828 }
Ai Hamano06163902018-12-06 09:18:20 +0900829 enum NRZ {
830 description "none";
831 }
832 enum BPSK {
833 description "none";
834 }
835 enum DPSK {
836 description "none";
837 }
838 enum QPSK {
839 description "none";
840 }
841 enum 8QAM {
842 description "none";
843 }
844 enum 16QAM {
845 description "none";
846 }
847 enum PAM4 {
848 description "none";
849 }
850 enum PAM8 {
851 description "none";
852 }
853 enum UNDEFINED {
854 description "none";
855 }
hirokid8fd7862018-10-09 15:24:24 +0900856 }
Ai Hamano06163902018-12-06 09:18:20 +0900857 description "none";
858 }
859 typedef laser-type {
860 type enumeration {
861 enum PUMP {
862 description "none";
hirokid8fd7862018-10-09 15:24:24 +0900863 }
Ai Hamano06163902018-12-06 09:18:20 +0900864 enum MODULATED {
865 description "none";
866 }
867 enum PULSE {
868 description "none";
869 }
hirokid8fd7862018-10-09 15:24:24 +0900870 }
Ai Hamano06163902018-12-06 09:18:20 +0900871 description "none";
872 }
873 typedef photonic-layer-qualifier {
874 type identityref {
875 base PHOTONIC_LAYER_QUALIFIER;
hirokid8fd7862018-10-09 15:24:24 +0900876 }
Ai Hamano06163902018-12-06 09:18:20 +0900877 description "none";
878 }
879 typedef laser-control-type {
880 type enumeration {
881 enum FORCED-ON {
882 description "none";
hirokid8fd7862018-10-09 15:24:24 +0900883 }
Ai Hamano06163902018-12-06 09:18:20 +0900884 enum FORCED-OFF {
885 description "none";
886 }
887 enum AUTOMATIC-LASER-SHUTDOWN {
888 description "none";
889 }
890 enum UNDEFINED {
891 description "none";
892 }
hirokid8fd7862018-10-09 15:24:24 +0900893 }
Ai Hamano06163902018-12-06 09:18:20 +0900894 description "none";
895 }
896 typedef laser-control-status-type {
897 type enumeration {
898 enum ON {
899 description "none";
hirokid8fd7862018-10-09 15:24:24 +0900900 }
Ai Hamano06163902018-12-06 09:18:20 +0900901 enum OFF {
902 description "none";
hirokid8fd7862018-10-09 15:24:24 +0900903 }
Ai Hamano06163902018-12-06 09:18:20 +0900904 enum PULSING {
905 description "none";
906 }
907 enum UNDEFINED {
908 description "none";
909 }
hirokid8fd7862018-10-09 15:24:24 +0900910 }
Ai Hamano06163902018-12-06 09:18:20 +0900911 description "none";
912 }
913 grouping frequency-constraint {
914 leaf adjustment-granularity {
915 type adjustment-granularity;
916 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
917 }
918 leaf grid-type {
919 type grid-type;
920 description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";
921 }
922 description "This data-type holds the frequency constraint information in terms of GridType ( FIXED grid (DWDM or CWDM) or FLEX grid) and AdjustmentGranularity.";
923 }
hirokid8fd7862018-10-09 15:24:24 +0900924}