1 module hybrid-mw-structure-2-0 {
\r
3 namespace "urn:onf:yang:hybrid-mw-structure-2-0";
\r
4 prefix hybrid-mw-structure;
\r
6 import ietf-yang-types {
\r
9 import core-model-1-4 {
\r
14 "openBackhaul.com proposal to Open Networking Foundation (ONF)";
\r
16 "WG Web : https://github.com/openBackhaul/Overview
\r
17 WG List: HybridMwStructure@openBackhaul.com
\r
18 Editor : Thorsten Heinze
\r
19 Email : Thorsten.Heinze@openBackhaul.com";
\r
21 "Technology specific interface definition for a hybrid microwave structure on a physical media
\r
23 Copyright 2019 openBackhaul.com
\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
35 revision 2020-01-22 {
\r
37 "Model for the Transport SDN Pilot at Telefonica Germany.
\r
38 Please view https://github.com/openBackhaul/hybridMwStructure/issues for changes.";
\r
40 "https://github.com/openBackhaul/hybridMwStructure/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
43 revision 2019-11-23 {
\r
45 "Model for the Transport SDN Pilot at Telefonica Germany.
\r
46 Please view https://github.com/openBackhaul/hybridMwStructure/issues for changes.";
\r
48 "https://github.com/openBackhaul/hybridMwStructure/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
51 revision 2019-07-08 {
\r
53 "Model for the Transport SDN Pilot at Telefonica Germany.
\r
54 Please view https://github.com/openBackhaul/hybridMwStructure/issues for changes.";
\r
56 "https://github.com/openBackhaul/hybridMwStructure/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
60 identity LAYER_PROTOCOL_NAME_TYPE_HYBRID_MW_STRUCTURE_LAYER {
\r
61 base core-model:LAYER_PROTOCOL_NAME_TYPE;
\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, 'hybrid-mw-structure:LAYER_PROTOCOL_NAME_TYPE_HYBRID_MW_STRUCTURE_LAYER')";
\r
68 uses hybrid-mw-structure-lp-spec;
\r
73 /****************************************
\r
74 * package notifications
\r
75 **************************************/
\r
77 notification object-creation-notification {
\r
78 uses object-creation-notification;
\r
83 grouping object-creation-notification {
\r
89 "Counts object creation notifications.";
\r
92 type yang:date-and-time;
\r
93 default "2010-11-20T14:00:00+01:00";
\r
98 leaf object-id-ref {
\r
100 path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";
\r
101 require-instance false;
\r
109 default "Type of created object not specified.";
\r
118 notification object-deletion-notification {
\r
119 uses object-deletion-notification;
\r
124 grouping object-deletion-notification {
\r
130 "Counts object deletion notifications.";
\r
133 type yang:date-and-time;
\r
134 default "2010-11-20T14:00:00+01:00";
\r
139 leaf object-id-ref {
\r
141 path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";
\r
142 require-instance false;
\r
152 notification attribute-value-changed-notification {
\r
153 uses attribute-value-changed-notification;
\r
158 grouping attribute-value-changed-notification {
\r
164 "Counts attribute value changed notifications.";
\r
167 type yang:date-and-time;
\r
168 default "2010-11-20T14:00:00+01:00";
\r
173 leaf object-id-ref {
\r
175 path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";
\r
176 require-instance false;
\r
182 leaf attribute-name {
\r
184 default "Attribute name not specified.";
\r
187 "Name of the attribute that has been changed.";
\r
191 default "New value not specified.";
\r
194 "Attribute value converted to a string (xml, json, ...)";
\r
200 notification problem-notification {
\r
201 uses problem-notification;
\r
206 grouping problem-notification {
\r
212 "Counts problem notifications";
\r
215 type yang:date-and-time;
\r
216 default "2010-11-20T14:00:00+01:00";
\r
221 leaf object-id-ref {
\r
223 path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";
\r
224 require-instance false;
\r
232 default "Problem name not specified.";
\r
235 "Name of the problem according to supportedAlarmList";
\r
238 type severity-type;
\r
239 default "SEVERITY_TYPE_WARNING";
\r
242 "Severity of the problem according to problemKindSeverity";
\r
248 /****************************************
\r
249 * grouping statements for object classes
\r
250 **************************************/
\r
251 /****************************************
\r
252 * package super-classes
\r
253 **************************************/
\r
255 grouping current-problem {
\r
256 leaf sequence-number {
\r
260 "Unique sequence number of the current problem object.";
\r
263 type yang:date-and-time;
\r
264 default "2010-11-20T14:00:00+01:00";
\r
267 "Time when the alarm was raised.";
\r
269 leaf problem-severity {
\r
270 type severity-type;
\r
271 default "SEVERITY_TYPE_NOT_YET_DEFINED";
\r
274 "Severity of the alarm.";
\r
280 grouping current-performance {
\r
282 type yang:date-and-time;
\r
283 default "2010-11-20T14:00:00+01:00";
\r
286 "The timestamp associated with when the current data was collected.";
\r
288 leaf suspect-interval-flag {
\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
301 leaf elapsed-time {
\r
307 "Number of seconds that elapsed since the last reset of the counter.";
\r
311 default "Scanner ID not defined.";
\r
316 leaf granularity-period {
\r
317 type granularity-period-type;
\r
320 "Time period between reset of the underlying counter.";
\r
326 grouping historical-performance {
\r
327 leaf suspect-interval-flag {
\r
332 "This attribute indicates that the data collected during the interval is suspect.";
\r
334 leaf history-data-id {
\r
336 default "History Data ID not defined.";
\r
341 leaf granularity-period {
\r
342 type granularity-period-type;
\r
345 "Time period between reset of the underlying counter.";
\r
347 leaf period-end-time {
\r
348 type yang:date-and-time;
\r
351 "Time when the counter values have been recorded and the counter reset.";
\r
357 grouping hybrid-mw-structure-lp-spec {
\r
358 container hybrid-mw-structure-pac {
\r
359 uses hybrid-mw-structure-pac;
\r
364 "The HybridMwStructureLpSpec and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM and Ethernet traffic.";
\r
367 grouping hybrid-mw-structure-pac {
\r
368 container hybrid-mw-structure-capability {
\r
370 uses hybrid-mw-structure-capability;
\r
374 container hybrid-mw-structure-configuration {
\r
375 uses hybrid-mw-structure-configuration;
\r
379 container hybrid-mw-structure-status {
\r
381 uses hybrid-mw-structure-status;
\r
385 container hybrid-mw-structure-current-problems {
\r
387 uses hybrid-mw-structure-current-problems;
\r
391 container hybrid-mw-structure-current-performance {
\r
393 uses hybrid-mw-structure-current-performance;
\r
397 container hybrid-mw-structure-historical-performances {
\r
399 uses hybrid-mw-structure-historical-performances;
\r
404 "The HybridMwStructure_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM and Ethernet traffic.";
\r
407 grouping hybrid-mw-structure-capability {
\r
408 list supported-tdm-structure-kind-list {
\r
409 key "tdm-structure-name";
\r
412 uses tdm-structure-kind;
\r
414 "Lists the TDM frame types that are supported.";
\r
416 leaf-list supported-alarm-list {
\r
418 default "Supported alarms not yet defined.";
\r
421 "Available alarms to be listed. Mandatory:none. Names are to be separated by commas. Further alarms might be added by the vendor.";
\r
423 leaf performance-monitoring-is-avail {
\r
428 "1 = Collection and aggregation of performance values is available.";
\r
431 "Describes the logical structuring of the physical capacity provided by a hybrid microwave device (TDM + Ethernet). Segmentation is available. TDM transport is available.";
\r
434 grouping hybrid-mw-structure-configuration {
\r
435 leaf tdm-structure-kind {
\r
437 path "/core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol/hybrid-mw-structure:hybrid-mw-structure-pac/hybrid-mw-structure:hybrid-mw-structure-capability/hybrid-mw-structure:supported-tdm-structure-kind-list/hybrid-mw-structure:tdm-structure-name";
\r
438 require-instance false;
\r
440 must 'boolean(/core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol/hybrid-mw-structure:hybrid-mw-structure-pac/hybrid-mw-structure:hybrid-mw-structure-capability/hybrid-mw-structure:supported-tdm-structure-kind-list[tdm-structure-name=current()])';
\r
442 "TDM frame to be applied.";
\r
444 leaf number-of-tdm-segments-to-be-reserved {
\r
448 "Allows to configure the number of segments reserved for TDM frames of the type specified in HybridMwStructure::HybridMwStructureConfiguration::structureType";
\r
450 list problem-kind-severity-list {
\r
451 key "problem-kind-name";
\r
452 uses problem-kind-severity-type;
\r
454 "Severity of the type of problem to be configured.";
\r
456 list g-826-threshold-cross-alarm-list {
\r
457 key "g-826-value-kind granularity-period";
\r
458 uses g-826-threshold-cross-alarm-type;
\r
460 "List of G826 related threshold cross alarms to be configured.";
\r
462 leaf clearing-threshold-cross-alarms-is-on {
\r
466 "Setting this bit is clearing all the currently active threshold cross alarms.";
\r
468 leaf performance-monitoring-is-on {
\r
472 "Enables measurement, collection, storage and access to performance data.";
\r
478 grouping hybrid-mw-structure-status {
\r
479 list segment-status-list {
\r
480 key "segment-status-type-id";
\r
483 uses segment-status-type;
\r
485 "Status of each segment (all TDM and one Ethernet). Multiplicity = HybridMwStructure::StructureConfiguration::tdmReservedNumberOfSegments + 1";
\r
487 leaf performance-monitoring-is-up {
\r
492 "1 = Performance values are currently collected and aggregated.";
\r
498 grouping hybrid-mw-structure-current-problems {
\r
499 list current-problem-list {
\r
500 key "sequence-number";
\r
502 uses structure-current-problem-type;
\r
506 leaf number-of-current-problems {
\r
511 "Number of alarms, which are currently active on this interface.";
\r
513 leaf time-of-latest-change {
\r
514 type yang:date-and-time;
\r
515 default "2010-11-20T14:00:00+01:00";
\r
518 "Date and time when the list of alarms has been changed for the last time.";
\r
524 grouping hybrid-mw-structure-current-performance {
\r
525 list current-performance-data-list {
\r
526 key "granularity-period";
\r
530 uses structure-current-performance-type;
\r
532 "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
534 leaf number-of-current-performance-sets {
\r
539 "Number of sets of current performance values, which are provided in the list.";
\r
542 "Aggregated performance information of the structure of a hybrid microwave at a particular moment.";
\r
545 grouping hybrid-mw-structure-historical-performances {
\r
546 list historical-performance-data-list {
\r
547 key "granularity-period period-end-time";
\r
549 uses structure-historical-performance-type;
\r
553 leaf number-of-historical-performance-sets {
\r
558 "Number of sets of historical performance values, which are provided in the list.";
\r
560 leaf time-of-latest-change {
\r
561 type yang:date-and-time;
\r
562 default "2010-11-20T14:00:00+01:00";
\r
565 "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
568 "Aggregated performance information of the structure of a hybrid microwave for a pre-defined measurement interval.";
\r
571 grouping tdm-structure-kind {
\r
572 leaf tdm-structure-name {
\r
576 "Names to be chosen from the following list: 'e1','t1','j1','e3','ds3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";
\r
578 leaf tdm-segment-size {
\r
584 "Size of the TDM segment 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
586 leaf max-number-of-segments-reservable {
\r
592 "Device specific maximum number of segments (not depending on current air interface configuration) that can be reserved for this type of segment on a single air interface.";
\r
598 /****************************************
\r
599 * typedef statements
\r
600 **************************************/
\r
602 typedef g-826-type {
\r
610 /*********************************************
\r
611 * grouping statements for complex data types
\r
612 *******************************************/
\r
614 identity G_826_TYPE {
\r
619 identity G_826_TYPE_ES {
\r
622 "Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::es .";
\r
625 identity G_826_TYPE_SES {
\r
628 "Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::ses .";
\r
631 identity G_826_TYPE_CSES {
\r
634 "Consecutive Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::cses .";
\r
637 identity G_826_TYPE_UAS {
\r
640 "Unavailable Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::unavailability.";
\r
643 identity G_826_TYPE_NOT_SPECIFIED {
\r
649 identity GRANULARITY_PERIOD_TYPE {
\r
654 identity GRANULARITY_PERIOD_TYPE_UNKNOWN {
\r
655 base GRANULARITY_PERIOD_TYPE;
\r
660 identity GRANULARITY_PERIOD_TYPE_PERIOD-15-MIN {
\r
661 base GRANULARITY_PERIOD_TYPE;
\r
666 identity GRANULARITY_PERIOD_TYPE_PERIOD-24-HOURS {
\r
667 base GRANULARITY_PERIOD_TYPE;
\r
672 identity GRANULARITY_PERIOD_TYPE_NOT_YET_DEFINED {
\r
673 base GRANULARITY_PERIOD_TYPE;
\r
678 identity SEVERITY_TYPE {
\r
683 identity SEVERITY_TYPE_NON_ALARMED {
\r
684 base SEVERITY_TYPE;
\r
689 identity SEVERITY_TYPE_WARNING {
\r
690 base SEVERITY_TYPE;
\r
695 identity SEVERITY_TYPE_MINOR {
\r
696 base SEVERITY_TYPE;
\r
701 identity SEVERITY_TYPE_MAJOR {
\r
702 base SEVERITY_TYPE;
\r
707 identity SEVERITY_TYPE_CRITICAL {
\r
708 base SEVERITY_TYPE;
\r
713 identity SEVERITY_TYPE_NOT_YET_DEFINED {
\r
714 base SEVERITY_TYPE;
\r
719 identity OPERATIONAL_STATE_TYPE {
\r
724 identity OPERATIONAL_STATE_TYPE_ENABLED {
\r
725 base OPERATIONAL_STATE_TYPE;
\r
730 identity OPERATIONAL_STATE_TYPE_DISABLED {
\r
731 base OPERATIONAL_STATE_TYPE;
\r
736 identity OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED {
\r
737 base OPERATIONAL_STATE_TYPE;
\r
742 /****************************************
\r
743 * package super-types
\r
744 **************************************/
\r
746 typedef granularity-period-type {
\r
748 base GRANULARITY_PERIOD_TYPE;
\r
751 "The enumeration with the options for granularity period of the performance data.";
\r
754 typedef severity-type {
\r
756 base SEVERITY_TYPE;
\r
759 "According to ITU-T M.3160";
\r
762 typedef operational-state-type {
\r
764 base OPERATIONAL_STATE_TYPE;
\r
767 "The list of valid operational states for the connection.";
\r
770 grouping problem-kind-severity-type {
\r
771 leaf problem-kind-name {
\r
774 "Name of the alarm according to supportedAlarmList";
\r
776 leaf problem-kind-severity {
\r
777 type severity-type;
\r
778 default "SEVERITY_TYPE_NOT_YET_DEFINED";
\r
780 "Severity of this type of alarm.";
\r
786 grouping g-826-threshold-cross-alarm-type {
\r
787 leaf g-826-value-kind {
\r
790 "Kind of performance value that shall be equipped with a threshold alarm.";
\r
792 leaf alarm-raising-threshold {
\r
797 "Number of events required for raising the threshold cross alarm.";
\r
799 leaf alarm-clearing-threshold {
\r
804 "Number of events required for clearing the threshold cross alarm.";
\r
806 leaf granularity-period {
\r
807 type granularity-period-type;
\r
809 "Period of the performance data collection.";
\r
812 "Allows defining a threshold cross alarm.\n";
\r
815 grouping segment-status-type {
\r
816 leaf segment-status-type-id {
\r
822 leaf segment-is-reserved-for-tdm {
\r
827 "The number of segments, which is configured by Structure::StructureConfiguration::tdmReservedNumberOfSegements, has to be reserved for TDM. Starting from the lowest index value, these segments have to be marked with a 'true' in segmentIsReservedForTdm.\n";
\r
829 leaf operational-status {
\r
830 type operational-state-type;
\r
831 default "OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED";
\r
834 "Current operational status of each segment.";
\r
840 grouping structure-current-problem-type {
\r
841 leaf problem-name {
\r
843 default "Problem name not specified.";
\r
846 "Name of the alarm according to Structure::StructureCapability::supportedAlarms";
\r
848 uses current-problem;
\r
853 grouping structure-performance-type {
\r
860 "Total length of the measurement period in seconds.";
\r
868 "Number of errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
\r
876 "Number of severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
\r
884 "Number of consecutive severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
\r
886 leaf unavailability {
\r
892 "Total time of unavailability in seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
\r
894 leaf rx-level-min {
\r
900 "Minimum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";
\r
902 leaf rx-level-max {
\r
908 "Maximum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";
\r
910 leaf rx-level-avg {
\r
916 "Averaged receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";
\r
919 "Consolidated performance information of the Structure.";
\r
922 grouping structure-current-performance-type {
\r
923 container performance-data {
\r
925 uses structure-performance-type;
\r
929 uses current-performance;
\r
931 "Turns performance information into current performance information by inheriting from OTN_CurrentData.";
\r
934 grouping structure-historical-performance-type {
\r
935 container performance-data {
\r
937 uses structure-performance-type;
\r
941 uses historical-performance;
\r
943 "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";
\r