Release version 1.3.1
[ccsdk/features.git] / sdnr / wt / devicemanager-onap / onf14 / provider / src / main / yang / tdm-container-2-0.yang
1 module tdm-container-2-0 {\r
2   yang-version 1.1;\r
3   namespace "urn:onf:yang:tdm-container-2-0";\r
4   prefix tdm-container;\r
5 \r
6   import ietf-yang-types {\r
7     prefix yang;\r
8   }\r
9   import core-model-1-4 {\r
10     prefix core-model;\r
11   }\r
12 \r
13   organization\r
14     "openBackhaul.com proposal to Open Networking Foundation (ONF)";\r
15   contact\r
16     "WG Web : https://github.com/openBackhaul/Overview\r
17      WG List: TdmContainer@openBackhaul.com\r
18      Editor : Thorsten Heinze\r
19      Email  : Thorsten.Heinze@openBackhaul.com";\r
20   description\r
21     "This model is a technology specific amendment to the LayerProtocol class of the ONF Core IM for managing TDM interfaces (e.g. E1, STM-1).\r
22 \r
23      Copyright 2019 openBackhaul.com\r
24 \r
25      Licensed under the Apache License, Version 2.0 (the 'License');\r
26      you may not use this file except in compliance with the License.\r
27      You may obtain a copy of the License at\r
28      http://www.apache.org/licenses/LICENSE-2.0\r
29      Unless required by applicable law or agreed to in writing, software\r
30      distributed under the License is distributed on an 'AS IS' BASIS,\r
31      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
32      See the License for the specific language governing permissions and\r
33      limitations under the License.";\r
34 \r
35   revision 2020-01-23 {\r
36     description\r
37       "Model for the Transport SDN Pilot at Telefonica Germany.\r
38        Please view https://github.com/openBackhaul/tdmContainer/issues for changes.";\r
39     reference\r
40       "https://github.com/openBackhaul/tdmContainer/tree/tsp: Model definition\r
41        https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
42   }\r
43   revision 2019-11-23 {\r
44     description\r
45       "Model for the Transport SDN Pilot at Telefonica Germany.\r
46        Please view https://github.com/openBackhaul/tdmContainer/issues for changes.";\r
47     reference\r
48       "https://github.com/openBackhaul/tdmContainer/tree/tsp: Model definition\r
49        https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
50   }\r
51   revision 2019-07-05 {\r
52     description\r
53       "Model for the Transport SDN Pilot at Telefonica Germany.\r
54        Please view https://github.com/openBackhaul/tdmContainer/issues for changes.";\r
55     reference\r
56       "https://github.com/openBackhaul/tdmContainer/tree/tsp: Model definition\r
57        https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
58   }\r
59 \r
60   identity LAYER_PROTOCOL_NAME_TYPE_TDM_CONTAINER_LAYER {\r
61     base core-model:LAYER_PROTOCOL_NAME_TYPE;\r
62     description\r
63       "none";\r
64   }\r
65 \r
66   augment "/core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol" {\r
67     when "derived-from-or-self(./core-model:layer-protocol-name, 'tdm-container:LAYER_PROTOCOL_NAME_TYPE_TDM_CONTAINER_LAYER')";\r
68     uses tdm-container-lp-spec;\r
69     description\r
70       "none";\r
71   }\r
72 \r
73   /****************************************\r
74    * package notifications\r
75    **************************************/ \r
76 \r
77   notification object-creation-notification {\r
78     uses object-creation-notification;\r
79     description\r
80       "none";\r
81   }\r
82 \r
83   grouping object-creation-notification {\r
84     leaf counter {\r
85       type int64;\r
86       default "-1";\r
87       config false;\r
88       description\r
89         "Counts object creation notifications.";\r
90     }\r
91     leaf timestamp {\r
92       type yang:date-and-time;\r
93       default "2010-11-20T14:00:00+01:00";\r
94       config false;\r
95       description\r
96         "none";\r
97     }\r
98     leaf object-id-ref {\r
99       type leafref {\r
100         path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";\r
101         require-instance false;\r
102       }\r
103       config false;\r
104       description\r
105         "none";\r
106     }\r
107     leaf object-type {\r
108       type string;\r
109       default "Type of created object not specified.";\r
110       config false;\r
111       description\r
112         "none";\r
113     }\r
114     description\r
115       "none";\r
116   }\r
117 \r
118   notification object-deletion-notification {\r
119     uses object-deletion-notification;\r
120     description\r
121       "none";\r
122   }\r
123 \r
124   grouping object-deletion-notification {\r
125     leaf counter {\r
126       type int64;\r
127       default "-1";\r
128       config false;\r
129       description\r
130         "Counts object deletion notifications.";\r
131     }\r
132     leaf timestamp {\r
133       type yang:date-and-time;\r
134       default "2010-11-20T14:00:00+01:00";\r
135       config false;\r
136       description\r
137         "none";\r
138     }\r
139     leaf object-id-ref {\r
140       type leafref {\r
141         path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";\r
142         require-instance false;\r
143       }\r
144       config false;\r
145       description\r
146         "none";\r
147     }\r
148     description\r
149       "none";\r
150   }\r
151 \r
152   notification attribute-value-changed-notification {\r
153     uses attribute-value-changed-notification;\r
154     description\r
155       "none";\r
156   }\r
157 \r
158   grouping attribute-value-changed-notification {\r
159     leaf counter {\r
160       type int64;\r
161       default "-1";\r
162       config false;\r
163       description\r
164         "Counts attribute value changed notifications.";\r
165     }\r
166     leaf timestamp {\r
167       type yang:date-and-time;\r
168       default "2010-11-20T14:00:00+01:00";\r
169       config false;\r
170       description\r
171         "none";\r
172     }\r
173     leaf object-id-ref {\r
174       type leafref {\r
175         path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";\r
176         require-instance false;\r
177       }\r
178       config false;\r
179       description\r
180         "none";\r
181     }\r
182     leaf attribute-name {\r
183       type string;\r
184       default "Attribute name not specified.";\r
185       config false;\r
186       description\r
187         "Name of the attribute that has been changed.";\r
188     }\r
189     leaf new-value {\r
190       type string;\r
191       default "New value not specified.";\r
192       config false;\r
193       description\r
194         "Attribute value converted to a string (xml, json, ...)";\r
195     }\r
196     description\r
197       "none";\r
198   }\r
199 \r
200   notification problem-notification {\r
201     uses problem-notification;\r
202     description\r
203       "none";\r
204   }\r
205 \r
206   grouping problem-notification {\r
207     leaf counter {\r
208       type int64;\r
209       default "-1";\r
210       config false;\r
211       description\r
212         "Counts problem notifications";\r
213     }\r
214     leaf timestamp {\r
215       type yang:date-and-time;\r
216       default "2010-11-20T14:00:00+01:00";\r
217       config false;\r
218       description\r
219         "none";\r
220     }\r
221     leaf object-id-ref {\r
222       type leafref {\r
223         path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";\r
224         require-instance false;\r
225       }\r
226       config false;\r
227       description\r
228         "none";\r
229     }\r
230     leaf problem {\r
231       type string;\r
232       default "Problem name not specified.";\r
233       config false;\r
234       description\r
235         "Name of the problem according to supportedAlarmList";\r
236     }\r
237     leaf severity {\r
238       type severity-type;\r
239       default "SEVERITY_TYPE_WARNING";\r
240       config false;\r
241       description\r
242         "Severity of the problem according to problemKindSeverity";\r
243     }\r
244     description\r
245       "none";\r
246   }\r
247 \r
248   /****************************************\r
249    * grouping statements for object classes\r
250    **************************************/ \r
251   /****************************************\r
252    * package super-classes\r
253    **************************************/ \r
254 \r
255   grouping current-problem {\r
256     leaf sequence-number {\r
257       type int16;\r
258       config false;\r
259       description\r
260         "Unique sequence number of the current problem object.";\r
261     }\r
262     leaf timestamp {\r
263       type yang:date-and-time;\r
264       default "2010-11-20T14:00:00+01:00";\r
265       config false;\r
266       description\r
267         "Time when the alarm was raised.";\r
268     }\r
269     leaf problem-severity {\r
270       type severity-type;\r
271       default "SEVERITY_TYPE_NOT_YET_DEFINED";\r
272       config false;\r
273       description\r
274         "Severity of the alarm.";\r
275     }\r
276     description\r
277       "none";\r
278   }\r
279 \r
280   grouping current-performance {\r
281     leaf timestamp {\r
282       type yang:date-and-time;\r
283       default "2010-11-20T14:00:00+01:00";\r
284       config false;\r
285       description\r
286         "The timestamp associated with when the current data was collected.";\r
287     }\r
288     leaf suspect-interval-flag {\r
289       type boolean;\r
290       default "false";\r
291       config false;\r
292       description\r
293         "This attribute is used to indicate that the performance data for the current period may not be reliable. Some reasons for this to occur are:\r
294             â€“ Suspect data were detected by the actual resource doing data collection.\r
295             â€“ Transition of the administrativeState attribute to/from the 'lock' state.\r
296             â€“ Transition of the operationalState to/from the 'disabled' state.\r
297             â€“ Scheduler setting that inhibits the collection function.\r
298             â€“ The performance counters were reset during the interval.\r
299             â€“ The currentData (or subclass) object instance was created during the monitoring period.";\r
300     }\r
301     leaf elapsed-time {\r
302       type int64;\r
303       units "s";\r
304       default "-1";\r
305       config false;\r
306       description\r
307         "Number of seconds that elapsed since the last reset of the counter.";\r
308     }\r
309     leaf scanner-id {\r
310       type string;\r
311       default "Scanner ID not defined.";\r
312       config false;\r
313       description\r
314         "none";\r
315     }\r
316     leaf granularity-period {\r
317       type granularity-period-type;\r
318       config false;\r
319       description\r
320         "Time period between reset of the underlying counter.";\r
321     }\r
322     description\r
323       "none";\r
324   }\r
325 \r
326   grouping historical-performance {\r
327     leaf suspect-interval-flag {\r
328       type boolean;\r
329       default "false";\r
330       config false;\r
331       description\r
332         "This attribute indicates that the data collected during the interval is suspect.";\r
333     }\r
334     leaf history-data-id {\r
335       type string;\r
336       default "History Data ID not defined.";\r
337       config false;\r
338       description\r
339         "none";\r
340     }\r
341     leaf granularity-period {\r
342       type granularity-period-type;\r
343       config false;\r
344       description\r
345         "Time period between reset of the underlying counter.";\r
346     }\r
347     leaf period-end-time {\r
348       type yang:date-and-time;\r
349       config false;\r
350       description\r
351         "Time when the counter values have been recorded and the counter reset.";\r
352     }\r
353     description\r
354       "none";\r
355   }\r
356 \r
357   grouping tdm-container-lp-spec {\r
358     container tdm-container-pac {\r
359       uses tdm-container-pac;\r
360       description\r
361         "none";\r
362     }\r
363     description\r
364       "The TdmContainerLpSpec and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM traffic.";\r
365   }\r
366 \r
367   grouping tdm-container-pac {\r
368     container tdm-container-capability {\r
369       config false;\r
370       uses tdm-container-capability;\r
371       description\r
372         "none";\r
373     }\r
374     container tdm-container-configuration {\r
375       uses tdm-container-configuration;\r
376       description\r
377         "none";\r
378     }\r
379     container tdm-container-status {\r
380       config false;\r
381       uses tdm-container-status;\r
382       description\r
383         "none";\r
384     }\r
385     container tdm-container-current-problems {\r
386       config false;\r
387       uses tdm-container-current-problems;\r
388       description\r
389         "none";\r
390     }\r
391     container tdm-container-current-performance {\r
392       config false;\r
393       uses tdm-container-current-performance;\r
394       description\r
395         "none";\r
396     }\r
397     container tdm-container-historical-performances {\r
398       config false;\r
399       uses tdm-container-historical-performances;\r
400       description\r
401         "none";\r
402     }\r
403     description\r
404       "none";\r
405   }\r
406 \r
407   grouping tdm-container-capability {\r
408     list supported-tdm-container-kind-list {\r
409       key "tdm-container-name";\r
410       config false;\r
411       min-elements 1;\r
412       uses tdm-container-kind;\r
413       description\r
414         "Lists the TDM containers that are supported.";\r
415     }\r
416     leaf admin-shut-down-is-avail {\r
417       type boolean;\r
418       default "false";\r
419       config false;\r
420       description\r
421         "1 = Manual switching on and off of the interface without deleting it (underlying OSI network layers are also not affected) is available.";\r
422     }\r
423     leaf-list supported-loop-back-kind-list {\r
424       type loop-back-type;\r
425       config false;\r
426       min-elements 1;\r
427       max-elements 3;\r
428       description\r
429         "List of supported kinds of looping back.";\r
430     }\r
431     leaf maintenance-timer-range {\r
432       type string;\r
433       default "Range of the maintenance timer not yet defined.";\r
434       config false;\r
435       description\r
436         "Available time periods for maintenance configurations to be described. Concrete values shall be separated by commas (e.g. '10, 60, 360'). Ranges shall be expressed as two values separated by a minus (e.g. '10-360').";\r
437     }\r
438     leaf-list supported-alarm-list {\r
439       type string;\r
440       config false;\r
441       min-elements 2;\r
442       description\r
443         "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the vendor.";\r
444     }\r
445     leaf performance-monitoring-is-avail {\r
446       type boolean;\r
447       default "false";\r
448       config false;\r
449       description\r
450         "1 = Collection and aggregation of performance values is available.";\r
451     }\r
452     description\r
453       "none";\r
454   }\r
455 \r
456   grouping tdm-container-configuration {\r
457     leaf interface-name {\r
458       type string;\r
459       default "Interface name not yet defined.";\r
460       description\r
461         "Description of the interface, could be a name, could be a number. Free text field to be filled by the operator.";\r
462     }\r
463     leaf interface-is-on {\r
464       type boolean;\r
465       default "false";\r
466       description\r
467         "Only relevant if (adminShutDownIsAvail==1). 1 = Activation of the interface. 0 = De-activation of the interface without deleting it (underlying OSI network layers are not affected).";\r
468     }\r
469     leaf tdm-container-kind {\r
470       type leafref {\r
471         path "/core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol/tdm-container:tdm-container-pac/tdm-container:tdm-container-capability/tdm-container:supported-tdm-container-kind-list/tdm-container:tdm-container-name";\r
472         require-instance false;\r
473       }\r
474       must 'boolean(/core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol/tdm-container:tdm-container-pac/tdm-container:tdm-container-capability/tdm-container:supported-tdm-container-kind-list[tdm-container-name=current()])';\r
475       description\r
476         "Type of TDM container.";\r
477     }\r
478     leaf segment-number {\r
479       type int16;\r
480       default "-1";\r
481       description\r
482         "Serving TDM structure is identified by LogicalTerminationPoint::_serverLtpRefList (Multiplicity = 1; One segment per TDM container). Serving Segment is identified by segmentID attribute. Type of segment must match type of container.";\r
483     }\r
484     leaf loop-back-kind-on {\r
485       type loop-back-type;\r
486       default "LOOP_BACK_TYPE_NOT_YET_DEFINED";\r
487       description\r
488         "Maintenance Feature. Configuration of a loop back of TDM time slots on this interface.";\r
489     }\r
490     leaf maintenance-timer {\r
491       type int32;\r
492       units "s";\r
493       default "-1";\r
494       description\r
495         "Time of existence of any maintenance configuration. 0 = maintenance timer is switched off. Valid values are defined in *Capability::maintenanceTimerRange.";\r
496     }\r
497     list problem-kind-severity-list {\r
498       key "problem-kind-name";\r
499       min-elements 2;\r
500       uses problem-kind-severity-type;\r
501       description\r
502         "Severity of the problem to be configured.";\r
503     }\r
504     leaf performance-monitoring-is-on {\r
505       type boolean;\r
506       default "false";\r
507       description\r
508         "Enables measurement, collection, storage and access to performance data.";\r
509     }\r
510     description\r
511       "none";\r
512   }\r
513 \r
514   grouping tdm-container-status {\r
515     leaf interface-status {\r
516       type interface-status-type;\r
517       default "INTERFACE_STATUS_TYPE_NOT_YET_DEFINED";\r
518       config false;\r
519       description\r
520         "Operational status of the interface.";\r
521     }\r
522     leaf loop-back-kind-up {\r
523       type loop-back-type;\r
524       default "LOOP_BACK_TYPE_NOT_YET_DEFINED";\r
525       config false;\r
526       description\r
527         "The currently active (not just configured) type of loop back.";\r
528     }\r
529     leaf statistics-is-up {\r
530       type boolean;\r
531       default "false";\r
532       config false;\r
533       description\r
534         "1 = Statistics are currently collected and aggregated.";\r
535     }\r
536     leaf performance-monitoring-is-up {\r
537       type boolean;\r
538       default "false";\r
539       config false;\r
540       description\r
541         "1 = Performance values are currently collected and aggregated.";\r
542     }\r
543     description\r
544       "none";\r
545   }\r
546 \r
547   grouping tdm-container-current-problems {\r
548     list current-problem-list {\r
549       key "sequence-number";\r
550       config false;\r
551       uses container-current-problem-type;\r
552       description\r
553         "none";\r
554     }\r
555     leaf number-of-current-problems {\r
556       type int8;\r
557       default "-1";\r
558       config false;\r
559       description\r
560         "Number of alarms, which are currently active on this interface.";\r
561     }\r
562     leaf time-of-latest-change {\r
563       type yang:date-and-time;\r
564       default "2010-11-20T14:00:00+01:00";\r
565       config false;\r
566       description\r
567         "Date and time when the list of alarms has been changed for the last time.";\r
568     }\r
569     description\r
570       "none";\r
571   }\r
572 \r
573   grouping tdm-container-current-performance {\r
574     list current-performance-data-list {\r
575       key "granularity-period";\r
576       config false;\r
577       min-elements 1;\r
578       max-elements 2;\r
579       uses container-current-performance-type;\r
580       description\r
581         "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
582     }\r
583     leaf number-of-current-performance-sets {\r
584       type int8;\r
585       default "-1";\r
586       config false;\r
587       description\r
588         "Number of sets of current performance values, which are provided in the list.";\r
589     }\r
590     description\r
591       "Aggregated performance information of the TDM container at a particular moment.";\r
592   }\r
593 \r
594   grouping tdm-container-historical-performances {\r
595     list historical-performance-data-list {\r
596       key "granularity-period period-end-time";\r
597       config false;\r
598       uses container-historical-performance-type;\r
599       description\r
600         "none";\r
601     }\r
602     leaf number-of-historical-performance-sets {\r
603       type int16;\r
604       default "-1";\r
605       config false;\r
606       description\r
607         "Number of sets of historical performance values, which are provided in the list.";\r
608     }\r
609     leaf time-of-latest-change {\r
610       type yang:date-and-time;\r
611       default "2010-11-20T14:00:00+01:00";\r
612       config false;\r
613       description\r
614         "Date and time when the list of sets of historical performance values has been changed for the last time (e.g. new one added or existing one deleted).";\r
615     }\r
616     description\r
617       "Aggregated performance information of the TDM container for a pre-defined measurement interval.";\r
618   }\r
619 \r
620   grouping tdm-container-kind {\r
621     leaf tdm-container-name {\r
622       type string;\r
623       config false;\r
624       description\r
625         "Names to be chosen from the following list: 'e1','t1','j1','e3','t3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";\r
626     }\r
627     leaf tdm-container-size {\r
628       type int32;\r
629       units "kbit/s";\r
630       default "-1";\r
631       config false;\r
632       description\r
633         "Capacity required for transporting this type of container (in kbit/s). Values to be chosen from the following list: '2048','1544','34000','44736 ','155520','614400','1228800','2457600','3072000','4915200','6144000' or '9830400;";\r
634     }\r
635     description\r
636       "none";\r
637   }\r
638 \r
639   /****************************************\r
640    * typedef statements\r
641    **************************************/ \r
642 \r
643   typedef loop-back-type {\r
644     type identityref {\r
645       base LOOP_BACK_TYPE;\r
646     }\r
647     description\r
648       "none";\r
649   }\r
650 \r
651   typedef container-performance-type {\r
652     type string;\r
653     description\r
654       "none";\r
655   }\r
656 \r
657   /*********************************************\r
658    * grouping statements for complex data types\r
659    *******************************************/ \r
660 \r
661   identity LOOP_BACK_TYPE {\r
662     description\r
663       "none";\r
664   }\r
665 \r
666   identity LOOP_BACK_TYPE_NONE {\r
667     base LOOP_BACK_TYPE;\r
668     description\r
669       "none";\r
670   }\r
671 \r
672   identity LOOP_BACK_TYPE_BACK_TO_LOCAL {\r
673     base LOOP_BACK_TYPE;\r
674     description\r
675       "Returning the TDM time slots of the local site on the outgoing interface back to the local site.";\r
676   }\r
677 \r
678   identity LOOP_BACK_TYPE_BACK_TO_REMOTE {\r
679     base LOOP_BACK_TYPE;\r
680     description\r
681       "Returning the incoming TDM time slots back to the remote site.";\r
682   }\r
683 \r
684   identity LOOP_BACK_TYPE_NOT_YET_DEFINED {\r
685     base LOOP_BACK_TYPE;\r
686     description\r
687       "none";\r
688   }\r
689 \r
690   identity GRANULARITY_PERIOD_TYPE {\r
691     description\r
692       "none";\r
693   }\r
694 \r
695   identity GRANULARITY_PERIOD_TYPE_UNKNOWN {\r
696     base GRANULARITY_PERIOD_TYPE;\r
697     description\r
698       "none";\r
699   }\r
700 \r
701   identity GRANULARITY_PERIOD_TYPE_PERIOD-15-MIN {\r
702     base GRANULARITY_PERIOD_TYPE;\r
703     description\r
704       "none";\r
705   }\r
706 \r
707   identity GRANULARITY_PERIOD_TYPE_PERIOD-24-HOURS {\r
708     base GRANULARITY_PERIOD_TYPE;\r
709     description\r
710       "none";\r
711   }\r
712 \r
713   identity GRANULARITY_PERIOD_TYPE_NOT_YET_DEFINED {\r
714     base GRANULARITY_PERIOD_TYPE;\r
715     description\r
716       "none";\r
717   }\r
718 \r
719   identity SEVERITY_TYPE {\r
720     description\r
721       "none";\r
722   }\r
723 \r
724   identity SEVERITY_TYPE_NON_ALARMED {\r
725     base SEVERITY_TYPE;\r
726     description\r
727       "none";\r
728   }\r
729 \r
730   identity SEVERITY_TYPE_WARNING {\r
731     base SEVERITY_TYPE;\r
732     description\r
733       "none";\r
734   }\r
735 \r
736   identity SEVERITY_TYPE_MINOR {\r
737     base SEVERITY_TYPE;\r
738     description\r
739       "none";\r
740   }\r
741 \r
742   identity SEVERITY_TYPE_MAJOR {\r
743     base SEVERITY_TYPE;\r
744     description\r
745       "none";\r
746   }\r
747 \r
748   identity SEVERITY_TYPE_CRITICAL {\r
749     base SEVERITY_TYPE;\r
750     description\r
751       "none";\r
752   }\r
753 \r
754   identity SEVERITY_TYPE_NOT_YET_DEFINED {\r
755     base SEVERITY_TYPE;\r
756     description\r
757       "none";\r
758   }\r
759 \r
760   identity INTERFACE_STATUS_TYPE {\r
761     description\r
762       "none";\r
763   }\r
764 \r
765   identity INTERFACE_STATUS_TYPE_UP {\r
766     base INTERFACE_STATUS_TYPE;\r
767     description\r
768       "Ready to pass packets.";\r
769   }\r
770 \r
771   identity INTERFACE_STATUS_TYPE_DOWN {\r
772     base INTERFACE_STATUS_TYPE;\r
773     description\r
774       "The interface does not pass any packets.";\r
775   }\r
776 \r
777   identity INTERFACE_STATUS_TYPE_TESTING {\r
778     base INTERFACE_STATUS_TYPE;\r
779     description\r
780       "In some test mode.  No operational packets can be passed.";\r
781   }\r
782 \r
783   identity INTERFACE_STATUS_TYPE_UNKNOWN {\r
784     base INTERFACE_STATUS_TYPE;\r
785     description\r
786       "Status cannot be determined for some reason.";\r
787   }\r
788 \r
789   identity INTERFACE_STATUS_TYPE_DORMANT {\r
790     base INTERFACE_STATUS_TYPE;\r
791     description\r
792       "Waiting for some external event.";\r
793   }\r
794 \r
795   identity INTERFACE_STATUS_TYPE_NOT_PRESENT {\r
796     base INTERFACE_STATUS_TYPE;\r
797     description\r
798       "Some component (typically hardware) is missing.";\r
799   }\r
800 \r
801   identity INTERFACE_STATUS_TYPE_LOWER_LAYER_DOWN {\r
802     base INTERFACE_STATUS_TYPE;\r
803     description\r
804       "Down due to state of lower-layer interface(s).";\r
805   }\r
806 \r
807   identity INTERFACE_STATUS_TYPE_ADMIN_DOWN {\r
808     base INTERFACE_STATUS_TYPE;\r
809     description\r
810       "Down due to configuration.";\r
811   }\r
812 \r
813   identity INTERFACE_STATUS_TYPE_NOT_YET_DEFINED {\r
814     base INTERFACE_STATUS_TYPE;\r
815     description\r
816       "none";\r
817   }\r
818 \r
819   /****************************************\r
820    * package super-types\r
821    **************************************/ \r
822 \r
823   typedef granularity-period-type {\r
824     type identityref {\r
825       base GRANULARITY_PERIOD_TYPE;\r
826     }\r
827     description\r
828       "The enumeration with the options for granularity period of the performance data.";\r
829   }\r
830 \r
831   typedef severity-type {\r
832     type identityref {\r
833       base SEVERITY_TYPE;\r
834     }\r
835     description\r
836       "According to ITU-T M.3160";\r
837   }\r
838 \r
839   typedef interface-status-type {\r
840     type identityref {\r
841       base INTERFACE_STATUS_TYPE;\r
842     }\r
843     description\r
844       "Current Interface Status";\r
845   }\r
846 \r
847   grouping problem-kind-severity-type {\r
848     leaf problem-kind-name {\r
849       type string;\r
850       description\r
851         "Name of the alarm according to supportedAlarmList";\r
852     }\r
853     leaf problem-kind-severity {\r
854       type severity-type;\r
855       default "SEVERITY_TYPE_NOT_YET_DEFINED";\r
856       description\r
857         "Severity of this type of alarm.";\r
858     }\r
859     description\r
860       "none";\r
861   }\r
862 \r
863   grouping container-current-problem-type {\r
864     leaf problem-name {\r
865       type string;\r
866       default "Problem name not specified.";\r
867       config false;\r
868       description\r
869         "Name of the alarm according to Container::ContainerCapability::supportedAlarms";\r
870     }\r
871     uses current-problem;\r
872     description\r
873       "none";\r
874   }\r
875 \r
876   grouping container-current-performance-type {\r
877     leaf performance-data {\r
878       type container-performance-type;\r
879       config false;\r
880       description\r
881         "none";\r
882     }\r
883     uses current-performance;\r
884     description\r
885       "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
886   }\r
887 \r
888   grouping container-historical-performance-type {\r
889     leaf performance-data {\r
890       type container-performance-type;\r
891       config false;\r
892       description\r
893         "none";\r
894     }\r
895     uses historical-performance;\r
896     description\r
897       "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
898   }\r
899 }\r