blob: 00a5bc9e6a4c05b701b4e54e76fe7a94d63d0ddc [file] [log] [blame]
Toru Furusawa28988892017-10-30 17:28:40 -07001module tapi-odu {
2 namespace "urn:onf:params:xml:ns:yang:tapi-odu";
3 prefix tapi-odu;
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 import tapi-oam {
14 prefix tapi-oam;
15 }
16 organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
17 contact "
18 WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
19 WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
20 WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
21 Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
22 description "none";
23 revision 2017-05-31 {
24 description "TAPI SDK 2.0-alpha";
25 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
26 }
27 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
28 uses odu-node-edge-point-spec;
29 description "Augments the base LayerProtocol information in NodeEdgePoint with ODU-specific information";
30 }
31 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
32 uses odu-connection-end-point-spec;
33 description "none";
34 }
35 augment "/tapi-common:context/tapi-oam:meg/tapi-oam:mep" {
36 uses odu-connection-end-point-spec;
37 description "none";
38 }
39 augment "/tapi-common:context/tapi-oam:meg/tapi-oam:mip" {
40 uses odu-mip-spec;
41 description "none";
42 }
43 /***********************
44 * package object-classes
45 **********************/
46 grouping odu-termination-and-client-adaptation-pac {
47 leaf opu-tributary-slot-size {
48 type odu-slot-size;
49 config false;
50 description "This attribute is applicable for ODU2 and ODU3 CTP only. It indicates the slot size of the ODU CTP.";
51 }
52 leaf auto-payload-type {
53 type boolean;
54 config false;
55 description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU CTP Source at the client layer of the ODUP/ODUj-21 adaptation function. The value of true of this attribute configures that the adaptation source function shall fall back to the payload type PT=20 if the conditions specified in 14.3.10.1/G.798 are satisfied. ";
56 }
57 leaf configured-client-type {
58 type string;
59 config false;
60 description "This attribute configures the type of the client CTP of the server ODU TTP.";
61 }
62 leaf configured-mapping-type {
63 type mapping-type;
64 config false;
65 description "This attributes indicates the configured mapping type.";
66 }
67 container accepted-payload-type {
68 config false;
69 uses odu-payload-type;
70 description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU CTP Sink at the client layer of the ODUP/ODU[i]j or ODUP/ODUj-21 adaptation function.
71 This attribute is a 2-digit Hex code that indicates the new accepted payload type.
72 Valid values are defined in Table 15-8 of ITU-T Recommendation G.709 with one additional value UN_INTERPRETABLE.";
73 }
74 description "This Pac contains the attributes associated with the client adaptation function of the server layer TTP
75 It is present only if the CEP contains a TTP";
76 }
77 grouping odu-connection-end-point-spec {
wu6a418d22018-02-02 01:49:21 -050078 uses tapi-odu:odu-common-pac;
79 uses tapi-odu:odu-termination-and-client-adaptation-pac;
80 uses tapi-odu:odu-ctp-pac;
81 uses tapi-odu:odu-protection-pac;
Toru Furusawa28988892017-10-30 17:28:40 -070082 description "none";
83 }
84 grouping odu-pool-pac {
85 leaf client-capacity {
86 type uint64;
87 description "none";
88 }
89 leaf max-client-instances {
90 type uint64;
91 config false;
92 description "none";
93 }
94 leaf max-client-size {
95 type uint64;
96 config false;
97 description "none";
98 }
99 description "none";
100 }
101 grouping odu-node-edge-point-spec {
wu6a418d22018-02-02 01:49:21 -0500102 uses tapi-odu:odu-pool-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700103 description "none";
104 }
105 grouping odu-ctp-pac {
106 leaf-list tributary-slot-list {
107 type uint64;
108 config false;
109 description "This attribute contains a set of distinct (i.e. unique) integers (e.g. 2, 3, 5, 9, 15 representing the tributary slots TS2, TS3, TS5, TS9 and TS15) which represents the resources occupied by the Low Order ODU Link Connection (e.g. carrying an ODUflex with a bit rate of 6.25G).
110 This attribute applies when the LO ODU_ ConnectionTerminationPoint connects with an HO ODU_TrailTerminationPoint object.
111 It will not apply if this ODU_ ConnectionTerminationPoint object directly connects to an OTU_TrailTerminationPoint object (i.e. OTU has no trib slots).
112 The upper bound of the integer allowed in this set is a function of the HO-ODU server layer to which the ODU connection has been mapped (adapted).
113 Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively). Note that the value of this attribute can be changed only in the case of ODUflex and has to be through specific operations (i.e. not be changing the attribute tributarySlotList directly).";
114 }
115 leaf tributary-port-number {
116 type uint64;
117 config false;
118 description "This attribute identifies the tributary port number that is associated with the ODU CTP.
119 range of type : The value range depends on the size of the Tributary Port Number (TPN) field used which depends on th server-layer ODU or OTU.
120 In case of ODUk mapping into OTUk, there is no TPN field, so the tributaryPortNumber shall be zero.
121 In case of LO ODUj mapping over ODU1, ODU2 or ODU3, the TPN is encoded in a 6-bit field so the value range is 0-63. See clause 14.4.1/G.709-2016.
122 In case of LO ODUj mapping over ODU4, the TPN is encoded in a 7-bit field so the value range is 0-127. See clause 14.4.1.4/G.709-2016.
123 In case of ODUk mapping over ODUCn, the TPN is encoded in a 14-bit field so the value range is 0-16383. See clause 20.4.1.1/G.709-2016.
124 ";
125 }
126 leaf accepted-m-si {
127 type string;
128 config false;
129 description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU1 or ODU2 CTP Sink at the client layer of the ODU3P/ODU12 adaptation function or represents a lower order ODUj CTP Sink at the client layer of the ODUP/ODUj-21 adaptation function. This attribute is a 1-byte field that represents the accepted multiplex structure of the adaptation function. ";
130 }
131 description "This Pac contains the attributes associated with the CTP
132 It is present only if the CEP contains a CTP";
133 }
134 grouping odu-mep-spec {
wu6a418d22018-02-02 01:49:21 -0500135 uses tapi-odu:odu-mep-pac;
136 uses tapi-odu:odu-ncm-pac;
137 uses tapi-odu:odu-tcm-mep-pac;
138 uses tapi-odu:odu-defect-pac;
139 uses tapi-odu:odu-pm-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700140 description "none";
141 }
142 grouping odu-protection-pac {
143 leaf aps-enable {
144 type boolean;
145 default "true";
146 description "This attribute is for enabling/disabling the automatic protection switching (APS) capability at the transport adaptation function that is represented by the ODU_ConnectionTerminationPoint object class. It triggers the MI_APS_EN signal to the transport adaptation function.";
147 }
148 leaf aps-level {
149 type uint64;
150 description "This attribute is for configuring the automatic protection switching (APS) level that should operate at the transport adaptation function that is represented by the ODU_ConnectionTerminationPoint object class. It triggers the MI_APS_LVL signal to the transport adaptation function. The value 0 means path and the values 1 through 6 mean TCM level 1 through 6 respectively.";
151 }
152 description "none";
153 }
154 grouping odu-ncm-pac {
155 leaf-list tcm-fields-in-use {
156 type uint64;
157 config false;
158 description "This attribute indicates the used TCM fields of the ODU OH.";
159 }
160 description "none";
161 }
162 grouping odu-tcm-mep-pac {
163 leaf tcm-extension {
164 type tcm-extension;
165 description "none";
166 }
167 leaf tcm-mode {
168 type tcm-mode;
169 description "This attribute specifies the TCM mode at the entity. Valid values are: Operational, Monitor, and Transparent.";
170 }
171 leaf codirectional {
172 type boolean;
173 config false;
174 description "This attribute specifies the directionality of the ODUT MEP with respect to the associated ODU CEP. The value of TRUE means that the sink part of the ODUT MEP terminates the same signal direction as the sink part of the ODU CEP. The Source part behaves similarly. This attribute is meaningful only on objects instantiated under ODU CEP, and at least one among ODU CEP and the subordinate object is bidirectional.";
175 }
176 leaf ac-status-source {
177 type tcm-status;
178 config false;
179 description "This attribute indicates the status of the accepted TCM. ";
180 }
181 leaf ac-status-sink {
182 type tcm-status;
183 config false;
184 description "This attribute indicates the status of the accepted TCM. ";
185 }
186 leaf admin-state-source {
187 type tapi-common:administrative-state;
188 description "This attribute provides the capability to provision the LOCK signal at the source, which is one of the ODU maintenance signals. When a Tandem Connection endpoint is set to admin state locked, it will insert the ODU-LCK signal in the source direction.";
189 }
190 leaf admin-state-sink {
191 type tapi-common:administrative-state;
192 description "This attribute provides the capability to provision the LOCK signal at the sink, which is one of the ODU maintenance signals. When a Tandem Connection endpoint is set to admin state locked, it will insert the ODU-LCK signal in the downstream direction.";
193 }
194 uses odu-tcm-mip-pac;
195 description "none";
196 }
197 grouping odu-mip-spec {
wu6a418d22018-02-02 01:49:21 -0500198 uses tapi-odu:odu-mip-pac;
199 uses tapi-odu:odu-ncm-pac;
200 uses tapi-odu:odu-tcm-mip-pac;
201 uses tapi-odu:odu-pm-pac;
202 uses tapi-odu:odu-defect-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700203 description "none";
204 }
205 grouping odu-mip-pac {
206 leaf acti {
207 type string;
208 config false;
209 description "The Trail Trace Identifier (TTI) information recovered (Accepted) from the TTI overhead position at the sink of a trail.";
210 }
211 leaf ex-dapi {
212 type string;
213 description "The Expected Destination Access Point Identifier (ExDAPI), provisioned by the managing system, to be compared with the TTI accepted at the overhead position of the sink for the purpose of checking the integrity of connectivity.";
214 }
215 leaf ex-sapi {
216 type string;
217 description "The Expected Source Access Point Identifier (ExSAPI), provisioned by the managing system, to be compared with the TTI accepted at the overhead position of the sink for the purpose of checking the integrity of connectivity.
218 ";
219 }
220 leaf tim-act-disabled {
221 type boolean;
222 default "true";
223 description "This attribute provides the control capability for the managing system to enable or disable the Consequent Action function when detecting Trace Identifier Mismatch (TIM) at the trail termination sink.";
224 }
225 leaf tim-det-mode {
226 type tim-det-mo;
227 description "This attribute indicates the mode of the Trace Identifier Mismatch (TIM) Detection function allowed values: OFF, SAPIonly, DAPIonly, SAPIandDAPI";
228 }
229 leaf deg-m {
230 type uint64;
231 description "This attribute indicates the threshold level for declaring a Degraded Signal defect (dDEG). A dDEG shall be declared if DegM consecutive bad PM Seconds are detected.";
232 }
233 container deg-thr {
234 uses deg-thr;
235 description "This attribute indicates the threshold level for declaring a performance monitoring (PM) Second to be bad. The value of the threshold can be provisioned in terms of number of errored blocks or in terms of percentage of errored blocks. For percentage-based specification, in order to support provision of less than 1%, the specification consists of two fields. The first field indicates the granularity of percentage. For examples, in 1%, in 0.1%, or in 0.01%, etc. The second field indicates the multiple of the granularity. For number of errored block based, the value is a positive integer.";
236 }
237 description "none";
238 }
239 grouping odu-tcm-mip-pac {
240 leaf tcm-field {
241 type uint64;
242 config false;
243 description "This attribute indicates the tandem connection monitoring field of the ODU OH.";
244 }
245 description "none";
246 }
247 grouping odu-mep-pac {
248 leaf dm-source {
249 type boolean;
250 description "This attribute is for configuring the delay measurement process at the trail termination function represented by the subject TTP object class. It models the MI_DM_Source MI signal. If MI_DM_Source is false, then the value of the DMp bit is determined by the RI_DM. If MI_DM_Source is true, then the value of the DMp bit is set to MI_DMValue.";
251 }
252 leaf dm-value {
253 type boolean;
254 description "This attribute is for setting the DMp and DMti bits of the delay measurement process. The value of 'true' sets the DMp and DMti bits to 0 and the value of 'false' to 1.";
255 }
256 leaf txti {
257 type string;
258 description "The Trail Trace Identifier (TTI) information, provisioned by the managing system at the termination source, to be placed in the TTI overhead position of the source of a trail for transmission.
259 ";
260 }
261 uses odu-mip-pac;
262 description "none";
263 }
264 grouping odu-common-pac {
265 leaf odu-type {
266 type odu-type;
267 config false;
268 description "This attribute specifies the type of the ODU termination point.";
269 }
270 leaf odu-rate {
271 type uint64;
272 config false;
273 description "This attribute indicates the rate of the ODU terminatino point.
274 This attribute is Set at create; i.e., once created it cannot be changed directly.
275 In case of resizable ODU flex, its value can be changed via HAO (not directly on the attribute).
276 ";
277 }
278 leaf odu-rate-tolerance {
279 type uint64;
280 config false;
281 description "This attribute indicates the rate tolerance of the ODU termination point.
282 Valid values are real value in the unit of ppm.
283 Standardized values are defined in Table 7-2/G.709.";
284 }
285 description "none";
286 }
287 grouping odu-pm-pac {
288 leaf n-bbe {
289 type uint64;
290 description "Near-end Background Block Error";
291 }
292 leaf f-bbe {
293 type uint64;
294 config false;
295 description "Far-end Background Block Error";
296 }
297 leaf n-ses {
298 type uint64;
299 description "Near-end Severely Errored Second";
300 }
301 leaf f-ses {
302 type uint64;
303 description "Far-end Severely Errored Second";
304 }
305 container uas {
306 uses uas-choice;
307 description "UnAvailable Second";
308 }
309 description "Instance of this object class contains the ODUP layer-specific Current Data. This object class is a subclass of the OTN_CurrentData object class.
310 PM data attributes: fBbe, fSes, nBbe, nSes. uas";
311 }
312 grouping odu-defect-pac {
313 leaf bdi {
314 type boolean;
315 config false;
316 description "Backward Defect Indication";
317 }
318 leaf deg {
319 type boolean;
320 config false;
321 description "Signal Degraded";
322 }
323 leaf lck {
324 type boolean;
325 config false;
326 description "Locked";
327 }
328 leaf oci {
329 type boolean;
330 config false;
331 description "Open Connection Indicator";
332 }
333 leaf ssf {
334 type boolean;
335 config false;
336 description "Server Signal Failure";
337 }
338 leaf tim {
339 type boolean;
340 config false;
341 description "Trail Trace Identifier Mismatch";
342 }
343 description "The valid list of defects raised on the entity. If the value of any attribute is true, then the corresponding defect is raised.";
344 }
345 feature odu {
346 description "none";
347 }
348
349 /***********************
350 * package type-definitions
351 **********************/
Toru Furusawa28988892017-10-30 17:28:40 -0700352 typedef odu-type {
353 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500354 enum ODU0 {
Toru Furusawa28988892017-10-30 17:28:40 -0700355 description "none";
356 }
wu6a418d22018-02-02 01:49:21 -0500357 enum ODU1 {
Toru Furusawa28988892017-10-30 17:28:40 -0700358 description "none";
359 }
wu6a418d22018-02-02 01:49:21 -0500360 enum ODU2 {
Toru Furusawa28988892017-10-30 17:28:40 -0700361 description "none";
362 }
wu6a418d22018-02-02 01:49:21 -0500363 enum ODU2E {
Toru Furusawa28988892017-10-30 17:28:40 -0700364 description "none";
365 }
wu6a418d22018-02-02 01:49:21 -0500366 enum ODU3 {
Toru Furusawa28988892017-10-30 17:28:40 -0700367 description "none";
368 }
wu6a418d22018-02-02 01:49:21 -0500369 enum ODU4 {
Toru Furusawa28988892017-10-30 17:28:40 -0700370 description "none";
371 }
wu6a418d22018-02-02 01:49:21 -0500372 enum ODU_FLEX {
Toru Furusawa28988892017-10-30 17:28:40 -0700373 description "none";
374 }
wu6a418d22018-02-02 01:49:21 -0500375 enum ODU_CN {
Toru Furusawa28988892017-10-30 17:28:40 -0700376 description "none";
377 }
378 }
379 description "none";
380 }
381 typedef mapping-type {
382 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500383 enum AMP {
Toru Furusawa28988892017-10-30 17:28:40 -0700384 description "none";
385 }
wu6a418d22018-02-02 01:49:21 -0500386 enum BMP {
Toru Furusawa28988892017-10-30 17:28:40 -0700387 description "none";
388 }
wu6a418d22018-02-02 01:49:21 -0500389 enum GFP-F {
Toru Furusawa28988892017-10-30 17:28:40 -0700390 description "none";
391 }
wu6a418d22018-02-02 01:49:21 -0500392 enum GMP {
Toru Furusawa28988892017-10-30 17:28:40 -0700393 description "none";
394 }
wu6a418d22018-02-02 01:49:21 -0500395 enum TTP_GFP_BMP {
Toru Furusawa28988892017-10-30 17:28:40 -0700396 description "none";
397 }
wu6a418d22018-02-02 01:49:21 -0500398 enum NULL {
Toru Furusawa28988892017-10-30 17:28:40 -0700399 description "none";
400 }
401 }
402 description "none";
403 }
404 typedef tim-det-mo {
405 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500406 enum DAPI {
Toru Furusawa28988892017-10-30 17:28:40 -0700407 description "none";
408 }
wu6a418d22018-02-02 01:49:21 -0500409 enum SAPI {
Toru Furusawa28988892017-10-30 17:28:40 -0700410 description "none";
411 }
wu6a418d22018-02-02 01:49:21 -0500412 enum BOTH {
Toru Furusawa28988892017-10-30 17:28:40 -0700413 description "none";
414 }
wu6a418d22018-02-02 01:49:21 -0500415 enum OFF {
Toru Furusawa28988892017-10-30 17:28:40 -0700416 description "none";
417 }
418 }
419 description "List of modes for trace identifier mismatch detection.";
420 }
421 typedef odu-slot-size {
422 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500423 enum 1G25 {
Toru Furusawa28988892017-10-30 17:28:40 -0700424 description "none";
425 }
wu6a418d22018-02-02 01:49:21 -0500426 enum 2G5 {
Toru Furusawa28988892017-10-30 17:28:40 -0700427 description "none";
428 }
429 }
430 description "none";
431 }
432 grouping odu-payload-type {
433 leaf named-payload-type {
434 type odu-named-payload-type;
435 description "none";
436 }
437 leaf hex-payload-type {
438 type uint64;
439 description "none";
440 }
441 description "none";
442 }
443 typedef odu-named-payload-type {
444 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500445 enum UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700446 description "none";
447 }
wu6a418d22018-02-02 01:49:21 -0500448 enum UNINTERPRETABLE {
Toru Furusawa28988892017-10-30 17:28:40 -0700449 description "none";
450 }
451 }
452 description "none";
453 }
454 grouping deg-thr {
455 leaf deg-thr-value {
456 type uint64;
457 description "Percentage of detected errored blocks";
458 }
459 leaf deg-thr-type {
460 type deg-thr-type;
461 description "Number of errored blocks";
462 }
463 leaf percentage-granularity {
464 type percentage-granularity;
465 description "none";
466 }
467 description "Degraded Threshold, specify either the percentage or the number of Errored Blocks in the defined interval.
468 degThrValue when type is PERCENTAGE:
469 percentageGranularity is used to indicate the number of decimal points
470 So if percentageGranularity is ones, a value of 1 in degThrValue would indicate 1%, a value of 10 = 10%, a value of 100 = 100%
471 So if percentageGranularity is thousandths a value of 1 in degThrValue would indicate 0.001%, a value of 1000 = 1%, a value of 1000000 = 100%
472 degThrValue when type is NUMBER_ERROR_BLOCKS:
473 Number of Errored Blocks is captured in an integer value.";
474 }
475 typedef deg-thr-type {
wu6a418d22018-02-02 01:49:21 -0500476 type enumeration {
477 enum PERCENTAGE {
478 description "Choice of % or Number of errored blocks";
479 }
480 enum NUMBER_ERRORED_BLOCKS {
481 description "Number of % or blocks";
482 }
Toru Furusawa28988892017-10-30 17:28:40 -0700483 }
484 description "The value of the threshold can be provisioned in terms of number of errored blocks or in terms of percentage of errored blocks. For percentage-based specification, in order to support provision of less than 1%, the specification consists of two fields. The first field indicates the granularity of percentage. For examples, in 1%, in 0.1%, or in 0.01%, etc. The second field indicates the multiple of the granularity. For number of errored block based, the value is a positive integer.";
485 }
486 typedef tcm-status {
wu6a418d22018-02-02 01:49:21 -0500487 type enumeration {
488 enum NO_SOURCE_TC {
489 description "TCM byte 3 (bits 6 7 8) -- 0 0 0, No source Tandem Connection";
490 }
491 enum IN_USE_WITHOUT_IAE {
492 description "TCM byte 3 (bits 6 7 8) -- 0 0 1, In use without IAE (Incoming Alignment Error)";
493 }
494 enum IN_USE_WITH_IAE {
495 description "TCM byte 3 (bits 6 7 8) -- 0 1 0, In use with IAE (Incoming Alignment Error)";
496 }
497 enum RESERVED_1 {
498 description "TCM byte 3 (bits 6 7 8) -- 0 1 1, Reserved for future international standardization";
499 }
500 enum RESERVED_2 {
501 description "TCM byte 3 (bits 6 7 8) -- 1 0 0, Reserved for future international standardization";
502 }
503 enum LCK {
504 description "TCM byte 3 (bits 6 7 8) -- 1 0 1, Maintenance signal: ODU-LCK";
505 }
506 enum OCI {
507 description "TCM byte 3 (bits 6 7 8) -- 1 1 0, Maintenance signal: ODU-OCI";
508 }
509 enum AIS {
510 description "TCM byte 3 (bits 6 7 8) -- 1 1 1, Maintenance signal: ODU-AIS";
511 }
Toru Furusawa28988892017-10-30 17:28:40 -0700512 }
513 description "See Table 15-5/G.709/Y.1331 ";
514 }
515 typedef tcm-mode {
wu6a418d22018-02-02 01:49:21 -0500516 type enumeration {
517 enum OPERATIONAL {
518 description "none";
519 }
520 enum TRANSPARENT {
521 description "none";
522 }
523 enum MONITOR {
524 description "none";
525 }
Toru Furusawa28988892017-10-30 17:28:40 -0700526 }
527 description "List of value modes for the sink side of the tandem connection monitoring function.";
528 }
529 typedef tcm-monitoring {
wu6a418d22018-02-02 01:49:21 -0500530 type enumeration {
531 enum INTRUSIVE {
532 description "none";
533 }
534 enum NON-INTRUSIVE {
535 description "none";
536 }
Toru Furusawa28988892017-10-30 17:28:40 -0700537 }
538 description "Monitoring types for the tandem connection monitoring function.";
539 }
540 typedef tcm-extension {
wu6a418d22018-02-02 01:49:21 -0500541 type enumeration {
542 enum NORMAL {
543 description "none";
544 }
545 enum PASS-THROUGH {
546 description "none";
547 }
548 enum ERASE {
549 description "none";
550 }
Toru Furusawa28988892017-10-30 17:28:40 -0700551 }
552 description "none";
553 }
554 typedef percentage-granularity {
wu6a418d22018-02-02 01:49:21 -0500555 type enumeration {
556 enum ONES {
557 description "none";
558 }
559 enum ONE_TENTHS {
560 description "value * (1/10)";
561 }
562 enum ONE_HUNDREDTHS {
563 description "value * (1/100)";
564 }
565 enum ONE_THOUSANDTHS {
566 description "value * (1/1000)";
567 }
Toru Furusawa28988892017-10-30 17:28:40 -0700568 }
569 description "none";
570 }
571 grouping uas-choice {
572 leaf bidirectional {
573 type boolean;
574 default "true";
575 description "none";
576 }
577 leaf uas {
578 type uint64;
579 description "none";
580 }
581 leaf nuas {
582 type uint64;
583 description "none";
584 }
585 leaf fuas {
586 type uint64;
587 description "none";
588 }
589 description "If bidirectional is TRUE then use the uas attribute, if bidirectional is FALSE use the nuas, and fuas attributes";
590 }
591
592}