blob: a4b7355c46add4afcac4ea536bc00c409b39957e [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";
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070024 revision 2018-03-07 {
Yuta HIGUCHIe1ca23f2018-04-06 10:05:45 -070025 description "ONF Transport API version 2.0.2
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.0.2.md>";
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.0.2/UML>";
30 }
31 revision 2018-02-16 {
32 description "ONF Transport API version 2.0.1
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.1.md>";
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.1/UML>";
37 }
38 revision 2018-01-02 {
39 description "ONF Transport API version 2.0.0
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.0.md>";
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.0/UML>";
Toru Furusawa28988892017-10-30 17:28:40 -070044 }
45 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
46 uses otsi-connection-end-point-spec;
47 description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";
48 }
49 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
50 uses otsi-node-edge-point-spec;
51 description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";
52 }
53 /***********************
54 * package object-classes
55 **********************/
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080056 grouping otsi-client-adaptation-pac {
Toru Furusawa28988892017-10-30 17:28:40 -070057 description "none";
58 }
59 grouping otsi-connection-end-point-spec {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080060 container otsi-adapter {
61 config false;
62 uses otsi-client-adaptation-pac;
63 description "none";
64 }
65 container otsi-termination {
66 config false;
67 uses otsi-termination-pac;
68 description "none";
69 }
70 container otsi-ctp {
71 config false;
72 uses otsi-ctp-pac;
73 description "none";
74 }
Toru Furusawa28988892017-10-30 17:28:40 -070075 description "none";
76 }
77 grouping otsi-termination-pac {
wu6a418d22018-02-02 01:49:21 -050078 list selected-nominal-central-frequency {
79 config false;
Toru Furusawa28988892017-10-30 17:28:40 -070080 uses nominal-central-frequency-or-wavelength;
81 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.
82 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.
83 ";
84 }
wu6a418d22018-02-02 01:49:21 -050085 list supportable-lower-nominal-central-frequency {
Toru Furusawa28988892017-10-30 17:28:40 -070086 config false;
87 uses nominal-central-frequency-or-wavelength;
88 description "none";
89 }
wu6a418d22018-02-02 01:49:21 -050090 list supportable-upper-nominal-central-frequency {
Toru Furusawa28988892017-10-30 17:28:40 -070091 config false;
92 uses nominal-central-frequency-or-wavelength;
93 description "none";
94 }
wu6a418d22018-02-02 01:49:21 -050095 list selected-application-identifier {
96 config false;
Toru Furusawa28988892017-10-30 17:28:40 -070097 uses application-identifier;
98 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.";
99 }
wu6a418d22018-02-02 01:49:21 -0500100 list supportable-application-identifier {
Toru Furusawa28988892017-10-30 17:28:40 -0700101 config false;
102 uses application-identifier;
103 description "none";
104 }
105 description "none";
106 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800107 grouping otsi-pool-pac {
Toru Furusawa28988892017-10-30 17:28:40 -0700108 list available-frequency-slot {
109 config false;
110 uses frequency-slot;
111 description "none";
112 }
113 list occupied-frequency-slot {
114 config false;
115 uses frequency-slot;
116 description "none";
117 }
118 description "none";
119 }
120 grouping otsi-node-edge-point-spec {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800121 container otsi-pool {
122 config false;
123 uses otsi-pool-pac;
124 description "none";
125 }
Toru Furusawa28988892017-10-30 17:28:40 -0700126 description "none";
127 }
128 grouping otsi-routing-spec {
129 leaf optical-routing-strategy {
130 type optical-routing-strategy;
131 description "none";
132 }
133 description "none";
134 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800135 grouping otsi-ctp-pac {
Toru Furusawa28988892017-10-30 17:28:40 -0700136 list selected-frequency-slot {
wu6a418d22018-02-02 01:49:21 -0500137 config false;
Toru Furusawa28988892017-10-30 17:28:40 -0700138 uses frequency-slot;
139 description "none";
140 }
141 description "none";
142 }
Toru Furusawa28988892017-10-30 17:28:40 -0700143
144 /***********************
145 * package type-definitions
146 **********************/
Toru Furusawa28988892017-10-30 17:28:40 -0700147 grouping application-identifier {
148 leaf application-identifier-type {
149 type application-identifier-type;
150 description "none";
151 }
152 leaf application-identifier-value {
153 type string;
154 description "none";
155 }
156 description "none";
157 }
158 grouping nominal-central-frequency-or-wavelength {
159 leaf grid-type {
160 type grid-type;
161 description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";
162 }
163 leaf adjustment-granularity {
164 type adjustment-granularity;
165 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
166 }
167 leaf channel-number {
168 type uint64;
169 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:
170 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";
171 }
172 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.
173 As per ITU-T G.694.1, the nominal central frequency (in THz) is calculated as follows:
174 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
175 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
176 For FLEX grid type, the adjusmentGranularity is 0.00625 THz and the slot width is variable in increments of 12.5 GHz";
177 }
178 typedef optical-routing-strategy {
179 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500180 enum OPTIMAL_OSNR {
Toru Furusawa28988892017-10-30 17:28:40 -0700181 description "none";
182 }
wu6a418d22018-02-02 01:49:21 -0500183 enum NO_RELAY {
Toru Furusawa28988892017-10-30 17:28:40 -0700184 description "none";
185 }
wu6a418d22018-02-02 01:49:21 -0500186 enum MIN_RELAY {
Toru Furusawa28988892017-10-30 17:28:40 -0700187 description "none";
188 }
wu6a418d22018-02-02 01:49:21 -0500189 enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {
Toru Furusawa28988892017-10-30 17:28:40 -0700190 description "none";
191 }
wu6a418d22018-02-02 01:49:21 -0500192 enum PREFERRED_NO_SKIPPING_WAVELENGTH {
Toru Furusawa28988892017-10-30 17:28:40 -0700193 description "none";
194 }
195 }
196 description "none";
197 }
198 typedef application-identifier-type {
wu6a418d22018-02-02 01:49:21 -0500199 type enumeration {
200 enum PROPRIETARY {
201 description "none";
202 }
203 enum ITUT_G959_1 {
204 description "none";
205 }
206 enum ITUT_G698_1 {
207 description "none";
208 }
209 enum ITUT_G698_2 {
210 description "none";
211 }
212 enum ITUT_G696_1 {
213 description "none";
214 }
215 enum ITUT_G695 {
216 description "none";
217 }
Toru Furusawa28988892017-10-30 17:28:40 -0700218 }
219 description "none";
220 }
221 typedef grid-type {
wu6a418d22018-02-02 01:49:21 -0500222 type enumeration {
223 enum DWDM {
224 description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
225 ";
226 }
227 enum CWDM {
228 description "Fixed frequency grid as specified in ITU-T G.694.2";
229 }
230 enum FLEX {
231 description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
232 - the allowed frequency slots have a nominal central frequency (in THz) defined by:
233 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
234 - and a slot width defined by:
235 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
236 Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
237 }
238 enum UNSPECIFIED {
239 description "Unspecified/proprietary frequency grid";
240 }
Toru Furusawa28988892017-10-30 17:28:40 -0700241 }
242 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.";
243 }
244 typedef adjustment-granularity {
wu6a418d22018-02-02 01:49:21 -0500245 type enumeration {
246 enum G_100GHZ {
247 description "0.1 THz";
248 }
249 enum G_50GHZ {
250 description "0.05 THz";
251 }
252 enum G_25GHZ {
253 description "0.025 THz";
254 }
255 enum G_12_5GHZ {
256 description "0.0125 THz";
257 }
258 enum G_6_25GHZ {
259 description "0.00625 THz";
260 }
Toru Furusawa28988892017-10-30 17:28:40 -0700261 }
262 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
263 }
264 grouping frequency-slot {
265 container nominal-central-frequency {
266 uses nominal-central-frequency-or-wavelength;
267 description "none";
268 }
269 leaf slot-width-number {
270 type uint64;
271 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:
272 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.";
273 }
274 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:
275 12.5 × <slotWidthNumber> where slotWidthNumber is a positive integer and 12.5 is the slot width granularity in GHz";
276 }
277
278}