blob: 13c95c814442ac345494e6864fa900480978c322 [file] [log] [blame]
Toru Furusawa28988892017-10-30 17:28:40 -07001module tapi-otsi {
2 namespace "urn:onf:params:xml:ns:yang:tapi-otsi";
3 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 }
13 organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
14 contact "
15 WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
16 WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
17 WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
18 Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
19 description "none";
20 revision 2017-05-31 {
21 description "TAPI SDK 2.0-alpha";
22 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
23 }
24 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
25 uses otsi-connection-end-point-spec;
26 description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";
27 }
28 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
29 uses otsi-node-edge-point-spec;
30 description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";
31 }
32 /***********************
33 * package object-classes
34 **********************/
35 grouping otsi-a-client-adaptation-pac {
36 description "none";
37 }
38 grouping otsi-connection-end-point-spec {
39 container otsi-adapter {
40 config false;
41 uses otsi-a-client-adaptation-pac;
42 description "none";
43 }
44 list otsi-termination {
45 config false;
46 uses otsi-termination-pac;
47 description "none";
48 }
49 container otsi-ctp {
50 config false;
51 uses otsi-g-ctp-pac;
52 description "none";
53 }
54 description "none";
55 }
56 grouping otsi-termination-pac {
57 container selected-nominal-central-frequency {
58 uses nominal-central-frequency-or-wavelength;
59 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.
60 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.
61 ";
62 }
63 container supportable-lower-nominal-central-frequency {
64 config false;
65 uses nominal-central-frequency-or-wavelength;
66 description "none";
67 }
68 container supportable-upper-nominal-central-frequency {
69 config false;
70 uses nominal-central-frequency-or-wavelength;
71 description "none";
72 }
73 container selected-application-identifier {
74 uses application-identifier;
75 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.";
76 }
77 container supportable-application-identifier {
78 config false;
79 uses application-identifier;
80 description "none";
81 }
82 description "none";
83 }
84 grouping otsi-a-pool-pac {
85 list available-frequency-slot {
86 config false;
87 uses frequency-slot;
88 description "none";
89 }
90 list occupied-frequency-slot {
91 config false;
92 uses frequency-slot;
93 description "none";
94 }
95 description "none";
96 }
97 grouping otsi-node-edge-point-spec {
98 container otsi-pool {
99 config false;
100 uses otsi-a-pool-pac;
101 description "none";
102 }
103 description "none";
104 }
105 grouping otsi-routing-spec {
106 leaf optical-routing-strategy {
107 type optical-routing-strategy;
108 description "none";
109 }
110 description "none";
111 }
112 grouping otsi-g-ctp-pac {
113 list selected-frequency-slot {
114 uses frequency-slot;
115 description "none";
116 }
117 description "none";
118 }
119 feature otsia {
120 description "none";
121 }
122
123 /***********************
124 * package type-definitions
125 **********************/
126 identity application-identifier-type {
127 description "none";
128 }
129 identity proprietary {
130 base application-identifier-type;
131 description "none";
132 }
133 identity itut-g-959-1 {
134 base application-identifier-type;
135 description "none";
136 }
137 identity itut-g-698-1 {
138 base application-identifier-type;
139 description "none";
140 }
141 identity itut-g-698-2 {
142 base application-identifier-type;
143 description "none";
144 }
145 identity itut-g-696-1 {
146 base application-identifier-type;
147 description "none";
148 }
149 identity itut-g-695 {
150 base application-identifier-type;
151 description "none";
152 }
153 identity grid-type {
154 description "none";
155 }
156 identity dwdm {
157 base grid-type;
158 description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
159 ";
160 }
161 identity cwdm {
162 base grid-type;
163 description "Fixed frequency grid as specified in ITU-T G.694.2";
164 }
165 identity flex {
166 base grid-type;
167 description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
168 - the allowed frequency slots have a nominal central frequency (in THz) defined by:
169 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
170 - and a slot width defined by:
171 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
172 Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
173 }
174 identity unspecified {
175 base grid-type;
176 description "Unspecified/proprietary frequency grid";
177 }
178 identity adjustment-granularity {
179 description "none";
180 }
181 identity g-100-ghz {
182 base adjustment-granularity;
183 description "0.1 THz";
184 }
185 identity g-50-ghz {
186 base adjustment-granularity;
187 description "0.05 THz";
188 }
189 identity g-25-ghz {
190 base adjustment-granularity;
191 description "0.025 THz";
192 }
193 identity g-12-5-ghz {
194 base adjustment-granularity;
195 description "0.0125 THz";
196 }
197 identity g-6-25-ghz {
198 base adjustment-granularity;
199 description "0.00625 THz";
200 }
201 grouping application-identifier {
202 leaf application-identifier-type {
203 type application-identifier-type;
204 description "none";
205 }
206 leaf application-identifier-value {
207 type string;
208 description "none";
209 }
210 description "none";
211 }
212 grouping nominal-central-frequency-or-wavelength {
213 leaf grid-type {
214 type grid-type;
215 description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";
216 }
217 leaf adjustment-granularity {
218 type adjustment-granularity;
219 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
220 }
221 leaf channel-number {
222 type uint64;
223 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:
224 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";
225 }
226 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.
227 As per ITU-T G.694.1, the nominal central frequency (in THz) is calculated as follows:
228 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
229 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
230 For FLEX grid type, the adjusmentGranularity is 0.00625 THz and the slot width is variable in increments of 12.5 GHz";
231 }
232 typedef optical-routing-strategy {
233 type enumeration {
234 enum optimal-osnr {
235 description "none";
236 }
237 enum no-relay {
238 description "none";
239 }
240 enum min-relay {
241 description "none";
242 }
243 enum preferred-no-change-wavelength-as-restore {
244 description "none";
245 }
246 enum preferred-no-skipping-wavelength {
247 description "none";
248 }
249 }
250 description "none";
251 }
252 typedef application-identifier-type {
253 type identityref {
254 base application-identifier-type;
255 }
256 description "none";
257 }
258 typedef grid-type {
259 type identityref {
260 base grid-type;
261 }
262 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.";
263 }
264 typedef adjustment-granularity {
265 type identityref {
266 base adjustment-granularity;
267 }
268 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
269 }
270 grouping frequency-slot {
271 container nominal-central-frequency {
272 uses nominal-central-frequency-or-wavelength;
273 description "none";
274 }
275 leaf slot-width-number {
276 type uint64;
277 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:
278 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.";
279 }
280 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:
281 12.5 × <slotWidthNumber> where slotWidthNumber is a positive integer and 12.5 is the slot width granularity in GHz";
282 }
283
284}