Use model artifact from scp/oam/modeling repository 48/4548/2
authorRavi Pendurty <ravi.pendurty@highstreet-technologies.com>
Fri, 14 Aug 2020 05:41:09 +0000 (07:41 +0200)
committerMartin Skorupski <martin.skorupski@highstreet-technologies.com>
Fri, 14 Aug 2020 08:20:06 +0000 (08:20 +0000)
artifactId - x-ran-ru-fh-model groupId - org.o-ran-sc.scp-oam-modeling.features

Issue-ID: OAM-145
Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
Change-Id: Ib25bad37a15f75fa4f18563c8a5136969359754b

37 files changed:
features/devicemanager/x-ran/ru-fh/provider/pom.xml
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-ald-port.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-dhcp.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-externalio.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-interfaces.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-mplane-int.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-processing-element.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-transceiver.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-ald.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-ecpri-delay.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-file-management.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-lbm.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-operations.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-performance-management.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-software-management.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-troubleshooting.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-udp-echo.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-uplane-conf.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-beamforming.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-delay-management.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-module-cap.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/readme.txt [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/sync/xran-sync.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-alarm-id.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-fan.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-fm.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-hardware.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-supervision.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-usermgmt.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/iana-hardware.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-alarms@2019-09-11.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-hardware.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-interfaces.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/iana-if-type.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/ietf-dhcpv6-types.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/ietf-ip.yang [deleted file]
features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/org-openroadm-user-mgmt.yang [deleted file]

index 0d0f990..75cdf81 100644 (file)
@@ -64,8 +64,8 @@
 
         <!-- end for testing -->
         <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>devicemanager-xran-ru-fh-model</artifactId>
+            <groupId>org.o-ran-sc.scp-oam-modeling.features</groupId>
+            <artifactId>x-ran-ru-fh-model</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-ald-port.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-ald-port.yang
deleted file mode 100644 (file)
index ab3a4b9..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-module xran-ald-port {
-  yang-version 1.1;
-  namespace "urn:xran:ald-port:1.0";
-  prefix "xran-ald-port";
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the input state and output configuration for
-    the xRAN Radio Unit Antenna Line Device capability.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  feature OVERCURRENT-SUPPORTED {
-    description
-      "This feature indicates that the RU supports the over-current notification
-      capability.";
-  }
-
-  container ald-ports-io {
-    description
-      "ALD port information.
-       ALD port of the RU that can be used to connect External Equipment (Antenna Line Devices).
-       Communication uses AISG over HDLC.
-       Physical connection depends on connector type offered by the port (RS-485 or antenna line)
-       Note: Single instance of ALD Port can point to more than one antenna line devices.";
-
-    leaf over-current-supported {
-      type boolean;
-      default false;
-      description
-           "Set to TRUE when the RU supports over curent notifications";
-    }
-
-    list ald-port {
-      key "name";
-      description
-        "Leaf nodes describing ALD Port";
-      leaf name {
-        type string {
-          length "1..255";
-        }
-        description
-          "A name that is unique across the RU that identifies a ald port instance.
-          This name may be used in fault management to refer to a fault source
-          or affected object";
-      }
-
-      leaf port-id {
-        type uint8;
-                   config false;
-                   mandatory true;
-
-                   description
-          "A number which identifies an ALD Port.
-          The number of the Physical ALD port connector in the module.
-          If the module supports 2 ALD Port connectors, use 0 and 1.";
-      }
-
-      leaf dc-control-support{
-        type boolean;
-        config false;
-                   mandatory true;
-
-                   description
-          "It is shown that on/off in the DC power supply is possible.
-          In case of False, power supply is always on.";
-      }
-
-      leaf dc-enabled{
-                   when "./../dc-control-support = 'true'";
-        type boolean;
-
-                   description
-          "If dc-control-support is true case, this leaf is effective.
-          In case of true, the power supply is turned on.";
-      }
-
-      leaf supported-connector{
-        type enumeration {
-                     enum ANTENNA_CONNECTOR {
-                       description
-                               "This ald port is related to antenna connector";
-                     }
-                     enum RS485_PORT {
-                       description
-                               "This ald port is related to RS485 port";
-                     }
-                   }
-        config false;
-                   mandatory true;
-
-                   description
-          "Informs about the connectors of Module which ALDs are connected to.
-          This value is depending on HW design.";
-      }
-    }
-  }
-
-  notification overcurrent-report {
-    if-feature OVERCURRENT-SUPPORTED;
-
-         description
-      "The RU is able to report overcurrent condition about Port.
-      This function is depending on HW design.
-      The notification depend on power consumption which connected ALD devices and module.";
-
-         container overload-condition {
-      description
-             "Container used in notification";
-
-           leaf-list overloaded-ports {
-        type leafref {
-          path "/ald-ports-io/ald-port/name";
-        }
-
-        description
-                     "List of overloaded ports";
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-dhcp.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-dhcp.yang
deleted file mode 100644 (file)
index 8b2a94e..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-module xran-dhcp {
-  yang-version 1.1;
-  namespace "urn:xran:dhcp:1.0";
-  prefix "xran-dhcp";
-
-  import ietf-interfaces {
-    prefix "if";
-  }
-
-  import ietf-inet-types {
-    prefix "inet";
-  }
-
-  import ietf-dhcpv6-types {
-    prefix dhcpv6-type;
-    revision-date 2018-01-30;
-  }
-
-  organization "xRAN Alliance";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the YANG definitions for managng the DHCP client on
-    the xRAN Radio Unit.
-
-    Copyright 2018 Members of the xRAN alliance.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  typedef netconf-client-id {
-    type union {
-      type inet:ip-address;
-      type inet:uri;
-    }
-    description "A NETCONF client identifier";
-  }
-
-  grouping netconf-clients {
-    description "the netconf clients discovered using DHCP";
-    list netconf-clients{
-      key client;
-      description "A list of IP addresses or URIs for NETCONF clients";
-      leaf client{
-        type netconf-client-id;
-        description "the client identifier";
-      }
-      leaf optional-port {
-        type inet:port-number;
-        description "an optional (non-default) port";
-      }
-    }
-  }
-
-  grouping dhcpv4-option {
-    description "DHCPv4 Configuration options";
-
-    leaf dhcp-server-identifier {
-      type  inet:ip-address;
-      description "DHCP server identifier";
-    }
-    leaf domain-name {
-      type  string;
-      description "Name of the domain";
-    }
-    leaf-list domain-name-servers {
-      type  inet:ip-address;
-      description "A list of DNS servers";
-    }
-    leaf interface-mtu {
-      type  uint32 {
-        range "0..65535";
-      }
-      description "Minimum Transmission Unit (MTU) of the interface";
-    }
-    leaf-list default-gateways{
-      type inet:ip-address;
-      description "the list of default gateways on the RUs subnet";
-    }
-    leaf vendor-specific-option {
-      type string;
-      description "The vendor specific option #43";
-    }
-    uses netconf-clients;
-  }
-
-  grouping dhcpv6-option {
-    description "DHCPv6 Configuration options";
-
-    container dhcp-server-identifier{
-      description "dhcpv6 server identifief";
-      uses dhcpv6-type:duid;
-    }
-    leaf domain-name {
-      type  string;
-      description "Name of the domain";
-    }
-    leaf-list domain-name-servers {
-      type  inet:ip-address;
-      description "A list of DNS servers";
-    }
-    uses netconf-clients;
-  }
-
-  container dhcp {
-    config false;
-    description
-      "DHCP client configuration";
-
-    list interfaces {
-      key "interface";
-      description "Interface configuration";
-
-      leaf interface {
-        type if:interface-ref;
-        description "Name of the interface";
-      }
-
-      container dhcpv4 {
-        description "DHCPv4 information";
-        leaf client-id {
-          type string;
-          description "DHCP client identifier";
-        }
-        uses dhcpv4-option;
-      }
-      container dhcpv6 {
-        description "DHCPv6 information";
-        container dhcp-client-identifier{
-          description "dhcpv6 client identifief";
-          uses dhcpv6-type:duid;
-        }
-        uses dhcpv6-option;
-      }
-    }
-
-    container m-plane-dhcp {
-      description "leafs covering off DHCP aspects of m-plane operations";
-      leaf private-enterprise-number {
-        type uint16;
-        description "the private eneteprrise number allocated to xRAN";
-      }
-      leaf vendor-class-data {
-        type string;
-        description
-          "The string used in DHCPv4 option 60 or DHCPv4 option 124 and
-          DHCPv6 option 16";
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-externalio.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-externalio.yang
deleted file mode 100644 (file)
index a78a710..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-module xran-externalio {
-  yang-version 1.1;
-  namespace "urn:xran:external-io:1.0";
-  prefix "xran-io";
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the input state and output configuration for
-    the xRAN Radio Unit external IO.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  container external-io {
-    description
-      "External IO information.";
-    list input {
-      key "name";
-      config false;
-      description
-        "Leaf nodes describing external line inputs";
-      leaf name {
-        type string {
-          length "1..255";
-        }
-        description
-        "A name that is unique across the RU that identifies an input port instance.
-        This name may be used in fault management to refer to a fault source
-        or affected object";
-      }
-      leaf port-in {
-        type uint8;
-        description
-          "A number which identifies an external input port.";
-      }
-
-      leaf line-in {
-        type boolean;
-        default true;
-        description
-          "Value TRUE indicates that circuit is open.
-           Value FALSE indicates that circuit is closed.
-
-           Usually when nothing is connected to the line the value is TRUE.
-           The details of external line-in implementation are HW specific.";
-      }
-    }
-
-    list output {
-      key "name";
-      description
-        "Leaf nodes describing external line outputs";
-      leaf name {
-        type string {
-          length "1..255";
-        }
-        description
-          "A name that is unique across the RU that identifies an output port instance.
-          This name may be used in fault management to refer to a fault source
-          or affected object";
-      }
-      leaf port-out {
-        type uint8;
-        mandatory true;
-        description
-          "A number which identifies an external output port.";
-      }
-
-      leaf line-out {
-        type boolean;
-        default true;
-        description
-          "Value TRUE indicates that circuit is in its natural state.
-           Value FALSE indicates that circuit is not in its natural state.";
-      }
-    }
-  }
-
-  notification external-input-change {
-    description
-      "Notification used to indicate that external line input has changed state";
-    container current-input-notification {
-      description "a container for the state of the input ports";
-      list external-input {
-        key "name";
-        description "a list of the input ports and their state";
-        leaf name{
-          type leafref{
-            path "/external-io/input/name";
-          }
-          description "the name of the ald-port";
-        }
-        leaf io-port {
-          type leafref{
-            path  "/external-io/input/port-in";
-          }
-          description "the external input port";
-        }
-        leaf line-in {
-          type leafref{
-            path  "/external-io/input/line-in";
-          }
-          description "the state of the external input port";
-        }
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-interfaces.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-interfaces.yang
deleted file mode 100644 (file)
index a4a0aaa..0000000
+++ /dev/null
@@ -1,385 +0,0 @@
-module xran-interfaces {
-  yang-version 1.1;
-  namespace "urn:xran:interfaces:1.0";
-  prefix "xran-int";
-
-
-  import ietf-inet-types {
-    prefix "inet";
-  }
-
-  import iana-if-type {
-    prefix "ianaift";
-  }
-
-  import ietf-interfaces {
-    prefix "if";
-  }
-
-  import ietf-ip {
-    prefix "ip";
-  }
-
-  import ietf-hardware {
-    prefix "hw";
-  }
-
-  import ietf-yang-types {
-    prefix "yang";
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the YANG definitions for managng the xRAN Radio Unit
-     interfaces.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  identity XRAN-INTERFACE-TYPE {
-    base if:interface-type;
-    description
-      "This identity is used as a base for all interface types
-       defined by xRAN.";
-  }
-
-  identity ALIASMAC-INTERFACE {
-    base XRAN-INTERFACE-TYPE;
-    description
-      "Identity type for alias MAC based CU plane interface,
-      whwere multiple MAC addresses are used on the same Ethernet interface. ";
-  }
-
-  identity ETH-INTERFACE {
-    base XRAN-INTERFACE-TYPE;
-    description
-      "identity type for ethernet plus vlan based CU plane interface. ";
-  }
-
-  identity UDPIP-INTERFACE {
-    base XRAN-INTERFACE-TYPE;
-    description
-      "identity type for UDP/IP based CU plane interface. ";
-  }
-
-  feature UDPIP-BASED-CU-PLANE {
-    description
-      "This feature indicates that the RU supports the UDP/IP based transport
-      for the CU plane.";
-  }
-
-  feature ALIASMAC-BASED-CU-PLANE {
-    description
-      "This feature indicates that the RU supports the alias MAC address
-       based transport for the CU plane.";
-  }
-
-
-  typedef pcp {
-    type uint8 {
-      range "0..7";
-    }
-    description
-      "Priority Code Point. PCP is a 3-bit field that refers to the
-      class of service applied to a VLAN tagged frame.  The
-      field specifies a priority value between 0 and 7, these values
-      can be used by quality of service (QoS) to prioritize
-      different classes of traffic.";
-    reference
-     "IEEE 802.1Q-2014: Virtual Bridged Local Area Networks";
-  }
-
-  grouping cos-marking {
-    description
-      "Configuration data for CU Plane ethernet CoS marking";
-    leaf u-plane-marking {
-      type pcp;
-      default 7;
-      description "7 represents highest priority for u-plane marking";
-    }
-    leaf c-plane-marking {
-      type pcp;
-      default 7;
-      description "7 represents highest priority for c-plane marking";
-    }
-    leaf m-plane-marking {
-      type pcp;
-      default 2;
-      description "2 represents highest excellent effort for m-plane marking";
-    }
-       leaf s-plane-marking {
-      type pcp;
-      default 7;
-      description "7 represents highest priority for s-plane marking";
-       }
-       leaf other-marking {
-      type pcp;
-      default 1;
-      description "1 represents best effort for other marking";
-       }
-  }
-
-  grouping xran-dscp-marking {
-    description
-      "Configuration data for CU Plane DSCP CoS marking";
-    leaf u-plane-marking {
-      type inet:dscp;
-      default 46;
-      description "46 represents expedited forwarding";
-    }
-    leaf c-plane-marking {
-      type inet:dscp;
-      default 46;
-      description "46 represents expedited forwarding";
-    }
-    leaf m-plane-marking {
-      type inet:dscp;
-      default 18;
-      description "18 represents AF21 or 'immediate traffic'";
-    }
-       leaf s-plane-marking {
-      type inet:dscp;
-      default 46;
-      description "46 represents expedited forwarding";
-       }
-       leaf other-marking {
-      type inet:dscp;
-      default 0;
-      description "0 represents best effort forwarding";
-       }
-  }
-
-
-  augment '/if:interfaces/if:interface' {
-    when "derived-from-or-self(if:type, 'xran-int:XRAN-INTERFACE-TYPE')";
-    description
-      "Applicable for xran interfaces which use references to a port
-      component.";
-
-    container port-reference {
-      description
-        "a port reference used by other xRAN modules";
-      leaf xran-port-name {
-        type leafref {
-          path '/hw:hardware/hw:component/hw:name';
-        }
-        description
-          "xRAN interfaces use a reference to a physical port component";
-      }
-      leaf xran-port-number {
-        type uint8;
-        description
-          "A number allocated by the server which identifies a port.
-          Port number value is 0 to N-1 where N is number of ports
-          in the device.
-
-          This value is fixed for the lifetime of the RU, i.e., cannot be
-          changed suring RU reboots.";
-      }
-    }
-    leaf last-cleared {
-      type yang:date-and-time;
-      config false;
-      description
-        "Timestamp of the last time the interface counters were
-        cleared.";
-    }
-  }
-
-  // Augmentation for lower layer definition
-
-  augment '/if:interfaces/if:interface' {
-    when "derived-from-or-self(if:type, 'xran-int:XRAN-INTERFACE-TYPE') and
-          not(if:lower-layer-if)" {
-      description
-        "Data specific for an xRAN bottom level interface, i.e.,
-        use relative path to check the current interface does not have any
-        lower-layer-if defined";
-    }
-    description
-      "Augments interfaces/interface with xRAN information .";
-    container physical-int {
-      description "container for physical interface";
-      leaf maximum-speed {
-        type enumeration {
-          enum 1000BASE {
-            description "1GbE";
-          }
-          enum 2.5GBASE {
-            description "2.5GbE";
-          }
-          enum 5GBASE{
-            description "5GbE";
-          }
-          enum 10GBASE{
-            description "10GbE";
-          }
-          enum 25GBASE{
-            description "25GbE";
-          }
-          enum 40GBASE{
-            description "40GbE";
-          }
-          enum 50GBASE{
-            description "50GbE";
-          }
-          enum 100GBASE{
-            description "100GbE";
-          }
-        }
-        config false;
-        description "maximum speed of physical interface";
-      }
-      leaf cable-type {
-        type enumeration {
-            enum TWISTED-PAIR{
-              description "twisted pair";
-            }
-            enum FIBER-OPTIC{
-              description "fiber optic";
-            }
-        }
-        config false;
-        description "type of cable";
-      }
-    }
-  }
-
-// Augmentation for basic Ethernet leafs
-
-  augment "/if:interfaces/if:interface" {
-    when "derived-from-or-self(if:type, 'ianaift:ethernetCsmacd') or
-          derived-from-or-self(if:type, 'ianaift:l2vlan')" {
-      description "Applies to Ethernet interfaces";
-    }
-    description
-      "Augment the interface model with parameters for all
-      Ethernet-like interfaces
-
-      Contains parameters for interfaces that use Ethernet framing
-      and expose an Ethernet MAC layer";
-    leaf l2-mtu {
-      type uint16 {
-        range "64 .. 65535";
-      }
-      units bytes;
-      default 1500;
-      description
-        "The maximum size of layer 2 frames that may be transmitted
-        or received on the interface (excluding any FCS overhead).
-        For Ethernet interfaces it also excludes the
-        4-8 byte overhead of any known (i.e. explicitly matched by
-        a child sub-interface) 801.1Q VLAN tags.";
-    }
-    leaf mac-address {
-      type yang:mac-address;
-      description
-        "The MAC address of the interface.";
-    }
-    leaf bia-mac-address {
-      type yang:mac-address;
-      config false;
-      description
-        "The 'burnt-in' MAC address.  I.e the default MAC address
-        assigned to the interface if no MAC address has been
-        explicitly configured on it.";
-    }
-    leaf-list alias-macs {
-      when "derived-from-or-self(../if:type, 'xran-int:ALIASMAC-INTERFACE')";
-      if-feature ALIASMAC-BASED-CU-PLANE;
-      type yang:mac-address;
-      config false;
-      description
-        "Augments interfaces with range of alias MAC addresses.";
-    }
-    leaf vlan-tagging {
-      type boolean;
-      default true;
-      description
-        "Indicates if VLAN tagging is used.
-        Default true is used to enable an RU to auonomously discover that it is
-        connected to a trunk port.";
-    }
-    uses cos-marking;
-  }
-
-// augmentation for VLAN definition
-
-  augment "/if:interfaces/if:interface" {
-    when "derived-from-or-self (if:type, 'ianaift:l2vlan')";
-    description "augments for VLAN definition";
-    leaf base-interface {
-      type if:interface-ref;
-      must "/if:interfaces/if:interface[if:name = current()]"
-            + "/xran-int:vlan-tagging = 'true'" {
-        description
-          "The base interface must have VLAN tagging enabled.";
-      }
-      description
-        "The base interface for the VLAN sub-interafce.";
-    }
-    leaf vlan-id {
-      type uint16 {
-        range "1..4094";
-      }
-      description
-        "The VLAN-ID.";
-    }
-  }
-
-  // Augmention to ietf-ip covering DSCP
-
-  augment "/if:interfaces/if:interface/ip:ipv4" {
-    when "derived-from-or-self(../if:type, 'xran-int:UDPIP-INTERFACE')";
-    if-feature UDPIP-BASED-CU-PLANE;
-    description "augments for IPv4 based transport";
-    uses xran-dscp-marking;
-  }
-  augment "/if:interfaces/if:interface/ip:ipv6" {
-    when "derived-from-or-self(../if:type, 'xran-int:UDPIP-INTERFACE')";
-    if-feature UDPIP-BASED-CU-PLANE;
-    description "augments for IPv6 based transport";
-    uses xran-dscp-marking;
-  }
-
-  rpc reset-interface-counters {
-    description
-      "Management plane triggered restart of the interface counters.";
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-mplane-int.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-mplane-int.yang
deleted file mode 100644 (file)
index 778d37a..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-module xran-mplane-int {
-  yang-version 1.1;
-  namespace "urn:xran:mplane-interfaces:1.0";
-  prefix "xran-mplane-int";
-
-  import ietf-inet-types {
-    prefix "inet";
-  }
-
-  import ietf-interfaces {
-    prefix "if";
-  }
-
-  import xran-interfaces {
-    prefix "xran-int";
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the YANG definitions for managng the xRAN Radio Unit
-     management plane interface.
-
-     Copyright 2018 the xRAN Forum.
-
-     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-     POSSIBILITY OF SUCH DAMAGE.
-
-     Redistribution and use in source and binary forms, with or without
-     modification, are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice,
-     this list of conditions and the above disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-     this list of conditions and the above disclaimer in the documentation
-     and/or other materials provided with the distribution.
-     * Neither the Members of the xRAN Forum nor the names of its
-     contributors may be used to endorse or promote products derived from
-     this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  typedef vlan-id {
-    type uint16 {
-      range 1..4094;
-    }
-    description
-      "Type definition representing a single-tagged VLAN";
-  }
-  container mplane-info {
-    description "top level container for management plane information";
-    container searchable-mplane-access-vlans-info {
-      description
-        "These parameters shall be stored by the RU in reset persistant memory
-        to enable it to be re-used to optimize VALN discovery procerdures.";
-      leaf-list searchable-access-vlans {
-        type vlan-id;
-        description
-          "A list of access VLANs that may be operational on the transport
-          network. Can be used by the RU to optimize its VLAN searching - for
-          M-plane operations.";
-      }
-      container vlan-range {
-        description "the range of VLAN IDs that may be configured for M-Plane";
-        leaf lowest-vlan-id {
-          type vlan-id;
-          description
-            "Value of this parameter informs RU about lowest VID to be used
-            in VLAN scan procedure";
-        }
-        leaf highest-vlan-id {
-          type vlan-id;
-          description
-            "Value of this parameter informs RU about highest VID to be used
-            in VLAN scan procedure";
-        }
-      }
-    }
-
-    container m-plane-interfaces {
-      description "information concerning m-plane interfaces";
-      list m-plane-sub-interfaces {
-        key "interface-name sub-interface";
-        description "list of m-plane information";
-        leaf interface-name {
-          type leafref {
-            path "/if:interfaces/if:interface/if:name";
-          }
-          description "the name of the interface";
-        }
-        leaf sub-interface {
-          type leafref {
-            path "/if:interfaces/if:interface[if:name = current()/../interface-name]/xran-int:vlan-id";
-          }
-          description
-            "vlans used to communicate with management plane servers.";
-        }
-        container client-info {
-          description "the NETCONF client information";
-          list mplane-ipv4-info {
-            key mplane-ipv4;
-            description "list of IPv4 NETCONF clients";
-            leaf mplane-ipv4 {
-              type inet:ipv4-address;
-              description "The IPv4 address of M-Plane client discovered by the RU
-              or manually configured.";
-            }
-            leaf port {
-              type inet:port-number;
-              default "4334";
-              description
-                "The port number the call home server listens on.";
-            }
-          }
-          list mplane-ipv6-info {
-            key mplane-ipv6;
-            description "list of IPv6 NETCONF clients";
-            leaf mplane-ipv6 {
-              type inet:ipv6-address;
-              description "The IPv6 address of M-Plane client discovered by the RU
-              or manually configured.";
-            }
-            leaf port {
-              type inet:port-number;
-              default "4334";
-              description
-                "The port number the call home server listens on.";
-            }
-          }
-          leaf-list mplane-fqdn {
-            type inet:domain-name;
-            description "The discovered FQDN(s) of M-Plane client(s).";
-          }
-        }
-      }
-
-      container m-plane-ssh-ports {
-        description "leafs for managing SSH ports";
-        leaf call-home-ssh-port {
-          type inet:port-number;
-          default 4334;
-          description "call home server port number";
-        }
-        leaf server-ssh-port {
-          type inet:port-number;
-          default 830;
-          description "SSH server port number";
-        }
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-processing-element.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-processing-element.yang
deleted file mode 100644 (file)
index c3809ab..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-module xran-processing-element {
-  yang-version 1.1;
-  namespace "urn:xran:processing-element:1.0";
-  prefix "xran-elements";
-
-  import ietf-yang-types {
-    prefix yang;
-  }
-
-  import ietf-inet-types {
-    prefix "inet";
-  }
-
-  import ietf-interfaces {
-    prefix "if";
-  }
-
-  import ietf-ip {
-    prefix "ip";
-  }
-
-  import xran-interfaces {
-    prefix "xran-int";
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the YANG definitions for mapping of transport flows to
-    processing elements. Three options are supported:
-    i) virtual MAC based mapping
-    ii) MAC addrress + VLAN-ID based mapping
-    iii) UDP/IP based mapping
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  identity XRAN-INTERFACE-TYPE {
-    base if:interface-type;
-    description
-      "This identity is used as a base for all interface types
-       defined by xRAN.";
-  }
-
-  identity ALIASMAC-INTERFACE {
-    base XRAN-INTERFACE-TYPE;
-    description
-      "Identity type for alias MAC based CU plane interface,
-      whwere multiple MAC addresses are used on the same Ethernet interface. ";
-  }
-
-  identity ETH-INTERFACE {
-    base XRAN-INTERFACE-TYPE;
-    description
-      "identity type for ethernet plus vlan based CU plane interface. ";
-  }
-
-  identity UDPIP-INTERFACE {
-    base XRAN-INTERFACE-TYPE;
-    description
-      "identity type for UDP/IP based CU plane interface. ";
-  }
-
-  container processing-elements {
-    description
-      "a model defining the mapping between transport flows and arbitrary
-      xRAN processing elements. A processing element may be then defined for
-      handling connectivity or delay procedures, or defined with a corresponding
-      eaxcid for CU plane operations";
-    leaf transport-session-type {
-      type identityref {
-        base XRAN-INTERFACE-TYPE;
-      }
-      description
-        "the type of transport session used for identifying different processing
-        elements";
-    }
-    list ru-elements {
-      key "name";
-      description
-        "the list of transport definitions for each processing element";
-      leaf name {
-        type string {
-          length "1..255";
-        }
-        description
-          "A name that is unique across the RU that identifies a processing
-          element instance.
-
-          This name may be used in fault management to refer to a fault source
-          or affected object";
-      }
-      container transport-flow {
-        description
-          "container for the transport-flow used for CU plane";
-        leaf interface-name {
-          type leafref {
-            path "/if:interfaces/if:interface/if:name";
-          }
-          description "the interface name ";
-        }
-        container aliasmac-flow {
-          when "derived-from(../../../transport-session-type, 'ALIASMAC-INTERFACE')";
-          if-feature xran-int:ALIASMAC-BASED-CU-PLANE;
-          description "leafs for virtual mac type data flows";
-          leaf ru-aliasmac-address {
-            type leafref {
-              path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/xran-int:alias-macs";
-            }
-            config false;
-            mandatory true;
-            description
-              "RU's alias MAC address used for alias MAC based flow";
-          }
-          leaf vlan-id {
-            type leafref {
-              path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/xran-int:vlan-id";
-            }
-            description
-              "RU's VLAN-ID used for alias MAC based flow";
-          }
-          leaf llscu-mac-address {
-            type yang:mac-address;
-            mandatory true;
-            description
-              "lls-CU's MAC address used for alias MAC based flow";
-          }
-        }
-        container eth-flow {
-          when "derived-from(../../../transport-session-type, 'ETH-INTERFACE')";
-          description "leafs for mac + vlan-id type data flows";
-          leaf ru-mac-address {
-            type leafref {
-              path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/xran-int:mac-address";
-            }
-            mandatory true;
-            description
-              "RU's MAC address used for Ethernet based flow";
-          }
-          leaf vlan-id {
-            type leafref {
-              path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/xran-int:vlan-id";
-            }
-            mandatory true;
-            description
-              "RU's VLAN-ID used for Ethernet based flow";
-          }
-          leaf llscu-mac-address {
-            type yang:mac-address;
-            mandatory true;
-            description
-              "lls-CU's MAC address used for alias MAC based flow";
-          }
-        }
-        container udpip-flow {
-          when "derived-from(../../../transport-session-type, 'UDPIP-INTERFACE')";
-          if-feature xran-int:UDPIP-BASED-CU-PLANE;
-          description "leafs for UDP/IP type data flows";
-          choice address {
-            leaf ru-ipv4-address {
-              type leafref {
-                path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/ip:ipv4/ip:address/ip:ip";
-              }
-              description "RU's IPv4 address";
-            }
-            leaf ru-ipv6-address {
-              type leafref {
-                path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/ip:ipv6/ip:address/ip:ip";
-              }
-              description "RU's IPv6 address";
-            }
-            mandatory true;
-            description "choice of RU IPv4 or IPv6 address";
-          }
-          leaf llscu-ip-address {
-            type inet:ip-address;
-            mandatory true;
-            description "lls-CU's IPv address";
-          }
-          leaf ru-ephemeral-udp-port {
-            type inet:port-number;
-            mandatory true;
-            description
-              "ephemeral port used by RU";
-          }
-          leaf llscu-ephemeral-udp-port {
-            type inet:port-number;
-            mandatory true;
-            description
-              "ephemeral port used by lls-CU";
-          }
-          leaf destination-udp {
-            type inet:port-number;
-            mandatory true;
-            description "the well known UDP port number used by eCPRI";
-            // fixme - add in a default when allocated by IANA
-          }
-        }
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-transceiver.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-transceiver.yang
deleted file mode 100644 (file)
index df0cb36..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-module xran-transceiver {
-  yang-version 1.1;
-  namespace "urn:xran:transceiver:1.0";
-  prefix "xran-transceiver";
-
-  import xran-interfaces {
-    prefix "xran-int";
-  }
-
-  import ietf-interfaces {
-    prefix "if";
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the operational state data for SFP transceivers used in
-    an xRAN Radio Unit.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  container port-transceivers {
-    description
-      "Container for Port transceiver information.
-      Leaf nodes providing  parameters status and diagnostic
-      information for pluggable transceiver module (like SFP,
-      SFP+, SFP28)";
-    list port-transceiver-data {
-      key "interface-name port-number";
-      description "data recovered from port transceivers";
-      leaf interface-name {
-        type leafref {
-          path "/if:interfaces/if:interface/if:name";
-        }
-        description "Name of interface";
-      }
-      leaf port-number {
-        type leafref {
-          path "/if:interfaces/if:interface[if:name = current()/../interface-name]/xran-int:port-reference/xran-int:xran-port-number";
-        }
-        description
-        "A number which identifies a port. In case of SFP/SFP+
-        port, port number value is 0 to N-1 where N is number of ports
-        in the device. Numbers 0 to N-1 are assigned to ports in order
-        following order of labels on the device (labels for ports are
-        not necessarily numbers starting from zero)";
-      }
-
-      leaf name {
-        type string {
-          length "1..255";
-        }
-        description
-          "A name that is unique across the RU that identifies a transceiver instance.
-          This name may be used in fault management to refer to a fault source
-          or affected object";
-      }
-
-      leaf present {
-        type boolean;
-        config false;
-        mandatory true;
-        description
-          "Indicates if pluggable transceiver module is present.";
-      }
-
-      leaf vendor-id {
-        type string {
-          length 1..16;
-        }
-        config false;
-        description
-          "Name of the transciever vendor Full name of transceiver vendor,
-          that contains ASCII characters, left-aligned with
-          any padding on the right with ASCII spaces (20h), or ASCII nul
-          (00h) removed, and ASCII less-than (3Ch) replaced with ASCII
-          open-brace (7Bh) and ASCII more-than (3Eh) replaced with ASCII
-          close-brace (7Dh).
-
-          Optional node included when the NETCONF Server has determined
-          the vendor ID.";
-      }
-
-      leaf vendor-part {
-        type string {
-          length 1..16;
-        }
-        config false;
-        description
-          "Transceiver vendors part number, that contains ASCII characters,
-          left-aligned with any padding on the right with ASCII spaces
-          (20h), or ASCII nul (00h) removed, and ASCII less-than (3Ch)
-          replaced with ASCII open-brace (7Bh) and ASCII more-than (3Eh)
-          replaced with ASCII close-brace (7Dh).
-
-          Optional node included when the NETCONF Server has determined
-          the vendor part number.";
-      }
-
-      leaf vendor-rev {
-        type string {
-          length 1..2;
-        }
-        config false;
-        description
-          "Transceiver vendors revision number. 2-octet field that
-          contains ASCII characters.
-
-          Optional node included when the NETCONF Server has determined
-          the vendor revision number";
-      }
-
-      leaf serial-no {
-        type string {
-          length 1..16;
-        }
-        config false;
-        description
-          "Transceiver serial number encoded using ASCII characters,
-          left-aligned with any padding on the right with ASCII spaces
-          (20h), or ASCII nul (00h) removed, and ASCII less-than (3Ch)
-          replaced with ASCII open-brace (7Bh) and ASCII more-than (3Eh)
-          replaced with ASCII close-brace (7Dh).
-
-          Optional node included when the NETCONF Server has determined
-          the serial number.";
-      }
-
-      leaf SFF8472-compliance-code {
-        type enumeration {
-          enum diagnostics-undefined {
-            description "undefined compliance code";
-          }
-          enum rev9.3-diagnostics {
-            description "diagnostics published 08-01-02";
-          }
-          enum rev9.5-diagnostics{
-            description "diagnostics published 06-01-04";
-          }
-          enum rev10.2-diagnostics{
-            description "diagnostics published 06-01-07";
-          }
-          enum rev11.0-diagnostics{
-            description "diagnostics published 05-21-10";
-          }
-          enum rev11.3-diagnostics{
-            description "diagnostics published 06-11-13";
-          }
-          enum rev11.4-diagnostics{
-            description "diagnostics published 07-24-14";
-          }
-          enum rev12.0-diagnostics{
-            description "diagnostics published 08-28-14";
-          }
-        }
-        config false;
-        description
-          "Indication of which feature set(s) are
-          implemented in the transceiver from Byte 94 of address A0h
-          https://ta.snia.org/higherlogic/ws/public/download/294/SFF-8472.PDF";
-
-          // FIXME is this optional or mandatory?
-        reference "https://ta.snia.org/higherlogic/ws/public/download/294/SFF-8472.PDF";
-      }
-
-       leaf connector-type {
-        type enumeration {
-          enum unknown {
-            description "encoded as 00h in Table 4-3 of SFF-8024";
-          }
-          enum subscrber-connector {
-            description "encoded as 01h in Table 4-3 of SFF-8024";
-          }
-          enum fiber-jack {
-            description "encoded as 06h in Table 4-3 of SFF-8024";
-          }
-          enum lucent-connector {
-            description "encoded as 07h in Table 4-3 of SFF-8024";
-          }
-          enum mt-rj {
-            description "encoded as 08h in Table 4-3 of SFF-8024";
-          }
-          enum multiple-optical {
-            description "encoded as 09h in Table 4-3 of SFF-8024";
-          }
-          enum sg {
-            description "encoded as 0Ah in Table 4-3 of SFF-8024";
-          }
-          enum optical-pigtail {
-            description "encoded as 0Bh in Table 4-3 of SFF-8024";
-          }
-          enum multi-fiber-parralel-optic-1x12 {
-            description "encoded as 0Ch in Table 4-3 of SFF-8024";
-          }
-          enum multi-fiber-parralel-optic-2x16 {
-            description "encoded as 0Dh in Table 4-3 of SFF-8024";
-          }
-          enum hssdc_2{
-            description "encoded as 20h in Table 4-3 of SFF-8024";
-          }
-          enum copper-pigtail{
-            description "encoded as 21h in Table 4-3 of SFF-8024";
-          }
-          enum rj45{
-            description "encoded as 22h in Table 4-3 of SFF-8024";
-          }
-          enum no-separable-connector{
-            description "encoded as 23h in Table 4-3 of SFF-8024";
-          }
-          enum mxc-2x16{
-            description "encoded as 24h in Table 4-3 of SFF-8024";
-          }
-        }
-        config false;
-        // TOCHECK: Remove any enumerations which are not applicable
-        description
-          "Connector-type indicates the external optical or electrical cable
-          connector provided as the media interface as defined in the connector
-          types derived from table 4-3 in SFF-8024.";
-          // FIXME is this optional or mandatory?
-        reference "https://ta.snia.org/higherlogic/ws/public/document?document_id=944";
-      }
-
-      leaf nominal-bitrate {
-        type uint32;
-        config false;
-        description
-          "Nominal bitrate in Mb/s (10^6 bits per second).
-          If needed actual value is rounded to nearest integer.
-
-          Optional node included when the NETCONF Server has determined
-          the nominal bit rate.";
-      }
-
-      leaf low-bitrate-margin {
-        type uint8;
-        config false;
-        description
-          "Minimum supported bitrate as percentage of nominal bitrate
-          below nominal bitrate.
-
-          Optional node included when the NETCONF Server has determined
-          the low bit rate margin";
-      }
-
-      leaf high-bitrate-margin {
-        type uint8;
-        config false;
-        description
-          "Maximum supported bitrate as percentage of nominal bitrate
-          above nominal bitrate.
-
-          Optional node included when the NETCONF Server has determined
-          the high bitrate margin.";
-      }
-
-      leaf rx-power-type {
-        type enumeration {
-          enum oma {
-            description "oma = optical modulation amplitude";
-          }
-          enum avp{
-            description "avp = average power";
-          }
-        }
-        config false;
-        description
-          "Receieved power measurement type
-          oma = optical modulation amplitude
-          avp = average power";
-          // FIXME is this optional or mandatory?
-      }
-
-      leaf rx-power {
-        type decimal64{
-          fraction-digits 4;
-        }
-        config false;
-        description
-          "Measured RX input power in mW.
-
-          Optional node included when the NETCONF Server has determined
-          the measured RX power.";
-      }
-
-      leaf tx-power {
-        type decimal64{
-          fraction-digits 4;
-        }
-        config false;
-        description
-          "Measured coupled TX output power in mW.
-
-          Optional node included when the NETCONF Server has determined
-          the measured coupled TX power.";
-      }
-
-      leaf tx-bias-current {
-        type decimal64{
-          fraction-digits 4;
-        }
-        config false;
-        description
-          "Measured transmitter laser bias current in mA.
-
-          Optional node included when the NETCONF Server has determined
-          the tx bias current.";
-      }
-
-      leaf voltage {
-        type decimal64{
-          fraction-digits 4;
-        }
-        config false;
-        description
-          "Internally measured supply voltage in mV.
-
-          Optional node included when the NETCONF Server has determined
-          the internally measured voltage.";
-      }
-
-      leaf temperature {
-        type decimal64 {
-          fraction-digits 4;
-        }
-        config false;
-        description
-          "Internally measured module temperature in degrees Celcius.";
-          // FIXME is this optional or mandatory?
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-ald.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-ald.yang
deleted file mode 100644 (file)
index 4580992..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-module xran-ald {
-  yang-version 1.1;
-  namespace "urn:xran:ald:1.0";
-  prefix "xran-ald";
-
-  import xran-ald-port {
-    prefix "ap";
-  }
-
-  organization "xRAN Alliance";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the module for the ald communication.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  // rpc-statements
-  rpc ald-communication {
-    description
-      "Rpc to support communication between lls-CU and Antenna Line Devices";
-
-       input {
-      leaf port-id {
-           type leafref {
-                 path "/ap:ald-ports-io/ap:ald-port/ap:port-id";
-               }
-        mandatory true;
-        description
-          "Unique ALD port identifier reported by radio";
-      }
-
-         leaf ald-req-msg {
-           type binary {
-                 length "0..1200";
-               }
-
-               description
-                 "Response message to be forwarded to ALD in type of binary-string";
-         }
-    }
-
-       output {
-      leaf port-id {
-           type leafref {
-                 path "/ap:ald-ports-io/ap:ald-port/ap:port-id";
-               }
-        mandatory true;
-        description
-          "Unique ALD port identifier reported by radio";
-      }
-
-      leaf status {
-        type enumeration {
-          enum ACCEPTED {
-                   description
-                         "Operation was accepted, message was processed towards ALD and response is provided";
-                 }
-          enum REJECTED {
-                   description
-                         "Operation was rejected by RU";
-                 }
-        }
-        mandatory true;
-
-        description
-                 "Status of RPC handling seen from RU perspective";
-      }
-
-      leaf error-message {
-        when "../status='REJECTED'";
-        type string;
-
-               description
-                 "Detailed error message when the status is rejected. E.g. wrong ALD port identifier was used in RPC received from Netconf Client";
-      }
-
-         leaf ald-resp-msg {
-           type binary {
-                 length "0..1200";
-               }
-
-               description
-                 "Response message forwarded from ALD in type of binary-string";
-         }
-
-         leaf frames-with-wrong-crc {
-           type uint32;
-
-               description
-                 "Number of frames with incorrect CRC (FCS) received from ALD - running counter";
-         }
-
-         leaf frames-without-stop-flag {
-           type uint32;
-
-               description
-                 "Number of frames without stop flag received from ALD - running counter";
-         }
-
-         leaf number-of-received-octets {
-           type uint32;
-
-               description
-                 "Number of octets received from HDLC bus - running counter";
-         }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-ecpri-delay.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-ecpri-delay.yang
deleted file mode 100644 (file)
index 4929a32..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-module xran-ecpri-delay {
-  yang-version 1.1;
-  namespace "urn:xran:message5:1.0";
-  prefix "xran-msg5";
-
-  import xran-processing-element {
-    prefix "element";
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module is an optional module for supporting eCPRI message 5 handling
-    used for eCPRI based delay measurements.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  container ecpri-delay-message {
-    description "top level tree covering off lls-CU to RU msg5 delay measurement";
-
-    container ru-compensation {
-      config false;
-      description
-        "leafs for ru timing compensation based on message 5 handling";
-      leaf tcv2 {
-        type uint32;
-        units nanoseconds;
-        description
-          "a compensation value to account for expected delay from packet
-          receipt at R2 to timestamping in the RU";
-      }
-      leaf tcv1 {
-        type uint32;
-        units nanoseconds;
-        description
-          "a compensation value to account for expected processing time from
-          timestamping in the RU until actual packet transmission at R3";
-      }
-    }
-
-    leaf enable-message5 {
-      type boolean;
-      default false;
-      description
-        "whether RU's eCPRI message 5 handling is enabled.";
-    }
-
-    container message5-sessions {
-      description "session information for eCPRI message 5";
-
-      list session-parameters {
-        key "session-id";
-        description "list of MSG5 session information";
-        leaf session-id {
-          type uint32;
-          description "Session ID for MSG5 responder";
-        }
-        leaf processing-element-name {
-          type leafref {
-            path "/element:processing-elements/element:ru-elements/element:name";
-          }
-          description "the name of the processing element used for MSG5";
-        }
-        container flow-state {
-          config false;
-          description "MSG5 flow state";
-          leaf responses-transmitted {
-            type uint32;
-            description
-              "The total number of eCPRI mesage 5 response messages transmitted by
-              the RU.";
-          }
-          leaf requests-transmitted {
-            type uint32;
-            description
-              "The total number of eCPRI mesage 5 request messages transmitted by
-              the RU.";
-          }
-          leaf followups-transmitted {
-            type uint32;
-            description
-              "The total number of eCPRI mesage 5 follow up messages transmitted by
-              the RU.";
-          }
-        }
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-file-management.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-file-management.yang
deleted file mode 100644 (file)
index c63ffd0..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-module xran-file-management {
-  yang-version 1.1;
-  namespace "urn:xran:file-management:1.0";
-  prefix "xran-file-mgmt";
-
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the configuration and operations for handling upload.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  grouping file-path-grouping {
-    description "Complete logical path of the file on the RU to upload/download
-       (no wildcard is allowed) ex : /xRAN/log/syslog.1";
-
-    leaf local-logical-file-path {
-      type string;
-      mandatory true;
-         description "Local logical file path";
-    }
-
-    leaf remote-file-path {
-      type string;
-      mandatory true;
-         description "URI specifying the remote-file-path on lls-CU/NMS.
-      Format:sftp://user[:password]@host[:port]/path";
-    }
-  }
-
-  grouping output-status-grouping {
-    description "Status grouping";
-
-    leaf status {
-      type enumeration {
-        enum SUCCESS {
-                       description "";}
-        enum FAILURE {
-                       description "";}
-      }
-      description "Operation status";
-         }
-
-    leaf reject-reason {
-      when "../status = 'FAILURE'";
-         type string;
-         description "";
-       }
-  }
-
-  grouping credential-information{
-    description "Type of authentication to use for SFTP upload or download.";
-    choice credentials {
-      case password {
-        container password {
-          presence true;
-          leaf password {
-            type string;
-            mandatory true;
-            description
-              "password needed for authentication.";
-          }
-          description
-          "password authentication method in use";
-        }
-      }
-      case certificate {
-        container certificate {
-          presence true;
-          description
-            "certificate authentication method in use";
-        }
-      }
-        description "";
-    }
-  }
-
-  rpc file-upload {
-    description "File upload over SFTP from RU to NETCONF client";
-    input {
-      uses file-path-grouping;
-      uses credential-information;
-    }
-    output {
-      uses output-status-grouping;
-    }
-  }
-
-  rpc retrieve-file-list {
-    description "List all the files in the logical xRAN unit (* is allowed as wild-card).";
-    input {
-      leaf logical-path {
-        type string;
-        mandatory true;
-               description "xRAN unit of which the files are to be listed.
-        ex :  xRAN/log, xRAN/PM, xRAN/transceiver";
-      }
-      leaf file-name-filter {
-        type string;
-               description "Filter which are to be applied on the result list of file names (* is allowed as wild-card).";
-      }
-
-    }
-    output {
-      uses output-status-grouping;
-      leaf-list file-list {
-        when "../status = 'SUCCESS'";
-        type string;
-               description "List of files in the xRAN unit with the filter applied.";
-      }
-    }
-  }
-
-  notification file-upload-notification {
-    uses file-path-grouping;
-    uses output-status-grouping;
-       description "";
-  }
-
-  rpc file-download {
-    description
-      "Management plane triggered to generate the download file of RU.";
-    input {
-      uses file-path-grouping;
-      uses credential-information;
-    }
-    output {
-      uses output-status-grouping;
-    }
-  }
-
-  notification file-download-event {
-    uses file-path-grouping;
-    uses output-status-grouping;
-       description "";
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-lbm.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-lbm.yang
deleted file mode 100644 (file)
index 65ea7fb..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-module xran-lbm {\r
-  yang-version 1.1;\r
-  namespace "urn:xran:lbm:1.0";\r
-  prefix "xran-lbm";\r
-\r
-  import ietf-yang-types {\r
-    prefix yang;\r
-    revision-date 2013-07-15;\r
-  }\r
-\r
-  organization "xRAN Forum";\r
-\r
-  contact\r
-    "www.xran.org";\r
-\r
-  description\r
-    "This module defines the module capabilities for\r
-    the xRAN Radio loop-back protocol (IEEE 802.1ag).\r
-    It is derived from MEF-38 (Service OAM Fault Management YANG Modules, April 2012)\r
-\r
-    Copyright 2018 the xRAN Forum.\r
-\r
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\r
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\r
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
-    POSSIBILITY OF SUCH DAMAGE.\r
-\r
-    Redistribution and use in source and binary forms, with or without\r
-    modification, are permitted provided that the following conditions are met:\r
-\r
-    * Redistributions of source code must retain the above copyright notice,\r
-    this list of conditions and the above disclaimer.\r
-    * Redistributions in binary form must reproduce the above copyright notice,\r
-    this list of conditions and the above disclaimer in the documentation\r
-    and/or other materials provided with the distribution.\r
-    * Neither the Members of the xRAN Forum nor the names of its\r
-    contributors may be used to endorse or promote products derived from\r
-    this software without specific prior written permission.";\r
-\r
-  revision "2018-07-20" {\r
-    description\r
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.\r
-\r
-      This version of the model supports v01.00 of the corrsponding xRAN\r
-      M-Plane Specification.";\r
-    reference "XRAN-FH.MP.0-v01.00";\r
-  }\r
-\r
-  typedef priority-type {\r
-    type uint32 {\r
-      range "0..7";\r
-    }\r
-    description\r
-      "A 3 bit priority value to be used in the VLAN tag, if present\r
-       in the transmitted frame.";\r
-    reference "[802.1q] 12.14.7.3.2:e";\r
-  }\r
-\r
-\r
-  typedef mep-id-type {\r
-    type uint16 {\r
-      range "1..8191";\r
-    }\r
-    description\r
-      "Maintenance association End Point Identifier (MEPID): A small integer,\r
-       unique over a given Maintenance Association, identifying a\r
-       specific MEP.";\r
-    reference "[802.1q] 3.19 and 19.2.1";\r
-  }\r
-  typedef vlan-id-type {\r
-    type uint16 {\r
-      range "1..4094";\r
-    }\r
-    description\r
-      "The VLAN-ID that uniquely identifies a VLAN.  This is the 12-bit VLAN-ID\r
-       used in the VLAN Tag header.";\r
-    reference "[802.1q] 9.6";\r
-  }\r
-\r
-  typedef md-level-type {\r
-    type int32 {\r
-      range "0..7";\r
-    }\r
-    description\r
-      "Maintenance Domain Level (MD Level) identifier.  Higher numbers\r
-       correspond to higher Maintenance Domains, those with the greatest\r
-       physical reach, with the highest values for customers' CFM PDUs.\r
-       Lower numbers correspond to lower Maintenance Domains, those with\r
-       more limited physical reach, with the lowest values for CFM PDUs\r
-       protecting single bridges or physical links.";\r
-    reference "[802.1q] 18.3, 21.4.1, IEEE8021-CFM-MIB.Dot1agCfmMDLevel";\r
-  }\r
-\r
-  typedef lbm-transaction-id-type {\r
-    type uint32;\r
-    description\r
-      "A loopback transaction identifier";\r
-    reference "[802.1q] 21.7.3";\r
-  }\r
-\r
-  list maintenance-domain {\r
-    key "id";\r
-    description\r
-      "A Maintenance Domain managed object is required in order to create an MA\r
-       with a MAID that includes that Maintenance Domain’s Name. From\r
-       this Maintenance Domain managed object, all Maintenance\r
-       Association managed objects associated with that Maintenance\r
-       Domain managed object can be accessed, and thus controlled.";\r
-    reference "[802.1q] 12.14.5";\r
-    leaf id {\r
-      type string;\r
-      description\r
-        "A unique identifier of a Maintenance Domain";\r
-      reference "[802.1q] 12.14.5";\r
-    }\r
-\r
-    leaf name {\r
-      type string;\r
-      description\r
-        "The value for the Maintenance Domain Name. Only the name-type\r
-               'character-string' is supported";\r
-      reference "[802.1q] 21.6.5.1 (Table 21-19), 12.14.5.3.2:a";\r
-    }\r
-\r
-    leaf md-level {\r
-      type md-level-type;\r
-      default 0;\r
-      description\r
-        "Integer identifying the Maintenance Domain Level (MD Level).  Higher\r
-         numbers correspond to higher Maintenance Domains, those with the\r
-         greatest physical reach, with the highest values for customers'\r
-         CFM PDUs.  Lower numbers correspond to lower Maintenance\r
-         Domains, those with more limited physical reach, with the lowest\r
-         values for CFM PDUs protecting single bridges or physical links.";\r
-      reference "[802.1q] 12.14.5.1.3:b";\r
-    }\r
-\r
-    list maintenance-association {\r
-      key "id";\r
-      description\r
-        "This list represents Maintenance Entity Groups (Y.1731) or\r
-         Maintenance Associations (802.1ag). MEGs/MAs are sets of\r
-         MEPs, each configured to the same service inside a common\r
-         OAM domain.";\r
-      leaf id {\r
-        type string;\r
-        description\r
-          "A unique identifier of a Maintenance Association";\r
-        reference "[802.1q] 12.14.6";\r
-      }\r
-      leaf name {\r
-       type string;\r
-\r
-        description\r
-          "The value for the Maintenance Association Name. Only the name-type\r
-               'character-string' is supported";\r
-        reference "[802.1q] 12.14.5.3.2:b, Table 21-20";\r
-      }\r
-\r
-      list component-list {\r
-        key "component-id";\r
-        description\r
-          "A list of components each of which can be managed in a manner\r
-           essentially equivalent to an 802.1Q bridge.";\r
-        reference "[802.1q] IEEE8021-CFM-V2-MIB.ieee8021CfmMaCompTable";\r
-        leaf component-id {\r
-          type uint32;\r
-          description\r
-            "The bridge component within the system to which the information\r
-             in this maintenance-association applies";\r
-          reference "[802.1q] IEEE8021-CFM-V2-MIB.ieee8021CfmMaComponentId";\r
-        }\r
-       leaf name {\r
-         type string;\r
-\r
-         description\r
-           "The value for the Maintenance Association Name. Only the name-type\r
-               'character-string' is supported";\r
-         reference "[802.1q] 12.14.5.3.2:b, Table 21-20";\r
-       }\r
-\r
-       leaf-list vid {\r
-          type vlan-id-type;\r
-          min-elements 1;\r
-          ordered-by user;\r
-          description\r
-            "The VID(s) monitored by this MA, or 0, if the MA is not attached to any\r
-             VID. The first VID returned is the MA's Primary VID";\r
-          reference "[802.1q] 12.14.5.3.2:b";\r
-        }\r
-\r
-       leaf-list remote-meps {\r
-         type mep-id-type;\r
-         description\r
-           "A list of the MEPIDs of the MEPs in the MA.";\r
-         reference "[802.1q] 12.14.6.1.3:g";\r
-       }\r
-       list maintenance-association-end-point {\r
-         key "mep-identifier";\r
-         description\r
-           "The list of Maintenance association End Points in a specific Maintance\r
-           Association.";\r
-         leaf mep-identifier {\r
-           type mep-id-type;\r
-           description\r
-             "Integer that is unique among all the MEPs in the same MA. Other\r
-             definition is: a small integer, unique over a given\r
-             Maintenance Association, identifying a specific Maintenance\r
-             association End Point.";\r
-           reference "[802.1q] 12.14.6.3.2:b";\r
-         }\r
-         leaf interface {\r
-           type string;\r
-           mandatory true;\r
-           description\r
-             "An interface, either a Bridge Port or an aggregated IEEE 802.3 port\r
-             within a Bridge Port, to which the MEP is attached. Each interface in\r
-             the system is uniquely identified by an interface-name. The structure\r
-             and content of the name is outside the scope of this specification.";\r
-           reference "[802.1q] 12.14.7.1.3:b";\r
-         }\r
-         leaf primary-vid {\r
-           type vlan-id-type;\r
-           mandatory true;\r
-           description\r
-             "The Primary VID of the MEP. The value 0 indicates that either the\r
-             Primary VID is that of the MEP's MA or that the MEP's MA is\r
-             associated with no VID";\r
-           reference "[802.1q] 12.14.7.1.3:d";\r
-         }\r
-         leaf administrative-state {\r
-           type boolean;\r
-           mandatory true;\r
-           description\r
-             "The administrative state of the MEP";\r
-           reference "[802.1q] 12.14.7.1.3:e";\r
-         }\r
-         leaf mac-address {\r
-           type yang:mac-address;\r
-           config false;\r
-           description\r
-             "The MAC address of the MEP";\r
-           reference "[802.1q] 12.14.7.1.3:i";\r
-         }\r
-         container loopback {\r
-           config false;\r
-           description\r
-             "Data definitions related to the Loopback function.";\r
-           leaf replies-transmitted {\r
-             type yang:counter32;\r
-             config false;\r
-             mandatory true;\r
-             description\r
-               "The total number of LBRs transmitted.";\r
-             reference "[802.1q] 12.14.7.1.3:ad";\r
-           }\r
-         }\r
-       }\r
-      }\r
-    }\r
-  }\r
-}\r
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-operations.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-operations.yang
deleted file mode 100644 (file)
index 490ceb5..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-module xran-operations {
-  yang-version 1.1;
-  namespace "urn:xran:operations:1.0";
-  prefix "xran-ops";
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the YANG model used for RU operations.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  typedef xran-version {
-    type string {
-      pattern '[0-9]+(\.[0-9]+)';
-    }
-    description
-      "this type definition is used to represent the version of the xRAN
-      fronthaul interface.";
-  }
-
-  container operational-info{
-    config false;
-    description
-      "a collection of operational infor for the RU";
-
-    container xran-split {
-      description
-        "details about the xran split ";
-      leaf interface-version {
-        type xran-version;
-        default "1.0";
-        description "current version of the xRAN split sdupported by the RU";
-      }
-      leaf optional-header-support {
-        type enumeration {
-          enum NONE {
-            description
-              "Indicates that an RU only supports eCPRI C/U plane headers";
-          }
-          enum 1914POINT3 {
-            description
-              "Indicates that an RU supports the optional 1914.3 header format
-               for the C/U plane";
-          }
-        }
-        default NONE;
-        description
-          "Placeholder to enable future management plane aspects of 1914.3
-           headers to be included.";
-      }
-      leaf ecpri-concatenation-support {
-        type boolean;
-        default false;
-        description
-          "This leaf is used to indicate whether the RU supports the optional
-          eCPRI concatenation capability";
-      }
-    }
-
-    container operational-state {
-      description
-        "Operational state for the Radio Unit";
-      leaf restart-cause {
-        type enumeration {
-          enum POWER-ON {
-            description
-              "RU restarted because it was powered on";
-          }
-          enum SUPERVISION-WATCHDOG {
-            description
-              "RU restarted because it's supervision wathcdog timer wasn't reset
-              by a NETCONF client (inferring loss of NETCONF connectivity)";
-          }
-          enum MPLANE-TRIGGERED-RESTART {
-            description
-              "RU restarted because of an M-plane issued  rpc";
-          }
-          enum SOFTWARE-FAILURE {
-            description
-              "RU restarted because of software failure";
-          }
-          enum OTHER-WATCHDOG-TIMER {
-            description
-              "RU restarted because of some other non NETCONF watchdog timer";
-          }
-          enum UNKNOWN {
-            description
-              "The restart reason for the RU is unknown";
-          }
-        }
-        description "the cause for the last restart of the RU";
-      }
-    }
-
-    leaf re-call-home-no-ssh-timer {
-      type uint16;
-      units seconds;
-      default 60;
-      description
-        "The timer used by the xRAN Radio Unit to repeatedley call home to
-        identified call home servers if it has not already an established SSH
-        connection to the identified server.";
-    }
-  }
-
-  rpc reset {
-    // TODO add nacm statement, e.g., nacm:default-deny-all;
-    description
-      "Management plane triggered restart of the radio unit.
-       A server SHOULD send an rpc reply to the client before
-       restarting the system.";
-
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-performance-management.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-performance-management.yang
deleted file mode 100644 (file)
index 7faefa0..0000000
+++ /dev/null
@@ -1,664 +0,0 @@
-module xran-performance-management {
-  yang-version 1.1;
-  namespace "urn:xran:performance-management:1.0";
-  prefix "xran-pm";
-
-  import ietf-yang-types {
-    prefix "yang-types";
-    revision-date 2013-07-15;
-  }
-
-  // import idetifier for RU
-  import ietf-hardware {
-    prefix "hw";
-  }
-
-  // import ietf-interface
-  import ietf-interfaces {
-    prefix "if";
-  }
-
-  // import ietf-inet-type
-  import ietf-inet-types {
-    prefix "inet";
-  }
-
-  // import xran-port-number
-  import xran-interfaces {
-    prefix "xran-int";
-  }
-
-  // import ru-mac-address, lls-cu-mac-address and vlan-id
-  import xran-processing-element {
-    prefix "xran-elements";
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the configuration for performance measurement for
-    transceiver and rx-window measurement objects.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-
-  feature GRANULARITY-TRANSPORT-MEASUREMENT {
-    description
-      "This feature indicates that the RU supports an optional object-unit TRANSPORT in rx-window-measurement.";
-  }
-  feature GRANULARITY-EAXC-ID-MEASUREMENT {
-    description
-      "This feature indicates that the RU supports an optional object-unit EAXC_ID in rx-window-measurement.";
-  }
-
-  grouping start-and-end-time {
-       description
-         "Definition for start and end time for an event";
-
-    leaf start-time {
-      type yang-types:date-and-time;
-      description
-        "Start time for measurement of object stats";
-    }
-    leaf end-time {
-      type yang-types:date-and-time;
-      description
-        "End time for measurement of object stats";
-    }
-  }
-
-  grouping transceiver-measurement-result-grouping {
-    description
-      "transceiver-measurement-result are listed per port-number";
-
-    list transceiver-measurement-result {
-      key "object-unit-id";
-      config false;
-      leaf object-unit-id {
-        type leafref {
-          path "/if:interfaces/if:interface/xran-int:port-reference/xran-int:xran-port-number";
-        }
-
-        description
-          "port-number is used for the object-unit-id for the
-           transceiver-measurement-result, for which object-unit is
-           PORT_NUMBER only";
-      }
-      container min {
-        description
-          "minimum value with recorded time are included for the
-           measurement-object";
-
-        leaf value {
-          type decimal64 {
-            fraction-digits 4;
-          }
-
-          description
-            "minimum value for the measurment-object";
-        }
-        leaf time {
-          type yang-types:date-and-time;
-
-          description
-            "recorded time for the minimum value";
-        }
-      }
-      container max {
-        description
-        "maximum value with recorded time are included for the
-         measurement-object";
-
-        leaf value {
-          type decimal64 {
-            fraction-digits 4;
-          }
-
-          description
-            "maximum value for the measurment-object";
-        }
-        leaf time {
-          type yang-types:date-and-time;
-
-          description
-            "recorded time for the maximum value";
-        }
-      }
-      container first {
-        description
-          "first value with the recorded time are included for the
-           measurement-object";
-
-        leaf value {
-          type decimal64 {
-            fraction-digits 4;
-          }
-
-          description
-            "first value of the measurement-object";
-        }
-        leaf time {
-          type yang-types:date-and-time;
-
-          description
-            "recorded time for the first value";
-        }
-      }
-      container latest {
-        description
-          "latest value with the recorded time are included for the
-           measurement-object";
-
-        leaf value {
-          type decimal64 {
-            fraction-digits 4;
-          }
-
-          description
-            "latest value of the measurement-object";
-        }
-        leaf time {
-          type yang-types:date-and-time;
-
-          description
-            "recorded time for the latest value";
-        }
-      }
-      leaf-list frequeny-table {
-        type uint32;
-
-        description
-          "frequency-table for the measurment-object are included per bin.
-           The configuration parameters for this frequency-table are defined
-           by bin-count, lower-bound and upper-bound";
-      }
-
-         description
-           "List of transceiver measurement results";
-    }
-  }
-
-  grouping rx-window-measurement-result-grouping{
-    description
-         "Group of measurement reasults for rx window measurements";
-
-    choice object-unit-id {
-      config false;
-      case RU {
-        leaf name{
-          type leafref {
-            path "/hw:hardware/hw:component/hw:name";
-          }
-
-          description
-            "the name of RU in ietf-hardware/component is used
-             when RU is selected as object-unit for the reception window
-             stats.";
-        }
-        leaf count {
-          type uint64;
-          mandatory true;
-
-          description
-            "the number of data packet are counted for the reception
-             window stats per RU.";
-        }
-      }
-
-      case TRANSPORT {
-        list tr-measured-result{
-          leaf name{
-            type leafref{
-              path "/xran-elements:processing-elements/xran-elements:ru-elements/xran-elements:name";
-            }
-
-            description
-              "the name of ru-elements in xran-processing-elements
-               when TRANSPORT is selected as object-unit for the reception
-               window stats.";
-          }
-          leaf count {
-            type uint64;
-            mandatory true;
-
-            description
-              "the number of data packet are counted for the reception
-               window stats.";
-          }
-
-          description
-            "the number of data packet are counted for the reception
-             window stats per TRANSPORT.";
-        }
-      }
-
-      case EAXC_ID {
-        list eaxc-measured-result {
-          leaf eaxc-id{
-            type uint16;
-
-            description
-              "eaxc-id is used
-               when EAXC_ID is selected as object-unit for the reception
-               window stats.
-               EAXC_ID consists of CU-Port-Id, Band-Selector, CC-id and
-               RU-Port-Id to be used in header of C/U-plane data packet.";
-          }
-          leaf count {
-            type uint64;
-            mandatory true;
-
-            description
-              "the number of data packet are counted for the reception
-               window stats.";
-          }
-          leaf transport-name {
-            type leafref{
-              path "/xran-elements:processing-elements/xran-elements:ru-elements/xran-elements:name";
-            }
-
-            description
-              "the name of ru-elements in xran-processing-elements for the
-               transport information corresponding to this eaxc-id";
-          }
-
-          description
-            "the number of data packet are counted for the reception
-             window stats per EAXC-ID.";
-        }
-      }
-
-      description
-        "measurement-result for the reception window stats depends on the
-         configured object-unit, RU, TRANSPORT or EAXC_ID";
-    }
-  }
-
-  container performance-measurement-objects {
-    description
-      "configuration for performance management and measurement-result are
-       included";
-
-    leaf enable-SFTP-upload {
-      type boolean;
-      default false;
-      description
-        "Flag to enable upload of performance measurement result files.";
-    }
-
-    leaf enable-random-file-upload {
-      type boolean;
-      default false;
-      description
-        "Flag to enable upload of performance measurement result files at
-         random within file-upload-interval.";
-    }
-
-    list remote-SFTP-uploads {
-      key remote-SFTP-upload-path;
-      description
-        "SFTP upload can be done to one or more than one SFTP servers";
-
-      leaf remote-SFTP-upload-path {
-        type inet:uri;
-        description
-          "URI specifying the remote location where the files are to uploaded.
-          The following format is possible:
-          sftp://<username>@<host>[:<port>]";
-      }
-
-      choice credentials {
-        description
-          "Type of authentication to use for SFTP upload.";
-
-        case password {
-          container password {
-            presence true;
-            leaf password {
-              type string;
-              mandatory true;
-
-              description
-                "password needed for authentication.";
-            }
-            description
-              "password authentication method in use";
-          }
-        }
-        case certificate {
-          container certificate {
-            presence true;
-            description
-              "certificate authentication method in use";
-          }
-        }
-      }
-    }
-
-    leaf transceiver-measurement-interval {
-      type uint16;
-      description
-        "measurement interval to measure the performance of transceiver
-         measurement objects periodically.";
-    }
-
-    leaf rx-window-measurement-interval {
-      type uint16;
-      description
-        "measurement interval to measure the performance of reception
-         window measurement objects periodically.";
-    }
-
-    leaf notification-interval {
-      type uint16;
-      description
-        "notification interval for the measurement result to be notified
-         periodically.";
-    }
-
-    leaf file-upload-interval {
-      type uint16;
-      description
-        "file upload interval for the measurement result file to be
-         uploaded periodically.";
-    }
-
-    list transceiver-measurement-objects {
-      key "measurement-object";
-      leaf measurement-object {
-        type enumeration {
-          enum RX_POWER {
-            description
-              "Measured Rx input power in mW";
-          }
-          enum TX_POPWER {
-            description
-              "Measured Tx input power in mW.";
-          }
-          enum TX_BIAS_COUNT {
-            description
-              "Internally measured Tx Bias Current in mA";
-          }
-          enum VOLTAGE {
-            description
-              "Internally measured transceiver supply voltage in mV";
-          }
-          enum TEMPERATURE {
-            description
-              "Internally measured optional laser temperature in degrees Celsius.";
-          }
-        }
-        description "Target metric to measure the performance";
-      }
-
-      leaf active {
-        type boolean;
-        default false;
-        description
-          "Enable/disable the performance measurement per Object";
-      }
-
-      leaf-list report-info {
-        type enumeration {
-          enum MAXIMUM {
-            description
-              "to report maximum value and its recorded time within the
-               measurement-interval for the measurement-object.";
-          }
-          enum MINIMUM {
-            description
-              "to report minimum value and its recorded time within the
-               measurement-interval for the measurement-object.";
-          }
-          enum FIRST {
-            description
-              "to report first value and its recorded time within the
-               measurement-interval for the measurement-object.";
-          }
-          enum LATEST {
-            description
-              "to report latest value and its recorded time within the
-               measurement-interval for the measurement-object.";
-          }
-          enum FREQUENCY_TABLE {
-            description
-              "to report frequency bin table within the
-               measurement-interval for the measurement-object.";
-          }
-        }
-        description "The reporting info to the measurement object.";
-      }
-
-      leaf object-unit {
-        type enumeration {
-          enum PORT_NUMBER {
-            description
-              "unit to measure the performance per object-id";
-          }
-        }
-        mandatory true;
-        description "unit to measure the performance per object-id.";
-      }
-
-      leaf function {
-        type enumeration {
-          enum RAW {
-            description
-              "the value is expressed by real value.";
-          }
-          enum LOG_10 {
-            description
-              "the value is expressed by logarithm with base 10.";
-          }
-        }
-
-        description
-          "the value to be recorded for transceiver-measurement
-           by real value or log 10.";
-      }
-
-      leaf bin-count {
-        type uint32;
-
-        description
-          "the number of bin for the frequency table.";
-      }
-
-      leaf lower-bound {
-        type decimal64 {
-          fraction-digits 4;
-        }
-
-        description
-          "the lower value of the first bin of frequency table.";
-      }
-
-      leaf upper-bound {
-        type decimal64 {
-          fraction-digits 4;
-        }
-
-        description
-          "the upper value of the last bin of frequency table.";
-      }
-      uses transceiver-measurement-result-grouping;
-
-      description
-        "configuration and measurement result for the transceiver-measurement.";
-    }
-
-    list rx-window-measurement-objects {
-      key "measurement-object";
-      leaf measurement-object {
-        type enumeration {
-          enum RX_ON_TIME {
-            description
-              "the number of data packets, received on time within
-               the reception window.";
-          }
-          enum RX_EARLY {
-            description
-              "the number of data packets, received before
-               the reception window.";
-          }
-          enum RX_LATE {
-            description
-              "the number of data packets, received after
-               the reception window.";
-          }
-          enum RX_CORRUPT {
-            description
-              "the number of data packets, which are corrupt or whose header
-               is incorrect.";
-          }
-          enum RX_DUPL {
-            description
-              "the number of data packets, which is duplicated with other packets,
-               received within the measurement period.";
-          }
-          enum RX_TOTAL {
-            description
-              "the total number of received data packets.";
-          }
-        }
-        description
-          "target reception window metric to measure the performance.";
-      }
-
-      leaf active {
-        type boolean;
-        default false;
-        description
-          "Enable/disable the performance measurement per reception window
-           measurement object.";
-      }
-
-      leaf object-unit {
-        type enumeration {
-          enum RU {
-            description
-              "the reception window stats are counted per RU.";
-          }
-          enum TRANSPORT {
-            if-feature GRANULARITY-TRANSPORT-MEASUREMENT;
-            description
-              "the reception window stats are counted per transport flow.
-              When there are multiple transport flows between lls-CU and RU,
-               e.g. multiple sets of lls-cu mac address, ru mac address and
-                    vlan-id, the reception window stats per transport flow
-                    are counted in this case.
-              This configuration is allowed only when RU supports
-              a feature GRANULARITY-TRANSPORT-MEASUREMENT.";
-          }
-          enum EAXC_ID {
-            if-feature GRANULARITY-EAXC-ID-MEASUREMENT;
-
-            description
-              "the reception window stats are counted per eAxC ID, which is
-               used in the header of receivd data packet.
-              This configuration is allowed only when RU supports
-              a feature GRANULARITY-EAXC-ID-MEASUREMENT.";
-          }
-        }
-        description
-          "unit to measure the performance per object-id.";
-      }
-
-      leaf report-info {
-        type enumeration {
-          enum COUNT {
-            description
-              "the number of data packet are counted for the reception
-               window stats.";
-          }
-        }
-        description
-          "The reporting info to the measurement object.";
-      }
-
-      uses rx-window-measurement-result-grouping;
-
-      description
-        "configuration and measurement result for the reception window stats";
-    }
-  }
-
-  notification measurement-result-stats {
-    list transceiver-stats {
-      key "measurement-object";
-      leaf measurement-object {
-        type leafref {
-          path "/performance-measurement-objects/transceiver-measurement-objects/measurement-object";
-        }
-
-        description
-          "measurement-object for the transceiver-measurement";
-      }
-
-      uses start-and-end-time;
-      uses transceiver-measurement-result-grouping;
-
-      description
-        "measurement result of transceiver-measurement per measurement-object";
-    }
-
-    list rx-window-stats {
-      key "measurement-object";
-      leaf measurement-object {
-        type leafref {
-          path "/performance-measurement-objects/rx-window-measurement-objects/measurement-object";
-        }
-
-        description
-          "measurement-object for the reception window measurement";
-      }
-      uses start-and-end-time;
-      uses rx-window-measurement-result-grouping;
-
-      description
-        "measurement result for the reception window measurement per
-         measurement-object";
-
-    }
-
-    description
-      "notification may contain measurement result for transceiver-stats
-       and/or rx-window-stats";
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-software-management.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-software-management.yang
deleted file mode 100644 (file)
index 0759cd6..0000000
+++ /dev/null
@@ -1,539 +0,0 @@
-module xran-software-management {
-  yang-version 1.1;
-  namespace "urn:xran:software-management:1.0";
-  prefix xran-swm;
-
-  import ietf-inet-types {
-    prefix "inet";
-    revision-date 2013-07-15;
-  }
-
-  import ietf-hardware {
-    prefix "hw";
-  }
-
-  import xran-hardware {
-    prefix "xran-hw";
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines operations and configuration for the management of software packages.
-    This module is derived out of opencpe-firmware-mgmt@2014-02-06.yang
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  // typedef statements
-
-  container software-inventory {
-    config false;
-    description
-      "Contains information about each software slot and its content.";
-
-    list software-slot {
-      key name;
-      min-elements 2;
-
-      description
-        "Information about available software-slots and their software.";
-
-      leaf name {
-        type string;
-
-        description
-          "Name of the software package. This shall be unique to identify the software-slot.";
-      }
-
-      leaf status {
-        type enumeration {
-          enum VALID {
-            description
-              "Slot Contains software build considered as proven valid";
-          }
-          enum INVALID {
-            description
-              "software build is not currently used by RU. The software is considered by RU as damaged (e.g. wrong CRC)";
-          }
-          enum EMPTY {
-            description
-              "W slot does not contain software package.";
-          }
-        }
-        config false;
-        mandatory true;
-
-        description "Indicates the status of the software slot";
-      }
-
-      leaf active {
-          type boolean;
-      must "../status = 'VALID'";
-        config false;
-          description
-            "informs if software stored in particular slot is activated at the moment";
-      }
-
-      leaf running {
-          type boolean;
-      must "../status = 'VALID'";
-        config false;
-          description
-            "informs if software stored in particular slot is used at the moment";
-      }
-
-      leaf access {
-        type enumeration {
-          enum READ_ONLY {
-            description
-              "slot intended only for factory software,
-              activation of such software slot means getting back to factory defaults";
-          }
-          enum READ_WRITE {
-            description
-              "slot used for updating software";
-          }
-        }
-        default READ_WRITE;
-        config false;
-
-        description
-          "Indicates the writability of the slot.
-          A Read-Only software slot is one which has a factory installed software-slot";
-      }
-
-      leaf product-code {
-        type leafref {
-               path "/hw:hardware/hw:component/xran-hw:product-code";
-               }
-        config false;
-
-        description "product code provided by the vendor, specific to the product. This is derived from manifest file.";
-      }
-
-      leaf vendor-code {
-        type string {
-          length 1..2;
-        }
-        config false;
-
-        description
-          "Unique code of the vendor. This is derived from manifest file.";
-      }
-
-      leaf build-id {
-        type string;
-        config false;
-
-        description
-          "Identity associated with the software build. This is derived from manifest file.";
-      }
-
-      leaf build-name {
-        type string;
-        config false;
-
-        description
-          "Name of the build. This is derived from manifest file.";
-      }
-
-      leaf build-version {
-        type leafref{
-               path "/hw:hardware/hw:component/hw:software-rev";
-               }
-        description "Version of the software build. This is derived from manifest file.";
-      }
-
-      list files {
-        key "name";
-        config false;
-
-        description "List of all the files present in the software package.";
-
-        leaf name {
-          type string;
-
-          description
-            "Name of the file installed in the slot.";
-        }
-
-        leaf version {
-          type string;
-
-          description
-            "Version of the file installed in the slot";
-        }
-        leaf local-path {
-          type string;
-          mandatory true;
-
-          description
-            "Complete path of the file stored locally";
-        }
-
-        leaf integrity {
-          type enumeration {
-            enum OK {
-              description "OK - indicates that file integrity is correct";
-            }
-            enum NOK {
-              description "NOK - indicates corrupted file";
-            }
-          }
-          config false;
-
-          description
-            "Result of the file integrity check (checksum calculation) during installation.";
-        }
-      }
-    }
-  }
-    // rpc statements
-
-  rpc software-download {
-    description
-      "Rpc needed to perform software download operation.";
-
-    input {
-      leaf remote-file-path {
-        type inet:uri;
-        mandatory true;
-        description
-          "URI of the software image including username.
-          The following format is possible:
-          sftp://<username>@<host>[:<port>]";
-      }
-
-      choice credentials {
-        description
-          "Type of authentication to use for software downloads.";
-
-        case password {
-          container password {
-            presence true;
-            leaf password {
-              type string;
-              mandatory true;
-
-              description
-                "password needed for authentication.";
-            }
-
-            description
-              "password authentication method in use";
-          }
-        }
-        case certificate {
-          container certificate {
-            presence true;
-            description
-              "certificate authentication method in use";
-          }
-        }
-      }
-    }
-    output {
-      leaf status {
-        type enumeration {
-          enum STARTED {
-            description
-              "Operation has been started without error.";
-          }
-          enum FAILED {
-            description
-              "Operation cannot be started because of error, more detailed information can be found in error-message.";
-          }
-        }
-        mandatory true;
-
-        description
-          "Status of the software files download";
-      }
-      leaf error-message {
-        when "../status = 'FAILED'";
-        type string;
-
-        description
-          "Detailed error Message when the status is failed.";
-      }
-
-      leaf notification-timeout {
-        type int32;
-        units seconds;
-        default 30;
-
-        description
-          "Notification timeout is the time NETCONF client shall
-          wait for a 'download-event' notification from RU. If there is no
-          'download-event' notification received within notification-timeout,
-          NETCONF client shall assume the download timeout/failure, and follow necessary steps.";
-      }
-    }
-  }
-
-  rpc software-install {
-    description
-      "Install a previously downloaded software package.";
-
-    input {
-      leaf slot-name {
-        type leafref {
-          path "/software-inventory/software-slot/name";
-          }
-        must "/software-inventory/software-slot[name = current()][active = 'false' and running = 'false']" {
-          error-message "software-install may be requested only against active::false and running::false slot!";
-        }
-        mandatory true;
-
-        description
-          "software-slot to which the software shall be installed to.";
-      }
-
-      leaf-list file-names {
-        type string;
-
-        description
-          "Names of the files within software package to be installed";
-      }
-    }
-    output {
-      leaf status {
-        type enumeration {
-          enum STARTED {
-            description
-              "Operation has been started without error.";
-          }
-          enum FAILED {
-            description
-              "Operation cannot be started because of error, more detailed information can be found in error-message.";
-          }
-        }
-        mandatory true;
-
-        description
-          "Status of the software package install.";
-      }
-      leaf error-message {
-        when "../status = 'FAILED'";
-        type string;
-
-        description
-          "Detailed error Message when the status is failed.";
-      }
-    }
-  }
-
-  rpc software-activate {
-    description
-      "Activate a previously installed software.";
-    input {
-      leaf slot-name {
-        type leafref {
-          path "/software-inventory/software-slot/name";
-        }
-        mandatory true;
-
-        description
-          "Slot name on which software has to be activated.";
-      }
-    }
-    output {
-      leaf status {
-        type enumeration {
-          enum STARTED {
-            description
-              "Operation has been started without error.";
-          }
-          enum FAILED {
-            description
-              "Operation cannot be started because of error, more detailed information can be found in error-message.";
-          }
-        }
-        mandatory true;
-
-        description
-          "Status of the software files activation";
-      }
-      leaf error-message {
-        when "../status = 'FAILED'";
-        type string;
-
-        description
-          "Detailed error Message when the status is failed.";
-      }
-
-      leaf notification-timeout {
-        type int32;
-        units seconds;
-        default 30;
-
-        description
-          "Timeout on client waiting for the activate event";
-      }
-    }
-  }
-
-    // notification definitions
-  notification download-event {
-    description "Notification event structure for download completion";
-    leaf file-name {
-      type string;
-      mandatory true;
-
-      description
-        "File name of downloaded software package";
-    }
-
-    leaf status {
-      type enumeration {
-        enum COMPLETED {
-          description
-            "Operation completed succesfully";
-        }
-        enum AUTHENTICATION_ERROR {
-          description "source available, wrong credentials";
-        }
-        enum PROTOCOL_ERROR {
-          description "SFTP errors";
-        }
-        enum FILE_NOT_FOUND {
-          description "source not available.";
-        }
-        enum APPLICATION_ERROR {
-          description "Application related errors";
-        }
-        enum TIMEOUT {
-          description "Timeout waiting for download";
-        }
-      }
-
-      description
-        "Status of finished operation execution";
-    }
-    leaf error-message {
-      when "../status != 'COMPLETED'";
-      type string;
-
-      description
-        "Detailed description of faulty situation";
-    }
-
-  }
-
-  notification install-event {
-    description "Notification event structure for installation completion";
-    leaf slot-name {
-      type leafref {
-        path "/software-inventory/software-slot/name";
-      }
-
-      description
-        "Name of the slot to which software was installed.";
-    }
-    leaf status {
-      type enumeration {
-        enum COMPLETED {
-          description
-            "Operation completed succesfully";
-        }
-        enum FILE_ERROR {
-          description "operation on the file resulted in in error, disk failure, not enough disk space,
-                      incompatible file format";
-        }
-        enum INTEGRITY_ERROR {
-          description "file is corrupted";
-        }
-        enum APPLICATION_ERROR {
-          description "operation failed due to internal reason";
-        }
-      }
-
-      description
-        "Status of finished operation execution";
-    }
-    leaf error-message {
-      when "../status != 'COMPLETED'";
-      type string;
-
-      description
-        "Detailed description of faulty situation";
-    }
-  }
-
-  notification activation-event {
-    description "Notification event structure for activation completion";
-    leaf slot-name {
-      type leafref {
-        path "/software-inventory/software-slot/name";
-      }
-
-      description
-        "Name of the slot which was activated";
-    }
-
-    leaf status {
-      type enumeration {
-        enum COMPLETED {
-          description
-            "Operation completed succesfully";
-        }
-        enum APPLICATION_ERROR {
-          description
-            "Operation finished with error, more details can by found in error-message";
-        }
-      }
-
-      description
-        "Status of finished operation execution";
-    }
-    leaf return-code {
-      type uint8;
-
-      description
-        "status code return when the software is tried to activate";
-    }
-    leaf error-message {
-      when "../status != 'COMPLETED'";
-      type string;
-
-      description
-        "Detailed description of faulty situation";
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-troubleshooting.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-troubleshooting.yang
deleted file mode 100644 (file)
index 587369f..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-module xran-troubleshooting {
-  yang-version 1.1;
-  namespace "urn:xran:troubleshooting:1.0";
-  prefix "xran-trblsht";
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the operations for the troubleshooting logs on the RU.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-
-  grouping troubleshooting-status-grouping {
-    description "grouping used for troubleshooting RPCs";
-    leaf status {
-      type enumeration {
-        enum SUCCESS {
-          description "rpc completed correctly";
-        }
-        enum FAILURE {
-          description "rpc failed";
-        }
-      }
-      description "result of rpc operation";
-    }
-    leaf failure-reason {
-      when "../status = 'FAILURE'";
-      type string;
-      description "free form text description why error occurred";
-    }
-  }
-
-  rpc start-troubleshooting-logs {
-    description
-      "Management plane triggered to start collecting the troubleshooting logs files of RU.";
-      output {
-        uses troubleshooting-status-grouping;
-      }
-  }
-
-  rpc stop-troubleshooting-logs {
-    description
-      "Management plane triggered to stop collecting the troubleshooting logs files of RU.";
-      output {
-        uses troubleshooting-status-grouping;
-      }
-  }
-
-  notification troubleshooting-log-generated {
-    description
-      "When new log file generated, send this notification.";
-    leaf-list log-file-name {
-      type string;
-      description
-        "The list of troubleshooting log file names on the RU.";
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-udp-echo.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-udp-echo.yang
deleted file mode 100644 (file)
index cf1d725..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-module xran-udp-echo {
-  yang-version 1.1;
-  namespace "urn:xran:udpecho:1.0";
-  prefix "xran-echo";
-
-  import xran-interfaces {
-    prefix "xran-int";
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module covers off aspects of llss-CU to RU interface transport
-    verification for UDP/IP based C/U plane connections based on UDP Echo.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  container udp-echo-configuration {
-    if-feature xran-int:UDPIP-BASED-CU-PLANE;
-    description "container for the configuration of udp echo";
-
-    leaf enable-udp-echo {
-      type boolean;
-      default false;
-      description
-        "whether RU's UDP ech server is enabled";
-    }
-
-    leaf dscp-config {
-      type enumeration {
-        enum REFLECTIVE {
-          description
-            "DSCP in echoed datagrams is copied from received datagram";
-        }
-        enum EF {
-          description
-            "DSCP in echoed datagrams is always be set to expeditied
-            forwarding Per Hop Behaviour.";
-        }
-      }
-      default EF;
-      description "configuration of UDP echo DSCP";
-    }
-
-    leaf echo-replies-transmitted {
-      type uint32;
-      config false;
-      description
-        "The total number of UDP echo replies transmitted by the RU.";
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-uplane-conf.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-uplane-conf.yang
deleted file mode 100644 (file)
index 5ca7e3c..0000000
+++ /dev/null
@@ -1,948 +0,0 @@
-module xran-uplane-conf {
-  yang-version 1.1;
-  namespace "urn:xran:uplane-conf:1.0";
-  prefix "xran-uplane-conf";
-
-  import xran-processing-element {
-    prefix "xran-pe";
-  }
-
-  import ietf-interfaces {
-    prefix "if";
-  }
-
-  import xran-module-cap {
-    prefix "mcap";
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the module capabilities for
-    the xRAN Radio Unit U-Plane configuration.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  grouping  eaxc {
-    description
-      "One eAxC identifier (eAxC ID) comprises a band and sector
-      identifier (BandSector_ID), a component-carrier identifier (CC_ID) and a
-      spatial stream identifier (RU_Port_ID).
-
-      In this version of the specification, one eAxC contains only one spatial
-      stream (i.e. one beam per subcarrier) at a time.
-
-      Bit allocation is subdivided as follows:
-      *    CU_Port_ID: Used to differentiate processing units at lls-CU
-      *    BandSector_ID: Aggregated cell identifier
-      *    CC_ID: distinguishes Carrier Components
-      *    RU_Port_ID: Used to differentiate spatial streams or beams on the RU
-
-      The bitwidth of each of the above fields is variable this model is supposed to check
-        if we are occpying bits continuously but we do not have to occupy all 16 bits";
-
-
-    leaf cu-port-bitmask {
-      type uint16;
-         mandatory true;
-      description
-        "mask for eaxc-id bits used to encode CU Port ID";
-    }
-
-    leaf band-sector-bitmask {
-      type uint16;
-      mandatory true;
-      description
-        "mask for eaxc-id bits used to encode the band sector ID";
-    }
-
-    leaf ccid-bitmask {
-      type uint16;
-         mandatory true;
-      description
-        "mask for eaxc-id bits used to encode the component carrier id";
-    }
-
-    leaf ru-port-bitmask {
-      type uint16;
-         mandatory true;
-      description
-        "mask for eaxc-id bits used to encode the RU Port ID";
-    }
-
-    leaf eaxc-id {
-      type uint16;
-         mandatory true;
-      description
-        "encoded value of eaxcid to be read by CU-Plane";
-    }
-  }
-
-  container user-plane-configuration {
-    description "top level container for user plane configuration";
-
-    container compression {
-         description
-           "Container which consists of global configurable parameters for compression";
-
-      leaf compression-type {
-        type enumeration {
-          enum STATIC {
-            description
-              "Indicates that static compression method will be used (both compression and IQ bitwidth)";
-          }
-
-          enum DYNAMIC {
-            description
-              "Indicates that dynamic compresion method will be used";
-          }
-        }
-               description
-                 "Compression type that lls-CU wants to be supported";
-      }
-
-      leaf bitwidth {
-        when "./../compression-type = 'STATIC'";
-        type uint8;
-        description
-          "Bitwidth to be used in compression";
-      }
-
-      leaf compression-method {
-        when "./../compression-type = 'STATIC'";
-        type enumeration {
-          enum BLOCK_FLOATING_POINT {
-            description
-              "Block floating point compression and decompression will be used";
-          }
-
-          enum BLOCK_SCALING {
-            description
-              "Block scaling compression and decompresion will be used";
-          }
-
-          enum U_LAW {
-            description
-              "u-Law compression and decompresion method will be used";
-          }
-
-          enum BEAMSPACE {
-            description
-              "Beamspace compression and decompression will be used";
-          }
-
-          enum MODULATION {
-            description
-              "Modulation compression and decompression will be used";
-          }
-        }
-           description
-             "Compresion method which can be supported by the RU";
-      }
-    }
-
-    list low-level-tx-links {
-      key name;
-      description
-        "Object model for low-level-tx-link configuration";
-
-      leaf name {
-        type string;
-        description
-          "Unique name of low-level-tx-link object.";
-      }
-
-      leaf processing-element {
-        type leafref {
-          path "/xran-pe:processing-elements/xran-pe:ru-elements/xran-pe:name";
-        }
-        mandatory true;
-        description
-          "Contains name of processing-element to be used as transport by low-level-tx-link";
-      }
-
-      leaf tx-array-carrier {
-        type leafref {
-          path "/user-plane-configuration/tx-array-carriers/name";
-        }
-        mandatory true;
-        description
-          "Contains name of tx-array-carriers MO to be used as transport by low-level-tx-link";
-      }
-
-      leaf low-level-tx-endpoint {
-        type string;
-        must "boolean(../../low-level-tx-endpoints[name = current()])" {
-          error-message "low-level-tx-endpoint you want to set does not exists in /low-level-tx-endpoints/name";
-        }
-        mandatory true;
-        description
-          "Contains name of low-level-tx-endpoints MO to be used as transport by low-level-tx-link";
-      }
-
-      container remote-address {
-        uses eaxc;
-
-        must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
-              '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
-          error-message "Bitmasks for eaxc-id is badly formatted";
-        }
-
-        description
-          "Contains address of remote TX endpoint served by NETCONF client.";
-      }
-    }
-
-    list low-level-rx-links {
-      key name;
-      description
-        "Object model for low-level-rx-links configuration";
-
-      leaf name {
-        type string;
-
-        description
-          "Unique name of low-level-rx-links object.";
-      }
-
-      leaf processing-element {
-        type leafref {
-          path "/xran-pe:processing-elements/xran-pe:ru-elements/xran-pe:name";
-        }
-        mandatory true;
-        description
-          "Contains name of processing-element to be used as transport by LowLevelTxLink";
-      }
-
-      leaf rx-array-carrier {
-        type leafref {
-          path "/user-plane-configuration/rx-array-carriers/name";
-        }
-        mandatory true;
-
-        description
-          "Contains name of rx-array-carriers MO to be used as transport by low-level-rx-links";
-      }
-
-      leaf low-level-rx-endpoint {
-        type string;
-        must "boolean(../../low-level-rx-endpoints[name = current()])" {
-          error-message "low-level-rx-endpoint you want to set does not exists in /low-level-rx-endpoints/name";
-        }
-        mandatory true;
-
-        description
-          "Contains name of low-level-rx-endpoints MO to be used as transport by low-level-rx-links";
-      }
-
-      container remote-address {
-        uses eaxc;
-
-        must "( cu-port-bitmask + band-sector-bitmask +ccid-bitmask + ru-port-bitmask ) =
-              '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
-          error-message "Bitmasks for eaxc-id is badly formatted";
-        }
-
-        description
-          "Contains address of remote RX endpoint served by Netconf client.";
-      }
-
-         leaf priority {
-           type enumeration {
-                 enum HIGH {
-                   description
-                            "Means high priority for link";
-                 }
-                 enum LOW {
-                   description
-                            "Means low priority for link";
-                 }
-           }
-
-               description
-                 "Parameter to set priority for this link";
-         }
-    }
-
-    list static-low-level-tx-endpoints {
-      key name;
-      config false;
-      description
-        "Object model for static-low-level-tx-endpoints configuration";
-
-      leaf name {
-        type string;
-
-        description
-          "Unique name of static-low-level-tx-endpoints object.";
-      }
-
-      leaf interface {
-        type string;
-        must "boolean(/if:interfaces/if:interface[if:name = current()])" {
-          error-message "ethernet-interface you want to set does not exists in /interfaces/interface/name";
-        }
-
-        description
-          "Contains name of ietf:interface to be used as transport by low-level-tx-endpoints";
-      }
-
-      leaf array {
-        type leafref {
-          path "/user-plane-configuration/tx-arrays/name";
-        }
-        description
-          "Contains distname of tx-arrays, particular low-level-tx-endpoints is in hardware dependency with.
-          Note: single instance of tx-arrays can be referenced by many instances of low-level-tx-endpoints
-          (e.g. to allow DU to handle multiple fronthauls and multiple component carriers).";
-      }
-    }
-
-    list static-low-level-rx-endpoints {
-      key name;
-      config false;
-      description
-        "Object model for static-low-level-rx-endpoints configuration";
-
-      leaf name {
-        type string;
-
-        description
-          "Unique name of static-low-level-rx-endpoints object.";
-      }
-
-      leaf interface {
-        type string;
-        must "boolean(/if:interfaces/if:interface[if:name = current()])" {
-          error-message "interface you want to set does not exists in /interfaces/interface/name";
-        }
-
-        description
-          "Contains name of ietf:interface to be used as transport by low-level-rx-endpoints";
-      }
-
-      leaf array {
-        type leafref {
-          path "/user-plane-configuration/rx-arrays/name";
-        }
-        description
-          "Contains distname of rx-arrays, particular low-level-rx-endpoints is in hardware dependency with.
-          Note: single instance of rx-arrays can be referenced by many instances of low-level-rx-endpoints
-          (e.g. to allow DU to handle multiple fronthauls and multiple component carriers).";
-      }
-    }
-
-    list low-level-tx-endpoints {
-      key name;
-      description
-        "Object model for low-level-tx-endpoints configuration - augmented static-low-level-tx-endpoints by local-address
-        which cannot be added to static low-level-tx-endpoints as we cannot have modificable element in static object";
-
-      leaf name {
-        type string;
-        must "boolean(../../static-low-level-tx-endpoints[name = current()])" {
-          error-message "name you want to set does not exist in /static-low-level-tx-endpoints/name";
-        }
-
-        description
-          "Unique name of low-level-tx-endpoint object.";
-      }
-
-      container local-address {
-        uses eaxc;
-
-        must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
-              '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
-          error-message "Bitmasks for eaxc-id is badly formatted";
-        }
-        description
-          "Contains local address of low level TX endpoint offered by Netconf server.";
-      }
-    }
-
-
-    list low-level-rx-endpoints {
-      key name;
-      description
-        "Object model for low-level-rx-endpoint configuration - augmented static-low-level-rx-endpoints by local-address
-        which cannot be added to static low-level-rx-endpoints as we cannot have modificable element in static object";
-
-      leaf name {
-        type string;
-        must "boolean(../../static-low-level-rx-endpoints[name = current()])" {
-          error-message "name you want to set does not exist in /static-low-level-rx-endpoints/name";
-        }
-
-        description
-          "Unique name of low-level-rx-endpoint object.";
-      }
-
-      container local-address {
-        uses eaxc;
-
-        must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
-              '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
-          error-message "Bitmasks for eaxc-id is badly formatted";
-        }
-
-        description
-          "Contains local address of low level RX endpoint offered by Netconf server.";
-      }
-    }
-
-    list tx-array-carriers {
-      key name;
-      description
-        "Object model for tx-array-carriers configuration";
-
-      leaf name {
-        type string;
-
-        description
-          "Unique name of tx-array-carriers object.";
-      }
-
-      leaf absolute-frequency-center {
-        type uint32;
-        mandatory true;
-        description
-          "Absolute Radio Frequency Channel Number - indirectly indicates RF center carrier frequency of downlink signal.";
-      }
-
-      leaf center-of-channel-bandwidth {
-        type uint64;
-                   units Hz;
-        mandatory true;
-        description
-          "Center frequency of channel bandwidth in Hz. Common for all numerologies.";
-      }
-
-      leaf channel-bandwidth {
-        type uint64;
-        units Hz;
-        mandatory true;
-
-        description
-          "Width of carrier given in Hertz";
-      }
-
-
-      leaf power {
-        type decimal64 {
-          fraction-digits 4;
-        }
-        mandatory true;
-
-        description
-          "Transmission power in dBm. Value applicable to each array element carrier belonging to array carrier.";
-      }
-
-      leaf active {
-        type enumeration {
-          enum INACTIVE {
-                description
-                  "carrier does not provide signal - transmission is disabled";
-              }
-          enum SLEEP{
-                description
-                  "carrier is fully configured and was active but is energy saving mode";
-              }
-          enum ACTIVE{
-                description
-                  "carrier is fully configured and properly providing the signal";
-              }
-        }
-        default INACTIVE;
-
-        description
-          "Indicates if transmission is enabled for this tx-array-carriers. Note that Netconf server uses state parameter
-          to indicate actual state of tx-array-carriers operation. When tx-array-carriers is in sleep status,
-          Netconf server rejects all other operation request to tx-array-carriers object except either request to change from sleep
-          to active status or delete MO operation (see 4.8) to the object.";
-      }
-
-      leaf state {
-        type enumeration {
-          enum DISABLED {
-            description
-              "tx-array-carrier is not active - transmission of signal is disabled.";
-          }
-          enum BUSY {
-            description
-              "tx-array-carrier is processing an operation requested by change of active parameter.
-              When tx-array-carriers is BUSY the transmission of signal is not guaranteed.";
-          }
-          enum READY {
-            description
-              "tx-array-carrier had completed activation operation - is active and transmission of signal is ongoing.";
-          }
-        }
-        config false;
-
-        description
-          "Indicates state of tx-array-carriers activation operation";
-      }
-
-      leaf type {
-        type enumeration {
-          enum NR {
-                description
-                  "5G technology";
-              }
-        }
-        config false;
-
-        description
-          "Type of carrier. Indicates array-carrier technology.";
-      }
-
-      leaf fft-size {
-        type uint32;
-
-        description
-            "The FFT size defines the number of bins used for dividing the window into equal strips, or bins.
-              Hence, a bin is a spectrum sample, and defines the frequency resolution of the window.";
-      }
-
-      leaf downlink-radio-frame-offset {
-        type uint32 {
-          range 0..12288000;
-        }
-        mandatory true;
-
-        description
-          "This parameter is used for offsetting the starting position of 10ms radio frame.
-          Note: The value should have same value within DU to all tx-array-carrierss that have same frequency and bandwidth.
-          Note2: Unit is 1/1.2288e9 Hz and accuracy is 1/4 Tc. Then, its range is calculated 0..12288000.";
-      }
-
-      leaf downlink-sfn-offset {
-        type int16 {
-          range -32768..32767;
-        }
-        mandatory true;
-
-        description
-          "This parameter is used for offsetting SFN value.
-          Unit is in 10ms.
-          Note: The value should have same value within DU to all tx-array-carrierss that have same frequency and bandwidth.";
-      }
-
-      leaf default-scs {
-               type enumeration {
-          enum KHZ_15 {
-           value 0;
-            description
-            "15kHz sub carrier spacing";
-          }
-          enum KHZ_30 {
-            value 1;
-                description
-                  "30kHz sub carrier spacing";
-          }
-          enum KHZ_60 {
-            value 2;
-                description
-                  "60kHz sub carrier spacing";
-          }
-          enum KHZ_120 {
-            value 3;
-                description
-                  "120kHz sub carrier spacing";
-          }
-          enum KHZ_240 {
-            value 4;
-                description
-                  "240kHz sub carrier spacing";
-          }
-          enum KHZ_1_25 {
-            value 12;
-                  description
-                  "1,25kHz sub carrier spacing";
-          }
-          enum KHZ_5 {
-            value 14;
-                description
-                  "5kHz sub carrier spacing";
-          }
-        }
-
-           mandatory true;
-
-        description
-          "Sub-carrier spacing configuration";
-         }
-
-               list scs-specific-config {
-                       key scs;
-                       description
-                               "List of scs-specific configurations";
-                               uses scs-config;
-                       }
-        leaf cp-length {
-          type uint32;
-            description
-              "CP length woud be determined by deployment types that has different
-                delay spread requirements, and/or determined by frequency bands, service type
-                or determined by whether beam forming technology is used or not";
-        }
-      }
-
-    list rx-array-carriers {
-      key name;
-      description
-        "Object model for rx-array-carriers configuration";
-
-               leaf name {
-                 type string;
-            description
-            "Unique name of rx-array-carriers object.";
-      }
-
-
-      leaf absolute-frequency-center {
-        type uint32;
-        mandatory true;
-        description
-         "Absolute Radio Frequency Channel Number - indirectly indicates RF center carrier frequency of downlink signal.";
-      }
-      leaf center-of-channel-bandwidth {
-        type uint64;
-                   units Hz;
-        mandatory true;
-        description
-          "Center frequency of channel bandwidth. Common for all numerologies.";
-      }
-      leaf channel-bandwidth {
-        type uint64;
-        units Hz;
-        mandatory true;
-        description
-          "Width of carrier given in Hertz";
-      }
-
-
-      leaf active {
-        type enumeration {
-          enum INACTIVE {
-                description
-                  "carrier does not provide signal - transmission is disabled";
-              }
-          enum SLEEP{
-                description
-                  "carrier is fully configured and was active but is energy saving mode";
-              }
-          enum ACTIVE{
-                description
-                  "carrier is fully configured and properly providing the signal";
-              }
-        }
-        default INACTIVE;
-        description
-          "Indicates if transmission is enabled for this rx-array-carriers. Note that Netconf server uses state parameter
-          to indicate actual state of rx-array-carriers operation. When rx-array-carriers is in sleep status,
-          Netconf server rejects all other operation request to rx-array-carriers object except either request to change from sleep
-          to active status or delete MO operation (see 4.8) to the object.";
-      }
-
-      leaf state {
-        type enumeration {
-          enum DISABLED {
-            description
-              "rx-array-carrier is not active - transmission of signal is disabled.";
-          }
-          enum BUSY {
-            description
-              "rx-array-carrier is processing an operation requested by change of active parameter.
-              When tx-array-carriers is BUSY the transmission of signal is not guaranteed.";
-          }
-          enum READY {
-            description
-              "rx-array-carrier had completed activation operation - is active and transmission of signal is ongoing.";
-          }
-        }
-        config false;
-
-        description
-          "Indicates state of rx-array-carriers activation operation";
-      }
-
-      leaf type {
-        type enumeration {
-          enum NR {
-                description
-                  "5G technology";
-              }
-        }
-        config false;
-
-        description
-          "Type of carrier. Indicates array-carrier technology.";
-      }
-
-      leaf fft-size {
-        type uint32;
-          description
-            "FFT size";
-      }
-
-      leaf ul-fft-sampling-offset {
-        type uint32;
-            description
-              "uplink FFT sampling offset";
-      }
-
-      leaf n-ta-offset {
-        type uint32;
-        description
-          "Value of configurable N-TA offset";
-      }
-      leaf default-scs {
-           type enumeration {
-          enum KHZ_15 {
-            value 0;
-            description
-              "15kHz sub carrier spacing";
-          }
-          enum KHZ_30 {
-            value 1;
-                description
-                  "30kHz sub carrier spacing";
-          }
-          enum KHZ_60 {
-            value 2;
-                description
-                  "60kHz sub carrier spacing";
-          }
-          enum KHZ_120 {
-            value 3;
-                description
-                  "120kHz sub carrier spacing";
-          }
-          enum KHZ_240 {
-            value 4;
-                description
-                  "240kHz sub carrier spacing";
-          }
-          enum KHZ_1_25 {
-            value 12;
-                  description
-                  "1,25kHz sub carrier spacing";
-          }
-          enum KHZ_5 {
-            value 14;
-                description
-                  "5kHz sub carrier spacing";
-          }
-        }
-        mandatory true;
-
-        description
-          "Sub-carrier spacing configuration";
-         }
-
-         list scs-specific-config {
-               key scs;
-               description
-                 "List of static scs-specific configurations";
-                 uses scs-config;
-               }
-
-
-      leaf cp-length {
-        type uint32;
-          description
-            "CP length woud be determined by deployment types that has different
-              delay spread requirements, and/or determined by frequency bands, service type
-              or determined by whether beam forming technology is used or not";
-      }
-
-    }
-
-    list tx-arrays {
-      key name;
-      config false;
-      description
-        "Object model for tx-arrays configuration";
-
-      leaf name {
-        type string;
-        description
-          "Unique name of tx-arrays object.";
-      }
-
-      leaf polarisation {
-        type int8 {
-          range "-45 | 0 | 45 | 90";
-        }
-          description
-            "This parameter informing which polarization is served by particular antenna array
-              as per HW design. Expected values are +45 deg, -45 deg, 0 deg and 90 deg.
-              Note: In case of multi-band RU orthogonality is assumed to exist per band, meaning:
-              either pair of +45 deg and -45 deg or pair of 0 deg and 90 deg are expected per band.
-              Non-orthogonal pairs like e.g 0 deg and +45 deg are not expected.";
-      }
-
-      leaf panel-id {
-        type uint8;
-          description
-            "This parameter informing panel particular antenna array is built into.
-              Intended use is to indicate if two orthogonal arrays occupy the same physical panel (e.g. as cross-polarized
-              radiators) or if arrays of different polarizations are built into physically separated panels.";
-      }
-
-      leaf band-number {
-        type leafref {
-          path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
-        }
-        description
-          "This parameter informing which frequency band particular antenna
-           array is serving for.
-           Intended use is to deal with multiband solutions.";
-      }
-    }
-
-    list rx-arrays {
-      key name;
-      config false;
-      description
-        "Object model for rx-arrays configuration";
-
-      leaf name {
-        type string;
-        description
-          "Unique name of rx-arrays object.";
-      }
-
-      leaf polarisation {
-        type int8 {
-          range "-45 | 0 | 45 | 90";
-        }
-        description
-          "This parameter informing which polarization is served by  particular antenna array
-          as per HW design. Expected values are +45 deg, -45 deg, 0 deg and 90 deg.
-          Note: In case of multi-band RU orthogonality is assumed to exist per band, meaning:
-          either pair of +45 deg and -45 deg or pair of 0 deg and 90 deg are expected per band.
-          Non-orthogonal pairs like e.g 0 deg and +45 deg are not expected.";
-      }
-
-      leaf panel-id {
-        type uint8;
-        description
-          "This parameter informing panel particular antenna array is built
-           into.
-           Intended use is to indicate if two orthogonal arrays occupy the same
-           physical panel (e.g. as cross-polarized radiators) or if arrays of
-           different polarizations are built into physically separated panels.";
-      }
-
-      leaf band-number {
-        type leafref {
-          path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
-        }
-        description
-          "This parameter informing which frequency band particular antenna
-           array is serving for.
-           Intended use is to deal with multiband solutions.";
-      }
-    }
-  }
-
-   grouping scs-config {
-    description
-         "It groups all parameters related to SCS configuration";
-
-    leaf scs {
-      type enumeration {
-        enum KHZ_15 {
-          value 0;
-              description
-                "15kHz sub carrier spacing";
-        }
-        enum KHZ_30 {
-          value 1;
-              description
-                "30kHz sub carrier spacing";
-        }
-        enum KHZ_60 {
-          value 2;
-              description
-                "60kHz sub carrier spacing";
-        }
-        enum KHZ_120 {
-          value 3;
-              description
-                "120kHz sub carrier spacing";
-        }
-        enum KHZ_240 {
-          value 4;
-              description
-                "240kHz sub carrier spacing";
-        }
-        enum KHZ_1_25 {
-          value 12;
-                description
-                "1,25kHz sub carrier spacing";
-        }
-        enum KHZ_5 {
-          value 14;
-              description
-                "5kHz sub carrier spacing";
-        }
-      }
-        description
-          "Sub-carrier spacing configuration";
-    }
-    leaf offset-to-absolute-frequency-center {
-      type int32;
-      mandatory true;
-      description
-        "Offset to center-of-carrier-bandwidth. Mostly negative value. Granularity of this parameter is 0.5 SCS";
-    }
-
-    leaf number-of-prbs {
-      type uint32;
-      mandatory true;
-      description
-        "Number of physical resource blocks.";
-    }
-  }
-
-
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-beamforming.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-beamforming.yang
deleted file mode 100644 (file)
index 3e6c995..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-module xran-beamforming {
-  yang-version 1.1;
-  namespace "urn:xran:beamforming:1.0";
-  prefix "xran-bf";
-
-  import xran-uplane-conf {
-    prefix up;
-  }
-
-  import xran-module-cap {
-    prefix "mcap";
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the beamforming capabilitites of an RU.
-    Only RUs that support beamforming shall support this module.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  feature MODIFY-BF-CONFIG {
-    description
-      "This feature indicates that the RU supports an optional feature to
-      modify beamforming configuration information";
-  }
-
-  typedef beam-reference {
-    type leafref {
-      path "/xran-bf:beamforming-config/xran-bf:per-band-config/xran-bf:beam-information/xran-bf:beamforming-properties/xran-bf:beam-id";
-    }
-    description
-      "This type is used by data models that need to reference a beam.";
-  }
-  container beamforming-config {
-    config false;
-    description
-      "A set of configuration data for the RU's beam forming functionality";
-
-    list per-band-config {
-      key band-number;
-      description "beamforming information per band";
-      leaf band-number {
-        type leafref {
-          path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
-        }
-        description
-          "band information for the beamforming information
-           related to the band number of module capabilities";
-      }
-
-      leaf-list tx-array {
-        type leafref {
-          path "/up:user-plane-configuration/up:tx-arrays/up:name";
-        }
-        description "tx arrays belonging to this band number";
-      }
-      leaf-list rx-array {
-        type leafref {
-          path "/up:user-plane-configuration/up:rx-arrays/up:name";
-        }
-        description "rx arrays belonging to this band number";
-      }
-      container static-properties {
-        description
-          "the static beamforming related information";
-        leaf beamforming-type {
-          type enumeration {
-            enum COMMON {
-              description "A common beam ID is used for entire band";
-            }
-            enum DIFFERENT {
-              description "Different beam IDs can be assigned for each PRB/RE";
-            }
-          }
-          description
-            "This value indicates supporting beamforming type in RU";
-        }
-
-        leaf number-of-beams {
-          type uint16;
-          description
-            "This value indicates the number of beam patterns RU can generate
-            and apply to the signal of each RU port (both DL and UL).
-            This value is equivalent to the maximum number of used beam IDs.";
-        }
-
-        leaf number-of-polarizations {
-          type uint8;
-          description
-            "This value indicates the number of polarizations supported at RU.";
-        }
-
-        leaf number-of-panels {
-          type uint8;
-          description
-            "This value indicates the number of antenna panels supported at RU.";
-        }
-      }
-
-      container beam-information {
-        description
-          "beam information which relates to the current beamforming configuration";
-        leaf number-of-beamforming-properties {
-          type uint16;
-          description
-            "This parameter indicates the number of beamFormingProperties entries.";
-        }
-
-        list beamforming-properties {
-          key beam-id;
-          description
-            "Array for the beamforming properties at RU.
-            These parameters can be used by the beamforming control by the NETCONF client.
-            'numberOfBeamformingProperties' indicaets the size of the array.";
-
-
-          leaf beam-id {
-            type uint16;
-            description
-              "This value indicates the beam ID whose beamforming properties are
-              described in the container.";
-          }
-
-          container beamforming-property {
-            description
-              "Structure containing single set of beamforming properties.";
-
-            leaf coarse-fine {
-              type enumeration {
-                enum COARSE-BEAM {
-                  description "the beam-id corresponds to a coarse beam";
-                }
-                enum FINE-BEAM {
-                  description "the beam-id corresponds to a fine beam";
-                }
-              }
-              description
-                "This value indicates the beam resolution.";
-            }
-
-            leaf beam-groups-id {
-              type uint16;
-              description
-                "Beams with same beamGroupsID can be transmitted simultaneously.";
-            }
-
-            leaf-list coarse-fine-beam-relation {
-              type beam-reference;
-              description
-                "list of related coarse/fine beam.";
-
-            }
-
-            leaf-list neighbor-beam {
-              type beam-reference;
-              description
-                "A list of neighbor beams which might restrict co-scheduling due
-                to interference.";
-            }
-          }
-        }
-      }
-    }
-    container ue-specific-beamforming {
-      presence
-        "Indicates that the RU supports optional Section Type '6' Fields
-        (used for sending channel information for a specific UE";
-      config false;
-      description
-        "Information related to supput by the RU of Section Type 6 for
-        signalling UE-specific channel information to the RU";
-      leaf max-number-of-ues {
-        type uint8;
-        description
-          "Indicates tha maximum number of UE -specific channel information
-          data sets supported by the RU";
-      }
-    }
-    container operational-properties {
-      if-feature MODIFY-BF-CONFIG;
-      description "properties for dynamic beam weight/attribute support";
-
-      leaf number-of-writeable-beamforming-files {
-        type uint8  {
-          range "1 .. max";
-        }
-        mandatory true;
-        description
-          "This leaf indicates the maximum number of writeable beamforming files
-          containing beamweights and/or attributes that the RU can store, taking
-          into account the maximum number of beam-IDs as defined by 3GPP
-          TS38.214 v15.x.x";
-      }
-
-      leaf update-bf-non-delete {
-        type boolean;
-        default false;
-        description
-          "When set to TRUE, indicates that an RU supports the capability
-          to apply the modified beamforming weight information by using rpc
-          activate-beamforming-weight without deletion of tx-array-carriers and
-          rx-array-carriers in advance, i.e., to a deactivated carrier";
-      }
-
-      leaf persistent-bf-files {
-        type boolean;
-        default false;
-        description
-          "When set to TRUE, indicates that the RU supports the capability
-           to store the modified beamforming weight information file in the
-           reset persistent memory";
-      }
-    }
-
-         leaf beamforming-trough-attributes-supported {
-           type boolean;
-           description
-             "Informs if beamforming can be controlled providing attributes to RU
-                   (like angles, beamwidth).";
-         }
-
-         leaf beamforming-trough-ue-channel-info-supported {
-           type boolean;
-           description
-             "Informs if beamforming can be controlled by UE information.";
-         }
-  }
-
-  rpc activate-beamforming-config {
-    if-feature MODIFY-BF-CONFIG;
-    description
-      "rpc to activate beamforming config information by indicating the file
-      stored in the folder xRAN/beam-weights in advance";
-    input {
-      leaf beamforming-config-file {
-        type string;
-        mandatory true;
-        description
-          "file name stored in xRAN/beamforming/ folder is indicated";
-      }
-      leaf band-number {
-        type leafref {
-          path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
-        }
-        description
-          "The band to which the beam configuration applies";
-      }
-    }
-    output {
-      leaf status {
-        type enumeration {
-          enum ACCEPTED {
-            description "RU has accepted the beamforming weight/attribute file";
-          }
-          enum REJECTED {
-            description
-              "RU has rejected the beamforming weight/attribute file. The RU
-              should then use the default beamforming file.";
-          }
-        }
-        mandatory true;
-        description "Status of activation of beamforming config information";
-      }
-      leaf error-message {
-        when "../status='REJECTED'";
-        type string;
-        description
-          "Detailed error Message when the status is rejected, e.g.,
-           because new beam forming file is attempted to be applied to a
-           carrier which is still active, or the beam-id does not exist.";
-      }
-    }
-  }
-
-  //notification statement
-  notification beamforming-information-update {
-    leaf band-number {
-      type leafref {
-        path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
-      }
-      description
-        "The band to which the beamforming information is updated";
-    }
-    description
-      "this notification indicates that the beamforming properties are updated";
-
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-delay-management.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-delay-management.yang
deleted file mode 100644 (file)
index e21cf93..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-module xran-delay-management {
-  yang-version 1.1;
-  namespace "urn:xran:delay:1.0";
-  prefix "xran-delay";
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module covers off aspects of lls-CU to RU delay management,
-    including config data related to RU transmission and reception
-    windows.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  feature ADAPTIVE-RU-PROFILE {
-    description
-      "This feature indicates that the RU supports adaptive RU delay profile
-      based on information provided by the NETCONF client.";
-  }
-
-  container delay-management {
-    description "top level tree covering off lls-CU to RU delay management";
-
-    list bandwidth-scs-delay-state {
-      key "bandwidth subcarrier-spacing";
-      description
-        "Array of structures containing sets of parameters for delay management.";
-
-      leaf bandwidth {
-        type uint32 {
-          range "200 | 1400 | 3000 | 5000 | 10000 | 15000 | 20000 | 25000 |
-                30000 | 40000 | 50000 | 60000 | 70000 | 80000 | 90000 | 100000
-                | 200000 | 400000" ;
-        }
-        units kilohertz;
-        description
-          "transmission bandwidth configuration in units of kHz -
-          covering NBIoT through to New Radio - see 38.104";
-      }
-      leaf subcarrier-spacing {
-        type uint32 {
-          range "0 .. 240000 ";
-        }
-        units Hertz;
-        description "subcarrier spacing in Hz";
-      }
-
-      container ru-delay-profile {
-        config false;
-        description "container for RU delay parameters";
-        leaf t2a-min-up {
-          type uint32;
-          units nanoseconds;
-          mandatory true;
-          description
-            "the minimum RU data processing delay between receiving IQ data
-            message over the fronthaul interface and transmitting
-            the corresponding first IQ sample at the antenna";
-        }
-        leaf t2a-max-up {
-          type uint32;
-          units nanoseconds;
-          mandatory true;
-          description
-            "the earliest allowable time when a data packet is received before
-            the corresponding first IQ sample is transmitted at the antenna";
-        }
-        leaf t2a-min-cp-dl {
-          type uint32;
-          units nanoseconds;
-          mandatory true;
-          description
-            "the minimum RU data processing delay between receiving downlink
-            real time control plane message over the fronthaul interface and
-            transmitting the corresponding first IQ sample at the antenna";
-        }
-        leaf t2a-max-cp-dl {
-          type uint32;
-          units nanoseconds;
-          mandatory true;
-          description
-            "the earliest allowable time when a downlink real time control message
-            is received before the corresponding first IQ sample is transmitted at
-            the antenna";
-        }
-        leaf tadv-cp-dl {
-          type uint32;
-          units nanoseconds;
-          mandatory true;
-          description
-            "the time difference (advance) between the reception window for
-            downlink real time Control messages and reception window for the
-            corresponding IQ data messages.";
-        }
-        leaf ta3-min {
-          type uint32;
-          units nanoseconds;
-          mandatory true;
-          description
-            "the minimum RU data processing delay between receiving an IQ sample
-            at the antenna and transmitting the last data sample over the
-            fronthaul interface";
-        }
-        leaf ta3-max {
-          type uint32;
-          units nanoseconds;
-          mandatory true;
-          description
-            "the maximum RU data processing delay between receiving an IQ sample
-            at the antenna and transmitting the first data sample over the
-            fronthaul interface";
-        }
-        leaf t2a-min-cp-ul {
-          type uint32;
-          units nanoseconds;
-          mandatory true;
-          description
-            "the minimum RU data processing delay between receiving real time
-            up-link control plane message over the fronthaul interface and
-            recieving the first IQ sample at the antenna";
-        }
-        leaf t2a-max-cp-ul {
-          type uint32;
-          units nanoseconds;
-          mandatory true;
-          description
-            "the earliest allowable time when a real time up-link control message
-            is received before the corresponding first IQ sample is received  at
-            the antenna";
-        }
-      }
-    }
-
-    container adaptive-delay-configuration {
-      if-feature ADAPTIVE-RU-PROFILE;
-      description "container for adaptive delay parameters";
-      list bandwidth-scs-delay-state {
-        key "bandwidth subcarrier-spacing";
-        description
-          "Array of structures containing sets of parameters for delay management.";
-
-        leaf bandwidth {
-          type uint32 {
-            range "200 | 1400 | 3000 | 5000 | 10000 | 15000 | 20000 | 25000 |
-                  30000 | 40000 | 50000 | 60000 | 70000 | 80000 | 90000 | 100000
-                  | 200000 | 400000" ;
-          }
-          units kilohertz;
-          description
-            "transmission bandwidth configuration in units of kHz -
-            covering NBIoT through to New Radio - see 38.104";
-        }
-        leaf subcarrier-spacing {
-          type uint32 {
-            range "0 .. 240000 ";
-          }
-          units Hertz;
-          description "subcarrier spacing in Hz";
-        }
-        container lls-cu-delay-profile {
-          description
-            "lls-CU provided delay profile for adaptive delay configuration";
-          leaf t1a-max-up-lls-cu {
-            type uint32;
-            units nanoseconds;
-            description
-              "the earliest possible time which the lls-CU can support transmiting
-              an IQ data message prior to transmission of the corresponding IQ
-              samples at the antenna";
-          }
-          leaf tx-max-lls-cu {
-            type uint32;
-            units nanoseconds;
-            description
-              "The maximum amount of time which the lls-CU requires to transmit
-              all downlink user plane IQ data message for a symbol";
-          }
-          leaf ta4-max-lls-cu {
-            type uint32;
-            units nanoseconds;
-            description
-              "the latest possible time which the lls-CU can support receiving the
-              last uplink user plane IQ data message for a symbol.";
-          }
-          leaf rx-max-lls-cu {
-            type uint32;
-            units nanoseconds;
-            description
-              "The maximum time difference the lls-CU can support between
-              receiving the first user plane IQ data message for a symbol and
-              receiving the last user plane IQ data message for the same symbol";
-          }
-        }
-      }
-
-      container transport-delay {
-        description
-          "lls-CU provided transport-delay parameters";
-        leaf t12-min {
-          type uint32;
-          units nanoseconds;
-          description
-            "the minimum measured delay between CU port-ID and RU port-ID";
-        }
-        leaf t34-min {
-          type uint32;
-          units nanoseconds;
-          description
-            "the minimum measured delay between RU port-ID and CU port-ID";
-        }
-// additional leaf added by Samsung
-        leaf t12-max {
-          type uint32;
-          units nanoseconds;
-          description
-            "the maximum measured delay between CU port-ID and RU port-ID";
-        }
-// additional leaf added by Samsung
-        leaf t34-max {
-          type uint32;
-          units nanoseconds;
-          description
-            "the maximum measured delay between RU port-ID and CU port-ID";
-        }
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-module-cap.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-module-cap.yang
deleted file mode 100644 (file)
index 21965cb..0000000
+++ /dev/null
@@ -1,533 +0,0 @@
-module xran-module-cap {
-  yang-version 1.1;
-  namespace "urn:xran:module-cap:1.0";
-  prefix "xran-module-cap";
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the module capabilities for
-    the xRAN Radio Unit.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  grouping compression-method-grouping {
-    description
-         "Grouping for compression method.";
-
-    leaf compression-method {
-      type enumeration {
-        enum BLOCK_FLOATING_POINT {
-          description
-            "Block floating point compression and decompression will be used";
-        }
-
-        enum BLOCK_SCALING {
-          description
-            "Block scaling compression and decompresion will be used";
-        }
-
-        enum U_LAW {
-          description
-            "u-Law compression and decompresion method will be used";
-        }
-
-        enum BEAMSPACE {
-          description
-            "Beamspace compression and decompression will be used";
-        }
-
-        enum MODULATION {
-          description
-            "Modulation compression and decompression will be used";
-        }
-      }
-         description
-           "Compresion method which can be supported by the RU";
-    }
-  }
-
-  container module-capability {
-    config false;
-    description
-      "module capability object responsible for providing module capability.";
-
-    container ru-capabilities {
-      description
-        "Structure representing set of capabilities.";
-
-      leaf ru-supported-category {
-        type enumeration {
-          enum CAT_A {
-            description
-              "Informs that precoding is supported in lls-CU";
-          }
-          enum CAT_B {
-            description
-              "Informs that precoding is supported in RU";
-          }
-        }
-
-        description
-          "Informs about which category RU supports";
-      }
-
-      leaf number-of-ru-ports {
-        type uint8;
-        description
-          "This value indicates the maximum number of simultaneous beams per RU.
-          This value is derived by the products of “numberOfPolarizations” and “numberOfPanels”
-          and “the maximum number of simultaneous beams per sub-carrier”.";
-      }
-
-      leaf number-of-antenna-ports {
-        type uint8;
-        description
-          "This value indicates the number of antenna ports supported at RU.
-          This parameter is used by the precoding control between lls-CU and UE.
-          This value conforms to 3GPP TS38.214, Section 5.2. Value 0 means “unused”.";
-      }
-
-      leaf max-power-per-pa-antenna {
-        type decimal64{
-          fraction-digits 4;
-        }
-        description
-          "This value indicates Maximum Power per PA per antenna. Value unit is dBm.";
-      }
-
-      leaf min-power-per-pa-antenna {
-        type decimal64{
-          fraction-digits 4;
-        }
-        description
-          "This value indicates Minimum Power per PA per antenna. Value unit is dBm.";
-      }
-
-      leaf fronthaul-split-option {
-        type uint8 {
-          range "7";
-        }
-        description
-          "This value indicates the Fronthaul Split Option, i.e., 2 or 7 in this release.";
-      }
-
-      container format-of-iq-sample {
-        description
-          "Indicates module capabilities about IQ samples";
-
-        leaf dynamic-compression-supported {
-          type boolean;
-
-          description
-            "Informs if radio supports dynamic compression method";
-        }
-
-        leaf-list supported-bitwidths {
-          type uint8 {
-            range "1..16";
-          }
-
-          description
-            "List of supported bitwidths";
-        }
-
-        leaf realtime-variable-bit-width-supported {
-          type boolean;
-
-          description
-            "Informs if RU supports realtime variable bit with";
-        }
-
-        list compression-method-supported {
-          uses compression-method-grouping;
-
-          description
-            "List of supported compression methods by RU";
-        }
-
-        leaf variable-bit-width-per-channel-supported {
-          when "/module-capability/ru-capabilities/format-of-iq-sample/realtime-variable-bit-width-supported = 'true'";
-          type boolean;
-
-          description
-            "Informs if variable bit width per channel is supported or not";
-        }
-
-        leaf syminc-supported {
-          type boolean;
-
-          description
-            "Informs if symbol number increment command in a C-Plane is
-             supported or not";
-        }
-      }
-
-      list ul-mixed-num-required-guard-rbs {
-        key "scs-a scs-b";
-        description
-          "Required number of guard resource blocks for the combination of
-          subcarrier spacing values for uplink";
-        leaf scs-a{
-          type enumeration {
-            enum KHZ_15 {
-              value 0;
-                    description
-                    "15kHz sub carrier spacing";
-            }
-            enum KHZ_30 {
-              value 1;
-                  description
-                    "30kHz sub carrier spacing";
-            }
-            enum KHZ_60 {
-              value 2;
-                  description
-                    "60kHz sub carrier spacing";
-            }
-            enum KHZ_120 {
-              value 3;
-                  description
-                    "120kHz sub carrier spacing";
-            }
-            enum KHZ_240 {
-              value 4;
-                  description
-                    "240kHz sub carrier spacing";
-            }
-            enum KHZ_1_25 {
-              value 12;
-                    description
-                    "1,25kHz sub carrier spacing";
-            }
-            enum KHZ_5 {
-              value 14;
-                  description
-                    "5kHz sub carrier spacing";
-            }
-          }
-          description
-            "Sub-carrier spacing configuration";
-        }
-        leaf scs-b{
-          type enumeration {
-            enum KHZ_15 {
-              value 0;
-                    description
-                    "15kHz sub carrier spacing";
-            }
-            enum KHZ_30 {
-              value 1;
-                  description
-                    "30kHz sub carrier spacing";
-            }
-            enum KHZ_60 {
-              value 2;
-                  description
-                    "60kHz sub carrier spacing";
-            }
-            enum KHZ_120 {
-              value 3;
-                  description
-                    "120kHz sub carrier spacing";
-            }
-            enum KHZ_240 {
-              value 4;
-                  description
-                    "240kHz sub carrier spacing";
-            }
-            enum KHZ_1_25 {
-              value 12;
-                    description
-                    "1,25kHz sub carrier spacing";
-            }
-            enum KHZ_5 {
-              value 14;
-                  description
-                    "5kHz sub carrier spacing";
-            }
-          }
-          description
-            "Sub-carrier spacing configuration";
-        }
-        leaf number-of-guard-rbs-ul{
-          type uint8;
-          description
-            "This value indicates the required number of guard resource blocks
-             between the mixed numerologies, the RB using scs-a and the RB
-             using scs-b. It's number is based on scs-a";
-        }
-      }
-      list dl-mixed-num-required-guard-rbs {
-        key "scs-a scs-b";
-        description
-          "Required number of guard resource blocks for the combination of
-          subcarrier spacing values for downlink";
-          leaf scs-a{
-            type enumeration {
-              enum KHZ_15 {
-                value 0;
-                      description
-                      "15kHz sub carrier spacing";
-              }
-              enum KHZ_30 {
-                value 1;
-                    description
-                      "30kHz sub carrier spacing";
-              }
-              enum KHZ_60 {
-                value 2;
-                    description
-                      "60kHz sub carrier spacing";
-              }
-              enum KHZ_120 {
-                value 3;
-                    description
-                      "120kHz sub carrier spacing";
-              }
-              enum KHZ_240 {
-                value 4;
-                    description
-                      "240kHz sub carrier spacing";
-              }
-              enum KHZ_1_25 {
-                value 12;
-                      description
-                      "1,25kHz sub carrier spacing";
-              }
-              enum KHZ_5 {
-                value 14;
-                    description
-                      "5kHz sub carrier spacing";
-              }
-            }
-            description
-              "Sub-carrier spacing configuration";
-          }
-          leaf scs-b{
-            type enumeration {
-              enum KHZ_15 {
-                value 0;
-                      description
-                      "15kHz sub carrier spacing";
-              }
-              enum KHZ_30 {
-                value 1;
-                    description
-                      "30kHz sub carrier spacing";
-              }
-              enum KHZ_60 {
-                value 2;
-                    description
-                      "60kHz sub carrier spacing";
-              }
-              enum KHZ_120 {
-                value 3;
-                    description
-                      "120kHz sub carrier spacing";
-              }
-              enum KHZ_240 {
-                value 4;
-                    description
-                      "240kHz sub carrier spacing";
-              }
-              enum KHZ_1_25 {
-                value 12;
-                      description
-                      "1,25kHz sub carrier spacing";
-              }
-              enum KHZ_5 {
-                value 14;
-                    description
-                      "5kHz sub carrier spacing";
-              }
-            }
-            description
-              "Sub-carrier spacing configuration";
-          }
-        leaf number-of-guard-rbs-dl{
-          type uint8;
-          description
-            "This value indicates the required number of guard resource blocks
-             between the mixed numerologies, the RB using scs-a and the RB
-             using scs-b. It's number is based on scs-a";
-        }
-      }
-    }
-    list band-capabilities {
-      key band-number;
-      description
-        "Capabilities that are needed to be defined per each band";
-
-      leaf band-number {
-        type uint16;
-        description
-          "Band number";
-      }
-
-      leaf max-supported-frequency-dl {
-        type uint64;
-        description
-          "This value indicates Maximum supported downlink frequency. Value unit is Hz.";
-      }
-
-      leaf min-supported-frequency-dl {
-        type uint64;
-        description
-          "This value indicates Minimum supported downlink frequency. Value unit is Hz.";
-      }
-
-      leaf max-supported-bandwidth-dl {
-        type uint64;
-        description
-          "This value indicates Maximum total downlink bandwidth in module. Value unit is Hz.";
-      }
-
-      leaf max-num-carriers-dl {
-        type uint32;
-        description
-          "This value indicates Maximum number of downlink carriers in module.";
-      }
-
-      leaf max-carrier-bandwidth-dl {
-        type uint64;
-        description
-          "This value indicates Maximum bandwidth per downlink carrier. Value unit is Hz.";
-      }
-
-      leaf min-carrier-bandwidth-dl {
-        type uint64;
-        description
-          "This value indicates Minimum bandwidth per downlink carrier. Value unit is Hz.";
-      }
-
-      leaf max-supported-frequency-ul {
-        type uint64;
-        description
-          "This value indicates Maximum supported uplink frequency. Value unit is Hz.";
-      }
-
-      leaf min-supported-frequency-ul {
-        type uint64;
-        description
-          "This value indicates Minimum supported uplink frequency. Value unit is Hz.";
-      }
-
-      leaf max-supported-bandwidth-ul {
-        type uint64;
-        description
-          "This value indicates Maximum total uplink bandwidth in module. Value unit is Hz.";
-      }
-
-      leaf max-num-carriers-ul {
-        type uint32;
-        description
-          "This value indicates Maximum number of uplink carriers in module.";
-      }
-
-      leaf max-carrier-bandwidth-ul {
-        type uint64;
-        description
-          "This value indicates Maximum bandwidth per uplink carrier. Value unit is Hz.";
-      }
-
-      leaf min-carrier-bandwidth-ul {
-        type uint64;
-        description
-          "This value indicates Minimum bandwidth per uplink carrier. Value unit is Hz.";
-      }
-//      leaf number-of-supported-streams {
-//        when "/module-capability/ru-capabilities/ru-supported-category = 'CAT_A'"
-//        type uint8;
-//        description
-//          "Number of supported spatial stream in case CAT-A is supported";
-//      }
-// Fixed me if they are necessary.
-
-      leaf max-num-component-carriers {
-        type uint8;
-        description "maximum number of component carriers supported by the RU";
-      }
-
-      leaf max-num-bands {
-        type uint16;
-        description "maximum number of bands supported by the RU";
-      }
-
-      leaf max-num-sectors {
-        type uint8;
-        description "maximum number of sectors supported by the RU";
-      }
-
-      leaf max-power-per-antenna {
-        type decimal64{
-          fraction-digits 4;
-        }
-        description
-          "This value indicates Maximum Power per band per antenna. Value unit is dBm.";
-      }
-
-      leaf min-power-per-antenna {
-        type decimal64{
-          fraction-digits 4;
-        }
-        description
-          "This value indicates Minimum Power per band per antenna. Value unit is dBm.";
-      }
-
-         leaf codebook-configuration_ng {
-          type uint8;
-          description
-            "This parameter informs the precoder codebook_ng that are used for precoding";
-        }
-
-         leaf codebook-configuration_n1 {
-          type uint8;
-          description
-            "This parameter informs the precoder codebook_n1 that are used for precoding";
-        }
-
-         leaf codebook-configuration_n2 {
-          type uint8;
-          description
-            "This parameter informs the precoder codebook_n2 that are used for precoding";
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/readme.txt b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/readme.txt
deleted file mode 100644 (file)
index 1674d38..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-xRAN Forum YANG Models
-
-xRAN has defined an open, interoperable and efficient fronthaul interface.
-The definition of this interface includes the xRAN control, user and
-synchronization (CUS) plane specification .
-
-To complement the CUS plane specification, xRAN has also defined the management
-plane specification . Significantly, the management plane specification uses
-NETCONF/YANG as the network management protocol and data modelling language.
-
-The M-Plane specification describes how to use a set of xRAN defined YANG models
-for managing the xRAN defined RU. This zip file contains the YANG models for
-the xRAN defined Radio Unit (RU).
-
-Directory of YANG models
-
-All revisions of YANG models are available in this directory, with the revision
-being embedded in the path for a particular model. For example all v1.0.0 models
-are available using the directory path 
-
-http://www.xran.org/resources/yang/1-0-0/
-
-Under the directory, the is a zip file that contains several sub-directories
-used to organize the models according to the functionality they support:
-
-         Interfaces: Covering models for handling the RU’s Ethernet and IP
-                     interfaces
-         Operations: Covering models for operational aspects, including S/W,
-                     performance and file management
-         Radio:      Covering models used to support the CU Plane lower PHY
-                     functionality
-         Sync:       Covering models for synchronisation, including GNSS, PTP
-                     and SyncE
-         System:     Covering models for hardware management, NETCONF
-                     supervision, user account management and fan operation
-
-Validation
-
-The YANG files have been tested for compilation with pyang version 1.7.4.
-
-Known Issues
-
-A list of functionalities not currently supported by these YANG models is
-defined in the M-Plane specification.
-
-Future Revisions
-
-Revisions to these YANG models are expected to be made to correct errors and
-enable support for new functionalities. The YANG revisions statement will be
-used to describe those changes to the YANG model that are backwards compatible.
-Backwards incompatible changes will be addressed by using a major version number
-as part of the model name and namespace.
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/sync/xran-sync.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/sync/xran-sync.yang
deleted file mode 100644 (file)
index e38b9be..0000000
+++ /dev/null
@@ -1,662 +0,0 @@
-module xran-sync {
-  yang-version 1.1;
-  namespace "urn:xran:sync:1.0";
-  prefix "xran-sync";
-
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines synchronization mechanism for the xRAN Radio Unit.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  typedef geographic-coordinate-degree {
-           type decimal64 {
-             fraction-digits 8;
-           }
-           description
-             "Decimal degree (DD) used to express latitude and longitude
-              geographic coordinates.";
-       }
-
-  feature GNSS {
-    description
-      "This feature indicates that the RU supports integrated GNSS functionality.";
-  }
-
-  container sync {
-    description
-      "Main containter for sync related parameters";
-
-    container sync-status {
-      config false;
-
-      description
-        "Object of this class provides synchronization state of the module.";
-
-      leaf sync-state {
-        type enumeration {
-          enum LOCKED {
-            description
-              "RU is in the locked mode, as defined in ITU-T G.810";
-          }
-          enum HOLDOVER {
-            description
-              "RU clock is in holdover mode";
-          }
-          enum FREERUN {
-            description
-              "RU clock isn’t locked to an input reference, and is not in the holdover mode";
-          }
-        }
-        mandatory true;
-        description
-          "State of DU synchronization";
-      }
-
-      list supported-reference-types {
-        key item;
-        min-elements 1;
-        description
-          "Type of a synchronization supported source.";
-        leaf item {
-          type enumeration {
-            enum GNSS {
-              description
-                "GPS can be taken as a synchronization source";
-            }
-            enum PTP {
-              description
-                "Precision Time Protocol can be taken as a synchronization source";
-            }
-            enum SYNCE {
-              description
-                "Synchronous Ethernet can be taken as a synchronization source";
-            }
-          }
-          mandatory true;
-
-          description
-            "supported reference-type";
-        }
-      }
-    }
-
-    container sync-capability {
-      config false;
-
-      description
-        "Object of this class provides synchronization capabilities of the module.";
-
-      leaf sync-t-tsc {
-        type enumeration {
-          enum STANDARD {
-            description
-              "Standard accuracy for synchronization is supported by the device";
-          }
-          enum ENCHANCED {
-            description
-              "Enchanced accuracy for synchronization is supported by the device";
-          }
-        }
-        mandatory true;
-        description
-          "This will provide information about T-TSC capability";
-
-        reference "T-TSC: ITU-T G.8275.1/Y.1369.1";
-      }
-    }
-
-    container ptp-config {
-      description
-        "This MO defines configuration of Precise Time Protocol.";
-      leaf domain-number {
-        type uint8;
-        default 24;
-        description
-          "This parameter indicates Domain Number for PTP announce messages.";
-      }
-
-      leaf multicast-mac-address {
-        type enumeration {
-          enum FORWARDABLE {
-            description
-              "means, that PTP shall use 01-80-C2-00-00-0E destination MAC address";
-          }
-          enum NONFORWARDABLE {
-            description
-              "means, that PTP shall use 01-1B-19-00-00-00 destination MAC address";
-          }
-        }
-        default FORWARDABLE;
-        description
-          "The parameter defines destination MAC address, used by the DU in the egress PTP messages.";
-      }
-
-      list accepted-clock-classes {
-        key clock-classes;
-        leaf clock-classes {
-          type uint8;
-          description
-            "PTP Clock Class accepted by the RU";
-        }
-        description
-          "Contains list of PTP acceptable Clock Classes, sorted in the descending order.";
-      }
-
-      leaf delay-asymmetry {
-        type int16 {
-          range -10000..10000;
-        }
-        default 0;
-        description
-          "Defines static phase error in the recovered PTP timing signal to be compensated at the RU.
-          The error is defined in units of nanoseconds in the range ±10 000 ns.";
-      }
-    }
-
-    container ptp-status {
-      description
-        "ptp status container";
-      leaf reporting-period {
-        type uint8;
-        default 10;
-        description
-          "This parameter defines minimum period in seconds between reports,
-          sent by the NETCONF Client, for parameters in this container.";
-      }
-      leaf lock-state {
-        type enumeration {
-          enum LOCKED {
-            description
-              "The integrated ordinary clock is synchronizing to the reference, recovered from PTP flow";
-          }
-          enum UNLOCKED {
-            description
-              "The integrated ordinary clock is not synchronizing to the reference, recovered from PTP flow";
-          }
-        }
-        config false;
-        description
-          "This parameter indicates, whether the integrated ordinary clock is
-          synchronizing to the reference, recovered from PTP signal.
-          The exact definition when to indicate locked or unlocked is up to specific
-          implementation.";
-      }
-
-      leaf clock-class {
-        type uint8;
-        config false;
-        description
-          "This parameter contains the clock class of the clock, controlled by the RU";
-      }
-
-      leaf clock-identity {
-        type string {
-          length 18;
-          pattern "0[xX][0-9a-fA-F]";
-        }
-        config false;
-        description
-          "This parameter contains identity of the clock,
-            according to IEEE 1588-2008 defintion, controlled by the RU.
-          The string shall be formatted as an 8-octet hex value with the “0x” prefix.";
-      }
-
-         leaf partial-timing-supported {
-           type boolean;
-
-               description
-                 "Provides information wheter G.8275.2 (partial timing support from network) is supported.";
-         }
-
-      list sources {
-        key local-port-number;
-        config false;
-
-        description
-          "Synchronisation sources";
-
-        leaf local-port-number {
-          type uint16;
-      // fixme - change to a leafref once interface design is agreed
-          description
-            "This is reference to portNumber of ExternalEthernetPort to identify the port,
-            where the PTP signal is located.";
-        }
-
-        leaf state {
-          type enumeration {
-            enum PARENT {
-              description
-                "Indicates that this source is the current master clock, i.e. the clock,
-                which the clock, controlled by the Netconf Server, is synchronized to";
-            }
-            enum OK {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, can potentially synchronize to,
-                i.e. clock class and priority, announced by the master clock is lower,
-                compared to those of the clock, controlled by the Netconf Server,
-                and and the clock class is accepted";
-            }
-            enum NOK {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, has an operational connection to,
-                but the class or priority of the master clock is higher or equal
-                to those of the clock, controlled by the Netconf Server,
-                or the clock class is not accepted";
-            }
-            enum DISABLED {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, has no operational connection to";
-            }
-          }
-          description
-            "This parameter indicates status of the PTP source";
-        }
-
-        leaf two-step-flag {
-          type boolean;
-          description
-            "This parameter reflects status of the twoStepFlag attribute in Sync messages,
-            received from the PTP source.";
-        }
-
-        leaf leap61 {
-          type boolean;
-          description
-            "This parameter reflects status of the leap61 flag in Announce messages,
-            received from the PTP source.
-            When true, the last minute of the current UTC day contains 61 seconds.";
-        }
-
-        leaf leap59 {
-          type boolean;
-          description
-            "This parameter reflects status of the leap59 flag in Announce messages,
-            received from the PTP source.
-            When true, the last minute of the current UTC day contains 59 seconds.";
-        }
-
-        leaf current-utc-offset-valid {
-          type boolean;
-          description
-            "This parameter reflects status of the currentUtcOffsetValid flag in
-            Announce messages, received from the PTP source.
-            When true, the current UTC offset is valid.";
-        }
-
-        leaf ptp-timescale {
-          type boolean;
-          description
-            "This parameter reflects status of the ptpTimescale flag in Announce
-            messages, received from the PTP source.
-
-            When set, the clock timescale of the grandmaster clock is PTP;
-            otherwise, the timescale is ARB (arbitrary)";
-        }
-
-        leaf time-traceable {
-          type boolean;
-          description
-            "This parameter reflects status of the timeTraceable flag in Announce
-            messages, received from the PTP source.
-
-            When true, the timescale and the currentUtcOffset are traceable to a
-            primary reference";
-        }
-
-        leaf frequency-traceable {
-          type boolean;
-          description
-            "This parameter reflects status of the frequencyTraceable flag in
-            Announce messages, received from the PTP source.
-
-            When true, the frequency determining the timescale is traceable to a
-            primary reference";
-        }
-
-        leaf source-clock-identity {
-          type string {
-            length 18;
-            pattern "0[xX][0-9a-fA-F]";
-          }
-          description
-            "This parameter reflects value of the sourceClockIdentity attribute in
-            Announce messages, received from the PTP source.
-
-            The string shall be formatted as an 8-octet hex value with the “0x”
-            prefix.";
-        }
-
-        leaf source-port-number {
-          type uint16;
-          description
-            "This parameter reflects value of the sourcePortNumber attribute in
-            Announce messages, received from the PTP source.";
-        }
-
-        leaf current-utc-offset {
-          type int16;
-          description
-            "The offset between TAI and UTC when the epoch of the PTP system is
-            the PTP epoch, i.e., when ptp-timescale is TRUE; otherwise, the value
-            has no meaning";
-        }
-
-        leaf priority1 {
-          type int8;
-          description
-            "This parameter reflects value of the priority1 attribute in Announce
-            messages, received from the PTP source.";
-        }
-
-        leaf clock-class {
-          type int8;
-          description
-            "This parameter reflects value of the clockClass attribute in
-            Announce messages, received from the PTP source.";
-        }
-
-        leaf clock-accuracy {
-          type int8;
-          description
-            "This parameter reflects value of the clockAccuracy attribute in
-            Announce messages, received from the PTP source.";
-        }
-
-        leaf offset-scaled-log-variance {
-          type uint16;
-          description
-            "This parameter reflects value of the offsetScaledLogVariance
-            attribute in Announce messages, received from the PTP source.";
-        }
-
-        leaf priority2 {
-          type uint8;
-          description
-            "This parameter reflects value of the priority2 attribute in Announce
-            messages, received from the PTP source.";
-        }
-
-        leaf grandmaster-clock-identity {
-          type string;
-          description
-            "This parameter reflects value of the grandmasterClockIdentity
-            attribute in Announce messages, received from the PTP source.
-
-            The string shall be formatted as an 8-octet hex value with the “0x”
-            prefix.";
-        }
-
-        leaf steps-removed {
-          type uint16;
-          description
-            "This parameter reflects value of the stepsRemoved attribute in
-            Announce messages, received from the PTP source.
-
-            It indicates the number of communication paths traversed
-            between the local clock and the grandmaster clock.";
-        }
-
-        leaf time-source {
-          type uint8;
-          description
-            "This parameter reflects value of the timeSource attribute in
-            Announce messages, received from the PTP source.";
-        }
-      }
-    }
-
-    container synce-status {
-      description
-        "SyncE status container";
-
-      leaf reporting-period {
-          type uint8;
-          default 10;
-          description
-            "This parameter defines minimum period in seconds between reports,
-             sent by the NETCONF client, for parameters in this container.";
-      }
-
-      leaf lock-state {
-        type enumeration {
-          enum LOCKED {
-            description
-              "The integrated ordinary clock is synchronizing to the reference, recovered from SyncE signal";
-          }
-          enum UNLOCKED {
-            description
-              "The integrated ordinary clock is not synchronizing to the reference, recovered from SyncE signal";
-          }
-        }
-        config false;
-        description
-          "This parameter indicates, whether the integrated ordinary clock is
-          synchronizing to the reference, recovered from SyncE signal.
-
-          The exact definition when to indicate locked or unlocked is up to
-          specific implementation.";
-      }
-
-      list sources {
-        key local-port-number;
-        config false;
-        leaf local-port-number {
-          type uint16;
-      //fixme - change to leafref once interfaces ae agreed
-          description
-            "This is reference to portNumber of ExternalEthernetPort to identify
-            the port, where the SyncE signal is located.";
-        }
-
-        leaf state {
-          type enumeration {
-            enum PARENT {
-              description
-                "Indicates that this source is the current master clock, i.e. the clock,
-                which the clock, controlled by the Netconf Server, is synchronized to";
-            }
-            enum OK {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, can potentially synchronize to,
-                i.e. clock class and priority, announced by the master clock is lower,
-                compared to those of the clock, controlled by the Netconf Server,
-                and and the clock class is accepted";
-            }
-            enum NOK {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, has an operational connection to,
-                but the class or priority of the master clock is higher or equal
-                to those of the clock, controlled by the Netconf Server,
-                or the clock class is not accepted";
-            }
-            enum DISABLED {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, has no operational connection to";
-            }
-          }
-          description
-            "This parameter indicates status of the SyncE source";
-        }
-
-        leaf quality-level {
-          type uint8 {
-            range 0..15;
-          }
-          description
-            "This parameter contains value of the SSM clock quality level,
-            received in SSM messages from the SyncE source.";
-        }
-        min-elements 1;
-        description
-          "This parameter contains characteristics of SyncE sources of the clock, controlled by the RU.";
-      }
-    }
-    container gnss-state {
-      if-feature GNSS;
-      config false;
-      description
-        "Provides information about state of gps receiver";
-      leaf name {
-        type string {
-          length "1..255";
-        }
-        description
-        "A name that is unique across the RU that identifies a GNSS instance.
-        This name may be used in fault management to refer to a
-        fault source or affected object";
-      }
-      leaf gnss-status {
-        type enumeration {
-          enum SYNCHRONIZED {
-            description "GNSS functionality is synchronized";
-          }
-          enum ACQUIRING-SYNC {
-            description "GNSS functionality is acquiring sync";
-          }
-          enum ANTENNA-DISCONNECTED {
-            description "GNSS functionality has its antenna disconnected";
-          }
-          enum BOOTING {
-            description "GNSS functionality is booting";
-          }
-          enum ANTENNA-SHORT-CIRCUIT {
-            description "GNSS functionality has an antenna short circuit";
-          }
-        }
-        description "when available, indicates the status of the gnss receiver.";
-      }
-      container gnss-data {
-        when "../gnss-status='SYNCHRONIZED'";
-        description
-          "GPS data contained";
-        leaf satellites-tracked {
-          type uint8;
-          description "Number of satellites tracked";
-        }
-        container location {
-          description
-            "Containes information about geo location";
-          leaf altitude {
-            type int64;
-            units millimeter;
-            description
-              "Distance above the sea level.";
-          }
-          leaf latitude {
-            type geographic-coordinate-degree {
-              range "-90..90";
-            }
-            description
-              "Relative position north or south on the Earth's surface.";
-          }
-          leaf longitude {
-            type geographic-coordinate-degree {
-              range "-180..180";
-            }
-            description
-              "Angular distance east or west on the Earth's surface.";
-          }
-        }
-      }
-    }
-  }
-
-  //notification statement
-  notification synchronization-state-change {
-    description
-         "Notification used to inform about synchronization state change";
-
-    leaf sync-state {
-      type leafref {
-        path "/sync/sync-status/sync-state";
-      }
-      description
-        "State of RU synchronization is notified at state change";
-    }
-  }
-
-  notification ptp-state-change {
-    description
-         "Notification used to inform about ptp synchronization state change";
-
-    leaf ptp-state{
-      type leafref{
-        path "/sync/ptp-status/lock-state";
-      }
-      description
-        "ptp-state-change notification is signalled from RU at state change";
-    }
-  }
-  notification synce-state-change {
-    description
-         "Notification used to inform about synce synchronization state change";
-
-    leaf synce-state{
-      type leafref{
-        path "/sync/synce-status/lock-state";
-      }
-      description
-        "synce-state change notification is signalled from RU at state change";
-    }
-  }
-  notification gnss-state-change {
-    if-feature GNSS;
-    description
-         "Notification used to inform about gnss synchronization state change";
-
-    leaf gnss-state{
-      type leafref{
-        path "/sync/gnss-state/gnss-status";
-      }
-      description
-        "gnss-state-change notification is signalled from RU at state change";
-    }
-  }
-
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-alarm-id.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-alarm-id.yang
deleted file mode 100644 (file)
index f87fcea..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-module xran-alarm-id {
-  yang-version 1.1;
-  namespace "urn:xran:alarms:1.0";
-  prefix "xran-alarms";
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the alarm identities for the RU.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  typedef alarm-id {
-    type enumeration {
-      enum XRAN_HIGH_TEMP_ALARM {
-        value 1;
-        description "A temperature is higher than expected";
-      }
-      enum XRAN_OVERHEATING_ALARM {
-        value 2;
-        description "A temperature is dangerously high";
-      }
-      enum XRAN_AMBIENT_TEMP_ALARM {
-        value 3;
-        description "A temperature related alarm due to ambient temperature
-        value going outside the allowed ambient temperature range";
-      }
-      enum XRAN_TEMP_TOO_LOW_ALARM {
-        value 4;
-        description "A temperature related alarm due to the temperature inside
-        the unit being too low";
-      }
-      enum XRAN_BROKEN_FAN_ALARM {
-        value 5;
-        description "A broken fan";
-      }
-      enum XRAN_FAN_NOT_DETECTED_ALARM {
-        value 6;
-        description "A fan not detected";
-      }
-      enum XRAN_TUNING_ALARM {
-        value 7;
-        description "A tuning failure.";
-      }
-      enum XRAN_FILTER_ALARM {
-        value 8;
-        description "A faulty filter.";
-      }
-      enum XRAN_TX_QUALITY_ALARM {
-        value 9;
-        description "A transmission quality.";
-      }
-      enum XRAN_OVERVOLTAGE_ALARM {
-        value 10;
-        description "A RF  overvoltage protection.";
-      }
-      enum XRAN_CONFIG_ALARM {
-        value 11;
-        description "A configuration failed.";
-      }
-      enum XRAN_CRITICAL_FILE_ALARM {
-        value 12;
-        description "A Critical file not found.";
-      }
-      enum XRAN_FILE_ALARM {
-        value 13;
-        description "A non-critical file not found.";
-      }
-      enum XRAN_CORRUPT_FILE_ALARM {
-        value 14;
-        description "A corrupt configuration file.";
-      }
-      enum XRAN_OPERATION_ALARM {
-        value 15;
-        description "A unit out of order.";
-      }
-      enum XRAN_NO_IDENTITY_ALARM {
-        value 16;
-        description "A unit cannot be identified.";
-      }
-      enum XRAN_NO_EXT_SYNC_SOURCE {
-        value 17;
-        description "An RU has no external sync source.";
-      }
-      enum XRAN_SYNC_ALARM {
-        value 18;
-        description "A unit is out of synchronization.";
-      }
-      enum XRAN_TX_OUT_OF_ORDER_ALARM {
-        value 19;
-        description "A TX path is not usable.";
-      }
-      enum XRAN_RX_OUT_OF_ORDER_ALARM {
-        value 20;
-        description "A RX path is not usable.";
-      }
-      enum XRAN_OPTICAL_BER_ALARM {
-        value 21;
-        description "An increased bit error rate on the optical link";
-      }
-      enum XRAN_SELF_TEST_ALARM {
-        value 22;
-        description "A power-on self test";
-      }
-      enum XRAN_FPGA_UPDATE_ALARM {
-        value 23;
-        description "An FPGA software update";
-      }
-      enum XRAN_UNIT_BLOCKED_ALARM {
-        value 24;
-        description "A unit is blocked";
-      }
-      enum XRAN_RESET_REQUEST_ALARM {
-        value 25;
-        description "A unit requires a reset";
-      }
-      enum XRAN_POWER_SUPPLY_FAULTY {
-        value 26;
-        description "A power supply unit has a fault";
-      }
-      enum XRAN_POWER_AMPLIFIER_FAULTY {
-        value 27;
-        description "A power amplifier unit has a fault";
-      }
-      enum XRAN_C_U_PLANE_LOGICAL_CONNECTION_FAULTY {
-        value 28;
-        description "A C/U-plane logical connection has a fault";
-      }
-      enum XRAN_TRANSCEIVER_FAULT {
-        value 29;
-        description "A transceiver unit has a fault";
-      }
-      enum XRAN_INTERFACE_FAULT {
-        value 30;
-        description "An interface unit has a fault";
-      }
-    }
-    description
-      "A typedef defining an enumerated list of XRAN alarms which corresponds to
-      the fault-id in the xran management plane specification.";
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-fan.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-fan.yang
deleted file mode 100644 (file)
index 251f32f..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-module xran-fan {
-  yang-version 1.1;
-  namespace "urn:xran:fan:1.0";
-  prefix "xran-fan";
-
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the state of the RU's fans.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  typedef percent {
-   type uint16 {
-     range "0 .. 100";
-   }
-   description "Percentage";
-  }
-
-  container fan-tray {
-    config false;
-    description "top level tree covering off operational state of the fans";
-    list fan-state {
-      key name;
-      description "a list of the fans based on their unique names";
-      leaf name {
-        type string {
-          length "1..255";
-        }
-        description
-          "A name that is unique across the RU that identifies a fan instance.
-          This name may be used in fault management to refer to a fault source
-          or affected object";
-      }
-      leaf fan-location {
-        type uint8;
-        description "A number indicating the location of the FAN in the fan tray";
-      }
-      leaf present-and-operating {
-        type boolean;
-        mandatory true;
-        description
-          "Indicates if a fan is present and operating in the location";
-      }
-      leaf vendor-code {
-        when "../present-and-operating = 'true'";
-        type uint8 {
-          range "0..7";
-        }
-        description
-          "Indicates fan vendor code. Fan vendors are detected with ID pins
-          using 3 bits digital inputs.
-
-          Optional node included when the NETCONF Server has determined
-          the fan vendor code.";
-      }
-      leaf fan-speed {
-        when "../present-and-operating = 'true'";
-        type percent;
-        description
-          "Measured fan speed. Expressed as percentage of max fan speed.
-
-          Optional node included when the fan speed can be measured.";
-      }
-      leaf target-speed {
-        when "../present-and-operating = 'true'";
-        type uint16;
-        units rpm;
-        description "the target speed of the fan";
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-fm.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-fm.yang
deleted file mode 100644 (file)
index 9e034e9..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-module xran-fm {
-  yang-version 1.1;
-  namespace "urn:xran:fm:1.0";
-  prefix "xran-fm";
-
-  import ietf-yang-types {
-    prefix yang;
-    revision-date 2013-07-15;
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines alarm reporting mechanism.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  grouping alarm {
-    description
-      "Gropuping which can uniquely identify alarm";
-
-    leaf fault-id {
-      type uint16;
-      mandatory true;
-
-      description
-        "Fault specific Id that identifies the fault.";
-    }
-
-    leaf fault-source {
-      type string {
-        length "1..255";
-      }
-      mandatory true;
-
-      description
-        "Represents the Object or source that is suspected to be faulty.";
-    }
-
-    list affected-objects {
-      leaf name {
-        type string {
-          length "1..255";
-        }
-        mandatory true;
-
-        description
-          "Represents the Object or source that is suspected to be affected by this fault";
-      }
-      min-elements 1;
-      max-elements 100;
-
-      description
-        "List of affected-objects";
-    }
-
-    leaf fault-severity {
-      type enumeration {
-        enum CRITICAL {
-          description
-            "Critical alarm means that this device is not able to perform any further service";
-        }
-        enum MAJOR {
-          description
-            "Major alarm appeared on the device";
-        }
-        enum MINOR {
-          description
-            "Minor alarm appeared on the device";
-        }
-        enum WARNING {
-          description
-            "Warning is being reported by the device";
-        }
-      }
-      mandatory true;
-
-      description
-        "Fault severity defines the severity level of the fault. A notification, whose fault severity has the value 'warning',
-        is a special type of an alarm notification. For these alarm notifications,
-        the Master Agent does not expect to receive a clear alarm notification.";
-    }
-
-    leaf is-cleared {
-      type boolean;
-      mandatory true;
-
-      description
-        "Fault state determines the type of the event. Not used if faultSeverity is WARNING.";
-    }
-
-    leaf fault-text {
-      type string {
-        length "0..255";
-      }
-
-      description
-        "Textual description of the fault.";
-    }
-
-    leaf event-time {
-      type yang:date-and-time;
-      mandatory true;
-
-      description
-        "Timestamp to indicate the time when the fault is detected/cleared.";
-    }
-  }
-
-  container active-alarm-list {
-    list active-alarms {
-      uses alarm;
-
-      description
-        "List of currenty active alarms";
-    }
-    config false;
-
-    description
-      "List of currently active alarms. An alarm is removed from this table when the state transitions to clear.";
-  }
-
-  notification alarm-notif {
-    uses alarm;
-
-    description
-      "Notification sent on initial alarm creation, as well as any time the alarm changes state, including clear";
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-hardware.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-hardware.yang
deleted file mode 100644 (file)
index 7788cb1..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-module xran-hardware {
-  yang-version 1.1;
-  namespace "urn:xran:hardware:1.0";
-  prefix "xran-hw";
-
-  import ietf-hardware {
-    prefix hw;
-  }
-  import iana-hardware {
-    prefix ianahw;
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the YANG definitions for managng the xRAN Radio Unit
-     hardware.
-
-     Copyright 2018 the xRAN Forum.
-
-     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-     POSSIBILITY OF SUCH DAMAGE.
-
-     Redistribution and use in source and binary forms, with or without
-     modification, are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice,
-     this list of conditions and the above disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-     this list of conditions and the above disclaimer in the documentation
-     and/or other materials provided with the distribution.
-     * Neither the Members of the xRAN Forum nor the names of its
-     contributors may be used to endorse or promote products derived from
-     this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  feature ENERGYSAVING {
-    description
-      "Indicates that the Radio Unit supports energy saving state.";
-  }
-
-  // identity statements
-  identity XRAN-RADIO {
-    base ianahw:module;
-    description
-      "Module used as it represents a self-contained sub-system
-      used in /hw:/hardware/hw:component/hw:class";
-  }
-
-  // typedef statements
-  typedef energysaving-state {
-    type enumeration {
-      enum UNKNOWN {
-        description "The Radio Unit is unable to report energy saving state.";
-      }
-      enum SLEEPING {
-        description
-          "The Radio Unit is in a sleep state. The NETCONF management plane
-           connection is functioning. Other functions and hardware which are
-           not needed for management plane may be in energy saving mode.";
-      }
-      enum AWAKE {
-        description
-          "The Radio Unit is not in an energy saving state.";
-      }
-    }
-    description
-      "new typedef since ietf-hardware only covers pwer-state
-      for redundancy purposes and not power saving operations.";
-  }
-
-  typedef availability-type {
-    type enumeration {
-      enum UNKNOWN {
-        description "The Radio Unit is unable to report its availability state.";
-      }
-      enum NORMAL {
-        description
-          "The RU is functioning correctly.";
-      }
-      enum DEGRADED {
-        description
-          "The RU may be reporting a major alarm or may be reporting a critical
-           alarm that is only impacting one or more subcomponent, but where the
-           RU's implementation permit it to continue operation (server traffic)
-           in a degraded state.
-
-           Used for example, when the RU has M identical sub-components and
-           when a critical alarm is imapcting only N subcomponents, where N<M.";
-      }
-      enum FAULTY {
-        description
-          "The (sub-)components impacted by the critical alarm(s) impact the
-          ability of the RU to continue operation (serve traffic).";
-      }
-    }
-    description
-      "RU’s availability-state is derived by matching active faults
-       and their impact to module’s operation and enables an RU to indicate
-       that even though it may have one or more critical alarms, it can continue
-       to serve traffic.";
-  }
-
-  deviation /hw:hardware/hw:component/hw:name {
-    description
-      "Deviations for oryginal ietf-hardware/component/name to check if its pattern
-      and length mathes xRAN limitation
-
-      A name that is unique across the RU that identifies the RU instance.
-      This name may be used in fault management to refer to a fault source or
-      affected object corresponding to the generic RU.";
-
-      deviate add {
-      must "re-match(current(),'[a-zA-Z0-9]{1,255}')" {
-        error-message "Name must match pattern and length.";
-         }
-    }
-  }
-
-  augment "/hw:hardware/hw:component" {
-    when "derived-from-or-self(hw:class, 'XRAN-RADIO')";
-    description "New xRAN parameters for xran hardware";
-    container label-content {
-      config false;
-      description
-        "Which set of attributes are printed on the Radio Unit's label";
-      leaf model-name {
-        type boolean;
-        description
-          "indicates whether model-name is included on the RU's label";
-      }
-      leaf serial-number {
-        type boolean;
-        description
-          "indicates whether serial number is included on the RU's label";
-      }
-      // add in other leafs according to manufacturer feedback on labels
-    }
-    leaf product-code {
-      type string;
-      config false;
-      description
-        "xRAN term that is distinct from model-name in ietf-hardware.";
-    }
-  }
-
-  augment "/hw:hardware/hw:component/hw:state"  {
-    when "derived-from-or-self(../hw:class, 'XRAN-RADIO')";
-    description
-      "new xRAN defined state";
-    leaf power-state {
-      if-feature "ENERGYSAVING";
-      type energysaving-state;
-      description
-        "The current power saving state for this component.
-        Note - hw:/hardware/compnent/state/standby-state defined in RFC 4268 is
-        used for redundancy purposes and not power saving operations.";
-    }
-    leaf availability-state {
-      type availability-type;
-      config false;
-      description
-        "RU’s availability-state is derived by matching active faults
-         and their impact to module’s operation and enables an RU to indicate
-         that even though it may have one or more critical alarms, it can continue
-         to serve traffic.";
-    }
-  }
-
-  augment "/hw:hardware-state-oper-enabled"  {
-    description "new availability state";
-    leaf availability-state {
-      type leafref {
-        path "/hw:hardware/hw:component/hw:state/xran-hw:availability-state";
-      }
-      description
-        "The availability-state of the RU.";
-    }
-  }
-
-  augment "/hw:hardware-state-oper-disabled"  {
-    description "new availability state";
-    leaf availability-state {
-      type leafref {
-        path "/hw:hardware/hw:component/hw:state/xran-hw:availability-state";
-      }
-      description
-        "The availability-state of the RU.";
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-supervision.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-supervision.yang
deleted file mode 100644 (file)
index 72bfb1d..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-module xran-supervision {\r
-  yang-version 1.1;\r
-  namespace "urn:xran:supervision:1.0";\r
-  prefix "xran-supervision";\r
-\r
-  import ietf-yang-types {\r
-    prefix yang;\r
-  }\r
-\r
-  organization "xRAN Forum";\r
-\r
-  contact\r
-    "www.xran.org";\r
-\r
-  description\r
-    "This module defines the configuration data and supervision RPCs that are\r
-    used by the NETCONF client and NETCONF server to detect loss of NETCONF\r
-    connectivity.\r
-\r
-    Copyright 2018 the xRAN Forum.\r
-\r
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\r
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\r
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
-    POSSIBILITY OF SUCH DAMAGE.\r
-\r
-    Redistribution and use in source and binary forms, with or without\r
-    modification, are permitted provided that the following conditions are met:\r
-\r
-    * Redistributions of source code must retain the above copyright notice,\r
-    this list of conditions and the above disclaimer.\r
-    * Redistributions in binary form must reproduce the above copyright notice,\r
-    this list of conditions and the above disclaimer in the documentation\r
-    and/or other materials provided with the distribution.\r
-    * Neither the Members of the xRAN Forum nor the names of its\r
-    contributors may be used to endorse or promote products derived from\r
-    this software without specific prior written permission.";\r
-\r
-  revision "2018-07-20" {\r
-    description\r
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.\r
-\r
-      This version of the model supports v01.00 of the corrsponding xRAN\r
-      M-Plane Specification.";\r
-    reference "XRAN-FH.MP.0-v01.00";\r
-  }\r
-\r
-  rpc supervision-watchdog-reset {\r
-    description\r
-      "rpc to reset the watchdog timer";\r
-    input {\r
-\r
-      leaf supervision-notification-interval {\r
-        type uint16;\r
-        units seconds;\r
-        default 60;\r
-        description\r
-          "The interval in seconds at which supervision notifications are sent.\r
-          If not specified the default value of 60 seconds shall apply.";\r
-      }\r
-      leaf guard-timer-overhead {\r
-        type uint16;\r
-        units seconds;\r
-        default 10;\r
-        description\r
-          "This is overhead added to the supervision timer used to calculate the\r
-           supervision wathcdog timer. i.e.,\r
-\r
-           supervision timer = notification timer + guard-timer-overhead\r
-\r
-           If not specified the default value of 10 seconds shall apply.\r
-\r
-           Failure to send this rpc again within the timeout sets the radio into\r
-           'loss of supervision' state.\r
-\r
-           NOTE - The supervision timer MUST not be less that the confimed\r
-           timeout timer (when the feature is supported).\r
-\r
-           This type of constraint (using an RPCs input) cannot be formally\r
-           expressed in YANG.";\r
-      }\r
-    }\r
-  }\r
-\r
-  notification supervision-notification {\r
-    description\r
-      "Notification to indicate that NETCONF management interface is up\r
-      and also indicate the values of the timers for this NETCONF session";\r
-\r
-    leaf next-update-at {\r
-      type yang:date-and-time;\r
-      description\r
-        "Indicates the time when the next supervision notification is expected.";\r
-    }\r
-  }\r
-}\r
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-usermgmt.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-usermgmt.yang
deleted file mode 100644 (file)
index 9de1d90..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-module xran-usermgmt {
-  yang-version 1.1;
-  namespace "urn:xran:user-mgmt:1.0";
-  prefix "xran-usermgmt";
-
-  // import openroadm user management
-  import org-openroadm-user-mgmt {
-    prefix openroadm;
-    revision-date 2017-12-15;
-  }
-
-  organization "xRAN Forum";
-
-  contact
-    "www.xran.org";
-
-  description
-    "This module defines the user management model for the xRAN Radio Unit.
-    The model is an augmentation of the user management model defined by
-    the openroadm MSA.
-
-    Copyright 2018 the xRAN Forum.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the xRAN Forum nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2018-07-20" {
-    description
-      "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
-      This version of the model supports v01.00 of the corrsponding xRAN
-      M-Plane Specification.";
-    reference "XRAN-FH.MP.0-v01.00";
-  }
-
-  grouping extended-xran-groups {
-    description
-      "New user permissions defined by xran.
-      Imported openroadm model only supports 'sudo' superuser permissions.";
-    leaf-list xran-group {
-      type enumeration {
-        enum nms {
-          description "Network Management System permissions";
-        }
-        enum fm-pm {
-          description
-            "permissions for fault and  performance management.";
-        }
-        enum swm {
-          description
-            "permissions for software managemet.";
-        }
-      }
-      description
-        "new group privileges defined by xRAN - a non sudo account may have
-        multiple group privileges.
-
-        See the xRAN management Plane specification for a list of YANG module
-        privileges";
-    }
-  }
-
-  container xran-user-profile {
-    description "baseline open-roadm user profile";
-    uses openroadm:user-profile;
-  }
-
-  augment "/xran-usermgmt:xran-user-profile/xran-usermgmt:user" {
-    description "add in new xran user group permissions";
-    uses extended-xran-groups;
-    leaf enabled {
-      type boolean;
-      must "count(../enabled='true') > 0" {
-        error-message "At least one account needs to be enabled.";
-      }
-      description
-        "Indicates whether an account is enabled or disabled.";
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/iana-hardware.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/iana-hardware.yang
deleted file mode 100755 (executable)
index 52bcaf3..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-module iana-hardware {
-yang-version 1.1;
-namespace "urn:ietf:params:xml:ns:yang:iana-hardware";
-prefix ianahw;
-
-organization "IANA";
-contact
-  "        Internet Assigned Numbers Authority
-   Postal: ICANN
-           12025 Waterfront Drive, Suite 300
-           Los Angeles, CA  90094-2536
-           United States of America
-   Tel:    +1 310 301 5800
-   E-Mail: iana@iana.org>";
-
-description
-  "IANA-defined identities for hardware class.
-   The latest revision of this YANG module can be obtained from
-   the IANA website.
-   Requests for new values should be made to IANA via
-   email (iana@iana.org).
-   Copyright (c) 2018 IETF Trust and the persons identified as
-   authors of the code.  All rights reserved.
-   Redistribution and use in source and binary forms, with or
-   without modification, is permitted pursuant to, and subject
-   to the license terms contained in, the Simplified BSD License
-   set forth in Section 4.c of the IETF Trust's Legal Provisions
-   Relating to IETF Documents
-   (https://trustee.ietf.org/license-info).
-   The initial version of this YANG module is part of RFC 8348;
-   see the RFC itself for full legal notices.";
-reference
-  "https://www.iana.org/assignments/yang-parameters";
-
-revision 2018-03-13 {
-  description
-    "Initial revision.";
-  reference
-    "RFC 8348: A YANG Data Model for Hardware Management";
-}
-
-/*
- * Identities
- */
-
-identity hardware-class {
-  description
-    "This identity is the base for all hardware class
-     identifiers.";
-}
-
-identity unknown {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is unknown
-     to the server.";
-}
-
-identity chassis {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is an
-     overall container for networking equipment.  Any class of
-     physical component, except a stack, may be contained within a
-     chassis; a chassis may only be contained within a stack.";
-}
-
-identity backplane {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is some sort
-     of device for aggregating and forwarding networking traffic,
-     such as a shared backplane in a modular ethernet switch.  Note
-     that an implementation may model a backplane as a single
-     physical component, which is actually implemented as multiple
-     discrete physical components (within a chassis or stack).";
-}
-
-identity container {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is capable
-     of containing one or more removable physical entities,
-     possibly of different types.  For example, each (empty or
-     full) slot in a chassis will be modeled as a container.  Note
-     that all removable physical components should be modeled
-     within a container component, such as field-replaceable
-     modules, fans, or power supplies.  Note that all known
-     containers should be modeled by the agent, including empty
-     containers.";
-}
-
-identity power-supply {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is a
-     power-supplying component.";
-}
-
-identity fan {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is a fan or
-     other heat-reduction component.";
-}
-
-identity sensor {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is some sort
-     of sensor, such as a temperature sensor within a router
-     chassis.";
-}
-
-identity module {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is some sort
-     of self-contained sub-system.  If a module component is
-     removable, then it should be modeled within a container
-     component; otherwise, it should be modeled directly within
-     another physical component (e.g., a chassis or another
-     module).";
-}
-
-identity port {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is some sort
-     of networking port capable of receiving and/or transmitting
-     networking traffic.";
-}
-
-identity stack {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is some sort
-     of super-container (possibly virtual) intended to group
-     together multiple chassis entities.  A stack may be realized
-     by a virtual cable, a real interconnect cable attached to
-     multiple chassis, or multiple interconnect cables.  A stack
-     should not be modeled within any other physical components,
-     but a stack may be contained within another stack.  Only
-     chassis components should be contained within a stack.";
-}
-
-identity cpu {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is some sort
-     of central processing unit.";
-}
-
-identity energy-object {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is some sort
-     of energy object, i.e., it is a piece of equipment that is
-     part of or attached to a communications network that is
-     monitored, it is controlled, or it aids in the management of
-     another device for Energy Management.";
-}
-
-identity battery {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is some sort
-     of battery.";
-}
-
-identity storage-drive {
-  base ianahw:hardware-class;
-  description
-    "This identity is applicable if the hardware class is some sort
-     of component with data storage capability as its main
-     functionality, e.g., hard disk drive (HDD), solid-state device
-     (SSD), solid-state hybrid drive (SSHD), object storage device
-     (OSD), or other.";
-}
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-alarms@2019-09-11.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-alarms@2019-09-11.yang
deleted file mode 100644 (file)
index a6f51bb..0000000
+++ /dev/null
@@ -1,1530 +0,0 @@
-module ietf-alarms {
-  yang-version 1.1;
-  namespace "urn:ietf:params:xml:ns:yang:ietf-alarms";
-  prefix al;
-
-  import ietf-yang-types {
-    prefix yang;
-    reference
-      "RFC 6991: Common YANG Data Types.";
-  }
-
-  organization
-    "IETF CCAMP Working Group";
-  contact
-    "WG Web:   <https://trac.ietf.org/trac/ccamp>
-     WG List:  <mailto:ccamp@ietf.org>
-
-     Editor:   Stefan Vallin
-               <mailto:stefan@wallan.se>
-
-     Editor:   Martin Bjorklund
-               <mailto:mbj@tail-f.com>";
-  description
-    "This module defines an interface for managing alarms.  Main
-     inputs to the module design are the 3GPP Alarm Integration
-     Reference Point (IRP), ITU-T X.733, and ANSI/ISA-18.2 alarm
-     standards.
-
-     Main features of this module include:
-
-       * Alarm list:
-                 A list of all alarms.  Cleared alarms stay in
-                 the list until explicitly purged.
-
-       * Operator actions on alarms:
-                 Acknowledging and closing alarms.
-
-       * Administrative actions on alarms:
-                 Purging alarms from the list according to specific
-                 criteria.
-
-       * Alarm inventory:
-                 A management application can read all
-                 alarm types implemented by the system.
-
-       * Alarm shelving:
-                 Shelving (blocking) alarms according
-                 to specific criteria.
-
-       * Alarm profiles:
-                 A management system can attach further
-                 information to alarm types, for example,
-                 overriding system-default severity
-                 levels.
-
-     This module uses a stateful view on alarms.  An alarm is a state
-     for a specific resource (note that an alarm is not a
-     notification).  An alarm type is a possible alarm state for a
-     resource.  For example, the tuple:
-
-       ('link-alarm', 'GigabitEthernet0/25')
-
-     is an alarm of type 'link-alarm' on the resource
-     'GigabitEthernet0/25'.
-
-     Alarm types are identified using YANG identities and an optional
-     string-based qualifier.  The string-based qualifier allows for
-     dynamic extension of the statically defined alarm types.  Alarm
-     types identify a possible alarm state and not the individual
-     notifications.  For example, the traditional 'link-down' and
-     'link-up' notifications are two notifications referring to the
-     same alarm type 'link-alarm'.
-
-     With this design, there is no ambiguity about how alarm and
-     alarm clear correlation should be performed; notifications that
-     report the same resource and alarm type are considered updates
-
-     of the same alarm, e.g., clearing an active alarm or changing
-     the severity of an alarm.  The instrumentation can update the
-     severity and alarm text on an existing alarm.  The above alarm
-     example can therefore look like the following:
-
-       (('link-alarm', 'GigabitEthernet0/25'),
-        warning,
-        'interface down while interface admin state is up')
-
-     There is a clear separation between updates on the alarm from
-     the underlying resource, like clear, and updates from an
-     operator, like acknowledging or closing an alarm:
-
-       (('link-alarm', 'GigabitEthernet0/25'),
-        warning,
-        'interface down while interface admin state is up',
-        cleared,
-        closed)
-
-     Administrative actions like removing closed alarms older than a
-     given time is supported.
-
-     This YANG module does not define how the underlying
-     instrumentation detects and clears the specific alarms.  That
-     belongs to the Standards Development Organization (SDO) or
-     enterprise that owns that specific technology.
-
-     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
-     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
-     'MAY', and 'OPTIONAL' in this document are to be interpreted as
-     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
-     they appear in all capitals, as shown here.
-
-     Copyright (c) 2019 IETF Trust and the persons identified as
-     authors of the code.  All rights reserved.
-
-     Redistribution and use in source and binary forms, with or
-     without modification, is permitted pursuant to, and subject to
-     the license terms contained in, the Simplified BSD License set
-     forth in Section 4.c of the IETF Trust's Legal Provisions
-     Relating to IETF Documents
-     (https://trustee.ietf.org/license-info).
-
-     This version of this YANG module is part of RFC 8632; see
-     the RFC itself for full legal notices.";
-
-  revision 2019-09-11 {
-    description
-      "Initial revision.";
-    reference
-      "RFC 8632: A YANG Data Model for Alarm Management";
-  }
-
-  /*
-   * Features
-   */
-
-  feature operator-actions {
-    description
-      "This feature indicates that the system supports operator
-       states on alarms.";
-  }
-
-  feature alarm-shelving {
-    description
-      "This feature indicates that the system supports shelving
-       (blocking) alarms.
-
-       Alarm shelving may have an impact on server processing
-       resources in order to match alarms against shelf
-       criteria.";
-  }
-
-  feature alarm-history {
-    description
-      "This feature indicates that the server maintains a history
-       of state changes for each alarm.  For example, if an alarm
-       toggles between cleared and active 10 times, these state
-       changes are present in a separate list in the alarm.
-
-       Keeping the alarm history may have an impact on server
-       memory resources.";
-  }
-
-  feature alarm-summary {
-    description
-      "This feature indicates that the server summarizes the number
-       of alarms per severity and operator state.";
-  }
-
-  feature alarm-profile {
-    description
-      "The system enables clients to configure further information
-       to each alarm type.";
-  }
-
-  feature severity-assignment {
-    description
-      "The system supports configurable alarm severity levels.";
-    reference
-      "ITU-T Recommendation M.3100:
-         Generic network information model
-       ITU-T Recommendation M.3160:
-         Generic, protocol-neutral management information model";
-  }
-
-  feature root-cause-analysis {
-    description
-      "The system supports identifying candidate root-cause
-       resources for an alarm, for example, a disk partition
-       root cause for a logger failure alarm.";
-  }
-
-  feature service-impact-analysis {
-    description
-      "The system supports identifying candidate-impacted
-       resources for an alarm, for example, an interface state change
-       resulting in a link alarm, which can refer to a link as being
-       impacted.";
-  }
-
-  feature alarm-correlation {
-    description
-      "The system supports correlating/grouping alarms
-       that belong together.";
-  }
-
-  /*
-   * Identities
-   */
-
-  identity alarm-type-id {
-    description
-      "Base identity for alarm types.  A unique identification of
-       the alarm, not including the resource.  Different resources
-       can share alarm types.  If the resource reports the same
-       alarm type, it is considered to be the same alarm.  The alarm
-       type is a simplification of the different X.733 and 3GPP Alarm
-       IRP correlation mechanisms, and it allows for
-       hierarchical extensions.
-
-       A string-based qualifier can be used in addition to the
-       identity in order to have different alarm types based on
-       information not known at design time, such as values in
-
-       textual SNMP Notification varbinds.
-
-       Standards and vendors can define sub-identities to clearly
-       identify specific alarm types.
-
-       This identity is abstract and MUST NOT be used for alarms.";
-  }
-
-  /*
-   * Common types
-   */
-
-  typedef resource {
-    type union {
-      type instance-identifier {
-        require-instance false;
-      }
-      type yang:object-identifier;
-      type string;
-      type yang:uuid;
-    }
-    description
-      "This is an identification of the alarming resource, such as an
-       interface.  It should be as fine-grained as possible to both
-       guide the operator and guarantee uniqueness of the alarms.
-
-       If the alarming resource is modeled in YANG, this type will
-       be an instance-identifier.
-
-       If the resource is an SNMP object, the type will be an
-       'object-identifier'.
-
-       If the resource is anything else, for example, a distinguished
-       name or a Common Information Model (CIM) path, this type will
-       be a string.
-
-       If the alarming object is identified by a Universally Unique
-       Identifier (UUID), use the uuid type.  Be cautious when using
-       this type, since a UUID is hard to use for an operator.
-
-       If the server supports several models, the precedence should
-       be in the order as given in the union definition.";
-  }
-
-  typedef resource-match {
-    type union {
-      type yang:xpath1.0;
-      type yang:object-identifier;
-      type string;
-    }
-    description
-      "This type is used to match resources of type 'resource'.
-       Since the type 'resource' is a union of different types, the
-       'resource-match' type is also a union of corresponding types.
-
-       If the type is given as an XPath 1.0 expression, a resource
-       of type 'instance-identifier' matches if the instance is part
-       of the node set that is the result of evaluating the XPath 1.0
-       expression.  For example, the XPath 1.0 expression:
-
-        /ietf-interfaces:interfaces/ietf-interfaces:interface
-            [ietf-interfaces:type='ianaift:ethernetCsmacd']
-
-       would match the resource instance-identifier:
-
-        /if:interfaces/if:interface[if:name='eth1'],
-
-       assuming that the interface 'eth1' is of type
-       'ianaift:ethernetCsmacd'.
-
-       If the type is given as an object identifier, a resource of
-       type 'object-identifier' matches if the match object
-       identifier is a prefix of the resource's object identifier.
-       For example, the value:
-
-        1.3.6.1.2.1.2.2
-
-       would match the resource object identifier:
-
-        1.3.6.1.2.1.2.2.1.1.5
-
-       If the type is given as an UUID or a string, it is interpreted
-       as an XML Schema regular expression, which matches a resource
-       of type 'yang:uuid' or 'string' if the given regular
-       expression matches the resource string.
-
-       If the type is given as an XPath expression, it is evaluated
-       in the following XPath context:
-
-         o  The set of namespace declarations is the set of prefix
-            and namespace pairs for all YANG modules implemented by
-            the server, where the prefix is the YANG module name and
-            the namespace is as defined by the 'namespace' statement
-            in the YANG module.
-
-            If a leaf of this type is encoded in XML, all namespace
-
-            declarations in scope on the leaf element are added to
-            the set of namespace declarations.  If a prefix found in
-            the XML is already present in the set of namespace
-            declarations, the namespace in the XML is used.
-
-         o  The set of variable bindings is empty.
-
-         o  The function library is the core function library, and
-            the functions are defined in Section 10 of RFC 7950.
-
-         o  The context node is the root node in the data tree.";
-    reference
-      "XML Schema Part 2: Datatypes Second Edition,
-         World Wide Web Consortium Recommendation
-         REC-xmlschema-2-20041028";
-  }
-
-  typedef alarm-text {
-    type string;
-    description
-      "The string used to inform operators about the alarm.  This
-       MUST contain enough information for an operator to be able to
-       understand the problem and how to resolve it.  If this string
-       contains structure, this format should be clearly documented
-       for programs to be able to parse that information.";
-  }
-
-  typedef severity {
-    type enumeration {
-      enum indeterminate {
-        value 2;
-        description
-          "Indicates that the severity level could not be
-           determined.  This level SHOULD be avoided.";
-      }
-      enum warning {
-        value 3;
-        description
-          "The 'warning' severity level indicates the detection of a
-           potential or impending service-affecting fault, before any
-           significant effects have been felt.  Action should be
-           taken to further diagnose (if necessary) and correct the
-           problem in order to prevent it from becoming a more
-           serious service-affecting fault.";
-      }
-      enum minor {
-        value 4;
-        description
-          "The 'minor' severity level indicates the existence of a
-           non-service-affecting fault condition and that corrective
-           action should be taken in order to prevent a more serious
-           (for example, service-affecting) fault.  Such a severity
-           can be reported, for example, when the detected alarm
-           condition is not currently degrading the capacity of the
-           resource.";
-      }
-      enum major {
-        value 5;
-        description
-          "The 'major' severity level indicates that a service-
-           affecting condition has developed and an urgent corrective
-           action is required.  Such a severity can be reported, for
-           example, when there is a severe degradation in the
-           capability of the resource and its full capability must be
-           restored.";
-      }
-      enum critical {
-        value 6;
-        description
-          "The 'critical' severity level indicates that a service-
-           affecting condition has occurred and an immediate
-           corrective action is required.  Such a severity can be
-           reported, for example, when a resource becomes totally out
-           of service and its capability must be restored.";
-      }
-    }
-    description
-      "The severity level of the alarm.  Note well that the value
-       'clear' is not included.  Whether or not an alarm is cleared
-       is a separate boolean flag.";
-    reference
-      "ITU-T Recommendation X.733: Information Technology
-         - Open Systems Interconnection
-         - System Management: Alarm Reporting Function";
-  }
-
-  typedef severity-with-clear {
-    type union {
-      type enumeration {
-        enum cleared {
-          value 1;
-          description
-            "The alarm is cleared by the instrumentation.";
-        }
-      }
-      type severity;
-    }
-    description
-      "The severity level of the alarm including clear.  This is used
-       only in notifications reporting state changes for an alarm.";
-  }
-
-  typedef writable-operator-state {
-    type enumeration {
-      enum none {
-        value 1;
-        description
-          "The alarm is not being taken care of.";
-      }
-      enum ack {
-        value 2;
-        description
-          "The alarm is being taken care of.  Corrective action not
-           taken yet or has failed";
-      }
-      enum closed {
-        value 3;
-        description
-          "Corrective action taken successfully.";
-      }
-    }
-    description
-      "Operator states on an alarm.  The 'closed' state indicates
-       that an operator considers the alarm being resolved.  This is
-       separate from the alarm's 'is-cleared' leaf.";
-  }
-
-  typedef operator-state {
-    type union {
-      type writable-operator-state;
-      type enumeration {
-        enum shelved {
-          value 4;
-          description
-            "The alarm is shelved.  Alarms in /alarms/shelved-alarms/
-             MUST be assigned this operator state by the server as
-             the last entry in the 'operator-state-change' list.  The
-             text for that entry SHOULD include the shelf name.";
-        }
-        enum un-shelved {
-          value 5;
-          description
-            "The alarm is moved back to 'alarm-list' from a shelf.
-             Alarms that are moved from /alarms/shelved-alarms/ to
-             /alarms/alarm-list MUST be assigned this state by the
-             server as the last entry in the 'operator-state-change'
-             list.  The text for that entry SHOULD include the shelf
-             name.";
-        }
-      }
-    }
-    description
-      "Operator states on an alarm.  The 'closed' state indicates
-       that an operator considers the alarm being resolved.  This is
-       separate from the alarm's 'is-cleared' leaf.";
-  }
-
-  /* Alarm type */
-
-  typedef alarm-type-id {
-    type identityref {
-      base alarm-type-id;
-    }
-    description
-      "Identifies an alarm type.  The description of the alarm type
-       id MUST indicate whether or not the alarm type is abstract.
-       An abstract alarm type is used as a base for other alarm type
-       ids and will not be used as a value for an alarm or be present
-       in the alarm inventory.";
-  }
-
-  typedef alarm-type-qualifier {
-    type string;
-    description
-      "If an alarm type cannot be fully specified at design time by
-       'alarm-type-id', this string qualifier is used in addition to
-       fully define a unique alarm type.
-
-       The definition of alarm qualifiers is considered to be part of
-       the instrumentation and is out of scope for this module.  An
-       empty string is used when this is part of a key.";
-  }
-
-  /*
-   * Groupings
-   */
-
-  grouping common-alarm-parameters {
-    description
-      "Common parameters for an alarm.
-
-       This grouping is used both in the alarm list and in the
-       notification representing an alarm-state change.";
-    leaf resource {
-      type resource;
-      mandatory true;
-      description
-        "The alarming resource.  See also 'alt-resource'.  This could
-         be, for example, a reference to the alarming interface";
-    }
-    leaf alarm-type-id {
-      type alarm-type-id;
-      mandatory true;
-      description
-        "This leaf and the leaf 'alarm-type-qualifier' together
-         provide a unique identification of the alarm type.";
-    }
-    leaf alarm-type-qualifier {
-      type alarm-type-qualifier;
-      description
-        "This leaf is used when the 'alarm-type-id' leaf cannot
-         uniquely identify the alarm type.  Normally, this is not the
-         case, and this leaf is the empty string.";
-    }
-    leaf-list alt-resource {
-      type resource;
-      description
-        "Used if the alarming resource is available over other
-         interfaces.  This field can contain SNMP OIDs, CIM paths, or
-         3GPP distinguished names, for example.";
-    }
-    list related-alarm {
-      if-feature "alarm-correlation";
-      key "resource alarm-type-id alarm-type-qualifier";
-      description
-        "References to related alarms.  Note that the related alarm
-         might have been purged from the alarm list.";
-      leaf resource {
-        type leafref {
-          path "/alarms/alarm-list/alarm/resource";
-          require-instance false;
-        }
-        description
-          "The alarming resource for the related alarm.";
-      }
-      leaf alarm-type-id {
-        type leafref {
-          path "/alarms/alarm-list/alarm"
-             + "[resource=current()/../resource]"
-             + "/alarm-type-id";
-          require-instance false;
-        }
-        description
-          "The alarm type identifier for the related alarm.";
-      }
-      leaf alarm-type-qualifier {
-        type leafref {
-          path "/alarms/alarm-list/alarm"
-             + "[resource=current()/../resource]"
-             + "[alarm-type-id=current()/../alarm-type-id]"
-             + "/alarm-type-qualifier";
-          require-instance false;
-        }
-        description
-          "The alarm qualifier for the related alarm.";
-      }
-    }
-    leaf-list impacted-resource {
-      if-feature "service-impact-analysis";
-      type resource;
-      description
-        "Resources that might be affected by this alarm.  If the
-         system creates an alarm on a resource and also has a mapping
-         to other resources that might be impacted, these resources
-         can be listed in this leaf-list.  In this way, the system
-         can create one alarm instead of several.  For example, if an
-         interface has an alarm, the 'impacted-resource' can
-         reference the aggregated port channels.";
-    }
-    leaf-list root-cause-resource {
-      if-feature "root-cause-analysis";
-      type resource;
-      description
-        "Resources that are candidates for causing the alarm.  If the
-         system has a mechanism to understand the candidate root
-         causes of an alarm, this leaf-list can be used to list the
-         root-cause candidate resources.  In this way, the system can
-         create one alarm instead of several.  An example might be a
-         logging system (alarm resource) that fails; the alarm can
-         reference the file system in the 'root-cause-resource'
-         leaf-list.  Note that the intended use is not to also send
-         an alarm with the 'root-cause-resource' as an alarming
-         resource.  The 'root-cause-resource' leaf-list is a hint and
-         should not also generate an alarm for the same problem.";
-    }
-  }
-
-  grouping alarm-state-change-parameters {
-    description
-      "Parameters for an alarm-state change.
-
-       This grouping is used both in the alarm list's status-change
-       list and in the notification representing an alarm-state
-       change.";
-    leaf time {
-      type yang:date-and-time;
-      mandatory true;
-      description
-        "The time the status of the alarm changed.  The value
-         represents the time the real alarm-state change appeared in
-         the resource and not when it was added to the alarm
-         list.  The /alarm-list/alarm/last-changed MUST be set to the
-         same value.";
-    }
-    leaf perceived-severity {
-      type severity-with-clear;
-      mandatory true;
-      description
-        "The severity of the alarm as defined by X.733.  Note that
-         this may not be the original severity since the alarm may
-         have changed severity.";
-      reference
-        "ITU-T Recommendation X.733: Information Technology
-           - Open Systems Interconnection
-           - System Management: Alarm Reporting Function";
-    }
-    leaf alarm-text {
-      type alarm-text;
-      mandatory true;
-      description
-        "A user-friendly text describing the alarm-state change.";
-      reference
-        "ITU-T Recommendation X.733: Information Technology
-           - Open Systems Interconnection
-           - System Management: Alarm Reporting Function";
-    }
-  }
-
-  grouping operator-parameters {
-    description
-      "This grouping defines parameters that can be changed by an
-       operator.";
-    leaf time {
-      type yang:date-and-time;
-      mandatory true;
-      description
-        "Timestamp for operator action on the alarm.";
-    }
-    leaf operator {
-      type string;
-      mandatory true;
-      description
-        "The name of the operator that has acted on this alarm.";
-    }
-    leaf state {
-      type operator-state;
-      mandatory true;
-      description
-        "The operator's view of the alarm state.";
-    }
-    leaf text {
-      type string;
-      description
-        "Additional optional textual information provided by the
-         operator.";
-    }
-  }
-
-  grouping resource-alarm-parameters {
-    description
-      "Alarm parameters that originate from the resource view.";
-    leaf is-cleared {
-      type boolean;
-      mandatory true;
-      description
-        "Indicates the current clearance state of the alarm.  An
-         alarm might toggle from active alarm to cleared alarm and
-         back to active again.";
-    }
-    leaf last-raised {
-      type yang:date-and-time;
-      mandatory true;
-      description
-        "An alarm may change severity level and toggle between
-         active and cleared during its lifetime.  This leaf indicates
-         the last time it was raised ('is-cleared' = 'false').";
-    }
-    leaf last-changed {
-      type yang:date-and-time;
-      mandatory true;
-      description
-        "A timestamp when the 'status-change' or
-         'operator-state-change' list was last changed.";
-    }
-    leaf perceived-severity {
-      type severity;
-      mandatory true;
-      description
-        "The last severity of the alarm.
-
-         If an alarm was raised with severity 'warning' but later
-         changed to 'major', this leaf will show 'major'.";
-    }
-    leaf alarm-text {
-      type alarm-text;
-      mandatory true;
-      description
-        "The last reported alarm text.  This text should contain
-         information for an operator to be able to understand the
-         problem and how to resolve it.";
-    }
-    list status-change {
-      if-feature "alarm-history";
-      key "time";
-      min-elements 1;
-      description
-        "A list of status-change events for this alarm.
-
-         The entry with latest timestamp in this list MUST
-         correspond to the leafs 'is-cleared', 'perceived-severity',
-         and 'alarm-text' for the alarm.
-
-         This list is ordered according to the timestamps of alarm
-         state changes.  The first item corresponds to the latest
-         state change.
-
-         The following state changes create an entry in this
-         list:
-         - changed severity (warning, minor, major, critical)
-         - clearance status; this also updates the 'is-cleared'
-           leaf
-         - alarm-text update";
-      uses alarm-state-change-parameters;
-    }
-  }
-
-  grouping filter-input {
-    description
-      "Grouping to specify a filter construct on alarm information.";
-    leaf alarm-clearance-status {
-      type enumeration {
-        enum any {
-          description
-            "Ignore alarm-clearance status.";
-        }
-        enum cleared {
-          description
-            "Filter cleared alarms.";
-        }
-        enum not-cleared {
-          description
-            "Filter not-cleared alarms.";
-        }
-      }
-      mandatory true;
-      description
-        "The clearance status of the alarm.";
-    }
-    container older-than {
-      presence "Age specification";
-      description
-        "Matches the 'last-status-change' leaf in the alarm.";
-      choice age-spec {
-        description
-          "Filter using date and time age.";
-        case seconds {
-          leaf seconds {
-            type uint16;
-            description
-              "Age expressed in seconds.";
-          }
-        }
-        case minutes {
-          leaf minutes {
-            type uint16;
-            description
-              "Age expressed in minutes.";
-          }
-        }
-        case hours {
-          leaf hours {
-            type uint16;
-            description
-              "Age expressed in hours.";
-          }
-        }
-        case days {
-          leaf days {
-            type uint16;
-            description
-              "Age expressed in days.";
-          }
-        }
-        case weeks {
-          leaf weeks {
-            type uint16;
-            description
-              "Age expressed in weeks.";
-          }
-        }
-      }
-    }
-    container severity {
-      presence "Severity filter";
-      choice sev-spec {
-        description
-          "Filter based on severity level.";
-        leaf below {
-          type severity;
-          description
-            "Severity less than this leaf.";
-        }
-        leaf is {
-          type severity;
-          description
-            "Severity level equal to this leaf.";
-        }
-        leaf above {
-          type severity;
-          description
-            "Severity level higher than this leaf.";
-        }
-      }
-      description
-        "Filter based on severity.";
-    }
-    container operator-state-filter {
-      if-feature "operator-actions";
-      presence "Operator state filter";
-      leaf state {
-        type operator-state;
-        description
-          "Filter on operator state.";
-      }
-      leaf user {
-        type string;
-        description
-          "Filter based on which operator.";
-      }
-      description
-        "Filter based on operator state.";
-    }
-  }
-
-  /*
-   * The /alarms data tree
-   */
-
-  container alarms {
-    description
-      "The top container for this module.";
-    container control {
-      description
-        "Configuration to control the alarm behavior.";
-      leaf max-alarm-status-changes {
-        type union {
-          type uint16;
-          type enumeration {
-            enum infinite {
-              description
-                "The status-change entries are accumulated
-                 infinitely.";
-            }
-          }
-        }
-        default "32";
-        description
-          "The 'status-change' entries are kept in a circular list
-           per alarm.  When this number is exceeded, the oldest
-           status change entry is automatically removed.  If the
-           value is 'infinite', the status-change entries are
-           accumulated infinitely.";
-      }
-      leaf notify-status-changes {
-        type enumeration {
-          enum all-state-changes {
-            description
-              "Send notifications for all status changes.";
-          }
-          enum raise-and-clear {
-            description
-              "Send notifications only for raise, clear, and
-               re-raise.  Notifications for severity-level changes or
-               alarm-text changes are not sent.";
-          }
-          enum severity-level {
-            description
-              "Only send notifications for alarm-state changes
-               crossing the level specified in
-               'notify-severity-level'.  Always send clear
-               notifications.";
-          }
-        }
-        must '. != "severity-level" or ../notify-severity-level' {
-          description
-            "When notify-status-changes is 'severity-level', a value
-             must be given for 'notify-severity-level'.";
-        }
-        default "all-state-changes";
-        description
-          "This leaf controls the notifications sent for alarm status
-           updates.  There are three options:
-
-           1.  Notifications are sent for all updates, severity-level
-               changes, and alarm-text changes.
-
-           2.  Notifications are only sent for alarm raise and clear.
-
-           3.  Notifications are sent for status changes equal to or
-               above the specified severity level.  Clear
-               notifications shall always be sent.  Notifications
-               shall also be sent for state changes that make an
-               alarm less severe than the specified level.
-
-           For example, in option 3, assume that the severity level
-           is set to major and that the alarm has the following state
-           changes:
-
-           [(Time, severity, clear)]:
-           [(T1, major, -), (T2, minor, -), (T3, warning, -),
-            (T4, minor, -), (T5, major, -), (T6, critical, -),
-            (T7, major.  -), (T8, major, clear)]
-
-           In that case, notifications will be sent at times
-           T1, T2, T5, T6, T7, and T8.";
-      }
-      leaf notify-severity-level {
-        when '../notify-status-changes = "severity-level"';
-        type severity;
-        description
-          "Only send notifications for alarm-state changes crossing
-           the specified level.  Always send clear notifications.";
-      }
-      container alarm-shelving {
-        if-feature "alarm-shelving";
-        description
-          "The 'alarm-shelving/shelf' list is used to shelve
-           (block/filter) alarms.  The conditions in the shelf
-           criteria are logically ANDed.  The first matching shelf is
-           used, and an alarm is shelved only for this first match.
-           Matching alarms MUST appear in the
-           /alarms/shelved-alarms/shelved-alarm list, and
-           non-matching /alarms MUST appear in the
-           /alarms/alarm-list/alarm list.  The server does not send
-           any notifications for shelved alarms.
-
-           The server MUST maintain states (e.g., severity
-           changes) for the shelved alarms.
-
-           Alarms that match the criteria shall have an
-           operator state 'shelved'.  When the shelf
-           configuration removes an alarm from the shelf, the server
-           shall add the operator state 'un-shelved'.";
-        list shelf {
-          key "name";
-          ordered-by user;
-          leaf name {
-            type string;
-            description
-              "An arbitrary name for the alarm shelf.";
-          }
-          description
-            "Each entry defines the criteria for shelving alarms.
-             Criteria are ANDed.  If no criteria are specified,
-             all alarms will be shelved.";
-          leaf-list resource {
-            type resource-match;
-            description
-              "Shelve alarms for matching resources.";
-          }
-          list alarm-type {
-            key "alarm-type-id alarm-type-qualifier-match";
-            description
-              "Any alarm matching the combined criteria of
-               'alarm-type-id' and 'alarm-type-qualifier-match'
-               MUST be matched.";
-            leaf alarm-type-id {
-              type alarm-type-id;
-              description
-                "Shelve all alarms that have an 'alarm-type-id' that
-                 is equal to or derived from the given
-                 'alarm-type-id'.";
-            }
-            leaf alarm-type-qualifier-match {
-              type string;
-              description
-                "An XML Schema regular expression that is used to
-                 match an alarm type qualifier.  Shelve all alarms
-                 that match this regular expression for the alarm
-                 type qualifier.";
-              reference
-                "XML Schema Part 2: Datatypes Second Edition,
-                   World Wide Web Consortium Recommendation
-                   REC-xmlschema-2-20041028";
-            }
-          }
-          leaf description {
-            type string;
-            description
-              "An optional textual description of the shelf.  This
-               description should include the reason for shelving
-               these alarms.";
-          }
-        }
-      }
-    }
-    container alarm-inventory {
-      config false;
-      description
-        "The 'alarm-inventory/alarm-type' list contains all possible
-         alarm types for the system.
-
-         If the system knows for which resources a specific alarm
-         type can appear, it is also identified in the inventory.
-         The list also tells if each alarm type has a corresponding
-         clear state.  The inventory shall only contain concrete
-         alarm types.
-
-         The alarm inventory MUST be updated by the system when new
-         alarms can appear.  This can be the case when installing new
-         software modules or inserting new card types.  A
-         notification 'alarm-inventory-changed' is sent when the
-         inventory is changed.";
-      list alarm-type {
-        key "alarm-type-id alarm-type-qualifier";
-        description
-          "An entry in this list defines a possible alarm.";
-        leaf alarm-type-id {
-          type alarm-type-id;
-          description
-            "The statically defined alarm type identifier for this
-             possible alarm.";
-        }
-        leaf alarm-type-qualifier {
-          type alarm-type-qualifier;
-          description
-            "The optionally dynamically defined alarm type identifier
-             for this possible alarm.";
-        }
-        leaf-list resource {
-          type resource-match;
-          description
-            "Optionally, specifies for which resources the alarm type
-             is valid.";
-        }
-        leaf will-clear {
-          type boolean;
-          mandatory true;
-          description
-            "This leaf tells the operator if the alarm will be
-             cleared when the correct corrective action has been
-             taken.  Implementations SHOULD strive for detecting the
-             cleared state for all alarm types.
-
-             If this leaf is 'true', the operator can monitor the
-             alarm until it becomes cleared after the corrective
-             action has been taken.
-
-             If this leaf is 'false', the operator needs to validate
-             that the alarm is no longer active using other
-             mechanisms.  Alarms can lack a corresponding clear due
-             to missing instrumentation or no logical
-             corresponding clear state.";
-        }
-        leaf-list severity-level {
-          type severity;
-          description
-            "This leaf-list indicates the possible severity levels of
-             this alarm type.  Note well that 'clear' is not part of
-             the severity type.  In general, the severity level
-             should be defined by the instrumentation based on the
-             dynamic state, rather than being defined statically by
-             the alarm type, in order to provide a relevant severity
-             level based on dynamic state and context.  However, most
-             alarm types have a defined set of possible severity
-             levels, and this should be provided here.";
-        }
-        leaf description {
-          type string;
-          mandatory true;
-          description
-            "A description of the possible alarm.  It SHOULD include
-             information on possible underlying root causes and
-             corrective actions.";
-        }
-      }
-    }
-    container summary {
-      if-feature "alarm-summary";
-      config false;
-      description
-        "This container gives a summary of the number of alarms.";
-      list alarm-summary {
-        key "severity";
-        description
-          "A global summary of all alarms in the system.  The summary
-           does not include shelved alarms.";
-        leaf severity {
-          type severity;
-          description
-            "Alarm summary for this severity level.";
-        }
-        leaf total {
-          type yang:gauge32;
-          description
-            "Total number of alarms of this severity level.";
-        }
-        leaf not-cleared {
-          type yang:gauge32;
-          description
-            "Total number of alarms of this severity level
-             that are not cleared.";
-        }
-        leaf cleared {
-          type yang:gauge32;
-          description
-            "For this severity level, the number of alarms that are
-             cleared.";
-        }
-        leaf cleared-not-closed {
-          if-feature "operator-actions";
-          type yang:gauge32;
-          description
-            "For this severity level, the number of alarms that are
-             cleared but not closed.";
-        }
-        leaf cleared-closed {
-          if-feature "operator-actions";
-          type yang:gauge32;
-          description
-            "For this severity level, the number of alarms that are
-             cleared and closed.";
-        }
-        leaf not-cleared-closed {
-          if-feature "operator-actions";
-          type yang:gauge32;
-          description
-            "For this severity level, the number of alarms that are
-             not cleared but closed.";
-        }
-        leaf not-cleared-not-closed {
-          if-feature "operator-actions";
-          type yang:gauge32;
-          description
-            "For this severity level, the number of alarms that are
-             not cleared and not closed.";
-        }
-      }
-      leaf shelves-active {
-        if-feature "alarm-shelving";
-        type empty;
-        description
-          "This is a hint to the operator that there are active
-           alarm shelves.  This leaf MUST exist if the
-           /alarms/shelved-alarms/number-of-shelved-alarms is > 0.";
-      }
-    }
-    container alarm-list {
-      config false;
-      description
-        "The alarms in the system.";
-      leaf number-of-alarms {
-        type yang:gauge32;
-        description
-          "This object shows the total number of
-           alarms in the system, i.e., the total number
-           of entries in the alarm list.";
-      }
-      leaf last-changed {
-        type yang:date-and-time;
-        description
-          "A timestamp when the alarm list was last
-           changed.  The value can be used by a manager to
-           initiate an alarm resynchronization procedure.";
-      }
-      list alarm {
-        key "resource alarm-type-id alarm-type-qualifier";
-        description
-          "The list of alarms.  Each entry in the list holds one
-           alarm for a given alarm type and resource.  An alarm can
-           be updated from the underlying resource or by the user.
-           The following leafs are maintained by the resource:
-           'is-cleared', 'last-change', 'perceived-severity', and
-           'alarm-text'.  An operator can change 'operator-state' and
-           'operator-text'.
-
-           Entries appear in the alarm list the first time an alarm
-           becomes active for a given alarm type and resource.
-           Entries do not get deleted when the alarm is cleared.
-           Clear status is represented as a boolean flag.
-
-           Alarm entries are removed, i.e., purged, from the list by
-           an explicit purge action.  For example, purge all alarms
-           that are cleared and in closed operator state that are
-           older than 24 hours.  Purged alarms are removed from the
-           alarm list.  If the alarm resource state changes after a
-           purge, the alarm will reappear in the alarm list.
-
-           Systems may also remove alarms based on locally configured
-           policies; this is out of scope for this module.";
-        uses common-alarm-parameters;
-        leaf time-created {
-          type yang:date-and-time;
-          mandatory true;
-          description
-            "The timestamp when this alarm entry was created.  This
-             represents the first time the alarm appeared; it can
-             also represent that the alarm reappeared after a purge.
-             Further state changes of the same alarm do not change
-             this leaf; these changes will update the 'last-changed'
-             leaf.";
-        }
-        uses resource-alarm-parameters;
-        list operator-state-change {
-          if-feature "operator-actions";
-          key "time";
-          description
-            "This list is used by operators to indicate the state of
-             human intervention on an alarm.  For example, if an
-             operator has seen an alarm, the operator can add a new
-             item to this list indicating that the alarm is
-             acknowledged.";
-          uses operator-parameters;
-        }
-        action set-operator-state {
-          if-feature "operator-actions";
-          description
-            "This is a means for the operator to indicate the level
-             of human intervention on an alarm.";
-          input {
-            leaf state {
-              type writable-operator-state;
-              mandatory true;
-              description
-                "Set this operator state.";
-            }
-            leaf text {
-              type string;
-              description
-                "Additional optional textual information.";
-            }
-          }
-        }
-        notification operator-action {
-          if-feature "operator-actions";
-          description
-            "This notification is used to report that an operator
-             acted upon an alarm.";
-          uses operator-parameters;
-        }
-      }
-      action purge-alarms {
-        description
-          "This operation requests that the server delete entries
-           from the alarm list according to the supplied criteria.
-
-           Typically, this operation is used to delete alarms that
-           are in closed operator state and older than a specified
-           time.
-
-           The number of purged alarms is returned as an output
-           parameter.";
-        input {
-          uses filter-input;
-        }
-        output {
-          leaf purged-alarms {
-            type uint32;
-            description
-              "Number of purged alarms.";
-          }
-        }
-      }
-      action compress-alarms {
-        if-feature "alarm-history";
-        description
-          "This operation requests that the server compress
-           entries in the alarm list by removing all but the
-           latest 'status-change' entry for all matching alarms.
-           Conditions in the input are logically ANDed.  If no
-           input condition is given, all alarms are compressed.";
-        input {
-          leaf resource {
-            type resource-match;
-            description
-              "Compress the alarms matching this resource.";
-          }
-          leaf alarm-type-id {
-            type leafref {
-              path "/alarms/alarm-list/alarm/alarm-type-id";
-              require-instance false;
-            }
-            description
-              "Compress alarms with this 'alarm-type-id'.";
-          }
-          leaf alarm-type-qualifier {
-            type leafref {
-              path "/alarms/alarm-list/alarm/alarm-type-qualifier";
-              require-instance false;
-            }
-            description
-              "Compress the alarms with this
-               'alarm-type-qualifier'.";
-          }
-        }
-        output {
-          leaf compressed-alarms {
-            type uint32;
-            description
-              "Number of compressed alarm entries.";
-          }
-        }
-      }
-    }
-    container shelved-alarms {
-      if-feature "alarm-shelving";
-      config false;
-      description
-        "The shelved alarms.  Alarms appear here if they match the
-         criteria in /alarms/control/alarm-shelving.  This list does
-         not generate any notifications.  The list represents alarms
-         that are considered not relevant by the operator.  Alarms in
-         this list have an 'operator-state' of 'shelved'.  This
-         cannot be changed.";
-      leaf number-of-shelved-alarms {
-        type yang:gauge32;
-        description
-          "This object shows the total number of current
-           alarms, i.e., the total number of entries
-           in the alarm list.";
-      }
-      leaf shelved-alarms-last-changed {
-        type yang:date-and-time;
-        description
-          "A timestamp when the shelved-alarm list was last changed.
-           The value can be used by a manager to initiate an alarm
-           resynchronization procedure.";
-      }
-      list shelved-alarm {
-        key "resource alarm-type-id alarm-type-qualifier";
-        description
-          "The list of shelved alarms.  Shelved alarms can only be
-           updated from the underlying resource; no operator actions
-           are supported.";
-        uses common-alarm-parameters;
-        leaf shelf-name {
-          type leafref {
-            path "/alarms/control/alarm-shelving/shelf/name";
-            require-instance false;
-          }
-          description
-            "The name of the shelf.";
-        }
-        uses resource-alarm-parameters;
-        list operator-state-change {
-          if-feature "operator-actions";
-          key "time";
-          description
-            "This list is used by operators to indicate the state of
-             human intervention on an alarm.  For shelved alarms, the
-             system has set the list item in the list to 'shelved'.";
-          uses operator-parameters;
-        }
-      }
-      action purge-shelved-alarms {
-        description
-          "This operation requests that the server delete entries from
-           the shelved-alarm list according to the supplied criteria.
-           In the shelved-alarm list, it makes sense to delete alarms
-           that are not relevant anymore.
-
-           The number of purged alarms is returned as an output
-           parameter.";
-        input {
-          uses filter-input;
-        }
-        output {
-          leaf purged-alarms {
-            type uint32;
-            description
-              "Number of purged alarms.";
-          }
-        }
-      }
-      action compress-shelved-alarms {
-        if-feature "alarm-history";
-        description
-          "This operation requests that the server compress entries
-           in the shelved-alarm list by removing all but the latest
-           'status-change' entry for all matching shelved alarms.
-           Conditions in the input are logically ANDed.  If no input
-           condition is given, all alarms are compressed.";
-        input {
-          leaf resource {
-            type leafref {
-              path "/alarms/shelved-alarms/shelved-alarm/resource";
-              require-instance false;
-            }
-            description
-              "Compress the alarms with this resource.";
-          }
-          leaf alarm-type-id {
-            type leafref {
-              path "/alarms/shelved-alarms/shelved-alarm"
-                 + "/alarm-type-id";
-              require-instance false;
-            }
-            description
-              "Compress alarms with this 'alarm-type-id'.";
-          }
-          leaf alarm-type-qualifier {
-            type leafref {
-              path "/alarms/shelved-alarms/shelved-alarm"
-                 + "/alarm-type-qualifier";
-              require-instance false;
-            }
-            description
-              "Compress the alarms with this
-               'alarm-type-qualifier'.";
-          }
-        }
-        output {
-          leaf compressed-alarms {
-            type uint32;
-            description
-              "Number of compressed alarm entries.";
-          }
-        }
-      }
-    }
-    list alarm-profile {
-      if-feature "alarm-profile";
-      key "alarm-type-id alarm-type-qualifier-match resource";
-      ordered-by user;
-      description
-        "This list is used to assign further information or
-         configuration for each alarm type.  This module supports a
-         mechanism where the client can override the system-default
-         alarm severity levels.  The 'alarm-profile' is also a useful
-         augmentation point for specific additions to alarm types.";
-      leaf alarm-type-id {
-        type alarm-type-id;
-        description
-          "The alarm type identifier to match.";
-      }
-      leaf alarm-type-qualifier-match {
-        type string;
-        description
-          "An XML Schema regular expression that is used to match the
-           alarm type qualifier.";
-        reference
-          "XML Schema Part 2: Datatypes Second Edition,
-             World Wide Web Consortium Recommendation
-             REC-xmlschema-2-20041028";
-      }
-      leaf resource {
-        type resource-match;
-        description
-          "Specifies which resources to match.";
-      }
-      leaf description {
-        type string;
-        mandatory true;
-        description
-          "A description of the alarm profile.";
-      }
-      container alarm-severity-assignment-profile {
-        if-feature "severity-assignment";
-        description
-          "The client can override the system-default severity
-           level.";
-        reference
-          "ITU-T Recommendation M.3100:
-             Generic network information model
-           ITU-T Recommendation M.3160:
-             Generic, protocol-neutral management information model";
-        leaf-list severity-level {
-          type severity;
-          ordered-by user;
-          description
-            "Specifies the configured severity level(s) for the
-             matching alarm.  If the alarm has several severity
-             levels, the leaf-list shall be given in rising severity
-             order.  The original M3100/M3160 ASAP function only
-             allows for a one-to-one mapping between alarm type and
-             severity, but since YANG module supports stateful
-             alarms, the mapping must allow for several severity
-             levels.
-
-             Assume a high-utilization alarm type with two thresholds
-             with the system-default severity levels of threshold1 =
-             warning and threshold2 = minor.  Setting this leaf-list
-             to (minor, major) will assign the severity levels as
-             threshold1 = minor and threshold2 = major";
-        }
-      }
-    }
-  }
-
-  /*
-   * Notifications
-   */
-
-  notification alarm-notification {
-    description
-      "This notification is used to report a state change for an
-       alarm.  The same notification is used for reporting a newly
-       raised alarm, a cleared alarm, or changing the text and/or
-       severity of an existing alarm.";
-    uses common-alarm-parameters;
-    uses alarm-state-change-parameters;
-  }
-
-  notification alarm-inventory-changed {
-    description
-      "This notification is used to report that the list of possible
-       alarms has changed.  This can happen when, for example, a new
-       software module is installed or a new physical card is
-       inserted.";
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-hardware.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-hardware.yang
deleted file mode 100755 (executable)
index f444e26..0000000
+++ /dev/null
@@ -1,1141 +0,0 @@
-module ietf-hardware {
-yang-version 1.1;
-namespace "urn:ietf:params:xml:ns:yang:ietf-hardware";
-prefix hw;
-
-import ietf-inet-types {
-  prefix inet;
-}
-import ietf-yang-types {
-  prefix yang;
-}
-import iana-hardware {
-  prefix ianahw;
-}
-
-organization
-  "IETF NETMOD (Network Modeling) Working Group";
-
-contact
-  "WG Web:   <https://datatracker.ietf.org/wg/netmod/>
-   WG List:  <mailto:netmod@ietf.org>
-   Editor:   Andy Bierman
-             <mailto:andy@yumaworks.com>
-   Editor:   Martin Bjorklund
-             <mailto:mbj@tail-f.com>
-   Editor:   Jie Dong
-             <mailto:jie.dong@huawei.com>
-   Editor:   Dan Romascanu
-             <mailto:dromasca@gmail.com>";
-
-description
-  "This module contains a collection of YANG definitions for
-   managing hardware.
-   This data model is designed for the Network Management Datastore
-   Architecture (NMDA) defined in RFC 8342.
-   Copyright (c) 2018 IETF Trust and the persons identified as
-   authors of the code.  All rights reserved.
-   Redistribution and use in source and binary forms, with or
-   without modification, is permitted pursuant to, and subject
-   to the license terms contained in, the Simplified BSD License
-   set forth in Section 4.c of the IETF Trust's Legal Provisions
-   Relating to IETF Documents
-   (https://trustee.ietf.org/license-info).
-   This version of this YANG module is part of RFC 8348; see
-   the RFC itself for full legal notices.";
-
-revision 2018-03-13 {
-  description
-    "Initial revision.";
-  reference
-    "RFC 8348: A YANG Data Model for Hardware Management";
-}
-
-/*
- * Features
- */
-
-feature entity-mib {
-  description
-    "This feature indicates that the device implements
-     the ENTITY-MIB.";
-  reference
-    "RFC 6933: Entity MIB (Version 4)";
-}
-
-feature hardware-state {
-  description
-    "Indicates that ENTITY-STATE-MIB objects are supported";
-  reference
-    "RFC 4268: Entity State MIB";
-}
-
-feature hardware-sensor {
-  description
-    "Indicates that ENTITY-SENSOR-MIB objects are supported";
-  reference
-    "RFC 3433: Entity Sensor Management Information Base";
-}
-
-/*
- * Typedefs
- */
-
-typedef admin-state {
-  type enumeration {
-    enum unknown {
-      value 1;
-      description
-        "The resource is unable to report administrative state.";
-    }
-    enum locked {
-      value 2;
-      description
-        "The resource is administratively prohibited from use.";
-    }
-    enum shutting-down {
-      value 3;
-      description
-        "The resource usage is administratively limited to current
-         instances of use.";
-    }
-    enum unlocked {
-      value 4;
-      description
-        "The resource is not administratively prohibited from
-         use.";
-    }
-  }
-  description
-    "Represents the various possible administrative states.";
-  reference
-    "RFC 4268: Entity State MIB - EntityAdminState";
-}
-
-typedef oper-state {
-  type enumeration {
-    enum unknown {
-      value 1;
-      description
-        "The resource is unable to report its operational state.";
-    }
-    enum disabled {
-      value 2;
-      description
-        "The resource is totally inoperable.";
-    }
-    enum enabled {
-      value 3;
-
-      description
-        "The resource is partially or fully operable.";
-    }
-    enum testing {
-      value 4;
-      description
-        "The resource is currently being tested and cannot
-         therefore report whether or not it is operational.";
-    }
-  }
-  description
-    "Represents the possible values of operational states.";
-  reference
-    "RFC 4268: Entity State MIB - EntityOperState";
-}
-
-typedef usage-state {
-  type enumeration {
-    enum unknown {
-      value 1;
-      description
-        "The resource is unable to report usage state.";
-    }
-    enum idle {
-      value 2;
-      description
-        "The resource is servicing no users.";
-    }
-    enum active {
-      value 3;
-      description
-        "The resource is currently in use, and it has sufficient
-         spare capacity to provide for additional users.";
-    }
-    enum busy {
-      value 4;
-      description
-        "The resource is currently in use, but it currently has no
-         spare capacity to provide for additional users.";
-    }
-  }
-  description
-    "Represents the possible values of usage states.";
-  reference
-    "RFC 4268: Entity State MIB -  EntityUsageState";
-}
-
-typedef alarm-state {
-  type bits {
-    bit unknown {
-      position 0;
-      description
-        "The resource is unable to report alarm state.";
-    }
-    bit under-repair {
-      position 1;
-      description
-        "The resource is currently being repaired, which, depending
-         on the implementation, may make the other values in this
-         bit string not meaningful.";
-    }
-    bit critical {
-      position 2;
-      description
-        "One or more critical alarms are active against the
-         resource.";
-    }
-    bit major {
-      position 3;
-      description
-        "One or more major alarms are active against the
-         resource.";
-    }
-    bit minor {
-      position 4;
-      description
-        "One or more minor alarms are active against the
-         resource.";
-    }
-    bit warning {
-      position 5;
-      description
-        "One or more warning alarms are active against the
-         resource.";
-    }
-    bit indeterminate {
-      position 6;
-      description
-        "One or more alarms of whose perceived severity cannot be
-         determined are active against this resource.";
-    }
-  }
-  description
-    "Represents the possible values of alarm states.  An alarm is a
-     persistent indication of an error or warning condition.
-     When no bits of this attribute are set, then no active alarms
-     are known against this component and it is not under repair.";
-  reference
-    "RFC 4268: Entity State MIB - EntityAlarmStatus";
-}
-
-typedef standby-state {
-  type enumeration {
-    enum unknown {
-      value 1;
-      description
-        "The resource is unable to report standby state.";
-    }
-    enum hot-standby {
-      value 2;
-      description
-        "The resource is not providing service, but it will be
-         immediately able to take over the role of the resource to
-         be backed up, without the need for initialization
-         activity, and will contain the same information as the
-         resource to be backed up.";
-    }
-    enum cold-standby {
-      value 3;
-      description
-        "The resource is to back up another resource, but it will
-         not be immediately able to take over the role of a
-         resource to be backed up and will require some
-         initialization activity.";
-    }
-    enum providing-service {
-      value 4;
-      description
-        "The resource is providing service.";
-    }
-  }
-  description
-    "Represents the possible values of standby states.";
-  reference
-    "RFC 4268: Entity State MIB - EntityStandbyStatus";
-}
-
-typedef sensor-value-type {
-  type enumeration {
-    enum other {
-      value 1;
-      description
-        "A measure other than those listed below.";
-    }
-    enum unknown {
-      value 2;
-      description
-        "An unknown measurement or arbitrary, relative numbers";
-    }
-    enum volts-AC {
-      value 3;
-      description
-        "A measure of electric potential (alternating current).";
-    }
-    enum volts-DC {
-      value 4;
-      description
-        "A measure of electric potential (direct current).";
-    }
-    enum amperes {
-      value 5;
-      description
-        "A measure of electric current.";
-    }
-    enum watts {
-      value 6;
-      description
-        "A measure of power.";
-    }
-    enum hertz {
-      value 7;
-      description
-        "A measure of frequency.";
-    }
-    enum celsius {
-      value 8;
-      description
-        "A measure of temperature.";
-    }
-    enum percent-RH {
-      value 9;
-      description
-        "A measure of percent relative humidity.";
-    }
-    enum rpm {
-      value 10;
-      description
-        "A measure of shaft revolutions per minute.";
-    }
-    enum cmm {
-      value 11;
-      description
-        "A measure of cubic meters per minute (airflow).";
-    }
-    enum truth-value {
-      value 12;
-      description
-        "Value is one of 1 (true) or 2 (false)";
-    }
-  }
-  description
-    "A node using this data type represents the sensor measurement
-     data type associated with a physical sensor value.  The actual
-     data units are determined by examining a node of this type
-     together with the associated sensor-value-scale node.
-     A node of this type SHOULD be defined together with nodes of
-     type sensor-value-scale and type sensor-value-precision.
-     These three types are used to identify the semantics of a node
-     of type sensor-value.";
-  reference
-    "RFC 3433: Entity Sensor Management Information Base -
-               EntitySensorDataType";
-}
-
-typedef sensor-value-scale {
-  type enumeration {
-    enum yocto {
-      value 1;
-      description
-        "Data scaling factor of 10^-24.";
-    }
-    enum zepto {
-      value 2;
-      description
-        "Data scaling factor of 10^-21.";
-    }
-    enum atto {
-      value 3;
-      description
-        "Data scaling factor of 10^-18.";
-    }
-    enum femto {
-      value 4;
-      description
-        "Data scaling factor of 10^-15.";
-    }
-    enum pico {
-      value 5;
-      description
-        "Data scaling factor of 10^-12.";
-    }
-    enum nano {
-      value 6;
-      description
-        "Data scaling factor of 10^-9.";
-    }
-    enum micro {
-      value 7;
-      description
-        "Data scaling factor of 10^-6.";
-    }
-    enum milli {
-      value 8;
-      description
-        "Data scaling factor of 10^-3.";
-    }
-    enum units {
-      value 9;
-      description
-        "Data scaling factor of 10^0.";
-    }
-    enum kilo {
-      value 10;
-      description
-        "Data scaling factor of 10^3.";
-    }
-    enum mega {
-      value 11;
-      description
-        "Data scaling factor of 10^6.";
-    }
-    enum giga {
-      value 12;
-      description
-        "Data scaling factor of 10^9.";
-    }
-    enum tera {
-      value 13;
-      description
-        "Data scaling factor of 10^12.";
-    }
-    enum peta {
-      value 14;
-      description
-        "Data scaling factor of 10^15.";
-    }
-    enum exa {
-      value 15;
-      description
-        "Data scaling factor of 10^18.";
-    }
-    enum zetta {
-      value 16;
-      description
-        "Data scaling factor of 10^21.";
-    }
-    enum yotta {
-      value 17;
-      description
-        "Data scaling factor of 10^24.";
-    }
-  }
-  description
-    "A node using this data type represents a data scaling factor,
-     represented with an International System of Units (SI) prefix.
-     The actual data units are determined by examining a node of
-     this type together with the associated sensor-value-type.
-     A node of this type SHOULD be defined together with nodes of
-     type sensor-value-type and type sensor-value-precision.
-     Together, associated nodes of these three types are used to
-     identify the semantics of a node of type sensor-value.";
-  reference
-    "RFC 3433: Entity Sensor Management Information Base -
-               EntitySensorDataScale";
-}
-
-typedef sensor-value-precision {
-  type int8 {
-    range "-8 .. 9";
-  }
-  description
-    "A node using this data type represents a sensor value
-     precision range.
-     A node of this type SHOULD be defined together with nodes of
-     type sensor-value-type and type sensor-value-scale.  Together,
-     associated nodes of these three types are used to identify the
-     semantics of a node of type sensor-value.
-     If a node of this type contains a value in the range 1 to 9,
-     it represents the number of decimal places in the fractional
-     part of an associated sensor-value fixed-point number.
-     If a node of this type contains a value in the range -8 to -1,
-     it represents the number of accurate digits in the associated
-     sensor-value fixed-point number.
-     The value zero indicates the associated sensor-value node is
-     not a fixed-point number.
-     Server implementers must choose a value for the associated
-     sensor-value-precision node so that the precision and accuracy
-     of the associated sensor-value node is correctly indicated.
-     For example, a component representing a temperature sensor
-     that can measure 0 to 100 degrees C in 0.1 degree
-     increments, +/- 0.05 degrees, would have a
-     sensor-value-precision value of '1', a sensor-value-scale
-     value of 'units', and a sensor-value ranging from '0' to
-     '1000'.  The sensor-value would be interpreted as
-     'degrees C * 10'.";
-  reference
-    "RFC 3433: Entity Sensor Management Information Base -
-               EntitySensorPrecision";
-}
-
-typedef sensor-value {
-  type int32 {
-    range "-1000000000 .. 1000000000";
-  }
-  description
-   "A node using this data type represents a sensor value.
-    A node of this type SHOULD be defined together with nodes of
-    type sensor-value-type, type sensor-value-scale, and
-    type sensor-value-precision.  Together, associated nodes of
-    those three types are used to identify the semantics of a node
-    of this data type.
-    The semantics of a node using this data type are determined by
-    the value of the associated sensor-value-type node.
-    If the associated sensor-value-type node is equal to 'voltsAC',
-    'voltsDC', 'amperes', 'watts', 'hertz', 'celsius', or 'cmm',
-    then a node of this type MUST contain a fixed-point number
-    ranging from -999,999,999 to +999,999,999.  The value
-    -1000000000 indicates an underflow error.  The value
-    +1000000000 indicates an overflow error.  The
-    sensor-value-precision indicates how many fractional digits
-    are represented in the associated sensor-value node.
-    If the associated sensor-value-type node is equal to
-    'percentRH', then a node of this type MUST contain a number
-    ranging from 0 to 100.
-    If the associated sensor-value-type node is equal to 'rpm',
-    then a node of this type MUST contain a number ranging from
-    -999,999,999 to +999,999,999.
-    If the associated sensor-value-type node is equal to
-    'truth-value', then a node of this type MUST contain either the
-    value 1 (true) or the value 2 (false).
-    If the associated sensor-value-type node is equal to 'other' or
-    'unknown', then a node of this type MUST contain a number
-    ranging from -1000000000 to 1000000000.";
-  reference
-    "RFC 3433: Entity Sensor Management Information Base -
-               EntitySensorValue";
-}
-
-typedef sensor-status {
-  type enumeration {
-    enum ok {
-      value 1;
-      description
-        "Indicates that the server can obtain the sensor value.";
-    }
-    enum unavailable {
-      value 2;
-      description
-        "Indicates that the server presently cannot obtain the
-         sensor value.";
-    }
-    enum nonoperational {
-      value 3;
-      description
-        "Indicates that the server believes the sensor is broken.
-         The sensor could have a hard failure (disconnected wire)
-         or a soft failure such as out-of-range, jittery, or wildly
-         fluctuating readings.";
-    }
-  }
-  description
-    "A node using this data type represents the operational status
-     of a physical sensor.";
-  reference
-    "RFC 3433: Entity Sensor Management Information Base -
-               EntitySensorStatus";
-}
-
-/*
- * Data nodes
- */
-
-container hardware {
-  description
-    "Data nodes representing components.
-     If the server supports configuration of hardware components,
-     then this data model is instantiated in the configuration
-     datastores supported by the server.  The leaf-list 'datastore'
-     for the module 'ietf-hardware' in the YANG library provides
-     this information.";
-
-  leaf last-change {
-    type yang:date-and-time;
-    config false;
-    description
-      "The time the '/hardware/component' list changed in the
-       operational state.";
-  }
-
-  list component {
-    key name;
-    description
-      "List of components.
-       When the server detects a new hardware component, it
-       initializes a list entry in the operational state.
-       If the server does not support configuration of hardware
-       components, list entries in the operational state are
-       initialized with values for all nodes as detected by the
-       implementation.
-       Otherwise, this procedure is followed:
-         1. If there is an entry in the '/hardware/component' list
-            in the intended configuration with values for the nodes
-            'class', 'parent', and 'parent-rel-pos' that are equal
-            to the detected values, then the list entry in the
-            operational state is initialized with the configured
-            values, including the 'name'.
-         2. Otherwise (i.e., there is no matching configuration
-            entry), the list entry in the operational state is
-            initialized with values for all nodes as detected by
-            the implementation.
-       If the '/hardware/component' list in the intended
-       configuration is modified, then the system MUST behave as if
-       it re-initializes itself and follow the procedure in (1).";
-    reference
-      "RFC 6933: Entity MIB (Version 4) - entPhysicalEntry";
-
-    leaf name {
-      type string;
-      description
-        "The name assigned to this component.
-         This name is not required to be the same as
-         entPhysicalName.";
-    }
-
-    leaf class {
-      type identityref {
-        base ianahw:hardware-class;
-      }
-      mandatory true;
-      description
-        "An indication of the general hardware type of the
-         component.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalClass";
-    }
-
-    leaf physical-index {
-      if-feature entity-mib;
-      type int32 {
-        range "1..2147483647";
-      }
-      config false;
-      description
-        "The entPhysicalIndex for the entPhysicalEntry represented
-         by this list entry.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalIndex";
-    }
-
-    leaf description {
-      type string;
-      config false;
-      description
-        "A textual description of the component.  This node should
-         contain a string that identifies the manufacturer's name
-         for the component and should be set to a distinct value
-         for each version or model of the component.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalDescr";
-    }
-
-    leaf parent {
-      type leafref {
-        path "../../component/name";
-        require-instance false;
-      }
-      description
-        "The name of the component that physically contains this
-         component.
-         If this leaf is not instantiated, it indicates that this
-         component is not contained in any other component.
-         In the event that a physical component is contained by
-         more than one physical component (e.g., double-wide
-         modules), this node contains the name of one of these
-         components.  An implementation MUST use the same name
-         every time this node is instantiated.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalContainedIn";
-    }
-
-    leaf parent-rel-pos {
-      type int32 {
-        range "0 .. 2147483647";
-      }
-      description
-        "An indication of the relative position of this child
-         component among all its sibling components.  Sibling
-         components are defined as components that:
-           o share the same value of the 'parent' node and
-           o share a common base identity for the 'class' node.
-         Note that the last rule gives implementations flexibility
-         in how components are numbered.  For example, some
-         implementations might have a single number series for all
-         components derived from 'ianahw:port', while some others
-         might have different number series for different
-         components with identities derived from 'ianahw:port' (for
-         example, one for registered jack 45 (RJ45) and one for
-         small form-factor pluggable (SFP)).";
-
-      reference
-        "RFC 6933: Entity MIB (Version 4) -
-                   entPhysicalParentRelPos";
-    }
-
-    leaf-list contains-child {
-      type leafref {
-        path "../../component/name";
-      }
-      config false;
-      description
-        "The name of the contained component.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalChildIndex";
-    }
-
-    leaf hardware-rev {
-      type string;
-      config false;
-      description
-        "The vendor-specific hardware revision string for the
-         component.  The preferred value is the hardware revision
-         identifier actually printed on the component itself (if
-         present).";
-      reference
-        "RFC 6933: Entity MIB (Version 4) -
-                   entPhysicalHardwareRev";
-    }
-
-    leaf firmware-rev {
-      type string;
-      config false;
-      description
-        "The vendor-specific firmware revision string for the
-         component.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) -
-                   entPhysicalFirmwareRev";
-    }
-
-    leaf software-rev {
-      type string;
-      config false;
-
-      description
-        "The vendor-specific software revision string for the
-         component.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) -
-                   entPhysicalSoftwareRev";
-    }
-
-    leaf serial-num {
-      type string;
-      config false;
-      description
-        "The vendor-specific serial number string for the
-         component.  The preferred value is the serial number
-         string actually printed on the component itself (if
-         present).";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalSerialNum";
-    }
-
-    leaf mfg-name {
-      type string;
-      config false;
-      description
-        "The name of the manufacturer of this physical component.
-         The preferred value is the manufacturer name string
-         actually printed on the component itself (if present).
-         Note that comparisons between instances of the
-         'model-name', 'firmware-rev', 'software-rev', and
-         'serial-num' nodes are only meaningful amongst components
-         with the same value of 'mfg-name'.
-         If the manufacturer name string associated with the
-         physical component is unknown to the server, then this
-         node is not instantiated.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalMfgName";
-    }
-
-    leaf model-name {
-      type string;
-      config false;
-      description
-        "The vendor-specific model name identifier string
-         associated with this physical component.  The preferred
-         value is the customer-visible part number, which may be
-         printed on the component itself.
-         If the model name string associated with the physical
-         component is unknown to the server, then this node is not
-         instantiated.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalModelName";
-    }
-
-    leaf alias {
-      type string;
-      description
-        "An 'alias' name for the component, as specified by a
-         network manager, that provides a non-volatile 'handle' for
-         the component.
-         If no configured value exists, the server MAY set the
-         value of this node to a locally unique value in the
-         operational state.
-         A server implementation MAY map this leaf to the
-         entPhysicalAlias MIB object.  Such an implementation needs
-         to use some mechanism to handle the differences in size
-         and characters allowed between this leaf and
-         entPhysicalAlias.  The definition of such a mechanism is
-         outside the scope of this document.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalAlias";
-    }
-
-    leaf asset-id {
-      type string;
-      description
-        "This node is a user-assigned asset tracking identifier for
-         the component.
-         A server implementation MAY map this leaf to the
-         entPhysicalAssetID MIB object.  Such an implementation
-         needs to use some mechanism to handle the differences in
-         size and characters allowed between this leaf and
-         entPhysicalAssetID.  The definition of such a mechanism is
-         outside the scope of this document.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalAssetID";
-    }
-
-    leaf is-fru {
-      type boolean;
-      config false;
-
-      description
-        "This node indicates whether or not this component is
-         considered a 'field-replaceable unit' by the vendor.  If
-         this node contains the value 'true', then this component
-         identifies a field-replaceable unit.  For all components
-         that are permanently contained within a field-replaceable
-         unit, the value 'false' should be returned for this
-         node.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalIsFRU";
-    }
-
-    leaf mfg-date {
-      type yang:date-and-time;
-      config false;
-      description
-        "The date of manufacturing of the managed component.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalMfgDate";
-    }
-
-    leaf-list uri {
-      type inet:uri;
-      description
-        "This node contains identification information about the
-         component.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalUris";
-    }
-
-    leaf uuid {
-      type yang:uuid;
-      config false;
-      description
-        "A Universally Unique Identifier of the component.";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalUUID";
-    }
-
-    container state {
-      if-feature hardware-state;
-      description
-        "State-related nodes";
-      reference
-        "RFC 4268: Entity State MIB";
-
-      leaf state-last-changed {
-        type yang:date-and-time;
-        config false;
-        description
-          "The date and time when the value of any of the
-           admin-state, oper-state, usage-state, alarm-state, or
-           standby-state changed for this component.
-           If there has been no change since the last
-           re-initialization of the local system, this node
-           contains the date and time of local system
-           initialization.  If there has been no change since the
-           component was added to the local system, this node
-           contains the date and time of the insertion.";
-        reference
-          "RFC 4268: Entity State MIB - entStateLastChanged";
-      }
-
-      leaf admin-state {
-        type admin-state;
-        description
-          "The administrative state for this component.
-           This node refers to a component's administrative
-           permission to service both other components within its
-           containment hierarchy as well other users of its
-           services defined by means outside the scope of this
-           module.
-           Some components exhibit only a subset of the remaining
-           administrative state values.  Some components cannot be
-           locked; hence, this node exhibits only the 'unlocked'
-           state.  Other components cannot be shut down gracefully;
-           hence, this node does not exhibit the 'shutting-down'
-           state.";
-        reference
-          "RFC 4268: Entity State MIB - entStateAdmin";
-      }
-
-      leaf oper-state {
-        type oper-state;
-        config false;
-        description
-          "The operational state for this component.
-           Note that this node does not follow the administrative
-           state.  An administrative state of 'down' does not
-           predict an operational state of 'disabled'.
-           Note that some implementations may not be able to
-           accurately report oper-state while the admin-state node
-           has a value other than 'unlocked'.  In these cases, this
-           node MUST have a value of 'unknown'.";
-        reference
-          "RFC 4268: Entity State MIB - entStateOper";
-      }
-
-      leaf usage-state {
-        type usage-state;
-        config false;
-        description
-          "The usage state for this component.
-           This node refers to a component's ability to service
-           more components in a containment hierarchy.
-           Some components will exhibit only a subset of the usage
-           state values.  Components that are unable to ever
-           service any components within a containment hierarchy
-           will always have a usage state of 'busy'.  In some
-           cases, a component will be able to support only one
-           other component within its containment hierarchy and
-           will therefore only exhibit values of 'idle' and
-           'busy'.";
-        reference
-          "RFC 4268: Entity State MIB - entStateUsage";
-      }
-
-      leaf alarm-state {
-        type alarm-state;
-        config false;
-        description
-          "The alarm state for this component.  It does not
-           include the alarms raised on child components within its
-           containment hierarchy.";
-        reference
-          "RFC 4268: Entity State MIB - entStateAlarm";
-      }
-
-      leaf standby-state {
-        type standby-state;
-        config false;
-        description
-          "The standby state for this component.
-           Some components will exhibit only a subset of the
-           remaining standby state values.  If this component
-           cannot operate in a standby role, the value of this node
-           will always be 'providing-service'.";
-        reference
-          "RFC 4268: Entity State MIB - entStateStandby";
-      }
-    }
-
-    container sensor-data {
-      when 'derived-from-or-self(../class,
-                                 "ianahw:sensor")' {
-        description
-          "Sensor data nodes present for any component of type
-           'sensor'";
-      }
-      if-feature hardware-sensor;
-      config false;
-
-      description
-        "Sensor-related nodes.";
-      reference
-        "RFC 3433: Entity Sensor Management Information Base";
-
-      leaf value {
-        type sensor-value;
-        description
-          "The most recent measurement obtained by the server
-           for this sensor.
-           A client that periodically fetches this node should also
-           fetch the nodes 'value-type', 'value-scale', and
-           'value-precision', since they may change when the value
-           is changed.";
-        reference
-          "RFC 3433: Entity Sensor Management Information Base -
-                     entPhySensorValue";
-      }
-
-      leaf value-type {
-        type sensor-value-type;
-        description
-          "The type of data units associated with the
-           sensor value";
-        reference
-          "RFC 3433: Entity Sensor Management Information Base -
-                     entPhySensorType";
-      }
-      leaf value-scale {
-        type sensor-value-scale;
-        description
-          "The (power of 10) scaling factor associated
-           with the sensor value";
-        reference
-          "RFC 3433: Entity Sensor Management Information Base -
-                     entPhySensorScale";
-      }
-
-      leaf value-precision {
-        type sensor-value-precision;
-        description
-          "The number of decimal places of precision
-           associated with the sensor value";
-        reference
-          "RFC 3433: Entity Sensor Management Information Base -
-                     entPhySensorPrecision";
-      }
-
-      leaf oper-status {
-        type sensor-status;
-        description
-          "The operational status of the sensor.";
-        reference
-          "RFC 3433: Entity Sensor Management Information Base -
-                     entPhySensorOperStatus";
-      }
-
-      leaf units-display {
-        type string;
-        description
-          "A textual description of the data units that should be
-           used in the display of the sensor value.";
-        reference
-          "RFC 3433: Entity Sensor Management Information Base -
-                     entPhySensorUnitsDisplay";
-      }
-
-      leaf value-timestamp {
-        type yang:date-and-time;
-        description
-          "The time the status and/or value of this sensor was last
-           obtained by the server.";
-        reference
-          "RFC 3433: Entity Sensor Management Information Base -
-                     entPhySensorValueTimeStamp";
-      }
-      leaf value-update-rate {
-        type uint32;
-        units "milliseconds";
-        description
-          "An indication of the frequency that the server updates
-           the associated 'value' node, represented in
-           milliseconds.  The value zero indicates:
-            - the sensor value is updated on demand (e.g.,
-              when polled by the server for a get-request),
-            - the sensor value is updated when the sensor
-              value changes (event-driven), or
-            - the server does not know the update rate.";
-        reference
-          "RFC 3433: Entity Sensor Management Information Base -
-                     entPhySensorValueUpdateRate";
-      }
-    }
-  }
-}
-
-/*
- * Notifications
- */
-
-notification hardware-state-change {
-  description
-    "A hardware-state-change notification is generated when the
-     value of /hardware/last-change changes in the operational
-     state.";
-  reference
-    "RFC 6933: Entity MIB (Version 4) - entConfigChange";
-}
-
-notification hardware-state-oper-enabled {
-  if-feature hardware-state;
-  description
-    "A hardware-state-oper-enabled notification signifies that a
-     component has transitioned into the 'enabled' state.";
-
-  leaf name {
-    type leafref {
-      path "/hardware/component/name";
-    }
-
-    description
-      "The name of the component that has transitioned into the
-       'enabled' state.";
-  }
-  leaf admin-state {
-    type leafref {
-      path "/hardware/component/state/admin-state";
-    }
-    description
-      "The administrative state for the component.";
-  }
-  leaf alarm-state {
-    type leafref {
-      path "/hardware/component/state/alarm-state";
-    }
-    description
-      "The alarm state for the component.";
-  }
-  reference
-    "RFC 4268: Entity State MIB - entStateOperEnabled";
-}
-
-notification hardware-state-oper-disabled {
-  if-feature hardware-state;
-  description
-    "A hardware-state-oper-disabled notification signifies that a
-     component has transitioned into the 'disabled' state.";
-
-  leaf name {
-    type leafref {
-      path "/hardware/component/name";
-    }
-    description
-      "The name of the component that has transitioned into the
-       'disabled' state.";
-  }
-  leaf admin-state {
-    type leafref {
-      path "/hardware/component/state/admin-state";
-    }
-    description
-      "The administrative state for the component.";
-  }
-  leaf alarm-state {
-    type leafref {
-      path "/hardware/component/state/alarm-state";
-    }
-
-    description
-      "The alarm state for the component.";
-  }
-  reference
-    "RFC 4268: Entity State MIB - entStateOperDisabled";
-}
-
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-interfaces.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-interfaces.yang
deleted file mode 100644 (file)
index 8dae9d3..0000000
+++ /dev/null
@@ -1,1073 +0,0 @@
-module ietf-interfaces {
-  yang-version 1.1;
-  namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
-  prefix if;
-
-  import ietf-yang-types {
-    prefix yang;
-  }
-
-  organization
-    "IETF NETMOD (Network Modeling) Working Group";
-
-  contact
-    "WG Web:   <https://datatracker.ietf.org/wg/netmod/>
-     WG List:  <mailto:netmod@ietf.org>
-     Editor:   Martin Bjorklund
-               <mailto:mbj@tail-f.com>";
-
-  description
-    "This module contains a collection of YANG definitions for
-     managing network interfaces.
-     Copyright (c) 2018 IETF Trust and the persons identified as
-     authors of the code.  All rights reserved.
-     Redistribution and use in source and binary forms, with or
-     without modification, is permitted pursuant to, and subject
-     to the license terms contained in, the Simplified BSD License
-     set forth in Section 4.c of the IETF Trust's Legal Provisions
-     Relating to IETF Documents
-     (https://trustee.ietf.org/license-info).
-     This version of this YANG module is part of RFC 8343; see
-     the RFC itself for full legal notices.";
-
-  revision 2018-02-20 {
-    description
-      "Updated to support NMDA.";
-    reference
-      "RFC 8343: A YANG Data Model for Interface Management";
-  }
-
-  revision 2014-05-08 {
-    description
-      "Initial revision.";
-    reference
-      "RFC 7223: A YANG Data Model for Interface Management";
-  }
-
-  /*
-   * Typedefs
-   */
-
-  typedef interface-ref {
-    type leafref {
-      path "/if:interfaces/if:interface/if:name";
-    }
-    description
-      "This type is used by data models that need to reference
-       interfaces.";
-  }
-
-  /*
-   * Identities
-   */
-
-  identity interface-type {
-    description
-      "Base identity from which specific interface types are
-       derived.";
-  }
-
-  /*
-   * Features
-   */
-
-  feature arbitrary-names {
-    description
-      "This feature indicates that the device allows user-controlled
-       interfaces to be named arbitrarily.";
-  }
-  feature pre-provisioning {
-    description
-      "This feature indicates that the device supports
-       pre-provisioning of interface configuration, i.e., it is
-       possible to configure an interface whose physical interface
-       hardware is not present on the device.";
-  }
-  feature if-mib {
-    description
-      "This feature indicates that the device implements
-       the IF-MIB.";
-    reference
-      "RFC 2863: The Interfaces Group MIB";
-  }
-
-  /*
-   * Data nodes
-   */
-
-  container interfaces {
-    description
-      "Interface parameters.";
-
-    list interface {
-      key "name";
-
-      description
-        "The list of interfaces on the device.
-         The status of an interface is available in this list in the
-         operational state.  If the configuration of a
-         system-controlled interface cannot be used by the system
-         (e.g., the interface hardware present does not match the
-         interface type), then the configuration is not applied to
-         the system-controlled interface shown in the operational
-         state.  If the configuration of a user-controlled interface
-         cannot be used by the system, the configured interface is
-         not instantiated in the operational state.
-         System-controlled interfaces created by the system are
-         always present in this list in the operational state,
-         whether or not they are configured.";
-
-     leaf name {
-        type string;
-        description
-          "The name of the interface.
-           A device MAY restrict the allowed values for this leaf,
-           possibly depending on the type of the interface.
-           For system-controlled interfaces, this leaf is the
-           device-specific name of the interface.
-           If a client tries to create configuration for a
-           system-controlled interface that is not present in the
-           operational state, the server MAY reject the request if
-           the implementation does not support pre-provisioning of
-           interfaces or if the name refers to an interface that can
-           never exist in the system.  A Network Configuration
-           Protocol (NETCONF) server MUST reply with an rpc-error
-           with the error-tag 'invalid-value' in this case.
-           If the device supports pre-provisioning of interface
-           configuration, the 'pre-provisioning' feature is
-           advertised.
-           If the device allows arbitrarily named user-controlled
-           interfaces, the 'arbitrary-names' feature is advertised.
-           When a configured user-controlled interface is created by
-           the system, it is instantiated with the same name in the
-           operational state.
-           A server implementation MAY map this leaf to the ifName
-           MIB object.  Such an implementation needs to use some
-           mechanism to handle the differences in size and characters
-           allowed between this leaf and ifName.  The definition of
-           such a mechanism is outside the scope of this document.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifName";
-      }
-
-      leaf description {
-        type string;
-        description
-          "A textual description of the interface.
-           A server implementation MAY map this leaf to the ifAlias
-           MIB object.  Such an implementation needs to use some
-           mechanism to handle the differences in size and characters
-           allowed between this leaf and ifAlias.  The definition of
-           such a mechanism is outside the scope of this document.
-           Since ifAlias is defined to be stored in non-volatile
-           storage, the MIB implementation MUST map ifAlias to the
-           value of 'description' in the persistently stored
-           configuration.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifAlias";
-      }
-
-      leaf type {
-        type identityref {
-          base interface-type;
-        }
-        mandatory true;
-        description
-          "The type of the interface.
-           When an interface entry is created, a server MAY
-           initialize the type leaf with a valid value, e.g., if it
-           is possible to derive the type from the name of the
-           interface.
-           If a client tries to set the type of an interface to a
-           value that can never be used by the system, e.g., if the
-           type is not supported or if the type does not match the
-           name of the interface, the server MUST reject the request.
-           A NETCONF server MUST reply with an rpc-error with the
-           error-tag 'invalid-value' in this case.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifType";
-      }
-
-      leaf enabled {
-        type boolean;
-        default "true";
-        description
-          "This leaf contains the configured, desired state of the
-           interface.
-           Systems that implement the IF-MIB use the value of this
-           leaf in the intended configuration to set
-           IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
-           has been initialized, as described in RFC 2863.
-           Changes in this leaf in the intended configuration are
-           reflected in ifAdminStatus.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
-      }
-
-      leaf link-up-down-trap-enable {
-        if-feature if-mib;
-        type enumeration {
-          enum enabled {
-            value 1;
-            description
-              "The device will generate linkUp/linkDown SNMP
-               notifications for this interface.";
-          }
-          enum disabled {
-            value 2;
-            description
-              "The device will not generate linkUp/linkDown SNMP
-               notifications for this interface.";
-          }
-        }
-        description
-          "Controls whether linkUp/linkDown SNMP notifications
-           should be generated for this interface.
-           If this node is not configured, the value 'enabled' is
-           operationally used by the server for interfaces that do
-           not operate on top of any other interface (i.e., there are
-           no 'lower-layer-if' entries), and 'disabled' otherwise.";
-        reference
-          "RFC 2863: The Interfaces Group MIB -
-                     ifLinkUpDownTrapEnable";
-      }
-
-      leaf admin-status {
-        if-feature if-mib;
-        type enumeration {
-          enum up {
-            value 1;
-            description
-              "Ready to pass packets.";
-          }
-          enum down {
-            value 2;
-            description
-              "Not ready to pass packets and not in some test mode.";
-          }
-          enum testing {
-            value 3;
-            description
-              "In some test mode.";
-          }
-        }
-        config false;
-        mandatory true;
-        description
-          "The desired state of the interface.
-           This leaf has the same read semantics as ifAdminStatus.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
-      }
-
-      leaf oper-status {
-        type enumeration {
-          enum up {
-            value 1;
-            description
-              "Ready to pass packets.";
-          }
-          enum down {
-            value 2;
-
-            description
-              "The interface does not pass any packets.";
-          }
-          enum testing {
-            value 3;
-            description
-              "In some test mode.  No operational packets can
-               be passed.";
-          }
-          enum unknown {
-            value 4;
-            description
-              "Status cannot be determined for some reason.";
-          }
-          enum dormant {
-            value 5;
-            description
-              "Waiting for some external event.";
-          }
-          enum not-present {
-            value 6;
-            description
-              "Some component (typically hardware) is missing.";
-          }
-          enum lower-layer-down {
-            value 7;
-            description
-              "Down due to state of lower-layer interface(s).";
-          }
-        }
-        config false;
-        mandatory true;
-        description
-          "The current operational state of the interface.
-           This leaf has the same semantics as ifOperStatus.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifOperStatus";
-      }
-
-      leaf last-change {
-        type yang:date-and-time;
-        config false;
-        description
-          "The time the interface entered its current operational
-           state.  If the current state was entered prior to the
-           last re-initialization of the local network management
-           subsystem, then this node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifLastChange";
-      }
-
-      leaf if-index {
-        if-feature if-mib;
-        type int32 {
-          range "1..2147483647";
-        }
-        config false;
-        mandatory true;
-        description
-          "The ifIndex value for the ifEntry represented by this
-           interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifIndex";
-      }
-
-      leaf phys-address {
-        type yang:phys-address;
-        config false;
-        description
-          "The interface's address at its protocol sub-layer.  For
-           example, for an 802.x interface, this object normally
-           contains a Media Access Control (MAC) address.  The
-           interface's media-specific modules must define the bit
-           and byte ordering and the format of the value of this
-           object.  For interfaces that do not have such an address
-           (e.g., a serial line), this node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifPhysAddress";
-      }
-
-      leaf-list higher-layer-if {
-        type interface-ref;
-        config false;
-        description
-          "A list of references to interfaces layered on top of this
-           interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifStackTable";
-      }
-
-      leaf-list lower-layer-if {
-        type interface-ref;
-        config false;
-
-        description
-          "A list of references to interfaces layered underneath this
-           interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifStackTable";
-      }
-
-      leaf speed {
-        type yang:gauge64;
-        units "bits/second";
-        config false;
-        description
-            "An estimate of the interface's current bandwidth in bits
-             per second.  For interfaces that do not vary in
-             bandwidth or for those where no accurate estimation can
-             be made, this node should contain the nominal bandwidth.
-             For interfaces that have no concept of bandwidth, this
-             node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB -
-                     ifSpeed, ifHighSpeed";
-      }
-
-      container statistics {
-        config false;
-        description
-          "A collection of interface-related statistics objects.";
-
-        leaf discontinuity-time {
-          type yang:date-and-time;
-          mandatory true;
-          description
-            "The time on the most recent occasion at which any one or
-             more of this interface's counters suffered a
-             discontinuity.  If no such discontinuities have occurred
-             since the last re-initialization of the local management
-             subsystem, then this node contains the time the local
-             management subsystem re-initialized itself.";
-        }
-
-        leaf in-octets {
-          type yang:counter64;
-          description
-            "The total number of octets received on the interface,
-             including framing characters.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCInOctets";
-        }
-
-        leaf in-unicast-pkts {
-          type yang:counter64;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were not addressed to a
-             multicast or broadcast address at this sub-layer.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
-        }
-
-        leaf in-broadcast-pkts {
-          type yang:counter64;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were addressed to a broadcast
-             address at this sub-layer.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCInBroadcastPkts";
-        }
-
-        leaf in-multicast-pkts {
-          type yang:counter64;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were addressed to a multicast
-             address at this sub-layer.  For a MAC-layer protocol,
-             this includes both Group and Functional addresses.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCInMulticastPkts";
-        }
-
-        leaf in-discards {
-          type yang:counter32;
-          description
-            "The number of inbound packets that were chosen to be
-             discarded even though no errors had been detected to
-             prevent their being deliverable to a higher-layer
-             protocol.  One possible reason for discarding such a
-             packet could be to free up buffer space.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInDiscards";
-        }
-
-        leaf in-errors {
-          type yang:counter32;
-          description
-            "For packet-oriented interfaces, the number of inbound
-             packets that contained errors preventing them from being
-             deliverable to a higher-layer protocol.  For character-
-             oriented or fixed-length interfaces, the number of
-             inbound transmission units that contained errors
-             preventing them from being deliverable to a higher-layer
-             protocol.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInErrors";
-        }
-
-        leaf in-unknown-protos {
-          type yang:counter32;
-
-          description
-            "For packet-oriented interfaces, the number of packets
-             received via the interface that were discarded because
-             of an unknown or unsupported protocol.  For
-             character-oriented or fixed-length interfaces that
-             support protocol multiplexing, the number of
-             transmission units received via the interface that were
-             discarded because of an unknown or unsupported protocol.
-             For any interface that does not support protocol
-             multiplexing, this counter is not present.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
-        }
-
-        leaf out-octets {
-          type yang:counter64;
-          description
-            "The total number of octets transmitted out of the
-             interface, including framing characters.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
-        }
-
-        leaf out-unicast-pkts {
-          type yang:counter64;
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were not addressed
-             to a multicast or broadcast address at this sub-layer,
-             including those that were discarded or not sent.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
-        }
-
-        leaf out-broadcast-pkts {
-          type yang:counter64;
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were addressed to a
-             broadcast address at this sub-layer, including those
-             that were discarded or not sent.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCOutBroadcastPkts";
-        }
-
-        leaf out-multicast-pkts {
-          type yang:counter64;
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were addressed to a
-             multicast address at this sub-layer, including those
-             that were discarded or not sent.  For a MAC-layer
-             protocol, this includes both Group and Functional
-             addresses.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCOutMulticastPkts";
-        }
-
-        leaf out-discards {
-          type yang:counter32;
-          description
-            "The number of outbound packets that were chosen to be
-             discarded even though no errors had been detected to
-             prevent their being transmitted.  One possible reason
-             for discarding such a packet could be to free up buffer
-             space.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifOutDiscards";
-        }
-
-        leaf out-errors {
-          type yang:counter32;
-          description
-            "For packet-oriented interfaces, the number of outbound
-             packets that could not be transmitted because of errors.
-             For character-oriented or fixed-length interfaces, the
-             number of outbound transmission units that could not be
-             transmitted because of errors.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifOutErrors";
-        }
-      }
-
-    }
-  }
-
-  /*
-   * Legacy typedefs
-   */
-
-  typedef interface-state-ref {
-    type leafref {
-      path "/if:interfaces-state/if:interface/if:name";
-    }
-    status deprecated;
-    description
-      "This type is used by data models that need to reference
-       the operationally present interfaces.";
-  }
-
-  /*
-   * Legacy operational state data nodes
-   */
-
-  container interfaces-state {
-    config false;
-    status deprecated;
-    description
-      "Data nodes for the operational state of interfaces.";
-
-    list interface {
-      key "name";
-      status deprecated;
-
-      description
-        "The list of interfaces on the device.
-         System-controlled interfaces created by the system are
-         always present in this list, whether or not they are
-         configured.";
-
-      leaf name {
-        type string;
-        status deprecated;
-        description
-          "The name of the interface.
-           A server implementation MAY map this leaf to the ifName
-           MIB object.  Such an implementation needs to use some
-           mechanism to handle the differences in size and characters
-           allowed between this leaf and ifName.  The definition of
-           such a mechanism is outside the scope of this document.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifName";
-      }
-
-      leaf type {
-        type identityref {
-          base interface-type;
-        }
-        mandatory true;
-        status deprecated;
-        description
-          "The type of the interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifType";
-      }
-
-      leaf admin-status {
-        if-feature if-mib;
-        type enumeration {
-          enum up {
-            value 1;
-            description
-              "Ready to pass packets.";
-          }
-          enum down {
-            value 2;
-            description
-              "Not ready to pass packets and not in some test mode.";
-          }
-          enum testing {
-            value 3;
-            description
-              "In some test mode.";
-          }
-        }
-        mandatory true;
-        status deprecated;
-        description
-          "The desired state of the interface.
-           This leaf has the same read semantics as ifAdminStatus.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
-      }
-
-      leaf oper-status {
-        type enumeration {
-          enum up {
-            value 1;
-            description
-              "Ready to pass packets.";
-          }
-          enum down {
-            value 2;
-            description
-              "The interface does not pass any packets.";
-          }
-          enum testing {
-            value 3;
-            description
-              "In some test mode.  No operational packets can
-               be passed.";
-          }
-          enum unknown {
-            value 4;
-            description
-              "Status cannot be determined for some reason.";
-          }
-          enum dormant {
-            value 5;
-            description
-              "Waiting for some external event.";
-          }
-          enum not-present {
-            value 6;
-            description
-              "Some component (typically hardware) is missing.";
-          }
-          enum lower-layer-down {
-            value 7;
-            description
-              "Down due to state of lower-layer interface(s).";
-          }
-        }
-        mandatory true;
-        status deprecated;
-        description
-          "The current operational state of the interface.
-           This leaf has the same semantics as ifOperStatus.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifOperStatus";
-      }
-
-      leaf last-change {
-        type yang:date-and-time;
-        status deprecated;
-        description
-          "The time the interface entered its current operational
-           state.  If the current state was entered prior to the
-           last re-initialization of the local network management
-           subsystem, then this node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifLastChange";
-      }
-
-      leaf if-index {
-        if-feature if-mib;
-        type int32 {
-          range "1..2147483647";
-        }
-        mandatory true;
-        status deprecated;
-        description
-          "The ifIndex value for the ifEntry represented by this
-           interface.";
-
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifIndex";
-      }
-
-      leaf phys-address {
-        type yang:phys-address;
-        status deprecated;
-        description
-          "The interface's address at its protocol sub-layer.  For
-           example, for an 802.x interface, this object normally
-           contains a Media Access Control (MAC) address.  The
-           interface's media-specific modules must define the bit
-           and byte ordering and the format of the value of this
-           object.  For interfaces that do not have such an address
-           (e.g., a serial line), this node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifPhysAddress";
-      }
-
-      leaf-list higher-layer-if {
-        type interface-state-ref;
-        status deprecated;
-        description
-          "A list of references to interfaces layered on top of this
-           interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifStackTable";
-      }
-
-      leaf-list lower-layer-if {
-        type interface-state-ref;
-        status deprecated;
-        description
-          "A list of references to interfaces layered underneath this
-           interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifStackTable";
-      }
-
-      leaf speed {
-        type yang:gauge64;
-        units "bits/second";
-        status deprecated;
-        description
-            "An estimate of the interface's current bandwidth in bits
-             per second.  For interfaces that do not vary in
-             bandwidth or for those where no accurate estimation can
-             be made, this node should contain the nominal bandwidth.
-             For interfaces that have no concept of bandwidth, this
-             node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB -
-                     ifSpeed, ifHighSpeed";
-      }
-
-      container statistics {
-        status deprecated;
-        description
-          "A collection of interface-related statistics objects.";
-
-        leaf discontinuity-time {
-          type yang:date-and-time;
-          mandatory true;
-          status deprecated;
-          description
-            "The time on the most recent occasion at which any one or
-             more of this interface's counters suffered a
-             discontinuity.  If no such discontinuities have occurred
-             since the last re-initialization of the local management
-             subsystem, then this node contains the time the local
-             management subsystem re-initialized itself.";
-        }
-
-        leaf in-octets {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The total number of octets received on the interface,
-             including framing characters.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCInOctets";
-        }
-
-        leaf in-unicast-pkts {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were not addressed to a
-             multicast or broadcast address at this sub-layer.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
-        }
-
-        leaf in-broadcast-pkts {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were addressed to a broadcast
-             address at this sub-layer.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCInBroadcastPkts";
-        }
-
-        leaf in-multicast-pkts {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were addressed to a multicast
-             address at this sub-layer.  For a MAC-layer protocol,
-             this includes both Group and Functional addresses.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCInMulticastPkts";
-        }
-
-        leaf in-discards {
-          type yang:counter32;
-          status deprecated;
-
-          description
-            "The number of inbound packets that were chosen to be
-             discarded even though no errors had been detected to
-             prevent their being deliverable to a higher-layer
-             protocol.  One possible reason for discarding such a
-             packet could be to free up buffer space.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInDiscards";
-        }
-
-        leaf in-errors {
-          type yang:counter32;
-          status deprecated;
-          description
-            "For packet-oriented interfaces, the number of inbound
-             packets that contained errors preventing them from being
-             deliverable to a higher-layer protocol.  For character-
-             oriented or fixed-length interfaces, the number of
-             inbound transmission units that contained errors
-             preventing them from being deliverable to a higher-layer
-             protocol.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInErrors";
-        }
-
-        leaf in-unknown-protos {
-          type yang:counter32;
-          status deprecated;
-          description
-            "For packet-oriented interfaces, the number of packets
-             received via the interface that were discarded because
-             of an unknown or unsupported protocol.  For
-             character-oriented or fixed-length interfaces that
-             support protocol multiplexing, the number of
-             transmission units received via the interface that were
-             discarded because of an unknown or unsupported protocol.
-             For any interface that does not support protocol
-             multiplexing, this counter is not present.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
-        }
-
-        leaf out-octets {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The total number of octets transmitted out of the
-             interface, including framing characters.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
-        }
-
-        leaf out-unicast-pkts {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were not addressed
-             to a multicast or broadcast address at this sub-layer,
-             including those that were discarded or not sent.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
-        }
-
-        leaf out-broadcast-pkts {
-          type yang:counter64;
-          status deprecated;
-
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were addressed to a
-             broadcast address at this sub-layer, including those
-             that were discarded or not sent.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCOutBroadcastPkts";
-        }
-
-        leaf out-multicast-pkts {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were addressed to a
-             multicast address at this sub-layer, including those
-             that were discarded or not sent.  For a MAC-layer
-             protocol, this includes both Group and Functional
-             addresses.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCOutMulticastPkts";
-        }
-
-        leaf out-discards {
-          type yang:counter32;
-          status deprecated;
-          description
-            "The number of outbound packets that were chosen to be
-             discarded even though no errors had been detected to
-             prevent their being transmitted.  One possible reason
-             for discarding such a packet could be to free up buffer
-             space.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifOutDiscards";
-        }
-
-        leaf out-errors {
-          type yang:counter32;
-          status deprecated;
-          description
-            "For packet-oriented interfaces, the number of outbound
-             packets that could not be transmitted because of errors.
-             For character-oriented or fixed-length interfaces, the
-             number of outbound transmission units that could not be
-             transmitted because of errors.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifOutErrors";
-        }
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/iana-if-type.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/iana-if-type.yang
deleted file mode 100644 (file)
index 24d04e6..0000000
+++ /dev/null
@@ -1,1611 +0,0 @@
-module iana-if-type {
-  namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
-  prefix ianaift;
-
-  import ietf-interfaces {
-    prefix if;
-  }
-
-  organization "IANA";
-  contact
-    "        Internet Assigned Numbers Authority
-     Postal: ICANN
-             12025 Waterfront Drive, Suite 300
-             Los Angeles, CA 90094-2536
-             United States
-     Tel:    +1 310 301 5800
-     <mailto:iana&iana.org>";
-  description
-    "This YANG module defines YANG identities for IANA-registered
-     interface types.
-     This YANG module is maintained by IANA and reflects the
-     'ifType definitions' registry.
-     The latest revision of this YANG module can be obtained from
-     the IANA web site.
-     Requests for new values should be made to IANA via
-     email (iana&iana.org).
-     Copyright (c) 2014 IETF Trust and the persons identified as
-     authors of the code.  All rights reserved.
-     Redistribution and use in source and binary forms, with or
-     without modification, is permitted pursuant to, and subject
-     to the license terms contained in, the Simplified BSD License
-     set forth in Section 4.c of the IETF Trust's Legal Provisions
-     Relating to IETF Documents
-     (http://trustee.ietf.org/license-info).
-     The initial version of this YANG module is part of RFC 7224;
-     see the RFC itself for full legal notices.";
-  reference
-    "IANA 'ifType definitions' registry.
-     <http://www.iana.org/assignments/smi-numbers>";
-
-  revision 2017-01-19 {
-    description
-      "Registered ifType 289.";
-  }
-
-  revision 2016-11-23 {
-    description
-      "Registered ifTypes 283-288.";
-  }
-
-  revision 2016-06-09 {
-    description
-      "Registered ifType 282.";
-  }
-  revision 2016-05-03 {
-    description
-      "Registered ifType 281.";
-  }
-  revision 2015-06-12 {
-    description
-      "Corrected formatting issue.";
-  }
-  revision 2014-09-24 {
-    description
-      "Registered ifType 280.";
-  }
-  revision 2014-09-19 {
-    description
-      "Registered ifType 279.";
-  }
-  revision 2014-07-03 {
-    description
-      "Registered ifTypes 277-278.";
-  }
-  revision 2014-05-19 {
-    description
-      "Updated the contact address.";
-  }
-  revision 2014-05-08 {
-    description
-      "Initial revision.";
-    reference
-      "RFC 7224: IANA Interface Type YANG Module";
-  }
-
-  identity iana-interface-type {
-    base if:interface-type;
-    description
-      "This identity is used as a base for all interface types
-       defined in the 'ifType definitions' registry.";
-  }
-
-  identity other {
-    base iana-interface-type;
-  }
-  identity regular1822 {
-    base iana-interface-type;
-  }
-  identity hdh1822 {
-    base iana-interface-type;
-  }
-  identity ddnX25 {
-    base iana-interface-type;
-  }
-  identity rfc877x25 {
-    base iana-interface-type;
-    reference
-      "RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
-  }
-  identity ethernetCsmacd {
-    base iana-interface-type;
-    description
-      "For all Ethernet-like interfaces, regardless of speed,
-       as per RFC 3635.";
-    reference
-      "RFC 3635 - Definitions of Managed Objects for the
-                  Ethernet-like Interface Types";
-  }
-  identity iso88023Csmacd {
-    base iana-interface-type;
-    status deprecated;
-    description
-      "Deprecated via RFC 3635.
-       Use ethernetCsmacd(6) instead.";
-    reference
-      "RFC 3635 - Definitions of Managed Objects for the
-                  Ethernet-like Interface Types";
-  }
-  identity iso88024TokenBus {
-    base iana-interface-type;
-  }
-  identity iso88025TokenRing {
-    base iana-interface-type;
-  }
-  identity iso88026Man {
-    base iana-interface-type;
-  }
-  identity starLan {
-    base iana-interface-type;
-    status deprecated;
-    description
-      "Deprecated via RFC 3635.
-       Use ethernetCsmacd(6) instead.";
-    reference
-      "RFC 3635 - Definitions of Managed Objects for the
-                  Ethernet-like Interface Types";
-  }
-  identity proteon10Mbit {
-    base iana-interface-type;
-  }
-  identity proteon80Mbit {
-    base iana-interface-type;
-  }
-  identity hyperchannel {
-    base iana-interface-type;
-  }
-  identity fddi {
-    base iana-interface-type;
-    reference
-      "RFC 1512 - FDDI Management Information Base";
-  }
-  identity lapb {
-    base iana-interface-type;
-    reference
-      "RFC 1381 - SNMP MIB Extension for X.25 LAPB";
-  }
-  identity sdlc {
-    base iana-interface-type;
-  }
-  identity ds1 {
-    base iana-interface-type;
-    description
-      "DS1-MIB.";
-    reference
-      "RFC 4805 - Definitions of Managed Objects for the
-                  DS1, J1, E1, DS2, and E2 Interface Types";
-  }
-  identity e1 {
-    base iana-interface-type;
-    status obsolete;
-    description
-      "Obsolete; see DS1-MIB.";
-    reference
-      "RFC 4805 - Definitions of Managed Objects for the
-                  DS1, J1, E1, DS2, and E2 Interface Types";
-  }
-  identity basicISDN {
-    base iana-interface-type;
-    description
-      "No longer used.  See also RFC 2127.";
-  }
-  identity primaryISDN {
-    base iana-interface-type;
-    description
-      "No longer used.  See also RFC 2127.";
-  }
-  identity propPointToPointSerial {
-    base iana-interface-type;
-    description
-      "Proprietary serial.";
-  }
-  identity ppp {
-    base iana-interface-type;
-  }
-  identity softwareLoopback {
-    base iana-interface-type;
-  }
-  identity eon {
-    base iana-interface-type;
-    description
-      "CLNP over IP.";
-  }
-  identity ethernet3Mbit {
-    base iana-interface-type;
-  }
-  identity nsip {
-    base iana-interface-type;
-    description
-      "XNS over IP.";
-  }
-  identity slip {
-    base iana-interface-type;
-    description
-      "Generic SLIP.";
-  }
-  identity ultra {
-    base iana-interface-type;
-    description
-      "Ultra Technologies.";
-  }
-  identity ds3 {
-    base iana-interface-type;
-    description
-      "DS3-MIB.";
-    reference
-      "RFC 3896 - Definitions of Managed Objects for the
-                  DS3/E3 Interface Type";
-  }
-  identity sip {
-    base iana-interface-type;
-    description
-      "SMDS, coffee.";
-    reference
-      "RFC 1694 - Definitions of Managed Objects for SMDS
-                  Interfaces using SMIv2";
-  }
-  identity frameRelay {
-    base iana-interface-type;
-    description
-      "DTE only.";
-    reference
-      "RFC 2115 - Management Information Base for Frame Relay
-                  DTEs Using SMIv2";
-  }
-  identity rs232 {
-    base iana-interface-type;
-    reference
-      "RFC 1659 - Definitions of Managed Objects for RS-232-like
-                  Hardware Devices using SMIv2";
-  }
-  identity para {
-    base iana-interface-type;
-    description
-      "Parallel-port.";
-    reference
-      "RFC 1660 - Definitions of Managed Objects for
-                  Parallel-printer-like Hardware Devices using
-                  SMIv2";
-  }
-  identity arcnet {
-    base iana-interface-type;
-    description
-      "ARCnet.";
-  }
-  identity arcnetPlus {
-    base iana-interface-type;
-    description
-      "ARCnet Plus.";
-  }
-  identity atm {
-    base iana-interface-type;
-    description
-      "ATM cells.";
-  }
-  identity miox25 {
-    base iana-interface-type;
-    reference
-      "RFC 1461 - SNMP MIB extension for Multiprotocol
-                  Interconnect over X.25";
-  }
-  identity sonet {
-    base iana-interface-type;
-    description
-      "SONET or SDH.";
-  }
-  identity x25ple {
-    base iana-interface-type;
-    reference
-      "RFC 2127 - ISDN Management Information Base using SMIv2";
-  }
-  identity iso88022llc {
-    base iana-interface-type;
-  }
-  identity localTalk {
-    base iana-interface-type;
-  }
-  identity smdsDxi {
-    base iana-interface-type;
-  }
-  identity frameRelayService {
-    base iana-interface-type;
-    description
-      "FRNETSERV-MIB.";
-    reference
-      "RFC 2954 - Definitions of Managed Objects for Frame
-                  Relay Service";
-  }
-  identity v35 {
-    base iana-interface-type;
-  }
-  identity hssi {
-    base iana-interface-type;
-  }
-  identity hippi {
-    base iana-interface-type;
-  }
-  identity modem {
-    base iana-interface-type;
-    description
-      "Generic modem.";
-  }
-  identity aal5 {
-    base iana-interface-type;
-    description
-      "AAL5 over ATM.";
-  }
-  identity sonetPath {
-    base iana-interface-type;
-  }
-  identity sonetVT {
-    base iana-interface-type;
-  }
-  identity smdsIcip {
-    base iana-interface-type;
-    description
-      "SMDS InterCarrier Interface.";
-  }
-  identity propVirtual {
-    base iana-interface-type;
-    description
-      "Proprietary virtual/internal.";
-    reference
-      "RFC 2863 - The Interfaces Group MIB";
-  }
-  identity propMultiplexor {
-    base iana-interface-type;
-    description
-      "Proprietary multiplexing.";
-    reference
-      "RFC 2863 - The Interfaces Group MIB";
-  }
-  identity ieee80212 {
-    base iana-interface-type;
-    description
-      "100BaseVG.";
-  }
-  identity fibreChannel {
-    base iana-interface-type;
-    description
-      "Fibre Channel.";
-  }
-  identity hippiInterface {
-    base iana-interface-type;
-    description
-      "HIPPI interfaces.";
-  }
-  identity frameRelayInterconnect {
-    base iana-interface-type;
-    status obsolete;
-    description
-      "Obsolete; use either
-       frameRelay(32) or frameRelayService(44).";
-  }
-  identity aflane8023 {
-    base iana-interface-type;
-    description
-      "ATM Emulated LAN for 802.3.";
-  }
-  identity aflane8025 {
-    base iana-interface-type;
-    description
-      "ATM Emulated LAN for 802.5.";
-  }
-  identity cctEmul {
-    base iana-interface-type;
-    description
-      "ATM Emulated circuit.";
-  }
-  identity fastEther {
-    base iana-interface-type;
-    status deprecated;
-    description
-      "Obsoleted via RFC 3635.
-       ethernetCsmacd(6) should be used instead.";
-    reference
-      "RFC 3635 - Definitions of Managed Objects for the
-                  Ethernet-like Interface Types";
-  }
-  identity isdn {
-    base iana-interface-type;
-    description
-      "ISDN and X.25.";
-    reference
-      "RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
-                  in the Packet Mode";
-  }
-  identity v11 {
-    base iana-interface-type;
-    description
-      "CCITT V.11/X.21.";
-  }
-  identity v36 {
-    base iana-interface-type;
-    description
-      "CCITT V.36.";
-  }
-  identity g703at64k {
-    base iana-interface-type;
-    description
-      "CCITT G703 at 64Kbps.";
-  }
-  identity g703at2mb {
-    base iana-interface-type;
-    status obsolete;
-    description
-      "Obsolete; see DS1-MIB.";
-  }
-  identity qllc {
-    base iana-interface-type;
-    description
-      "SNA QLLC.";
-  }
-  identity fastEtherFX {
-    base iana-interface-type;
-    status deprecated;
-    description
-      "Obsoleted via RFC 3635.
-       ethernetCsmacd(6) should be used instead.";
-    reference
-      "RFC 3635 - Definitions of Managed Objects for the
-                  Ethernet-like Interface Types";
-  }
-  identity channel {
-    base iana-interface-type;
-    description
-      "Channel.";
-  }
-  identity ieee80211 {
-    base iana-interface-type;
-    description
-      "Radio spread spectrum.";
-  }
-  identity ibm370parChan {
-    base iana-interface-type;
-    description
-      "IBM System 360/370 OEMI Channel.";
-  }
-  identity escon {
-    base iana-interface-type;
-    description
-      "IBM Enterprise Systems Connection.";
-  }
-  identity dlsw {
-    base iana-interface-type;
-    description
-      "Data Link Switching.";
-  }
-  identity isdns {
-    base iana-interface-type;
-    description
-      "ISDN S/T interface.";
-  }
-  identity isdnu {
-    base iana-interface-type;
-    description
-      "ISDN U interface.";
-  }
-  identity lapd {
-    base iana-interface-type;
-    description
-      "Link Access Protocol D.";
-  }
-  identity ipSwitch {
-    base iana-interface-type;
-    description
-      "IP Switching Objects.";
-  }
-  identity rsrb {
-    base iana-interface-type;
-    description
-      "Remote Source Route Bridging.";
-  }
-  identity atmLogical {
-    base iana-interface-type;
-    description
-      "ATM Logical Port.";
-    reference
-      "RFC 3606 - Definitions of Supplemental Managed Objects
-                  for ATM Interface";
-  }
-  identity ds0 {
-    base iana-interface-type;
-    description
-      "Digital Signal Level 0.";
-    reference
-      "RFC 2494 - Definitions of Managed Objects for the DS0
-                  and DS0 Bundle Interface Type";
-  }
-  identity ds0Bundle {
-    base iana-interface-type;
-    description
-      "Group of ds0s on the same ds1.";
-    reference
-      "RFC 2494 - Definitions of Managed Objects for the DS0
-                  and DS0 Bundle Interface Type";
-  }
-  identity bsc {
-    base iana-interface-type;
-    description
-      "Bisynchronous Protocol.";
-  }
-  identity async {
-    base iana-interface-type;
-    description
-      "Asynchronous Protocol.";
-  }
-  identity cnr {
-    base iana-interface-type;
-    description
-      "Combat Net Radio.";
-  }
-  identity iso88025Dtr {
-    base iana-interface-type;
-    description
-      "ISO 802.5r DTR.";
-  }
-  identity eplrs {
-    base iana-interface-type;
-    description
-      "Ext Pos Loc Report Sys.";
-  }
-  identity arap {
-    base iana-interface-type;
-    description
-      "Appletalk Remote Access Protocol.";
-  }
-  identity propCnls {
-    base iana-interface-type;
-    description
-      "Proprietary Connectionless Protocol.";
-  }
-  identity hostPad {
-    base iana-interface-type;
-    description
-      "CCITT-ITU X.29 PAD Protocol.";
-  }
-  identity termPad {
-    base iana-interface-type;
-    description
-      "CCITT-ITU X.3 PAD Facility.";
-  }
-  identity frameRelayMPI {
-    base iana-interface-type;
-    description
-      "Multiproto Interconnect over FR.";
-  }
-  identity x213 {
-    base iana-interface-type;
-    description
-      "CCITT-ITU X213.";
-  }
-  identity adsl {
-    base iana-interface-type;
-    description
-      "Asymmetric Digital Subscriber Loop.";
-  }
-  identity radsl {
-    base iana-interface-type;
-    description
-      "Rate-Adapt. Digital Subscriber Loop.";
-  }
-  identity sdsl {
-    base iana-interface-type;
-    description
-      "Symmetric Digital Subscriber Loop.";
-  }
-  identity vdsl {
-    base iana-interface-type;
-    description
-      "Very H-Speed Digital Subscrib. Loop.";
-  }
-  identity iso88025CRFPInt {
-    base iana-interface-type;
-    description
-      "ISO 802.5 CRFP.";
-  }
-  identity myrinet {
-    base iana-interface-type;
-    description
-      "Myricom Myrinet.";
-  }
-  identity voiceEM {
-    base iana-interface-type;
-    description
-      "Voice recEive and transMit.";
-  }
-  identity voiceFXO {
-    base iana-interface-type;
-    description
-      "Voice Foreign Exchange Office.";
-  }
-  identity voiceFXS {
-    base iana-interface-type;
-    description
-      "Voice Foreign Exchange Station.";
-  }
-  identity voiceEncap {
-    base iana-interface-type;
-    description
-      "Voice encapsulation.";
-  }
-  identity voiceOverIp {
-    base iana-interface-type;
-    description
-      "Voice over IP encapsulation.";
-  }
-  identity atmDxi {
-    base iana-interface-type;
-    description
-      "ATM DXI.";
-  }
-  identity atmFuni {
-    base iana-interface-type;
-    description
-      "ATM FUNI.";
-  }
-  identity atmIma {
-    base iana-interface-type;
-    description
-      "ATM IMA.";
-  }
-  identity pppMultilinkBundle {
-    base iana-interface-type;
-    description
-      "PPP Multilink Bundle.";
-  }
-  identity ipOverCdlc {
-    base iana-interface-type;
-    description
-      "IBM ipOverCdlc.";
-  }
-  identity ipOverClaw {
-    base iana-interface-type;
-    description
-      "IBM Common Link Access to Workstn.";
-  }
-  identity stackToStack {
-    base iana-interface-type;
-    description
-      "IBM stackToStack.";
-  }
-  identity virtualIpAddress {
-    base iana-interface-type;
-    description
-      "IBM VIPA.";
-  }
-  identity mpc {
-    base iana-interface-type;
-    description
-      "IBM multi-protocol channel support.";
-  }
-  identity ipOverAtm {
-    base iana-interface-type;
-    description
-      "IBM ipOverAtm.";
-    reference
-      "RFC 2320 - Definitions of Managed Objects for Classical IP
-                  and ARP Over ATM Using SMIv2 (IPOA-MIB)";
-  }
-  identity iso88025Fiber {
-    base iana-interface-type;
-    description
-      "ISO 802.5j Fiber Token Ring.";
-  }
-  identity tdlc {
-    base iana-interface-type;
-    description
-      "IBM twinaxial data link control.";
-  }
-  identity gigabitEthernet {
-    base iana-interface-type;
-    status deprecated;
-    description
-      "Obsoleted via RFC 3635.
-       ethernetCsmacd(6) should be used instead.";
-    reference
-      "RFC 3635 - Definitions of Managed Objects for the
-                  Ethernet-like Interface Types";
-  }
-  identity hdlc {
-    base iana-interface-type;
-    description
-      "HDLC.";
-  }
-  identity lapf {
-    base iana-interface-type;
-    description
-      "LAP F.";
-  }
-  identity v37 {
-    base iana-interface-type;
-    description
-      "V.37.";
-  }
-  identity x25mlp {
-    base iana-interface-type;
-    description
-      "Multi-Link Protocol.";
-  }
-  identity x25huntGroup {
-    base iana-interface-type;
-    description
-      "X25 Hunt Group.";
-  }
-  identity transpHdlc {
-    base iana-interface-type;
-    description
-      "Transp HDLC.";
-  }
-  identity interleave {
-    base iana-interface-type;
-    description
-      "Interleave channel.";
-  }
-  identity fast {
-    base iana-interface-type;
-    description
-      "Fast channel.";
-  }
-  identity ip {
-    base iana-interface-type;
-    description
-      "IP (for APPN HPR in IP networks).";
-  }
-  identity docsCableMaclayer {
-    base iana-interface-type;
-    description
-      "CATV Mac Layer.";
-  }
-  identity docsCableDownstream {
-    base iana-interface-type;
-    description
-      "CATV Downstream interface.";
-  }
-  identity docsCableUpstream {
-    base iana-interface-type;
-    description
-      "CATV Upstream interface.";
-  }
-  identity a12MppSwitch {
-    base iana-interface-type;
-    description
-      "Avalon Parallel Processor.";
-  }
-  identity tunnel {
-    base iana-interface-type;
-    description
-      "Encapsulation interface.";
-  }
-  identity coffee {
-    base iana-interface-type;
-    description
-      "Coffee pot.";
-    reference
-      "RFC 2325 - Coffee MIB";
-  }
-  identity ces {
-    base iana-interface-type;
-    description
-      "Circuit Emulation Service.";
-  }
-  identity atmSubInterface {
-    base iana-interface-type;
-    description
-      "ATM Sub Interface.";
-  }
-  identity l2vlan {
-    base iana-interface-type;
-    description
-      "Layer 2 Virtual LAN using 802.1Q.";
-  }
-  identity l3ipvlan {
-    base iana-interface-type;
-    description
-      "Layer 3 Virtual LAN using IP.";
-  }
-  identity l3ipxvlan {
-    base iana-interface-type;
-    description
-      "Layer 3 Virtual LAN using IPX.";
-  }
-  identity digitalPowerline {
-    base iana-interface-type;
-    description
-      "IP over Power Lines.";
-  }
-  identity mediaMailOverIp {
-    base iana-interface-type;
-    description
-      "Multimedia Mail over IP.";
-  }
-  identity dtm {
-    base iana-interface-type;
-    description
-      "Dynamic synchronous Transfer Mode.";
-  }
-  identity dcn {
-    base iana-interface-type;
-    description
-      "Data Communications Network.";
-  }
-  identity ipForward {
-    base iana-interface-type;
-    description
-      "IP Forwarding Interface.";
-  }
-  identity msdsl {
-    base iana-interface-type;
-    description
-      "Multi-rate Symmetric DSL.";
-  }
-  identity ieee1394 {
-    base iana-interface-type;
-
-    description
-      "IEEE1394 High Performance Serial Bus.";
-  }
-  identity if-gsn {
-    base iana-interface-type;
-    description
-      "HIPPI-6400.";
-  }
-  identity dvbRccMacLayer {
-    base iana-interface-type;
-    description
-      "DVB-RCC MAC Layer.";
-  }
-  identity dvbRccDownstream {
-    base iana-interface-type;
-    description
-      "DVB-RCC Downstream Channel.";
-  }
-  identity dvbRccUpstream {
-    base iana-interface-type;
-    description
-      "DVB-RCC Upstream Channel.";
-  }
-  identity atmVirtual {
-    base iana-interface-type;
-    description
-      "ATM Virtual Interface.";
-  }
-  identity mplsTunnel {
-    base iana-interface-type;
-    description
-      "MPLS Tunnel Virtual Interface.";
-  }
-  identity srp {
-    base iana-interface-type;
-    description
-      "Spatial Reuse Protocol.";
-  }
-  identity voiceOverAtm {
-    base iana-interface-type;
-    description
-      "Voice over ATM.";
-  }
-  identity voiceOverFrameRelay {
-    base iana-interface-type;
-    description
-      "Voice Over Frame Relay.";
-  }
-  identity idsl {
-    base iana-interface-type;
-    description
-      "Digital Subscriber Loop over ISDN.";
-  }
-  identity compositeLink {
-    base iana-interface-type;
-    description
-      "Avici Composite Link Interface.";
-  }
-  identity ss7SigLink {
-    base iana-interface-type;
-    description
-      "SS7 Signaling Link.";
-  }
-  identity propWirelessP2P {
-    base iana-interface-type;
-    description
-      "Prop. P2P wireless interface.";
-  }
-  identity frForward {
-    base iana-interface-type;
-    description
-      "Frame Forward Interface.";
-  }
-  identity rfc1483 {
-    base iana-interface-type;
-    description
-      "Multiprotocol over ATM AAL5.";
-    reference
-      "RFC 1483 - Multiprotocol Encapsulation over ATM
-                  Adaptation Layer 5";
-  }
-  identity usb {
-    base iana-interface-type;
-    description
-      "USB Interface.";
-  }
-  identity ieee8023adLag {
-    base iana-interface-type;
-    description
-      "IEEE 802.3ad Link Aggregate.";
-  }
-  identity bgppolicyaccounting {
-    base iana-interface-type;
-    description
-      "BGP Policy Accounting.";
-  }
-  identity frf16MfrBundle {
-    base iana-interface-type;
-    description
-      "FRF.16 Multilink Frame Relay.";
-  }
-  identity h323Gatekeeper {
-    base iana-interface-type;
-    description
-      "H323 Gatekeeper.";
-  }
-  identity h323Proxy {
-    base iana-interface-type;
-    description
-      "H323 Voice and Video Proxy.";
-  }
-  identity mpls {
-    base iana-interface-type;
-    description
-      "MPLS.";
-  }
-  identity mfSigLink {
-    base iana-interface-type;
-    description
-      "Multi-frequency signaling link.";
-  }
-  identity hdsl2 {
-    base iana-interface-type;
-    description
-      "High Bit-Rate DSL - 2nd generation.";
-  }
-  identity shdsl {
-    base iana-interface-type;
-    description
-      "Multirate HDSL2.";
-  }
-  identity ds1FDL {
-    base iana-interface-type;
-    description
-      "Facility Data Link (4Kbps) on a DS1.";
-  }
-  identity pos {
-    base iana-interface-type;
-    description
-      "Packet over SONET/SDH Interface.";
-  }
-  identity dvbAsiIn {
-    base iana-interface-type;
-    description
-      "DVB-ASI Input.";
-  }
-  identity dvbAsiOut {
-    base iana-interface-type;
-    description
-      "DVB-ASI Output.";
-  }
-  identity plc {
-    base iana-interface-type;
-    description
-      "Power Line Communications.";
-  }
-  identity nfas {
-    base iana-interface-type;
-    description
-      "Non-Facility Associated Signaling.";
-  }
-  identity tr008 {
-    base iana-interface-type;
-    description
-      "TR008.";
-  }
-  identity gr303RDT {
-    base iana-interface-type;
-    description
-      "Remote Digital Terminal.";
-  }
-  identity gr303IDT {
-    base iana-interface-type;
-    description
-      "Integrated Digital Terminal.";
-  }
-  identity isup {
-    base iana-interface-type;
-    description
-      "ISUP.";
-  }
-  identity propDocsWirelessMaclayer {
-    base iana-interface-type;
-    description
-      "Cisco proprietary Maclayer.";
-  }
-  identity propDocsWirelessDownstream {
-    base iana-interface-type;
-    description
-      "Cisco proprietary Downstream.";
-  }
-  identity propDocsWirelessUpstream {
-    base iana-interface-type;
-    description
-      "Cisco proprietary Upstream.";
-  }
-  identity hiperlan2 {
-    base iana-interface-type;
-    description
-      "HIPERLAN Type 2 Radio Interface.";
-  }
-  identity propBWAp2Mp {
-    base iana-interface-type;
-    description
-      "PropBroadbandWirelessAccesspt2Multipt (use of this value
-       for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
-       is deprecated, and ieee80216WMAN(237) should be used
-       instead).";
-  }
-  identity sonetOverheadChannel {
-    base iana-interface-type;
-    description
-      "SONET Overhead Channel.";
-  }
-  identity digitalWrapperOverheadChannel {
-    base iana-interface-type;
-    description
-      "Digital Wrapper.";
-  }
-  identity aal2 {
-    base iana-interface-type;
-    description
-      "ATM adaptation layer 2.";
-  }
-  identity radioMAC {
-    base iana-interface-type;
-    description
-      "MAC layer over radio links.";
-  }
-  identity atmRadio {
-    base iana-interface-type;
-    description
-      "ATM over radio links.";
-  }
-  identity imt {
-    base iana-interface-type;
-    description
-      "Inter-Machine Trunks.";
-  }
-  identity mvl {
-    base iana-interface-type;
-    description
-      "Multiple Virtual Lines DSL.";
-  }
-  identity reachDSL {
-    base iana-interface-type;
-    description
-      "Long Reach DSL.";
-  }
-  identity frDlciEndPt {
-    base iana-interface-type;
-    description
-      "Frame Relay DLCI End Point.";
-  }
-  identity atmVciEndPt {
-    base iana-interface-type;
-    description
-      "ATM VCI End Point.";
-  }
-  identity opticalChannel {
-    base iana-interface-type;
-    description
-      "Optical Channel.";
-  }
-  identity opticalTransport {
-    base iana-interface-type;
-    description
-      "Optical Transport.";
-  }
-  identity propAtm {
-    base iana-interface-type;
-    description
-      "Proprietary ATM.";
-  }
-  identity voiceOverCable {
-    base iana-interface-type;
-    description
-      "Voice Over Cable Interface.";
-  }
-  identity infiniband {
-    base iana-interface-type;
-    description
-      "Infiniband.";
-  }
-  identity teLink {
-    base iana-interface-type;
-    description
-      "TE Link.";
-  }
-  identity q2931 {
-    base iana-interface-type;
-    description
-      "Q.2931.";
-  }
-  identity virtualTg {
-    base iana-interface-type;
-    description
-      "Virtual Trunk Group.";
-  }
-  identity sipTg {
-    base iana-interface-type;
-    description
-      "SIP Trunk Group.";
-  }
-  identity sipSig {
-    base iana-interface-type;
-    description
-      "SIP Signaling.";
-  }
-  identity docsCableUpstreamChannel {
-    base iana-interface-type;
-    description
-      "CATV Upstream Channel.";
-  }
-  identity econet {
-    base iana-interface-type;
-    description
-      "Acorn Econet.";
-  }
-  identity pon155 {
-    base iana-interface-type;
-    description
-      "FSAN 155Mb Symetrical PON interface.";
-  }
-  identity pon622 {
-    base iana-interface-type;
-    description
-      "FSAN 622Mb Symetrical PON interface.";
-  }
-  identity bridge {
-    base iana-interface-type;
-    description
-      "Transparent bridge interface.";
-  }
-  identity linegroup {
-    base iana-interface-type;
-    description
-      "Interface common to multiple lines.";
-  }
-  identity voiceEMFGD {
-    base iana-interface-type;
-    description
-      "Voice E&M Feature Group D.";
-  }
-  identity voiceFGDEANA {
-    base iana-interface-type;
-    description
-      "Voice FGD Exchange Access North American.";
-  }
-  identity voiceDID {
-    base iana-interface-type;
-    description
-      "Voice Direct Inward Dialing.";
-  }
-  identity mpegTransport {
-    base iana-interface-type;
-    description
-      "MPEG transport interface.";
-  }
-  identity sixToFour {
-    base iana-interface-type;
-    status deprecated;
-    description
-      "6to4 interface (DEPRECATED).";
-    reference
-      "RFC 4087 - IP Tunnel MIB";
-  }
-  identity gtp {
-    base iana-interface-type;
-    description
-      "GTP (GPRS Tunneling Protocol).";
-  }
-  identity pdnEtherLoop1 {
-    base iana-interface-type;
-    description
-      "Paradyne EtherLoop 1.";
-  }
-  identity pdnEtherLoop2 {
-    base iana-interface-type;
-    description
-      "Paradyne EtherLoop 2.";
-  }
-  identity opticalChannelGroup {
-    base iana-interface-type;
-    description
-      "Optical Channel Group.";
-  }
-  identity homepna {
-    base iana-interface-type;
-    description
-      "HomePNA ITU-T G.989.";
-  }
-  identity gfp {
-    base iana-interface-type;
-    description
-      "Generic Framing Procedure (GFP).";
-  }
-  identity ciscoISLvlan {
-    base iana-interface-type;
-    description
-      "Layer 2 Virtual LAN using Cisco ISL.";
-  }
-  identity actelisMetaLOOP {
-    base iana-interface-type;
-    description
-      "Acteleis proprietary MetaLOOP High Speed Link.";
-  }
-  identity fcipLink {
-    base iana-interface-type;
-    description
-      "FCIP Link.";
-  }
-  identity rpr {
-    base iana-interface-type;
-    description
-      "Resilient Packet Ring Interface Type.";
-  }
-  identity qam {
-    base iana-interface-type;
-    description
-      "RF Qam Interface.";
-  }
-  identity lmp {
-    base iana-interface-type;
-    description
-      "Link Management Protocol.";
-    reference
-      "RFC 4327 - Link Management Protocol (LMP) Management
-                  Information Base (MIB)";
-  }
-  identity cblVectaStar {
-    base iana-interface-type;
-    description
-      "Cambridge Broadband Networks Limited VectaStar.";
-  }
-  identity docsCableMCmtsDownstream {
-    base iana-interface-type;
-    description
-      "CATV Modular CMTS Downstream Interface.";
-  }
-  identity adsl2 {
-    base iana-interface-type;
-    status deprecated;
-    description
-      "Asymmetric Digital Subscriber Loop Version 2
-       (DEPRECATED/OBSOLETED - please use adsl2plus(238)
-       instead).";
-    reference
-      "RFC 4706 - Definitions of Managed Objects for Asymmetric
-                  Digital Subscriber Line 2 (ADSL2)";
-  }
-  identity macSecControlledIF {
-    base iana-interface-type;
-    description
-      "MACSecControlled.";
-  }
-  identity macSecUncontrolledIF {
-    base iana-interface-type;
-    description
-      "MACSecUncontrolled.";
-  }
-  identity aviciOpticalEther {
-    base iana-interface-type;
-    description
-      "Avici Optical Ethernet Aggregate.";
-  }
-  identity atmbond {
-    base iana-interface-type;
-    description
-      "atmbond.";
-  }
-  identity voiceFGDOS {
-    base iana-interface-type;
-    description
-      "Voice FGD Operator Services.";
-  }
-  identity mocaVersion1 {
-    base iana-interface-type;
-    description
-      "MultiMedia over Coax Alliance (MoCA) Interface
-       as documented in information provided privately to IANA.";
-  }
-  identity ieee80216WMAN {
-    base iana-interface-type;
-    description
-      "IEEE 802.16 WMAN interface.";
-  }
-  identity adsl2plus {
-    base iana-interface-type;
-    description
-      "Asymmetric Digital Subscriber Loop Version 2 -
-       Version 2 Plus and all variants.";
-  }
-  identity dvbRcsMacLayer {
-    base iana-interface-type;
-    description
-      "DVB-RCS MAC Layer.";
-    reference
-      "RFC 5728 - The SatLabs Group DVB-RCS MIB";
-  }
-  identity dvbTdm {
-    base iana-interface-type;
-    description
-      "DVB Satellite TDM.";
-    reference
-      "RFC 5728 - The SatLabs Group DVB-RCS MIB";
-  }
-  identity dvbRcsTdma {
-    base iana-interface-type;
-    description
-      "DVB-RCS TDMA.";
-    reference
-      "RFC 5728 - The SatLabs Group DVB-RCS MIB";
-  }
-  identity x86Laps {
-    base iana-interface-type;
-    description
-      "LAPS based on ITU-T X.86/Y.1323.";
-  }
-  identity wwanPP {
-    base iana-interface-type;
-    description
-      "3GPP WWAN.";
-  }
-  identity wwanPP2 {
-    base iana-interface-type;
-    description
-      "3GPP2 WWAN.";
-  }
-  identity voiceEBS {
-    base iana-interface-type;
-    description
-      "Voice P-phone EBS physical interface.";
-  }
-  identity ifPwType {
-    base iana-interface-type;
-    description
-      "Pseudowire interface type.";
-    reference
-      "RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
-  }
-  identity ilan {
-    base iana-interface-type;
-    description
-      "Internal LAN on a bridge per IEEE 802.1ap.";
-  }
-  identity pip {
-    base iana-interface-type;
-    description
-      "Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
-  }
-  identity aluELP {
-    base iana-interface-type;
-    description
-      "Alcatel-Lucent Ethernet Link Protection.";
-  }
-  identity gpon {
-    base iana-interface-type;
-    description
-      "Gigabit-capable passive optical networks (G-PON) as per
-       ITU-T G.948.";
-  }
-  identity vdsl2 {
-    base iana-interface-type;
-    description
-      "Very high speed digital subscriber line Version 2
-       (as per ITU-T Recommendation G.993.2).";
-    reference
-      "RFC 5650 - Definitions of Managed Objects for Very High
-                  Speed Digital Subscriber Line 2 (VDSL2)";
-  }
-  identity capwapDot11Profile {
-    base iana-interface-type;
-    description
-      "WLAN Profile Interface.";
-    reference
-      "RFC 5834 - Control and Provisioning of Wireless Access
-                  Points (CAPWAP) Protocol Binding MIB for
-                  IEEE 802.11";
-  }
-  identity capwapDot11Bss {
-    base iana-interface-type;
-    description
-      "WLAN BSS Interface.";
-    reference
-      "RFC 5834 - Control and Provisioning of Wireless Access
-                  Points (CAPWAP) Protocol Binding MIB for
-                  IEEE 802.11";
-  }
-  identity capwapWtpVirtualRadio {
-    base iana-interface-type;
-    description
-      "WTP Virtual Radio Interface.";
-    reference
-      "RFC 5833 - Control and Provisioning of Wireless Access
-                  Points (CAPWAP) Protocol Base MIB";
-  }
-  identity bits {
-    base iana-interface-type;
-    description
-      "bitsport.";
-  }
-  identity docsCableUpstreamRfPort {
-    base iana-interface-type;
-    description
-      "DOCSIS CATV Upstream RF Port.";
-  }
-  identity cableDownstreamRfPort {
-    base iana-interface-type;
-    description
-      "CATV downstream RF Port.";
-  }
-  identity vmwareVirtualNic {
-    base iana-interface-type;
-    description
-      "VMware Virtual Network Interface.";
-  }
-  identity ieee802154 {
-    base iana-interface-type;
-    description
-      "IEEE 802.15.4 WPAN interface.";
-    reference
-      "IEEE 802.15.4-2006";
-  }
-  identity otnOdu {
-    base iana-interface-type;
-    description
-      "OTN Optical Data Unit.";
-  }
-  identity otnOtu {
-    base iana-interface-type;
-    description
-      "OTN Optical channel Transport Unit.";
-  }
-  identity ifVfiType {
-    base iana-interface-type;
-    description
-      "VPLS Forwarding Instance Interface Type.";
-  }
-  identity g9981 {
-    base iana-interface-type;
-    description
-      "G.998.1 bonded interface.";
-  }
-  identity g9982 {
-    base iana-interface-type;
-    description
-      "G.998.2 bonded interface.";
-  }
-  identity g9983 {
-    base iana-interface-type;
-    description
-      "G.998.3 bonded interface.";
-  }
-
-  identity aluEpon {
-    base iana-interface-type;
-    description
-      "Ethernet Passive Optical Networks (E-PON).";
-  }
-  identity aluEponOnu {
-    base iana-interface-type;
-    description
-      "EPON Optical Network Unit.";
-  }
-  identity aluEponPhysicalUni {
-    base iana-interface-type;
-    description
-      "EPON physical User to Network interface.";
-  }
-  identity aluEponLogicalLink {
-    base iana-interface-type;
-    description
-      "The emulation of a point-to-point link over the EPON
-       layer.";
-  }
-  identity aluGponOnu {
-    base iana-interface-type;
-    description
-      "GPON Optical Network Unit.";
-    reference
-      "ITU-T G.984.2";
-  }
-  identity aluGponPhysicalUni {
-    base iana-interface-type;
-    description
-      "GPON physical User to Network interface.";
-    reference
-      "ITU-T G.984.2";
-  }
-  identity vmwareNicTeam {
-    base iana-interface-type;
-    description
-      "VMware NIC Team.";
-  }
-  identity docsOfdmDownstream {
-    base iana-interface-type;
-    description
-      "CATV Downstream OFDM interface.";
-  }
-  identity docsOfdmaUpstream {
-    base iana-interface-type;
-    description
-      "CATV Upstream OFDMA interface.";
-  }
-  identity gfast {
-    base iana-interface-type;
-    description
-      "G.fast port.";
-    reference
-      "ITU-T G.9701";
-  }
-  identity sdci {
-    base iana-interface-type;
-    description
-      "SDCI (IO-Link).";
-    reference
-      "IEC 61131-9 Edition 1.0 2013-09";
-  }
-  identity xboxWireless {
-    base iana-interface-type;
-    description
-      "Xbox wireless.";
-  }
-  identity fastdsl {
-    base iana-interface-type;
-    description
-      "FastDSL.";
-    reference
-      "BBF TR-355";
-  }
-  identity docsCableScte55d1FwdOob {
-    base iana-interface-type;
-    description
-      "Cable SCTE 55-1 OOB Forward Channel.";
-  }
-  identity docsCableScte55d1RetOob {
-    base iana-interface-type;
-    description
-      "Cable SCTE 55-1 OOB Return Channel.";
-  }
-  identity docsCableScte55d2DsOob {
-    base iana-interface-type;
-    description
-      "Cable SCTE 55-2 OOB Downstream Channel.";
-  }
-  identity docsCableScte55d2UsOob {
-    base iana-interface-type;
-    description
-      "Cable SCTE 55-2 OOB Upstream Channel.";
-  }
-  identity docsCableNdf {
-    base iana-interface-type;
-    description
-      "Cable Narrowband Digital Forward.";
-  }
-  identity docsCableNdr {
-    base iana-interface-type;
-    description
-      "Cable Narrowband Digital Return.";
-  }
-  identity ptm {
-    base iana-interface-type;
-    description
-      "Packet Transfer Mode.";
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/ietf-dhcpv6-types.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/ietf-dhcpv6-types.yang
deleted file mode 100644 (file)
index c0d7193..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-module ietf-dhcpv6-types {
-       yang-version 1.1;
-  namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6-types";
-  prefix "dhcpv6-types";
-
-  import ietf-inet-types {
-               prefix inet;
-  }
-       import ietf-yang-types {
-               prefix yang;
-       }
-
-  organization "DHC WG";
-       contact
-   "cuiyong@tsinghua.edu.cn
-    lh.sunlinh@gmail.com
-    ian.farrer@telekom.de
-    sladjana.zechlin@telekom.de
-    hezihao9512@gmail.com";
-
-  description "This model defines a YANG data model that can be
-    used to define some commonly used DHCPv6 types";
-
-  revision 2018-01-30 {
-    description "Initial revision";
-    reference "I-D: draft-ietf-dhc-dhcpv6-yang";
-  }
-
-  /*
-       * Grouping
-       */
-       grouping vendor-infor {
-       description "Vendor information.";
-               container vendor-info {
-                       description "";
-               leaf ent-num {
-               type uint32;
-               mandatory true;
-               description "enterprise number";
-               }
-               leaf-list data {
-               type string;
-               description "specific vendor info";
-               }
-       }
-  }
-
-       grouping duid {
-    description
-      "Each server and client has only one DUID (DHCP Unique Identifier).
-      The DUID here identifies a unique DHCPv6 server for clients. DUID
-      consists of a two-octet type field and an arbitrary length (no more
-      than 128 bytes) content field. Currently there are four defined types
-      of DUIDs in RFC3315 and RFC6355 - DUID-LLT, DUID-EN, DUID-LL and
-      DUID-UUID. DUID-Uknown represents those unconventional DUIDs.";
-    reference "RFC3315: Section 9 and RFC6355: Section 4";
-    leaf type-code {
-               type uint16;
-               default 65535;
-               description "Type code of this DUID";
-       }
-    choice duid-type {
-               default duid-unknown;
-      description "Selects the format for the DUID.";
-       case duid-llt {
-       description "DUID Based on Link-layer Address Plus Time
-               (Type 1 - DUID-LLT)";
-               reference "RFC3315 Section 9.2";
-       leaf duid-llt-hardware-type {
-               type uint16;
-               description "Hardware type as assigned by IANA (RFC826).";
-       }
-       leaf duid-llt-time {
-               type yang:timeticks;
-               description "The time value is the time that the DUID is
-               generated represented in seconds since midnight (UTC),
-               January 1, 2000, modulo 2^32.";
-       }
-       leaf duid-llt-link-layer-addr {
-                       type yang:mac-address;
-               description "Link-layer address as described in RFC2464";
-               }
-               }
-       case duid-en {
-       description "DUID Assigned by Vendor Based on Enterprise Number
-               (Type 2 - DUID-EN)";
-                       reference "RFC3315 Section 9.3";
-               leaf duid-en-enterprise-number {
-                       type uint32;
-                       description "Vendor's registered Private Enterprise Number as
-                       maintained by IANA";
-               }
-       leaf duid-en-identifier {
-               type string;
-               description "Indentifier, unique to the device that is
-               using it";
-       }
-               }
-       case duid-ll {
-               description "DUID Based on Link-layer Address (Type 3 - DUID-LL)";
-               reference "RFC3315 Section 9.4";
-               leaf duid-ll-hardware-type {
-                       type uint16;
-               description "Hardware type as assigned by IANA (RFC826).";
-               }
-               leaf duid-ll-link-layer-addr {
-                       type yang:mac-address;
-                       description "Link-layer address as described in RFC2464";
-               }
-       }
-       case duid-uuid {
-               description "DUID Based on Universally Unique Identifier
-                       (Type 4 - DUID-UUID)";
-               reference "RFC6335 Defination of the UUID-Based Unique Identifier";
-               leaf uuid {
-                       type yang:uuid;
-                       description "A Universally Unique IDentifier in the string
-                               representation defined in RFC 4122. The canonical
-                               representation uses lowercase characters";
-               }
-       }
-       case duid-unknown {
-                       description "DUID based on free raw bytes";
-                       leaf data {
-                               type binary;
-                               description "The bits to be used as the identifier";
-                       }
-       }
-    }
-       }
-
-  grouping portset-para {
-    description "portset parameters";
-    container port-parameter {
-      description "port parameter";
-      leaf offset {
-        type uint8;
-        mandatory true;
-        description "offset in a port set";
-      }
-      leaf psid-len {
-        type uint8;
-        mandatory true;
-        description "length of a psid";
-      }
-      leaf psid {
-        type uint16;
-        mandatory true;
-        description "psid value";
-      }
-    }
-  }
-
-  grouping iaid {
-         description "IA is a construct through which a server and a
-             client can identify, group, and manage a set of related IPv6
-             addresses. The key of the list is a 4-byte number IAID defined
-             in [RFC3315].";
-    list identity-association {
-      config "false";
-      description "IA";
-      leaf iaid {
-        type uint32;
-        mandatory true;
-        description "IAID";
-      }
-      leaf ia-type {
-        type string;
-        mandatory true;
-        description "IA type";
-      }
-      leaf-list ipv6-addr {
-        type inet:ipv6-address;
-        description "ipv6 address";
-      }
-      leaf-list ipv6-prefix {
-        type inet:ipv6-prefix;
-        description "ipv6 prefix";
-      }
-      leaf-list prefix-length {
-        type uint8;
-        description "ipv6 prefix length";
-      }
-      leaf t1-time {
-        type yang:timeticks;
-        mandatory true;
-        description "t1 time";
-      }
-      leaf t2-time {
-        type yang:timeticks;
-        mandatory true;
-        description "t2 time";
-      }
-      leaf preferred-lifetime {
-        type yang:timeticks;
-        mandatory true;
-        description "preferred lifetime";
-      }
-      leaf valid-lifetime {
-        type yang:timeticks;
-        mandatory true;
-        description "valid lifetime";
-      }
-    }
-  }
-
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/ietf-ip.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/ietf-ip.yang
deleted file mode 100644 (file)
index 449081b..0000000
+++ /dev/null
@@ -1,860 +0,0 @@
-module ietf-ip {
-  yang-version 1.1;
-  namespace "urn:ietf:params:xml:ns:yang:ietf-ip";
-  prefix ip;
-
-  import ietf-interfaces {
-    prefix if;
-  }
-  import ietf-inet-types {
-    prefix inet;
-  }
-  import ietf-yang-types {
-    prefix yang;
-  }
-
-  organization
-    "IETF NETMOD (Network Modeling) Working Group";
-
-  contact
-    "WG Web:   <https://datatracker.ietf.org/wg/netmod/>
-     WG List:  <mailto:netmod@ietf.org>
-     Editor:   Martin Bjorklund
-               <mailto:mbj@tail-f.com>";
-  description
-    "This module contains a collection of YANG definitions for
-     managing IP implementations.
-     Copyright (c) 2018 IETF Trust and the persons identified as
-     authors of the code.  All rights reserved.
-     Redistribution and use in source and binary forms, with or
-     without modification, is permitted pursuant to, and subject
-     to the license terms contained in, the Simplified BSD License
-     set forth in Section 4.c of the IETF Trust's Legal Provisions
-     Relating to IETF Documents
-     (https://trustee.ietf.org/license-info).
-     This version of this YANG module is part of RFC 8344; see
-     the RFC itself for full legal notices.";
-
-  revision 2018-02-22 {
-    description
-      "Updated to support NMDA.";
-    reference
-      "RFC 8344: A YANG Data Model for IP Management";
-  }
-
-  revision 2014-06-16 {
-    description
-      "Initial revision.";
-    reference
-      "RFC 7277: A YANG Data Model for IP Management";
-  }
-
-  /*
-   * Features
-   */
-
-  feature ipv4-non-contiguous-netmasks {
-    description
-      "Indicates support for configuring non-contiguous
-       subnet masks.";
-  }
-
-  feature ipv6-privacy-autoconf {
-    description
-      "Indicates support for privacy extensions for stateless address
-       autoconfiguration in IPv6.";
-    reference
-      "RFC 4941: Privacy Extensions for Stateless Address
-                 Autoconfiguration in IPv6";
-  }
-
-  /*
-   * Typedefs
-   */
-
-  typedef ip-address-origin {
-    type enumeration {
-      enum other {
-        description
-          "None of the following.";
-      }
-
-      enum static {
-        description
-          "Indicates that the address has been statically
-           configured -- for example, using the Network Configuration
-           Protocol (NETCONF) or a command line interface.";
-      }
-      enum dhcp {
-        description
-          "Indicates an address that has been assigned to this
-           system by a DHCP server.";
-      }
-      enum link-layer {
-        description
-          "Indicates an address created by IPv6 stateless
-           autoconfiguration that embeds a link-layer address in its
-           interface identifier.";
-      }
-      enum random {
-        description
-          "Indicates an address chosen by the system at
-           random, e.g., an IPv4 address within 169.254/16, a
-           temporary address as described in RFC 4941, or a
-           semantically opaque address as described in RFC 7217.";
-        reference
-          "RFC 4941: Privacy Extensions for Stateless Address
-                     Autoconfiguration in IPv6
-           RFC 7217: A Method for Generating Semantically Opaque
-                     Interface Identifiers with IPv6 Stateless
-                     Address Autoconfiguration (SLAAC)";
-      }
-    }
-    description
-      "The origin of an address.";
-  }
-
-  typedef neighbor-origin {
-    type enumeration {
-      enum other {
-        description
-          "None of the following.";
-      }
-      enum static {
-        description
-          "Indicates that the mapping has been statically
-           configured -- for example, using NETCONF or a command line
-           interface.";
-      }
-
-      enum dynamic {
-        description
-          "Indicates that the mapping has been dynamically resolved
-           using, for example, IPv4 ARP or the IPv6 Neighbor
-           Discovery protocol.";
-      }
-    }
-    description
-      "The origin of a neighbor entry.";
-  }
-
-  /*
-   * Data nodes
-   */
-
-  augment "/if:interfaces/if:interface" {
-    description
-      "IP parameters on interfaces.
-       If an interface is not capable of running IP, the server
-       must not allow the client to configure these parameters.";
-
-    container ipv4 {
-      presence
-        "Enables IPv4 unless the 'enabled' leaf
-         (which defaults to 'true') is set to 'false'";
-      description
-        "Parameters for the IPv4 address family.";
-
-      leaf enabled {
-        type boolean;
-        default true;
-        description
-          "Controls whether IPv4 is enabled or disabled on this
-           interface.  When IPv4 is enabled, this interface is
-           connected to an IPv4 stack, and the interface can send
-           and receive IPv4 packets.";
-      }
-      leaf forwarding {
-        type boolean;
-        default false;
-        description
-          "Controls IPv4 packet forwarding of datagrams received by,
-           but not addressed to, this interface.  IPv4 routers
-           forward datagrams.  IPv4 hosts do not (except those
-           source-routed via the host).";
-      }
-
-      leaf mtu {
-        type uint16 {
-          range "68..max";
-        }
-        units "octets";
-        description
-          "The size, in octets, of the largest IPv4 packet that the
-           interface will send and receive.
-           The server may restrict the allowed values for this leaf,
-           depending on the interface's type.
-           If this leaf is not configured, the operationally used MTU
-           depends on the interface's type.";
-        reference
-          "RFC 791: Internet Protocol";
-      }
-      list address {
-        key "ip";
-        description
-          "The list of IPv4 addresses on the interface.";
-
-        leaf ip {
-          type inet:ipv4-address-no-zone;
-          description
-            "The IPv4 address on the interface.";
-        }
-        choice subnet {
-          mandatory true;
-          description
-            "The subnet can be specified as a prefix length or,
-             if the server supports non-contiguous netmasks, as
-             a netmask.";
-          leaf prefix-length {
-            type uint8 {
-              range "0..32";
-            }
-            description
-              "The length of the subnet prefix.";
-          }
-          leaf netmask {
-            if-feature ipv4-non-contiguous-netmasks;
-            type yang:dotted-quad;
-            description
-              "The subnet specified as a netmask.";
-          }
-        }
-
-        leaf origin {
-          type ip-address-origin;
-          config false;
-          description
-            "The origin of this address.";
-        }
-      }
-      list neighbor {
-        key "ip";
-        description
-          "A list of mappings from IPv4 addresses to
-           link-layer addresses.
-           Entries in this list in the intended configuration are
-           used as static entries in the ARP Cache.
-           In the operational state, this list represents the ARP
-           Cache.";
-        reference
-          "RFC 826: An Ethernet Address Resolution Protocol";
-
-        leaf ip {
-          type inet:ipv4-address-no-zone;
-          description
-            "The IPv4 address of the neighbor node.";
-        }
-        leaf link-layer-address {
-          type yang:phys-address;
-          mandatory true;
-          description
-            "The link-layer address of the neighbor node.";
-        }
-        leaf origin {
-          type neighbor-origin;
-          config false;
-          description
-            "The origin of this neighbor entry.";
-        }
-      }
-    }
-
-    container ipv6 {
-      presence
-        "Enables IPv6 unless the 'enabled' leaf
-         (which defaults to 'true') is set to 'false'";
-      description
-        "Parameters for the IPv6 address family.";
-
-      leaf enabled {
-        type boolean;
-        default true;
-        description
-          "Controls whether IPv6 is enabled or disabled on this
-           interface.  When IPv6 is enabled, this interface is
-           connected to an IPv6 stack, and the interface can send
-           and receive IPv6 packets.";
-      }
-      leaf forwarding {
-        type boolean;
-        default false;
-        description
-          "Controls IPv6 packet forwarding of datagrams received by,
-           but not addressed to, this interface.  IPv6 routers
-           forward datagrams.  IPv6 hosts do not (except those
-           source-routed via the host).";
-        reference
-          "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
-                     Section 6.2.1, IsRouter";
-      }
-      leaf mtu {
-        type uint32 {
-          range "1280..max";
-        }
-        units "octets";
-        description
-          "The size, in octets, of the largest IPv6 packet that the
-           interface will send and receive.
-           The server may restrict the allowed values for this leaf,
-           depending on the interface's type.
-           If this leaf is not configured, the operationally used MTU
-           depends on the interface's type.";
-        reference
-          "RFC 8200: Internet Protocol, Version 6 (IPv6)
-                     Specification
-                     Section 5";
-      }
-
-      list address {
-        key "ip";
-        description
-          "The list of IPv6 addresses on the interface.";
-
-        leaf ip {
-          type inet:ipv6-address-no-zone;
-          description
-            "The IPv6 address on the interface.";
-        }
-        leaf prefix-length {
-          type uint8 {
-            range "0..128";
-          }
-          mandatory true;
-          description
-            "The length of the subnet prefix.";
-        }
-        leaf origin {
-          type ip-address-origin;
-          config false;
-          description
-            "The origin of this address.";
-        }
-        leaf status {
-          type enumeration {
-            enum preferred {
-              description
-                "This is a valid address that can appear as the
-                 destination or source address of a packet.";
-            }
-            enum deprecated {
-              description
-                "This is a valid but deprecated address that should
-                 no longer be used as a source address in new
-                 communications, but packets addressed to such an
-                 address are processed as expected.";
-            }
-            enum invalid {
-              description
-                "This isn't a valid address, and it shouldn't appear
-                 as the destination or source address of a packet.";
-            }
-
-            enum inaccessible {
-              description
-                "The address is not accessible because the interface
-                 to which this address is assigned is not
-                 operational.";
-            }
-            enum unknown {
-              description
-                "The status cannot be determined for some reason.";
-            }
-            enum tentative {
-              description
-                "The uniqueness of the address on the link is being
-                 verified.  Addresses in this state should not be
-                 used for general communication and should only be
-                 used to determine the uniqueness of the address.";
-            }
-            enum duplicate {
-              description
-                "The address has been determined to be non-unique on
-                 the link and so must not be used.";
-            }
-            enum optimistic {
-              description
-                "The address is available for use, subject to
-                 restrictions, while its uniqueness on a link is
-                 being verified.";
-            }
-          }
-          config false;
-          description
-            "The status of an address.  Most of the states correspond
-             to states from the IPv6 Stateless Address
-             Autoconfiguration protocol.";
-          reference
-            "RFC 4293: Management Information Base for the
-                       Internet Protocol (IP)
-                       - IpAddressStatusTC
-             RFC 4862: IPv6 Stateless Address Autoconfiguration";
-        }
-      }
-
-      list neighbor {
-        key "ip";
-        description
-          "A list of mappings from IPv6 addresses to
-           link-layer addresses.
-           Entries in this list in the intended configuration are
-           used as static entries in the Neighbor Cache.
-           In the operational state, this list represents the
-           Neighbor Cache.";
-        reference
-          "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)";
-
-        leaf ip {
-          type inet:ipv6-address-no-zone;
-          description
-            "The IPv6 address of the neighbor node.";
-        }
-        leaf link-layer-address {
-          type yang:phys-address;
-          mandatory true;
-          description
-            "The link-layer address of the neighbor node.
-             In the operational state, if the neighbor's 'state' leaf
-             is 'incomplete', this leaf is not instantiated.";
-        }
-        leaf origin {
-          type neighbor-origin;
-          config false;
-          description
-            "The origin of this neighbor entry.";
-        }
-        leaf is-router {
-          type empty;
-          config false;
-          description
-            "Indicates that the neighbor node acts as a router.";
-        }
-
-        leaf state {
-          type enumeration {
-            enum incomplete {
-              description
-                "Address resolution is in progress, and the
-                 link-layer address of the neighbor has not yet been
-                 determined.";
-            }
-            enum reachable {
-              description
-                "Roughly speaking, the neighbor is known to have been
-                 reachable recently (within tens of seconds ago).";
-            }
-            enum stale {
-              description
-                "The neighbor is no longer known to be reachable, but
-                 until traffic is sent to the neighbor no attempt
-                 should be made to verify its reachability.";
-            }
-            enum delay {
-              description
-                "The neighbor is no longer known to be reachable, and
-                 traffic has recently been sent to the neighbor.
-                 Rather than probe the neighbor immediately, however,
-                 delay sending probes for a short while in order to
-                 give upper-layer protocols a chance to provide
-                 reachability confirmation.";
-            }
-            enum probe {
-              description
-                "The neighbor is no longer known to be reachable, and
-                 unicast Neighbor Solicitation probes are being sent
-                 to verify reachability.";
-            }
-          }
-          config false;
-          description
-            "The Neighbor Unreachability Detection state of this
-             entry.";
-          reference
-            "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
-                       Section 7.3.2";
-        }
-      }
-
-      leaf dup-addr-detect-transmits {
-        type uint32;
-        default 1;
-        description
-          "The number of consecutive Neighbor Solicitation messages
-           sent while performing Duplicate Address Detection on a
-           tentative address.  A value of zero indicates that
-           Duplicate Address Detection is not performed on
-           tentative addresses.  A value of one indicates a single
-           transmission with no follow-up retransmissions.";
-        reference
-          "RFC 4862: IPv6 Stateless Address Autoconfiguration";
-      }
-      container autoconf {
-        description
-          "Parameters to control the autoconfiguration of IPv6
-           addresses, as described in RFC 4862.";
-        reference
-          "RFC 4862: IPv6 Stateless Address Autoconfiguration";
-
-        leaf create-global-addresses {
-          type boolean;
-          default true;
-          description
-            "If enabled, the host creates global addresses as
-             described in RFC 4862.";
-          reference
-            "RFC 4862: IPv6 Stateless Address Autoconfiguration
-                       Section 5.5";
-        }
-        leaf create-temporary-addresses {
-          if-feature ipv6-privacy-autoconf;
-          type boolean;
-          default false;
-          description
-            "If enabled, the host creates temporary addresses as
-             described in RFC 4941.";
-          reference
-            "RFC 4941: Privacy Extensions for Stateless Address
-                       Autoconfiguration in IPv6";
-        }
-
-        leaf temporary-valid-lifetime {
-          if-feature ipv6-privacy-autoconf;
-          type uint32;
-          units "seconds";
-          default 604800;
-          description
-            "The time period during which the temporary address
-             is valid.";
-          reference
-            "RFC 4941: Privacy Extensions for Stateless Address
-                       Autoconfiguration in IPv6
-                       - TEMP_VALID_LIFETIME";
-        }
-        leaf temporary-preferred-lifetime {
-          if-feature ipv6-privacy-autoconf;
-          type uint32;
-          units "seconds";
-          default 86400;
-          description
-            "The time period during which the temporary address is
-             preferred.";
-          reference
-            "RFC 4941: Privacy Extensions for Stateless Address
-                       Autoconfiguration in IPv6
-                       - TEMP_PREFERRED_LIFETIME";
-        }
-      }
-    }
-  }
-
-  /*
-   * Legacy operational state data nodes
-   */
-
-  augment "/if:interfaces-state/if:interface" {
-    status deprecated;
-    description
-      "Data nodes for the operational state of IP on interfaces.";
-
-    container ipv4 {
-      presence
-        "Present if IPv4 is enabled on this interface";
-      config false;
-      status deprecated;
-      description
-        "Interface-specific parameters for the IPv4 address family.";
-
-      leaf forwarding {
-        type boolean;
-        status deprecated;
-        description
-          "Indicates whether IPv4 packet forwarding is enabled or
-           disabled on this interface.";
-      }
-      leaf mtu {
-        type uint16 {
-          range "68..max";
-        }
-        units "octets";
-        status deprecated;
-        description
-          "The size, in octets, of the largest IPv4 packet that the
-           interface will send and receive.";
-        reference
-          "RFC 791: Internet Protocol";
-      }
-      list address {
-        key "ip";
-        status deprecated;
-        description
-          "The list of IPv4 addresses on the interface.";
-
-        leaf ip {
-          type inet:ipv4-address-no-zone;
-          status deprecated;
-          description
-            "The IPv4 address on the interface.";
-        }
-        choice subnet {
-          status deprecated;
-          description
-            "The subnet can be specified as a prefix length or,
-             if the server supports non-contiguous netmasks, as
-             a netmask.";
-          leaf prefix-length {
-            type uint8 {
-              range "0..32";
-            }
-            status deprecated;
-            description
-              "The length of the subnet prefix.";
-          }
-          leaf netmask {
-            if-feature ipv4-non-contiguous-netmasks;
-            type yang:dotted-quad;
-            status deprecated;
-            description
-              "The subnet specified as a netmask.";
-          }
-        }
-        leaf origin {
-          type ip-address-origin;
-          status deprecated;
-          description
-            "The origin of this address.";
-        }
-      }
-      list neighbor {
-        key "ip";
-        status deprecated;
-        description
-          "A list of mappings from IPv4 addresses to
-           link-layer addresses.
-           This list represents the ARP Cache.";
-        reference
-          "RFC 826: An Ethernet Address Resolution Protocol";
-
-        leaf ip {
-          type inet:ipv4-address-no-zone;
-          status deprecated;
-          description
-            "The IPv4 address of the neighbor node.";
-        }
-
-        leaf link-layer-address {
-          type yang:phys-address;
-          status deprecated;
-          description
-            "The link-layer address of the neighbor node.";
-        }
-        leaf origin {
-          type neighbor-origin;
-          status deprecated;
-          description
-            "The origin of this neighbor entry.";
-        }
-      }
-    }
-
-    container ipv6 {
-      presence
-        "Present if IPv6 is enabled on this interface";
-      config false;
-      status deprecated;
-      description
-        "Parameters for the IPv6 address family.";
-
-      leaf forwarding {
-        type boolean;
-        default false;
-        status deprecated;
-        description
-          "Indicates whether IPv6 packet forwarding is enabled or
-           disabled on this interface.";
-        reference
-          "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
-                     Section 6.2.1, IsRouter";
-      }
-      leaf mtu {
-        type uint32 {
-          range "1280..max";
-        }
-        units "octets";
-        status deprecated;
-        description
-          "The size, in octets, of the largest IPv6 packet that the
-           interface will send and receive.";
-        reference
-          "RFC 8200: Internet Protocol, Version 6 (IPv6)
-                     Specification
-                     Section 5";
-      }
-      list address {
-        key "ip";
-        status deprecated;
-        description
-          "The list of IPv6 addresses on the interface.";
-
-        leaf ip {
-          type inet:ipv6-address-no-zone;
-          status deprecated;
-          description
-            "The IPv6 address on the interface.";
-        }
-        leaf prefix-length {
-          type uint8 {
-            range "0..128";
-          }
-          mandatory true;
-          status deprecated;
-          description
-            "The length of the subnet prefix.";
-        }
-        leaf origin {
-          type ip-address-origin;
-          status deprecated;
-          description
-            "The origin of this address.";
-        }
-        leaf status {
-          type enumeration {
-            enum preferred {
-              description
-                "This is a valid address that can appear as the
-                 destination or source address of a packet.";
-            }
-            enum deprecated {
-              description
-                "This is a valid but deprecated address that should
-                 no longer be used as a source address in new
-                 communications, but packets addressed to such an
-                 address are processed as expected.";
-            }
-            enum invalid {
-              description
-                "This isn't a valid address, and it shouldn't appear
-                 as the destination or source address of a packet.";
-            }
-
-            enum inaccessible {
-              description
-                "The address is not accessible because the interface
-                 to which this address is assigned is not
-                 operational.";
-            }
-            enum unknown {
-              description
-                "The status cannot be determined for some reason.";
-            }
-            enum tentative {
-              description
-                "The uniqueness of the address on the link is being
-                 verified.  Addresses in this state should not be
-                 used for general communication and should only be
-                 used to determine the uniqueness of the address.";
-            }
-            enum duplicate {
-              description
-                "The address has been determined to be non-unique on
-                 the link and so must not be used.";
-            }
-            enum optimistic {
-              description
-                "The address is available for use, subject to
-                 restrictions, while its uniqueness on a link is
-                 being verified.";
-            }
-          }
-          status deprecated;
-          description
-            "The status of an address.  Most of the states correspond
-             to states from the IPv6 Stateless Address
-             Autoconfiguration protocol.";
-          reference
-            "RFC 4293: Management Information Base for the
-                       Internet Protocol (IP)
-                       - IpAddressStatusTC
-             RFC 4862: IPv6 Stateless Address Autoconfiguration";
-        }
-      }
-
-      list neighbor {
-        key "ip";
-        status deprecated;
-        description
-          "A list of mappings from IPv6 addresses to
-           link-layer addresses.
-           This list represents the Neighbor Cache.";
-        reference
-          "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)";
-
-        leaf ip {
-          type inet:ipv6-address-no-zone;
-          status deprecated;
-          description
-            "The IPv6 address of the neighbor node.";
-        }
-        leaf link-layer-address {
-          type yang:phys-address;
-          status deprecated;
-          description
-            "The link-layer address of the neighbor node.";
-        }
-        leaf origin {
-          type neighbor-origin;
-          status deprecated;
-          description
-            "The origin of this neighbor entry.";
-        }
-        leaf is-router {
-          type empty;
-          status deprecated;
-          description
-            "Indicates that the neighbor node acts as a router.";
-        }
-        leaf state {
-          type enumeration {
-            enum incomplete {
-              description
-                "Address resolution is in progress, and the
-                 link-layer address of the neighbor has not yet been
-                 determined.";
-            }
-            enum reachable {
-              description
-                "Roughly speaking, the neighbor is known to have been
-                 reachable recently (within tens of seconds ago).";
-            }
-            enum stale {
-              description
-                "The neighbor is no longer known to be reachable, but
-                 until traffic is sent to the neighbor no attempt
-                 should be made to verify its reachability.";
-            }
-            enum delay {
-              description
-                "The neighbor is no longer known to be reachable, and
-                 traffic has recently been sent to the neighbor.
-                 Rather than probe the neighbor immediately, however,
-                 delay sending probes for a short while in order to
-                 give upper-layer protocols a chance to provide
-                 reachability confirmation.";
-            }
-            enum probe {
-              description
-                "The neighbor is no longer known to be reachable, and
-                 unicast Neighbor Solicitation probes are being sent
-                 to verify reachability.";
-            }
-          }
-          status deprecated;
-          description
-            "The Neighbor Unreachability Detection state of this
-             entry.";
-          reference
-            "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
-                       Section 7.3.2";
-        }
-      }
-    }
-  }
-}
diff --git a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/org-openroadm-user-mgmt.yang b/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/org-openroadm-user-mgmt.yang
deleted file mode 100644 (file)
index 7e3227d..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-module org-openroadm-user-mgmt {
-  namespace "http://org/openroadm/user-mgmt";
-  prefix org-openroadm-user-mgmt;
-
-  organization
-    "Open ROADM MSA";
-  contact
-    "OpenROADM.org";
-  description
-    "YANG definitions of user managements.
-       
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
-      AT&T Intellectual Property.  All other rights reserved.
-      
-      Redistribution and use in source and binary forms, with or without modification, 
-      are permitted provided that the following conditions are met:
-      
-      * Redistributions of source code must retain the above copyright notice, this 
-        list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice, 
-        this list of conditions and the following disclaimer in the documentation and/or 
-        other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-        contributors may be used to endorse or promote products derived from this software 
-        without specific prior written permission.
-      
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
-      POSSIBILITY OF SUCH DAMAGE";
-
-  revision 2017-12-15 {
-    description
-      "Version 2.2";
-  }
-  revision 2017-09-29 {
-    description
-      "Version 2.1";
-  }
-  revision 2017-06-26 {
-    description
-      "Version 2.0";
-  }
-  revision 2016-10-14 {
-    description
-      "Version 1.2";
-  }
-
-  typedef username-type {
-    type string {
-      length "3..32";
-      pattern "[a-z][a-z0-9]{2,31}" {
-        error-message
-          "A username must begin with a lowercase letter, The remainder 
-           of the string may contain lowercase letters, or numbers 0 through 9.";
-      }
-    }
-    description
-      "The user name string identifying this entry.";
-  }
-
-  typedef password-type {
-    type string {
-      length "8..128";
-      pattern "[a-zA-Z0-9!$%\\^()\\[\\]_\\-~{}.+]*" {
-        error-message "Password content does not meet the requirements";
-      }
-    }
-    description
-      "The password for this entry. This shouldn't be in clear text 
-       The Password must contain at least 2 characters from 
-       each of the following groups: 
-       a) Lower case alphabetic (a-z) 
-       b) Upper case alphabetic (A-Z) 
-       c) Numeric 0-9 
-       d) Special characters Allowed !$%^()[]_-~{}.+ 
-       Password must not contain Username.";
-  }
-
-  grouping user-profile {
-    list user {
-      key "name";
-      description
-        "The list of local users configured on this device.";
-      leaf name {
-        type username-type;
-        description
-          "The user name string identifying this entry.";
-      }
-      leaf password {
-        type password-type;
-        description
-          "The password for this entry.";
-      }
-      leaf group {
-        type enumeration {
-          enum "sudo";
-        }
-        description
-          "The group to which the user is associated to.";
-      }
-    }
-  }
-
-  rpc chg-password {
-    input {
-      leaf currentPassword {
-        type password-type;
-        mandatory true;
-        description
-          "provide the current password";
-      }
-      leaf newPassword {
-        type password-type;
-        mandatory true;
-        description
-          "provide a new password";
-      }
-      leaf newPasswordConfirm {
-        type password-type;
-        mandatory true;
-        description
-          "re-enter the new password ";
-      }
-    }
-    output {
-      leaf status {
-        type enumeration {
-          enum "Successful" {
-            value 1;
-          }
-          enum "Failed" {
-            value 2;
-          }
-        }
-        mandatory true;
-        description
-          "Successful or Failed";
-      }
-      leaf status-message {
-        type string;
-        description
-          "Gives a more detailed reason for success / failure";
-      }
-    }
-  }
-}