blob: e8cc6aeff25937c93fdc54c2363d7a5d432a5deb [file] [log] [blame]
Toru Furusawa28988892017-10-30 17:28:40 -07001module tapi-otsi {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -08002 namespace "urn:onf:otcc:yang:tapi-otsi";
Toru Furusawa28988892017-10-30 17:28:40 -07003 prefix tapi-otsi;
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 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080013 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 OTSi Model definitions.
21 Source: TapiOtsi.uml
22 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
23 License: This module is distributed under the Apache License 2.0";
24 revision 2018-02-16 {
25 description "ONF Transport API version 2.0.1
26 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
27 <https://wiki.opennetworking.org/display/OIMT/IISOMI>
28 Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
29 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
30 <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
Toru Furusawa28988892017-10-30 17:28:40 -070031 }
32 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
33 uses otsi-connection-end-point-spec;
34 description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";
35 }
36 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
37 uses otsi-node-edge-point-spec;
38 description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";
39 }
40 /***********************
41 * package object-classes
42 **********************/
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080043 grouping otsi-client-adaptation-pac {
Toru Furusawa28988892017-10-30 17:28:40 -070044 description "none";
45 }
46 grouping otsi-connection-end-point-spec {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080047 container otsi-adapter {
48 config false;
49 uses otsi-client-adaptation-pac;
50 description "none";
51 }
52 container otsi-termination {
53 config false;
54 uses otsi-termination-pac;
55 description "none";
56 }
57 container otsi-ctp {
58 config false;
59 uses otsi-ctp-pac;
60 description "none";
61 }
Toru Furusawa28988892017-10-30 17:28:40 -070062 description "none";
63 }
64 grouping otsi-termination-pac {
wu6a418d22018-02-02 01:49:21 -050065 list selected-nominal-central-frequency {
66 config false;
Toru Furusawa28988892017-10-30 17:28:40 -070067 uses nominal-central-frequency-or-wavelength;
68 description "This attribute indicates the nominal central frequency or wavelength of the optical channel associated with the OCh Trail Termination function. The value of this attribute is a pair {LinkType, Integer}, in which LinkType is DWDM, or CWDM, or NO_WDM. When LinkType is DWDM, the integer represents the nominal central frequency in unit of MHz. When LinkType is CWDM, the integer represents the nominal central wavelength in unit of pm (picometer). When LinkType is NO_WDM, the Integer field is null. For frequency and wavelength, the value shall be within the range of the maximum and minimum central frequencies or wavelengths specified for the corresponding application code used at the OCh Trail Termination.
69 This attribute is required for the OCh Trial Termination Point Source at the transmitter. For the OCh Trail Termination Point Sink at the receiver, this attribute may not be needed since the receiver is required to operate at any frequency/wavelength between the maximum and minimum range for the standard application code.
70 ";
71 }
wu6a418d22018-02-02 01:49:21 -050072 list supportable-lower-nominal-central-frequency {
Toru Furusawa28988892017-10-30 17:28:40 -070073 config false;
74 uses nominal-central-frequency-or-wavelength;
75 description "none";
76 }
wu6a418d22018-02-02 01:49:21 -050077 list supportable-upper-nominal-central-frequency {
Toru Furusawa28988892017-10-30 17:28:40 -070078 config false;
79 uses nominal-central-frequency-or-wavelength;
80 description "none";
81 }
wu6a418d22018-02-02 01:49:21 -050082 list selected-application-identifier {
83 config false;
Toru Furusawa28988892017-10-30 17:28:40 -070084 uses application-identifier;
85 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.";
86 }
wu6a418d22018-02-02 01:49:21 -050087 list supportable-application-identifier {
Toru Furusawa28988892017-10-30 17:28:40 -070088 config false;
89 uses application-identifier;
90 description "none";
91 }
92 description "none";
93 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080094 grouping otsi-pool-pac {
Toru Furusawa28988892017-10-30 17:28:40 -070095 list available-frequency-slot {
96 config false;
97 uses frequency-slot;
98 description "none";
99 }
100 list occupied-frequency-slot {
101 config false;
102 uses frequency-slot;
103 description "none";
104 }
105 description "none";
106 }
107 grouping otsi-node-edge-point-spec {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800108 container otsi-pool {
109 config false;
110 uses otsi-pool-pac;
111 description "none";
112 }
Toru Furusawa28988892017-10-30 17:28:40 -0700113 description "none";
114 }
115 grouping otsi-routing-spec {
116 leaf optical-routing-strategy {
117 type optical-routing-strategy;
118 description "none";
119 }
120 description "none";
121 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800122 grouping otsi-ctp-pac {
Toru Furusawa28988892017-10-30 17:28:40 -0700123 list selected-frequency-slot {
wu6a418d22018-02-02 01:49:21 -0500124 config false;
Toru Furusawa28988892017-10-30 17:28:40 -0700125 uses frequency-slot;
126 description "none";
127 }
128 description "none";
129 }
Toru Furusawa28988892017-10-30 17:28:40 -0700130
131 /***********************
132 * package type-definitions
133 **********************/
Toru Furusawa28988892017-10-30 17:28:40 -0700134 grouping application-identifier {
135 leaf application-identifier-type {
136 type application-identifier-type;
137 description "none";
138 }
139 leaf application-identifier-value {
140 type string;
141 description "none";
142 }
143 description "none";
144 }
145 grouping nominal-central-frequency-or-wavelength {
146 leaf grid-type {
147 type grid-type;
148 description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";
149 }
150 leaf adjustment-granularity {
151 type adjustment-granularity;
152 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
153 }
154 leaf channel-number {
155 type uint64;
156 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:
157 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";
158 }
159 description "This data-type holds the information to determine the nominal central frequency of a FIXED grid (DWDM or CWDM) and FLEX grid type systems.
160 As per ITU-T G.694.1, the nominal central frequency (in THz) is calculated as follows:
161 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
162 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
163 For FLEX grid type, the adjusmentGranularity is 0.00625 THz and the slot width is variable in increments of 12.5 GHz";
164 }
165 typedef optical-routing-strategy {
166 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500167 enum OPTIMAL_OSNR {
Toru Furusawa28988892017-10-30 17:28:40 -0700168 description "none";
169 }
wu6a418d22018-02-02 01:49:21 -0500170 enum NO_RELAY {
Toru Furusawa28988892017-10-30 17:28:40 -0700171 description "none";
172 }
wu6a418d22018-02-02 01:49:21 -0500173 enum MIN_RELAY {
Toru Furusawa28988892017-10-30 17:28:40 -0700174 description "none";
175 }
wu6a418d22018-02-02 01:49:21 -0500176 enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {
Toru Furusawa28988892017-10-30 17:28:40 -0700177 description "none";
178 }
wu6a418d22018-02-02 01:49:21 -0500179 enum PREFERRED_NO_SKIPPING_WAVELENGTH {
Toru Furusawa28988892017-10-30 17:28:40 -0700180 description "none";
181 }
182 }
183 description "none";
184 }
185 typedef application-identifier-type {
wu6a418d22018-02-02 01:49:21 -0500186 type enumeration {
187 enum PROPRIETARY {
188 description "none";
189 }
190 enum ITUT_G959_1 {
191 description "none";
192 }
193 enum ITUT_G698_1 {
194 description "none";
195 }
196 enum ITUT_G698_2 {
197 description "none";
198 }
199 enum ITUT_G696_1 {
200 description "none";
201 }
202 enum ITUT_G695 {
203 description "none";
204 }
Toru Furusawa28988892017-10-30 17:28:40 -0700205 }
206 description "none";
207 }
208 typedef grid-type {
wu6a418d22018-02-02 01:49:21 -0500209 type enumeration {
210 enum DWDM {
211 description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
212 ";
213 }
214 enum CWDM {
215 description "Fixed frequency grid as specified in ITU-T G.694.2";
216 }
217 enum FLEX {
218 description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
219 - the allowed frequency slots have a nominal central frequency (in THz) defined by:
220 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
221 - and a slot width defined by:
222 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
223 Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
224 }
225 enum UNSPECIFIED {
226 description "Unspecified/proprietary frequency grid";
227 }
Toru Furusawa28988892017-10-30 17:28:40 -0700228 }
229 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.";
230 }
231 typedef adjustment-granularity {
wu6a418d22018-02-02 01:49:21 -0500232 type enumeration {
233 enum G_100GHZ {
234 description "0.1 THz";
235 }
236 enum G_50GHZ {
237 description "0.05 THz";
238 }
239 enum G_25GHZ {
240 description "0.025 THz";
241 }
242 enum G_12_5GHZ {
243 description "0.0125 THz";
244 }
245 enum G_6_25GHZ {
246 description "0.00625 THz";
247 }
Toru Furusawa28988892017-10-30 17:28:40 -0700248 }
249 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
250 }
251 grouping frequency-slot {
252 container nominal-central-frequency {
253 uses nominal-central-frequency-or-wavelength;
254 description "none";
255 }
256 leaf slot-width-number {
257 type uint64;
258 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:
259 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.";
260 }
261 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:
262 12.5 × <slotWidthNumber> where slotWidthNumber is a positive integer and 12.5 is the slot width granularity in GHz";
263 }
264
265}