blob: 861dafff3411552255f73bf8dd7df35991adf690 [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 {
wu6a418d22018-02-02 01:49:21 -050039 uses tapi-otsi:otsi-a-client-adaptation-pac;
40 uses tapi-otsi:otsi-termination-pac;
41 uses tapi-otsi:otsi-g-ctp-pac;
Toru Furusawa28988892017-10-30 17:28:40 -070042 description "none";
43 }
44 grouping otsi-termination-pac {
wu6a418d22018-02-02 01:49:21 -050045 list selected-nominal-central-frequency {
46 config false;
Toru Furusawa28988892017-10-30 17:28:40 -070047 uses nominal-central-frequency-or-wavelength;
48 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.
49 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.
50 ";
51 }
wu6a418d22018-02-02 01:49:21 -050052 list supportable-lower-nominal-central-frequency {
Toru Furusawa28988892017-10-30 17:28:40 -070053 config false;
54 uses nominal-central-frequency-or-wavelength;
55 description "none";
56 }
wu6a418d22018-02-02 01:49:21 -050057 list supportable-upper-nominal-central-frequency {
Toru Furusawa28988892017-10-30 17:28:40 -070058 config false;
59 uses nominal-central-frequency-or-wavelength;
60 description "none";
61 }
wu6a418d22018-02-02 01:49:21 -050062 list selected-application-identifier {
63 config false;
Toru Furusawa28988892017-10-30 17:28:40 -070064 uses application-identifier;
65 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.";
66 }
wu6a418d22018-02-02 01:49:21 -050067 list supportable-application-identifier {
Toru Furusawa28988892017-10-30 17:28:40 -070068 config false;
69 uses application-identifier;
70 description "none";
71 }
72 description "none";
73 }
74 grouping otsi-a-pool-pac {
75 list available-frequency-slot {
76 config false;
77 uses frequency-slot;
78 description "none";
79 }
80 list occupied-frequency-slot {
81 config false;
82 uses frequency-slot;
83 description "none";
84 }
85 description "none";
86 }
87 grouping otsi-node-edge-point-spec {
wu6a418d22018-02-02 01:49:21 -050088 uses tapi-otsi:otsi-a-pool-pac;
Toru Furusawa28988892017-10-30 17:28:40 -070089 description "none";
90 }
91 grouping otsi-routing-spec {
92 leaf optical-routing-strategy {
93 type optical-routing-strategy;
94 description "none";
95 }
96 description "none";
97 }
98 grouping otsi-g-ctp-pac {
99 list selected-frequency-slot {
wu6a418d22018-02-02 01:49:21 -0500100 config false;
Toru Furusawa28988892017-10-30 17:28:40 -0700101 uses frequency-slot;
102 description "none";
103 }
104 description "none";
105 }
106 feature otsia {
107 description "none";
108 }
109
110 /***********************
111 * package type-definitions
112 **********************/
Toru Furusawa28988892017-10-30 17:28:40 -0700113 grouping application-identifier {
114 leaf application-identifier-type {
115 type application-identifier-type;
116 description "none";
117 }
118 leaf application-identifier-value {
119 type string;
120 description "none";
121 }
122 description "none";
123 }
124 grouping nominal-central-frequency-or-wavelength {
125 leaf grid-type {
126 type grid-type;
127 description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";
128 }
129 leaf adjustment-granularity {
130 type adjustment-granularity;
131 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
132 }
133 leaf channel-number {
134 type uint64;
135 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:
136 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";
137 }
138 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.
139 As per ITU-T G.694.1, the nominal central frequency (in THz) is calculated as follows:
140 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
141 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
142 For FLEX grid type, the adjusmentGranularity is 0.00625 THz and the slot width is variable in increments of 12.5 GHz";
143 }
144 typedef optical-routing-strategy {
145 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500146 enum OPTIMAL_OSNR {
Toru Furusawa28988892017-10-30 17:28:40 -0700147 description "none";
148 }
wu6a418d22018-02-02 01:49:21 -0500149 enum NO_RELAY {
Toru Furusawa28988892017-10-30 17:28:40 -0700150 description "none";
151 }
wu6a418d22018-02-02 01:49:21 -0500152 enum MIN_RELAY {
Toru Furusawa28988892017-10-30 17:28:40 -0700153 description "none";
154 }
wu6a418d22018-02-02 01:49:21 -0500155 enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {
Toru Furusawa28988892017-10-30 17:28:40 -0700156 description "none";
157 }
wu6a418d22018-02-02 01:49:21 -0500158 enum PREFERRED_NO_SKIPPING_WAVELENGTH {
Toru Furusawa28988892017-10-30 17:28:40 -0700159 description "none";
160 }
161 }
162 description "none";
163 }
164 typedef application-identifier-type {
wu6a418d22018-02-02 01:49:21 -0500165 type enumeration {
166 enum PROPRIETARY {
167 description "none";
168 }
169 enum ITUT_G959_1 {
170 description "none";
171 }
172 enum ITUT_G698_1 {
173 description "none";
174 }
175 enum ITUT_G698_2 {
176 description "none";
177 }
178 enum ITUT_G696_1 {
179 description "none";
180 }
181 enum ITUT_G695 {
182 description "none";
183 }
Toru Furusawa28988892017-10-30 17:28:40 -0700184 }
185 description "none";
186 }
187 typedef grid-type {
wu6a418d22018-02-02 01:49:21 -0500188 type enumeration {
189 enum DWDM {
190 description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
191 ";
192 }
193 enum CWDM {
194 description "Fixed frequency grid as specified in ITU-T G.694.2";
195 }
196 enum FLEX {
197 description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
198 - the allowed frequency slots have a nominal central frequency (in THz) defined by:
199 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
200 - and a slot width defined by:
201 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
202 Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
203 }
204 enum UNSPECIFIED {
205 description "Unspecified/proprietary frequency grid";
206 }
Toru Furusawa28988892017-10-30 17:28:40 -0700207 }
208 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.";
209 }
210 typedef adjustment-granularity {
wu6a418d22018-02-02 01:49:21 -0500211 type enumeration {
212 enum G_100GHZ {
213 description "0.1 THz";
214 }
215 enum G_50GHZ {
216 description "0.05 THz";
217 }
218 enum G_25GHZ {
219 description "0.025 THz";
220 }
221 enum G_12_5GHZ {
222 description "0.0125 THz";
223 }
224 enum G_6_25GHZ {
225 description "0.00625 THz";
226 }
Toru Furusawa28988892017-10-30 17:28:40 -0700227 }
228 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
229 }
230 grouping frequency-slot {
231 container nominal-central-frequency {
232 uses nominal-central-frequency-or-wavelength;
233 description "none";
234 }
235 leaf slot-width-number {
236 type uint64;
237 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:
238 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.";
239 }
240 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:
241 12.5 × <slotWidthNumber> where slotWidthNumber is a positive integer and 12.5 is the slot width granularity in GHz";
242 }
243
244}