migrate sdnr features to phosphorus
[ccsdk/features.git] / sdnr / wt / devicemanager-onap / onf14 / provider / src / test / resources / mac-fd-1-0.yang
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/mac-fd-1-0.yang b/sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/mac-fd-1-0.yang
new file mode 100644 (file)
index 0000000..9347f03
--- /dev/null
@@ -0,0 +1,585 @@
+module mac-fd-1-0 {\r
+  yang-version 1.1;\r
+  namespace "urn:onf:yang:mac-fd-1-0";\r
+  prefix mac-fd;\r
+\r
+  import ietf-yang-types {\r
+    prefix yang;\r
+  }\r
+  import core-model-1-4 {\r
+    prefix core-model;\r
+  }\r
+\r
+  organization\r
+    "openBackhaul.com proposal to Open Networking Foundation (ONF)";\r
+  contact\r
+    "WG Web : https://github.com/openBackhaul/Overview\r
+     WG List: MacFd@openBackhaul.com\r
+     Editor : Thorsten Heinze\r
+     Email  : Thorsten.Heinze@openBackhaul.com";\r
+  description\r
+    "Technology specific amendment to the ForwardingDomain class for documenting potential forwarding (Ethernet Switch) according to IEEE 802.1 .\r
+\r
+     Copyright 2019 openBackhaul.com\r
+\r
+     Licensed under the Apache License, Version 2.0 (the 'License');\r
+     you may not use this file except in compliance with the License.\r
+     You may obtain a copy of the License at\r
+     http://www.apache.org/licenses/LICENSE-2.0\r
+     Unless required by applicable law or agreed to in writing, software\r
+     distributed under the License is distributed on an 'AS IS' BASIS,\r
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+     See the License for the specific language governing permissions and\r
+     limitations under the License.";\r
+\r
+  revision 2020-08-26 {\r
+    description\r
+      "Model for the Transport SDN Pilot at Telefonica Germany.\r
+       Please view https://github.com/openBackhaul/macFd/issues for changes.";\r
+    reference\r
+      "https://github.com/openBackhaul/macFd/tree/tsp: Model definition\r
+       https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
+  }\r
+\r
+  identity LAYER_PROTOCOL_NAME_TYPE_MAC_LAYER {\r
+    base core-model:LAYER_PROTOCOL_NAME_TYPE;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  augment "/core-model:control-construct/core-model:forwarding-domain" {\r
+    when "derived-from-or-self(./core-model:layer-protocol-name, 'vlan-fd:LAYER_PROTOCOL_NAME_TYPE_MAC_LAYER')";\r
+    uses mac-fd-spec;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  /****************************************\r
+   * package notifications\r
+   **************************************/ \r
+\r
+  notification object-creation-notification {\r
+    uses object-creation-notification;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping object-creation-notification {\r
+    leaf counter {\r
+      type int32;\r
+      default "-1";\r
+      config false;\r
+      description\r
+        "Counts object creation notifications.";\r
+    }\r
+    leaf timestamp {\r
+      type yang:date-and-time;\r
+      default "2010-11-20T14:00:00+01:00";\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf object-id-ref {\r
+      type leafref {\r
+        path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";\r
+        require-instance false;\r
+      }\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf object-type {\r
+      type string;\r
+      default "Type of created object not specified.";\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  notification object-deletion-notification {\r
+    uses object-deletion-notification;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping object-deletion-notification {\r
+    leaf counter {\r
+      type int32;\r
+      default "-1";\r
+      config false;\r
+      description\r
+        "Counts object deletion notifications.";\r
+    }\r
+    leaf timestamp {\r
+      type yang:date-and-time;\r
+      default "2010-11-20T14:00:00+01:00";\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf object-id-ref {\r
+      type leafref {\r
+        path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";\r
+        require-instance false;\r
+      }\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  notification attribute-value-changed-notification {\r
+    uses attribute-value-changed-notification;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping attribute-value-changed-notification {\r
+    leaf counter {\r
+      type int32;\r
+      default "-1";\r
+      config false;\r
+      description\r
+        "Counts attribute value changed notifications.";\r
+    }\r
+    leaf timestamp {\r
+      type yang:date-and-time;\r
+      default "2010-11-20T14:00:00+01:00";\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf object-id-ref {\r
+      type leafref {\r
+        path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";\r
+        require-instance false;\r
+      }\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf attribute-name {\r
+      type string;\r
+      default "Attribute name not specified.";\r
+      config false;\r
+      description\r
+        "Name of the attribute that has been changed.";\r
+    }\r
+    leaf new-value {\r
+      type string;\r
+      default "New value not specified.";\r
+      config false;\r
+      description\r
+        "Attribute value converted to a string (xml, json, ...)";\r
+    }\r
+    description\r
+      "To be sent when an attribute has changed and one or more controllers have to update their data.";\r
+  }\r
+\r
+  notification problem-notification {\r
+    uses problem-notification;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping problem-notification {\r
+    leaf counter {\r
+      type int32;\r
+      default "-1";\r
+      config false;\r
+      description\r
+        "Counts problem notifications";\r
+    }\r
+    leaf timestamp {\r
+      type yang:date-and-time;\r
+      default "2010-11-20T14:00:00+01:00";\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf object-id-ref {\r
+      type leafref {\r
+        path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";\r
+        require-instance false;\r
+      }\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf problem {\r
+      type string;\r
+      default "Problem name not specified.";\r
+      config false;\r
+      description\r
+        "Name of the problem according to *Capability::supportedAlarmList";\r
+    }\r
+    leaf severity {\r
+      type severity-type;\r
+      default "SEVERITY_TYPE_WARNING";\r
+      config false;\r
+      description\r
+        "Severity of the problem according to *Configuration::problemSeverityList";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  /****************************************\r
+   * grouping statements for object classes\r
+   **************************************/ \r
+  /****************************************\r
+   * package super-classes\r
+   **************************************/ \r
+\r
+  grouping current-problem {\r
+    leaf sequence-number {\r
+      type int16;\r
+      config false;\r
+      description\r
+        "Unique sequence number of the current problem object.";\r
+    }\r
+    leaf timestamp {\r
+      type yang:date-and-time;\r
+      default "2010-11-20T14:00:00+01:00";\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf problem-severity {\r
+      type severity-type;\r
+      default "SEVERITY_TYPE_NOT_YET_DEFINED";\r
+      config false;\r
+      description\r
+        "Severity of the alarm.";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping mac-fd-spec {\r
+    container mac-fd-pac {\r
+      uses mac-fd-pac;\r
+      description\r
+        "none";\r
+    }\r
+    description\r
+      "The database that holds static and learned entries describing the MAC forwarding. Name in ieee802-dot1q-bridge.yang: filtering-database.";\r
+  }\r
+\r
+  grouping mac-fd-pac {\r
+    container mac-fd-capability {\r
+      config false;\r
+      uses mac-fd-capability;\r
+      description\r
+        "none";\r
+    }\r
+    container mac-fd-configuration {\r
+      uses mac-fd-configuration;\r
+      description\r
+        "none";\r
+    }\r
+    container mac-fd-status {\r
+      config false;\r
+      uses mac-fd-status;\r
+      description\r
+        "none";\r
+    }\r
+    container mac-fd-current-problems {\r
+      config false;\r
+      uses mac-fd-current-problems;\r
+      description\r
+        "none";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping mac-fd-capability {\r
+    leaf maximum-number-of-entries {\r
+      type int32;\r
+      default "-1";\r
+      config false;\r
+      description\r
+        "The maximum number of entries that can be held in the FDB. Name in ieee802-dot1q-bridge.yang: size.";\r
+    }\r
+    leaf admin-shut-down-is-avail {\r
+      type boolean;\r
+      default "false";\r
+      config false;\r
+      description\r
+        "true = Manual switching on and off of the forwarding domain without deleting it (underlying OSI network layers are also not affected) is available.";\r
+    }\r
+    leaf maintenance-timer-range {\r
+      type string;\r
+      default "Range of the maintenance timer not yet defined.";\r
+      config false;\r
+      description\r
+        "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
+    }\r
+    leaf-list supported-alarm-list {\r
+      type string;\r
+      default "Supported Alarms Not Yet Defined";\r
+      config false;\r
+      description\r
+        "Available alarms to be listed.";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping mac-fd-configuration {\r
+    leaf fd-name {\r
+      type string;\r
+      default "Forwarding Domain name not yet defined.";\r
+      description\r
+        "Name of the ForwardingDomain. Free text field to be filled by the operator.";\r
+    }\r
+    leaf fd-is-on {\r
+      type boolean;\r
+      default "false";\r
+      description\r
+        "Only effective if (adminShutDownIsAvail==true). true = Activation of the ForwardingDomain. false = De-activation of the ForwardingDomain without deleting it (underlying OSI network layers are not affected).";\r
+    }\r
+    leaf mac-address {\r
+      type string;\r
+      default "00:00:00:00:00:00";\r
+      description\r
+        "Configuration of the MAC address of a switch or virtual switch, which is defined by some VLAN.";\r
+    }\r
+    leaf aging-time {\r
+      type int32;\r
+      units "s";\r
+      default "-1";\r
+      description\r
+        "The timeout period (10..10,000,000) in seconds for aging out dynamically-learned forwarding information. Name in ieee802-dot1q-bridge.yang: aging-time.";\r
+    }\r
+    leaf maintenance-timer {\r
+      type int32;\r
+      units "s";\r
+      default "-1";\r
+      description\r
+        "Time of existence of any maintenance configuration. false = maintenance timer is switched off. Valid values are defined in *Capability::maintenanceTimerRange.";\r
+    }\r
+    list problem-kind-severity-list {\r
+      key "problem-kind-name";\r
+      uses problem-kind-severity-type;\r
+      description\r
+        "Severity of each entry of the SupportedAlarmList to be configured.";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping mac-fd-status {\r
+    leaf mac-address-cur {\r
+      type string;\r
+      default "00:00:00:00:00:00";\r
+      config false;\r
+      description\r
+        "MAC address assigned to a switch or virtual switch, which is defined by some VLAN.";\r
+    }\r
+    leaf number-of-static-entries-cur {\r
+      type int32;\r
+      default "-1";\r
+      config false;\r
+      description\r
+        "The number of Static Filtering entries currently in the FDB. Name in ieee802-dot1q-bridge.yang: static-entries.";\r
+    }\r
+    leaf number-of-dynamic-entries-cur {\r
+      type int32;\r
+      default "-1";\r
+      config false;\r
+      description\r
+        "The number of Dynamic Filtering entries currently in the FDB. Name in ieee802-dot1q-bridge.yang: dynamic-entries.";\r
+    }\r
+    leaf number-of-mac-registrations-cur {\r
+      type int32;\r
+      default "-1";\r
+      config false;\r
+      description\r
+        "The number of MAC Address Registration entries currently in the FDB. Name in ieee802-dot1q-bridge.yang: mac-address-registration-entries.";\r
+    }\r
+    leaf fd-status {\r
+      type fd-status-type;\r
+      default "FD_STATUS_TYPE_NOT_YET_DEFINED";\r
+      config false;\r
+      description\r
+        "Operational status of the forwarding domain.";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping mac-fd-current-problems {\r
+    list current-problem-list {\r
+      key "sequence-number";\r
+      config false;\r
+      uses mac-fd-current-problem-type;\r
+      description\r
+        "none";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  /****************************************\r
+   * typedef statements\r
+   **************************************/ \r
+  /*********************************************\r
+   * grouping statements for complex data types\r
+   *******************************************/ \r
+\r
+  identity SEVERITY_TYPE {\r
+    description\r
+      "none";\r
+  }\r
+\r
+  identity SEVERITY_TYPE_NON_ALARMED {\r
+    base SEVERITY_TYPE;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  identity SEVERITY_TYPE_WARNING {\r
+    base SEVERITY_TYPE;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  identity SEVERITY_TYPE_MINOR {\r
+    base SEVERITY_TYPE;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  identity SEVERITY_TYPE_MAJOR {\r
+    base SEVERITY_TYPE;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  identity SEVERITY_TYPE_CRITICAL {\r
+    base SEVERITY_TYPE;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  identity SEVERITY_TYPE_NOT_YET_DEFINED {\r
+    base SEVERITY_TYPE;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  identity FD_STATUS_TYPE {\r
+    description\r
+      "none";\r
+  }\r
+\r
+  identity FD_STATUS_TYPE_UP {\r
+    base FD_STATUS_TYPE;\r
+    description\r
+      "Ready to pass packets.";\r
+  }\r
+\r
+  identity FD_STATUS_TYPE_DOWN {\r
+    base FD_STATUS_TYPE;\r
+    description\r
+      "The interface does not pass any packets.";\r
+  }\r
+\r
+  identity FD_STATUS_TYPE_TESTING {\r
+    base FD_STATUS_TYPE;\r
+    description\r
+      "In some test mode.  No operational packets can be passed.";\r
+  }\r
+\r
+  identity FD_STATUS_TYPE_UNKNOWN {\r
+    base FD_STATUS_TYPE;\r
+    description\r
+      "Status cannot be determined for some reason.";\r
+  }\r
+\r
+  identity FD_STATUS_TYPE_DORMANT {\r
+    base FD_STATUS_TYPE;\r
+    description\r
+      "Waiting for some external event.";\r
+  }\r
+\r
+  identity FD_STATUS_TYPE_NOT_PRESENT {\r
+    base FD_STATUS_TYPE;\r
+    description\r
+      "Some component (typically hardware) is missing.";\r
+  }\r
+\r
+  identity FD_STATUS_TYPE_LOWER_LAYER_DOWN {\r
+    base FD_STATUS_TYPE;\r
+    description\r
+      "Down due to state of lower-layer interface(s).";\r
+  }\r
+\r
+  identity FD_STATUS_TYPE_ADMIN_DOWN {\r
+    base FD_STATUS_TYPE;\r
+    description\r
+      "Down due to configuration.";\r
+  }\r
+\r
+  identity FD_STATUS_TYPE_NOT_YET_DEFINED {\r
+    base FD_STATUS_TYPE;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  /****************************************\r
+   * package super-types\r
+   **************************************/ \r
+\r
+  typedef severity-type {\r
+    type identityref {\r
+      base SEVERITY_TYPE;\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  typedef fd-status-type {\r
+    type identityref {\r
+      base FD_STATUS_TYPE;\r
+    }\r
+    description\r
+      "Current Status of the Forwarding Domain";\r
+  }\r
+\r
+  grouping problem-kind-severity-type {\r
+    leaf problem-kind-name {\r
+      type string;\r
+      description\r
+        "Name of the alarm according to SupportedAlarmList";\r
+    }\r
+    leaf problem-kind-severity {\r
+      type severity-type;\r
+      default "SEVERITY_TYPE_NOT_YET_DEFINED";\r
+      description\r
+        "Severity of this type of alarm.";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping mac-fd-current-problem-type {\r
+    leaf problem-name {\r
+      type string;\r
+      default "Problem name not specified.";\r
+      config false;\r
+      description\r
+        "Name of the alarm according to SupportedAlarmList";\r
+    }\r
+    uses current-problem;\r
+    description\r
+      "none";\r
+  }\r
+}\r