TAPI topology creation for 100GE Transponder
[transportpce.git] / tapimodels / src / main / yang / tapi-odu@2018-12-10.yang
1 module tapi-odu {\r
2     namespace "urn:onf:otcc:yang:tapi-odu";\r
3     prefix tapi-odu;\r
4     import tapi-common {\r
5         prefix tapi-common;\r
6     }\r
7     import tapi-connectivity {\r
8         prefix tapi-connectivity;\r
9     }\r
10     import tapi-topology {\r
11         prefix tapi-topology;\r
12     }\r
13     import tapi-oam {\r
14         prefix tapi-oam;\r
15     }\r
16     import tapi-dsr {\r
17         prefix tapi-dsr;\r
18     }\r
19     organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
20     contact "\r
21          Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>\r
22          Project List: <mailto:transport-api@opennetworking.org>\r
23          Editor: Karthik Sethuraman\r
24                  <mailto:karthik.sethuraman@necam.com>";\r
25     description "\r
26         This module contains TAPI Odu Model definitions.\r
27         Source: TapiOdu.uml\r
28         - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.\r
29         - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]\r
30           <https://github.com/OpenNetworkingFoundation/EagleUmlYang>\r
31           and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]\r
32           <https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines>\r
33         - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.\r
34           As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.\r
35         - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.\r
36           The YANG model backward compatibility criteria are outlined in section 11 of <https://tools.ietf.org/html/rfc7950>.\r
37           YANG models included in this release may not be backward compatible with previous TAPI releases.\r
38         Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
39         License: This module is distributed under the Apache License 2.0";\r
40     revision 2018-12-10 {\r
41         description "ONF Transport API version 2.1.1.\r
42                    Changes included in this TAPI release (v2.1.1) are listed in\r
43                    <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.1.md>";\r
44         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
45                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
46     }\r
47     revision 2018-10-16 {\r
48         description "ONF Transport API version 2.1.0.\r
49                    Changes included in this TAPI release (v2.1.0) are listed in\r
50                    <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
51         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
52                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
53     }\r
54     revision 2018-03-07 {\r
55         description "ONF Transport API version 2.0.2\r
56         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
57         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
58         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
59                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
60     }\r
61     revision 2018-02-16 {\r
62         description "ONF Transport API version 2.0.1\r
63         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
64         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
65         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
66                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
67     }\r
68     revision 2018-01-02 {\r
69         description "ONF Transport API version 2.0.0\r
70         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
71         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
72         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
73                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
74     }\r
75     augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {\r
76         container odu-node-edge-point-spec {\r
77             uses odu-node-edge-point-spec;\r
78             description "Augments the base LayerProtocol information in NodeEdgePoint with ODU-specific information";\r
79         }\r
80         description "Augments the base LayerProtocol information in NodeEdgePoint with ODU-specific information";\r
81     }\r
82     augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point" {\r
83         container odu-connection-end-point-spec {\r
84             uses odu-connection-end-point-spec;\r
85             description "none";\r
86         }\r
87         description "none";\r
88     }\r
89     augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep" {\r
90         container odu-connection-end-point-spec {\r
91             uses odu-connection-end-point-spec;\r
92             description "none";\r
93         }\r
94         description "none";\r
95     }\r
96     augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mip" {\r
97         container odu-mip-spec {\r
98             uses odu-mip-spec;\r
99             description "none";\r
100         }\r
101         description "none";\r
102     }\r
103 \r
104    /**************************\r
105     * package object-classes\r
106     **************************/\r
107     grouping odu-termination-and-client-adaptation-pac {\r
108         leaf opu-tributary-slot-size {\r
109             type odu-slot-size;\r
110             config false;\r
111             description "This attribute is applicable for ODU2 and ODU3 CTP only. It indicates the slot size of the ODU CTP.";\r
112         }\r
113         leaf auto-payload-type {\r
114             type boolean;\r
115             config false;\r
116             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. ";\r
117         }\r
118         leaf configured-client-type {\r
119             type tapi-dsr:digital-signal-type;\r
120             config false;\r
121             description "This attribute configures the type of the client CTP of the server ODU TTP.";\r
122         }\r
123         leaf configured-mapping-type {\r
124             type mapping-type;\r
125             config false;\r
126             description "This attributes indicates the configured mapping type.";\r
127         }\r
128         container accepted-payload-type {\r
129             config false;\r
130             uses odu-payload-type;\r
131             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.\r
132                 This attribute is a 2-digit Hex code that indicates the new accepted payload type.\r
133                 Valid values are defined in Table 15-8 of ITU-T Recommendation G.709 with one additional value UN_INTERPRETABLE.";\r
134         }\r
135         description "This Pac contains the attributes associated with the client adaptation function of the server layer TTP\r
136             It is present only if the CEP contains a TTP";\r
137     }\r
138     grouping odu-connection-end-point-spec {\r
139         container odu-common {\r
140             uses odu-common-pac;\r
141             description "none";\r
142         }\r
143         container odu-term-and-adapter {\r
144             config false;\r
145             uses odu-termination-and-client-adaptation-pac;\r
146             description "none";\r
147         }\r
148         container odu-ctp {\r
149             config false;\r
150             uses odu-ctp-pac;\r
151             description "none";\r
152         }\r
153         container odu-protection {\r
154             config false;\r
155             uses odu-protection-pac;\r
156             description "none";\r
157         }\r
158         description "none";\r
159     }\r
160     grouping odu-pool-pac {\r
161         leaf client-capacity {\r
162             type uint64;\r
163             description "none";\r
164         }\r
165         leaf max-client-instances {\r
166             type uint64;\r
167             config false;\r
168             description "none";\r
169         }\r
170         leaf max-client-size {\r
171             type uint64;\r
172             config false;\r
173             description "none";\r
174         }\r
175         description "none";\r
176     }\r
177     grouping odu-node-edge-point-spec {\r
178         container odu-pool {\r
179             config false;\r
180             uses odu-pool-pac;\r
181             description "none";\r
182         }\r
183         description "none";\r
184     }\r
185     grouping odu-ctp-pac {\r
186         leaf-list tributary-slot-list {\r
187             type uint64;\r
188             config false;\r
189             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).\r
190                 This attribute applies when the LO ODU_ ConnectionTerminationPoint connects with an HO ODU_TrailTerminationPoint object.\r
191                 It will not apply if this ODU_ ConnectionTerminationPoint object directly connects to an OTU_TrailTerminationPoint object (i.e. OTU has no trib slots).\r
192                 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).\r
193                 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).";\r
194         }\r
195         leaf tributary-port-number {\r
196             type uint64;\r
197             config false;\r
198             description "This attribute identifies the tributary port number that is associated with the ODU CTP.\r
199                 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.\r
200                 In case of ODUk mapping into OTUk, there is no TPN field, so the tributaryPortNumber shall be zero.\r
201                 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.\r
202                 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.\r
203                 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.\r
204                 ";\r
205         }\r
206         leaf accepted-msi {\r
207             type string;\r
208             config false;\r
209             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. ";\r
210         }\r
211         description "This Pac contains the attributes associated with the CTP\r
212             It is present only if the CEP contains a CTP";\r
213     }\r
214     grouping odu-mep-spec {\r
215         container odu-mep {\r
216             uses odu-mep-pac;\r
217             description "none";\r
218         }\r
219         container odu-ncm {\r
220             config false;\r
221             uses odu-ncm-pac;\r
222             description "none";\r
223         }\r
224         container odu-tcm {\r
225             config false;\r
226             uses odu-tcm-mep-pac;\r
227             description "none";\r
228         }\r
229         container odu-defect {\r
230             uses odu-defect-pac;\r
231             description "none";\r
232         }\r
233         container odu-pm {\r
234             uses odu-pm-pac;\r
235             description "none";\r
236         }\r
237         description "none";\r
238     }\r
239     grouping odu-protection-pac {\r
240         leaf aps-enable {\r
241             type boolean;\r
242             default "true";\r
243             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.";\r
244         }\r
245         leaf aps-level {\r
246             type uint64;\r
247             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.";\r
248         }\r
249         description "none";\r
250     }\r
251     grouping odu-ncm-pac {\r
252         leaf-list tcm-fields-in-use {\r
253             type uint64;\r
254             config false;\r
255             description "This attribute indicates the used TCM fields of the ODU OH.";\r
256         }\r
257         description "none";\r
258     }\r
259     grouping odu-tcm-mep-pac {\r
260         leaf tcm-extension {\r
261             type tcm-extension;\r
262             description "none";\r
263         }\r
264         leaf tcm-mode {\r
265             type tcm-mode;\r
266             description "This attribute specifies the TCM mode at the entity. Valid values are: Operational, Monitor, and Transparent.";\r
267         }\r
268         leaf codirectional {\r
269             type boolean;\r
270             config false;\r
271             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.";\r
272         }\r
273         leaf ac-status-source {\r
274             type tcm-status;\r
275             config false;\r
276             description "This attribute indicates the status of the accepted TCM. ";\r
277         }\r
278         leaf ac-status-sink {\r
279             type tcm-status;\r
280             config false;\r
281             description "This attribute indicates the status of the accepted TCM. ";\r
282         }\r
283         leaf admin-state-source {\r
284             type tapi-common:administrative-state;\r
285             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.";\r
286         }\r
287         leaf admin-state-sink {\r
288             type tapi-common:administrative-state;\r
289             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.";\r
290         }\r
291         uses odu-tcm-mip-pac;\r
292         description "none";\r
293     }\r
294     grouping odu-mip-spec {\r
295         container odu-mip {\r
296             config false;\r
297             uses odu-mip-pac;\r
298             description "none";\r
299         }\r
300         container odu-ncm {\r
301             config false;\r
302             uses odu-ncm-pac;\r
303             description "none";\r
304         }\r
305         container odu-tcm {\r
306             config false;\r
307             uses odu-tcm-mip-pac;\r
308             description "none";\r
309         }\r
310         container odu-pm {\r
311             uses odu-pm-pac;\r
312             description "none";\r
313         }\r
314         container odu-defect {\r
315             uses odu-defect-pac;\r
316             description "none";\r
317         }\r
318         description "none";\r
319     }\r
320     grouping odu-mip-pac {\r
321         leaf acti {\r
322             type string;\r
323             config false;\r
324             description "The Trail Trace Identifier (TTI) information recovered (Accepted) from the TTI overhead position at the sink of a trail.";\r
325         }\r
326         leaf ex-dapi {\r
327             type string;\r
328             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.";\r
329         }\r
330         leaf ex-sapi {\r
331             type string;\r
332             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.\r
333                 ";\r
334         }\r
335         leaf tim-act-disabled {\r
336             type boolean;\r
337             default "true";\r
338             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.";\r
339         }\r
340         leaf tim-det-mode {\r
341             type tim-det-mo;\r
342             description "This attribute indicates the mode of the Trace Identifier Mismatch (TIM) Detection function allowed values: OFF, SAPIonly, DAPIonly, SAPIandDAPI";\r
343         }\r
344         leaf deg-m {\r
345             type uint64;\r
346             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.";\r
347         }\r
348         container deg-thr {\r
349             uses deg-thr;\r
350             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.";\r
351         }\r
352         description "none";\r
353     }\r
354     grouping odu-tcm-mip-pac {\r
355         leaf tcm-field {\r
356             type uint64;\r
357             config false;\r
358             description "This attribute indicates the tandem connection monitoring field of the ODU OH.";\r
359         }\r
360         description "none";\r
361     }\r
362     grouping odu-mep-pac {\r
363         leaf dm-source {\r
364             type boolean;\r
365             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.";\r
366         }\r
367         leaf dm-value {\r
368             type boolean;\r
369             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.";\r
370         }\r
371         leaf txti {\r
372             type string;\r
373             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.\r
374                 ";\r
375         }\r
376         uses odu-mip-pac;\r
377         description "none";\r
378     }\r
379     grouping odu-common-pac {\r
380         leaf odu-type {\r
381             type odu-type;\r
382             config false;\r
383             description "This attribute specifies the type of the ODU termination point.";\r
384         }\r
385         leaf odu-rate {\r
386             type uint64;\r
387             config false;\r
388             description "This attribute indicates the rate of the ODU terminatino point.\r
389                 This attribute is Set at create; i.e., once created it cannot be changed directly.\r
390                 In case of resizable ODU flex, its value can be changed via HAO (not directly on the attribute).\r
391                 ";\r
392         }\r
393         leaf odu-rate-tolerance {\r
394             type uint64;\r
395             config false;\r
396             description "This attribute indicates the rate tolerance of the ODU termination point.\r
397                 Valid values are real value in the unit of ppm.\r
398                 Standardized values are defined in Table 7-2/G.709.";\r
399         }\r
400         description "none";\r
401     }\r
402     grouping odu-pm-pac {\r
403         leaf n-bbe {\r
404             type uint64;\r
405             description "Near-end Background Block Error";\r
406         }\r
407         leaf f-bbe {\r
408             type uint64;\r
409             config false;\r
410             description "Far-end Background Block Error";\r
411         }\r
412         leaf n-ses {\r
413             type uint64;\r
414             description "Near-end Severely Errored Second";\r
415         }\r
416         leaf f-ses {\r
417             type uint64;\r
418             description "Far-end Severely Errored Second";\r
419         }\r
420         container uas {\r
421             uses uas-choice;\r
422             description "UnAvailable Second";\r
423         }\r
424         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.\r
425             PM data attributes: fBbe, fSes, nBbe, nSes. uas";\r
426     }\r
427     grouping odu-defect-pac {\r
428         leaf bdi {\r
429             type boolean;\r
430             config false;\r
431             description "Backward Defect Indication";\r
432         }\r
433         leaf deg {\r
434             type boolean;\r
435             config false;\r
436             description "Signal Degraded";\r
437         }\r
438         leaf lck {\r
439             type boolean;\r
440             config false;\r
441             description "Locked";\r
442         }\r
443         leaf oci {\r
444             type boolean;\r
445             config false;\r
446             description "Open Connection Indicator";\r
447         }\r
448         leaf ssf {\r
449             type boolean;\r
450             config false;\r
451             description "Server Signal Failure";\r
452         }\r
453         leaf tim {\r
454             type boolean;\r
455             config false;\r
456             description "Trail Trace Identifier Mismatch";\r
457         }\r
458         description "The valid list of defects raised on the entity. If the value of any attribute is true, then the corresponding defect is raised.";\r
459     }\r
460 \r
461    /**************************\r
462     * package type-definitions\r
463     **************************/\r
464     identity ODU_TYPE {\r
465         base tapi-common:LAYER_PROTOCOL_QUALIFIER;\r
466         description "none";\r
467     }\r
468     identity ODU_TYPE_ODU0 {\r
469         base ODU_TYPE;\r
470         description "none";\r
471     }\r
472     identity ODU_TYPE_ODU1 {\r
473         base ODU_TYPE;\r
474         description "none";\r
475     }\r
476     identity ODU_TYPE_ODU2 {\r
477         base ODU_TYPE;\r
478         description "none";\r
479     }\r
480     identity ODU_TYPE_ODU2E {\r
481         base ODU_TYPE;\r
482         description "none";\r
483     }\r
484     identity ODU_TYPE_ODU3 {\r
485         base ODU_TYPE;\r
486         description "none";\r
487     }\r
488     identity ODU_TYPE_ODU4 {\r
489         base ODU_TYPE;\r
490         description "none";\r
491     }\r
492     identity ODU_TYPE_ODU_FLEX {\r
493         base ODU_TYPE;\r
494         description "none";\r
495     }\r
496     identity ODU_TYPE_ODU_CN {\r
497         base ODU_TYPE;\r
498         description "none";\r
499     }\r
500     typedef odu-type {\r
501         type identityref {\r
502             base ODU_TYPE;\r
503         }\r
504         description "none";\r
505     }\r
506     typedef mapping-type {\r
507         type enumeration {\r
508             enum AMP {\r
509                 description "none";\r
510             }\r
511             enum BMP {\r
512                 description "none";\r
513             }\r
514             enum GFP-F {\r
515                 description "none";\r
516             }\r
517             enum GMP {\r
518                 description "none";\r
519             }\r
520             enum TTP_GFP_BMP {\r
521                 description "none";\r
522             }\r
523             enum NULL {\r
524                 description "none";\r
525             }\r
526         }\r
527         description "none";\r
528     }\r
529     typedef tim-det-mo {\r
530         type enumeration {\r
531             enum DAPI {\r
532                 description "none";\r
533             }\r
534             enum SAPI {\r
535                 description "none";\r
536             }\r
537             enum BOTH {\r
538                 description "none";\r
539             }\r
540             enum OFF {\r
541                 description "none";\r
542             }\r
543         }\r
544         description "List of modes for trace identifier mismatch detection.";\r
545     }\r
546     typedef odu-slot-size {\r
547         type enumeration {\r
548             enum 1G25 {\r
549                 description "none";\r
550             }\r
551             enum 2G5 {\r
552                 description "none";\r
553             }\r
554         }\r
555         description "none";\r
556     }\r
557     grouping odu-payload-type {\r
558         leaf named-payload-type {\r
559             type odu-named-payload-type;\r
560             description "none";\r
561         }\r
562         leaf hex-payload-type {\r
563             type uint64;\r
564             description "none";\r
565         }\r
566         description "none";\r
567     }\r
568     typedef odu-named-payload-type {\r
569         type enumeration {\r
570             enum UNKNOWN {\r
571                 description "none";\r
572             }\r
573             enum UNINTERPRETABLE {\r
574                 description "none";\r
575             }\r
576         }\r
577         description "none";\r
578     }\r
579     grouping deg-thr {\r
580         leaf deg-thr-value {\r
581             type uint64;\r
582             description "Percentage of detected errored blocks";\r
583         }\r
584         leaf deg-thr-type {\r
585             type deg-thr-type;\r
586             description "Number of errored blocks";\r
587         }\r
588         leaf percentage-granularity {\r
589             type percentage-granularity;\r
590             description "none";\r
591         }\r
592         description "Degraded Threshold, specify either the percentage or the number of Errored Blocks in the defined interval.\r
593             degThrValue when type is PERCENTAGE:\r
594             percentageGranularity is used to indicate the number of decimal points\r
595             So if percentageGranularity is ones, a value of 1 in degThrValue would indicate 1%, a value of 10 = 10%, a value of 100 = 100%\r
596             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%\r
597             degThrValue when type is NUMBER_ERROR_BLOCKS:\r
598             Number of Errored Blocks is captured in an integer value.";\r
599     }\r
600     typedef deg-thr-type {\r
601         type enumeration {\r
602             enum PERCENTAGE {\r
603                 description "Choice of % or Number of errored blocks";\r
604             }\r
605             enum NUMBER_ERRORED_BLOCKS {\r
606                 description "Number of % or blocks";\r
607             }\r
608         }\r
609         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.";\r
610     }\r
611     typedef tcm-status {\r
612         type enumeration {\r
613             enum NO_SOURCE_TC {\r
614                 description "TCM byte 3 (bits 6 7 8) -- 0 0 0, No source Tandem Connection";\r
615             }\r
616             enum IN_USE_WITHOUT_IAE {\r
617                 description "TCM byte 3 (bits 6 7 8) -- 0 0 1,  In use without IAE (Incoming Alignment Error)";\r
618             }\r
619             enum IN_USE_WITH_IAE {\r
620                 description "TCM byte 3 (bits 6 7 8) -- 0 1 0, In use with IAE (Incoming Alignment Error)";\r
621             }\r
622             enum RESERVED_1 {\r
623                 description "TCM byte 3 (bits 6 7 8) -- 0 1 1, Reserved for future international standardization";\r
624             }\r
625             enum RESERVED_2 {\r
626                 description "TCM byte 3 (bits 6 7 8) -- 1 0 0, Reserved for future international standardization";\r
627             }\r
628             enum LCK {\r
629                 description "TCM byte 3 (bits 6 7 8) -- 1 0 1, Maintenance signal: ODU-LCK";\r
630             }\r
631             enum OCI {\r
632                 description "TCM byte 3 (bits 6 7 8) -- 1 1 0, Maintenance signal: ODU-OCI";\r
633             }\r
634             enum AIS {\r
635                 description "TCM byte 3 (bits 6 7 8) -- 1 1 1, Maintenance signal: ODU-AIS";\r
636             }\r
637         }\r
638         description "See Table 15-5/G.709/Y.1331 ";\r
639     }\r
640     typedef tcm-mode {\r
641         type enumeration {\r
642             enum OPERATIONAL {\r
643                 description "none";\r
644             }\r
645             enum TRANSPARENT {\r
646                 description "none";\r
647             }\r
648             enum MONITOR {\r
649                 description "none";\r
650             }\r
651         }\r
652         description "List of value modes for the sink side of the tandem connection monitoring function.";\r
653     }\r
654     typedef tcm-monitoring {\r
655         type enumeration {\r
656             enum INTRUSIVE {\r
657                 description "none";\r
658             }\r
659             enum NON-INTRUSIVE {\r
660                 description "none";\r
661             }\r
662         }\r
663         description "Monitoring types for the tandem connection monitoring function.";\r
664     }\r
665     typedef tcm-extension {\r
666         type enumeration {\r
667             enum NORMAL {\r
668                 description "none";\r
669             }\r
670             enum PASS-THROUGH {\r
671                 description "none";\r
672             }\r
673             enum ERASE {\r
674                 description "none";\r
675             }\r
676         }\r
677         description "none";\r
678     }\r
679     typedef percentage-granularity {\r
680         type enumeration {\r
681             enum ONES {\r
682                 description "none";\r
683             }\r
684             enum ONE_TENTHS {\r
685                 description "value * (1/10)";\r
686             }\r
687             enum ONE_HUNDREDTHS {\r
688                 description "value * (1/100)";\r
689             }\r
690             enum ONE_THOUSANDTHS {\r
691                 description "value * (1/1000)";\r
692             }\r
693         }\r
694         description "none";\r
695     }\r
696     grouping uas-choice {\r
697         leaf bidirectional {\r
698             type boolean;\r
699             default "true";\r
700             description "none";\r
701         }\r
702         leaf uas {\r
703             type uint64;\r
704             description "none";\r
705         }\r
706         leaf nuas {\r
707             type uint64;\r
708             description "none";\r
709         }\r
710         leaf fuas {\r
711             type uint64;\r
712             description "none";\r
713         }\r
714         description "If bidirectional is TRUE then use the uas attribute, if bidirectional is FALSE use the nuas, and fuas attributes";\r
715     }\r
716 }\r