1 module tapi-photonic-media {
\r
2 namespace "urn:onf:otcc:yang:tapi-photonic-media";
\r
3 prefix tapi-photonic-media;
\r
7 import tapi-connectivity {
\r
8 prefix tapi-connectivity;
\r
10 import tapi-topology {
\r
11 prefix tapi-topology;
\r
13 organization "ONF OTCC (Open Transport Configuration & Control) Project";
\r
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>";
\r
20 This module contains TAPI PhotonicMedia Model definitions.
\r
21 Source: TapiPhotonicMedia.uml
\r
22 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
\r
23 License: This module is distributed under the Apache License 2.0";
\r
24 revision 2018-08-31 {
\r
25 description "ONF Transport API version 2.1.0
26 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
27 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
\r
28 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
29 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
\r
31 revision 2018-03-07 {
\r
32 description "ONF Transport API version 2.0.2
33 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
34 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
\r
35 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
36 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
\r
38 revision 2018-02-16 {
\r
39 description "ONF Transport API version 2.0.1
40 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
41 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
\r
42 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
43 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
\r
45 revision 2018-01-02 {
\r
46 description "ONF Transport API version 2.0.0
47 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
48 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
\r
49 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
50 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
\r
52 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
\r
53 uses otsi-connection-end-point-spec-g;
\r
54 description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";
\r
56 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
\r
57 uses media-channel-node-edge-point-spec-g;
\r
58 description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";
\r
60 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
\r
61 uses otsi-assembly-connection-end-point-spec-g;
\r
64 augment "/tapi-common:context/tapi-common:service-interface-point" {
\r
65 uses otsi-service-interface-point-spec-g;
\r
68 augment "/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {
\r
69 uses otsi-connectivity-service-end-point-spec-g;
\r
72 augment "/tapi-common:context/tapi-common:service-interface-point" {
\r
73 uses media-channel-service-interface-point-spec-g;
\r
76 augment "/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {
\r
77 uses media-channel-service-interface-point-spec-g;
\r
80 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
\r
81 uses media-channel-connection-end-point-spec-g;
\r
84 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
\r
85 uses ots-connection-end-point-spec-g;
\r
88 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
\r
89 uses media-channel-assembly-spec-g;
\r
92 /***********************
\r
93 * package object-classes
\r
94 **********************/
\r
95 grouping otsi-gserver-adaptation-pac-g {
\r
96 leaf number-of-otsi {
\r
101 description "none";
\r
103 grouping otsi-connection-end-point-spec-g {
\r
104 container otsi-termination {
\r
106 uses otsi-termination-pac-g;
\r
107 description "none";
\r
109 description "none";
\r
111 grouping otsi-termination-pac-g {
\r
112 container selected-central-frequency {
\r
114 uses central-frequency-or-wavelength-g;
\r
115 description "none";
\r
117 container selected-application-identifier {
\r
119 uses application-identifier-g;
\r
120 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.";
\r
122 leaf selected-modulation {
\r
123 type modulation-technique;
\r
124 default "UNDEFINED";
\r
126 description "This parameter defines the modulation used at the source";
\r
128 container selected-spectrum {
\r
131 description "none";
\r
133 container transmited-power {
\r
135 uses power-properties-pac-g;
\r
136 description "Measured power at the Transmitter.";
\r
138 container received-power {
\r
139 uses power-properties-pac-g;
\r
140 description "none";
\r
142 container laser-properties {
\r
144 uses laser-properties-pac-g;
\r
145 description "Laser properties.";
\r
147 description "Provides status information only.";
\r
149 grouping media-channel-pool-capability-pac-g {
\r
150 list supportable-spectrum {
\r
153 description "none";
\r
155 list available-spectrum {
\r
158 description "none";
\r
160 list occupied-spectrum {
\r
163 description "none";
\r
165 description "none";
\r
167 grouping media-channel-node-edge-point-spec-g {
\r
168 container mc-pool {
\r
170 uses media-channel-pool-capability-pac-g;
\r
171 description "none";
\r
173 description "none";
\r
175 grouping otsi-routing-spec-g {
\r
176 leaf optical-routing-strategy {
\r
177 type optical-routing-strategy;
\r
178 description "none";
\r
180 description "none";
\r
182 grouping media-channel-properties-pac-g {
\r
183 container occupied-spectrum {
\r
186 description "none";
\r
188 container measured-power-ingress {
\r
190 uses power-properties-pac-g;
\r
191 description "none";
\r
193 container measured-power-egress {
\r
194 uses power-properties-pac-g;
\r
195 description "none";
\r
197 description "none";
\r
199 grouping otsi-assembly-connection-end-point-spec-g {
\r
200 container otsi-adapter {
\r
202 uses otsi-gserver-adaptation-pac-g;
\r
203 description "none";
\r
205 container fec-parameters {
\r
207 uses fec-properties-pac-g;
\r
208 description "none";
\r
210 description "none";
\r
212 grouping otsi-capability-pac-g {
\r
213 list supportable-lower-central-frequency {
\r
215 uses central-frequency-or-wavelength-g;
\r
216 description "The lower frequency of the channel spectrum";
\r
218 list supportable-upper-central-frequency {
\r
220 uses central-frequency-or-wavelength-g;
\r
221 description "The Upper frequency of the channel spectrum";
\r
223 list supportable-application-identifier {
\r
225 uses application-identifier-g;
\r
226 description "The list of supportable ApplicationIdentifiers.";
\r
228 leaf-list supportable-modulation {
\r
229 type modulation-technique;
\r
231 description "This parameter defines the modulation used at the source";
\r
233 container total-power-warn-threshold {
\r
235 uses total-power-threshold-pac-g;
\r
236 description "none";
\r
238 description "Can read the status of the warning for the upper value that the power can reach.";
\r
240 grouping otsi-service-interface-point-spec-g {
\r
241 container otsi-capability {
\r
243 uses otsi-capability-pac-g;
\r
244 description "none";
\r
246 description "none";
\r
248 grouping otsi-connectivity-service-end-point-spec-g {
\r
249 container otsi-config {
\r
250 uses otsi-termination-config-pac-g;
\r
251 description "none";
\r
253 container nmc-config {
\r
254 uses media-channel-config-pac-g;
\r
255 description "none";
\r
257 description "none";
\r
259 grouping otsi-termination-config-pac-g {
\r
260 container central-frequency {
\r
261 uses central-frequency-or-wavelength-g;
\r
262 description "The central frequency of the laser. It is the oscillation frequency of the corresponding electromagnetic wave";
\r
264 container application-identifier {
\r
265 uses application-identifier-g;
\r
266 description "This attribute indicates the selected Application Identifier.";
\r
269 type modulation-technique;
\r
270 description "The modulation techniqu selected at the source.";
\r
272 leaf laser-control {
\r
273 type laser-control-type;
\r
274 description "Laser control can be FORCED-ON, FORCED-OFF or AUTOMATIC-LASER-SHUTDOWN";
\r
276 container transmit-power {
\r
277 uses power-properties-pac-g;
\r
278 description "Transmit power as requested.";
\r
280 leaf total-power-warn-threshold-upper {
\r
284 description "Configure the Max, Default and Min values for the Upper power threshold.";
\r
286 leaf total-power-warn-threshold-lower {
\r
290 description "Configure Max, Default and Min values for lower power threshold.";
\r
292 description "none";
\r
294 grouping fec-properties-pac-g {
\r
298 description "counter: bit error rate before correction by FEC";
\r
300 leaf post-fec-ber {
\r
303 description "counter: bit error rate after correction by FEC";
\r
305 leaf corrected-bytes {
\r
308 description "Bytes corrected between those that were received corrupted";
\r
310 leaf corrected-bits {
\r
313 description "Bits corrected between those that were received corrupted";
\r
315 leaf uncorrectable-bytes {
\r
318 description "Bytes that could not be corrected by FEC";
\r
320 leaf uncorrectable-bits {
\r
323 description "Bits that could not be corrected by FEC";
\r
325 description "none";
\r
327 grouping media-channel-service-interface-point-spec-g {
\r
328 container mc-pool {
\r
330 uses media-channel-pool-capability-pac-g;
\r
331 description "none";
\r
333 description "none";
\r
335 grouping media-channel-connectivity-service-end-point-spec-g {
\r
336 container mc-config {
\r
337 uses media-channel-config-pac-g;
\r
338 description "none";
\r
340 description "none";
\r
342 grouping media-channel-config-pac-g {
\r
343 container spectrum {
\r
345 description "none";
\r
347 description "none";
\r
349 grouping media-channel-connection-end-point-spec-g {
\r
350 container media-channel {
\r
352 uses media-channel-properties-pac-g;
\r
353 description "none";
\r
355 description "none";
\r
357 grouping ots-connection-end-point-spec-g {
\r
358 container ots-media-channel {
\r
360 uses media-channel-properties-pac-g;
\r
361 description "none";
\r
363 description "none";
\r
365 grouping media-channel-assembly-spec-g {
\r
366 description "none";
\r
368 grouping laser-properties-pac-g {
\r
369 leaf laser-status {
\r
370 type laser-control-status-type;
\r
372 description "none";
\r
374 leaf laser-application-type {
\r
377 description "The type of laser, its operational wavelengths, and its applications. String size 255.";
\r
379 leaf laser-bias-current {
\r
384 description "The Bias current of the laser that is the medium polarization current of the laser.";
\r
386 leaf laser-temperature {
\r
391 description "The temperature of the laser";
\r
393 description "none";
\r
395 grouping power-properties-pac-g {
\r
400 description "The total power at any point in a channel specified in dBm.
\r
401 range of type : -99.000..99.000";
\r
403 leaf power-spectral-density {
\r
408 description "This describes how power of a signal is distributed over frequency specified in nW/MHz
\r
409 range of type : -2147483648..2147483648";
\r
411 description "Indication with severity warning raised when a total power value measured is above the threshold.";
\r
413 grouping total-power-threshold-pac-g {
\r
414 leaf total-power-upper-warn-threshold-default {
\r
418 description "Can read the value of the default threshold that was set";
\r
420 leaf total-power-upper-warn-threshold-min {
\r
424 description "Can read the value of the lower threshold that was set";
\r
426 leaf total-power-upper-warn-threshold-max {
\r
430 description "Can read the value of the upper threshold that was set";
\r
432 leaf total-power-lower-warn-threshold-default {
\r
436 description "Can read the value of the default threshold that was set";
\r
438 leaf total-power-lower-warn-threshold-max {
\r
442 description "Can read the value of the upper threshold that was set";
\r
444 leaf total-power-lower-warn-threshold-min {
\r
448 description "Can read the value of the lower threshold that was set";
\r
450 description "none";
\r
453 /***********************
\r
454 * package type-definitions
\r
455 **********************/
\r
456 identity SPECTRUM_TYPE {
\r
457 base tapi-common:LAYER_PROTOCOL_QUALIFIER;
\r
458 description "none";
\r
460 identity SPECTRUM_TYPE_OTSi {
\r
461 base SPECTRUM_TYPE;
\r
462 description "none";
\r
464 identity SPECTRUM_TYPE_OTSiA {
\r
465 base SPECTRUM_TYPE;
\r
466 description "none";
\r
468 identity SPECTRUM_TYPE_OTSiG {
\r
469 base SPECTRUM_TYPE;
\r
470 description "none";
\r
472 identity SPECTRUM_TYPE_NMC {
\r
473 base SPECTRUM_TYPE;
\r
474 description "none";
\r
476 identity SPECTRUM_TYPE_NMCA {
\r
477 base SPECTRUM_TYPE;
\r
478 description "none";
\r
480 identity SPECTRUM_TYPE_SMC {
\r
481 base SPECTRUM_TYPE;
\r
482 description "none";
\r
484 identity SPECTRUM_TYPE_SMCA {
\r
485 base SPECTRUM_TYPE;
\r
486 description "none";
\r
488 identity SPECTRUM_TYPE_OCH {
\r
489 base SPECTRUM_TYPE;
\r
490 description "none";
\r
492 identity SPECTRUM_TYPE_OMS {
\r
493 base SPECTRUM_TYPE;
\r
494 description "none";
\r
496 identity SPECTRUM_TYPE_OTS {
\r
497 base SPECTRUM_TYPE;
\r
498 description "none";
\r
500 grouping application-identifier-g {
\r
501 leaf application-identifier-type {
\r
502 type application-identifier-type;
\r
503 description "The ITU-T recommendation which defines the application code format.";
\r
505 leaf application-code {
\r
507 description "none";
\r
509 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.";
\r
511 grouping central-frequency-or-wavelength-g {
\r
514 description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";
\r
516 leaf adjustment-granularity {
\r
517 type adjustment-granularity;
\r
518 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
\r
520 leaf central-frequency {
\r
522 description "The central frequency of the laser specified in MHz. It is the oscillation frequency of the corresponding electromagnetic wave. ";
\r
524 leaf channel-number {
\r
526 description "As per ITU-T G.694.1, this attribute is denoted as 'n' and is used to calculate the nominal central frequency (in THz) as follows:
\r
527 193.1 + <channelNumber> × <adjustmentGranularity> where channelNumber is a positive or negative integer including 0 and adjustment_granularity is the nominal central frequency granularity in THz";
\r
529 description "This data-type holds the central frequency directly or optionally the information to determine the nominal central frequency of a FIXED grid (DWDM or CWDM) and FLEX grid type systems.
\r
530 As per ITU-T G.694.1, the nominal central frequency (in THz) is calculated as follows:
\r
531 193.1 + <channelNumber> × <adjustmentGranularity> where channelNumber is a positive or negative integer including 0 and <adjustment_granularity> is the nominal central frequency granularity in THz
\r
532 For FIXED grid types, the adjustmentGranularity is one of (0.1/0.05/0.025/0.0125) THz corresponding to channel spacing of one of (100/50/25/12.5) GHz
\r
533 For FLEX grid type, the adjusmentGranularity is 0.00625 THz and the slot width is variable in increments of 12.5 GHz";
\r
535 typedef optical-routing-strategy {
\r
537 enum OPTIMAL_OSNR {
\r
538 description "none";
\r
541 description "none";
\r
544 description "none";
\r
546 enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {
\r
547 description "none";
\r
549 enum PREFERRED_NO_SKIPPING_WAVELENGTH {
\r
550 description "none";
\r
553 description "none";
\r
555 typedef application-identifier-type {
\r
558 description "none";
\r
561 description "none";
\r
564 description "none";
\r
567 description "none";
\r
570 description "none";
\r
573 description "none";
\r
576 description "none";
\r
578 typedef grid-type {
\r
581 description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
\r
585 description "Fixed frequency grid as specified in ITU-T G.694.2";
\r
588 description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
\r
589 - the allowed frequency slots have a nominal central frequency (in THz) defined by:
\r
590 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
\r
591 - and a slot width defined by:
\r
592 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
\r
593 Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
\r
596 description "none";
\r
599 description "Unspecified/proprietary frequency grid";
\r
602 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.";
\r
604 typedef adjustment-granularity {
\r
607 description "100000 MHz";
\r
610 description "50000 MHz";
\r
613 description "25000 MHz";
\r
616 description "12500 MHz";
\r
619 description "6250 MHz";
\r
622 description "3125 MHz";
\r
624 enum UNCONSTRAINED {
\r
625 description "none";
\r
628 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency";
\r
630 grouping spectrum-g {
\r
631 leaf upper-frequency {
\r
633 description "The upper frequency bound of the media channel spectrum specified in MHz";
\r
635 leaf lower-frequency {
\r
637 description "The lower frequency bound of the media channel spectrum specified in MHz";
\r
639 container frequency-slot {
\r
640 uses frequency-slot-g;
\r
641 description "none";
\r
643 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.";
\r
645 typedef modulation-technique {
\r
648 description "none";
\r
651 description "none";
\r
654 description "none";
\r
657 description "none";
\r
660 description "none";
\r
663 description "none";
\r
666 description "none";
\r
669 description "none";
\r
672 description "none";
\r
674 grouping frequency-slot-g {
\r
675 container central-frequency {
\r
676 uses central-frequency-or-wavelength-g;
\r
677 description "none";
\r
679 leaf spectral-width {
\r
681 description "Width of the media channel spectrum specified in MHz";
\r
683 leaf slot-width-number {
\r
685 description "As per ITU-T G.694.1, this attribute is denoted as 'm' and is used to calculate the slot width (in GHz) as follows:
\r
686 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.";
\r
688 description "The frequency range allocated to a slot and unavailable to other slots within a flexible grid. A frequency slot is defined by its nominal central frequency. As per ITU-T G.694.1 the slot width is calculated as follows:
\r
689 12.5 × <slotWidthNumber> where slotWidthNumber is a positive integer and 12.5 is the slot width granularity in GHz";
\r
691 typedef laser-type {
\r
694 description "none";
\r
697 description "none";
\r
700 description "none";
\r
703 description "none";
\r
705 typedef spectrum-type {
\r
707 base SPECTRUM_TYPE;
\r
709 description "none";
\r
711 typedef laser-control-type {
\r
714 description "none";
\r
717 description "none";
\r
719 enum AUTOMATIC-LASER-SHUTDOWN {
\r
720 description "none";
\r
723 description "none";
\r
726 description "none";
\r
728 typedef laser-control-status-type {
\r
731 description "none";
\r
734 description "none";
\r
737 description "none";
\r
740 description "none";
\r
743 description "none";
\r