From aef04a006d45ac4906900d6ef96108eb51bde4b6 Mon Sep 17 00:00:00 2001 From: Ravi Pendurty Date: Fri, 14 Aug 2020 07:41:09 +0200 Subject: [PATCH] Use model artifact from scp/oam/modeling repository artifactId - x-ran-ru-fh-model groupId - org.o-ran-sc.scp-oam-modeling.features Issue-ID: OAM-145 Signed-off-by: Ravi Pendurty Change-Id: Ib25bad37a15f75fa4f18563c8a5136969359754b --- .../devicemanager/x-ran/ru-fh/provider/pom.xml | 4 +- .../main/yang/1-0-0/interfaces/xran-ald-port.yang | 158 -- .../src/main/yang/1-0-0/interfaces/xran-dhcp.yang | 183 --- .../yang/1-0-0/interfaces/xran-externalio.yang | 144 -- .../yang/1-0-0/interfaces/xran-interfaces.yang | 385 ----- .../yang/1-0-0/interfaces/xran-mplane-int.yang | 171 --- .../1-0-0/interfaces/xran-processing-element.yang | 237 --- .../yang/1-0-0/interfaces/xran-transceiver.yang | 369 ----- .../src/main/yang/1-0-0/operations/xran-ald.yang | 144 -- .../yang/1-0-0/operations/xran-ecpri-delay.yang | 125 -- .../1-0-0/operations/xran-file-management.yang | 174 --- .../src/main/yang/1-0-0/operations/xran-lbm.yang | 269 ---- .../yang/1-0-0/operations/xran-operations.yang | 151 -- .../operations/xran-performance-management.yang | 664 -------- .../1-0-0/operations/xran-software-management.yang | 539 ------- .../1-0-0/operations/xran-troubleshooting.yang | 95 -- .../main/yang/1-0-0/operations/xran-udp-echo.yang | 88 -- .../yang/1-0-0/operations/xran-uplane-conf.yang | 948 ------------ .../main/yang/1-0-0/radio/xran-beamforming.yang | 325 ---- .../yang/1-0-0/radio/xran-delay-management.yang | 264 ---- .../src/main/yang/1-0-0/radio/xran-module-cap.yang | 533 ------- .../ru-fh/provider/src/main/yang/1-0-0/readme.txt | 52 - .../src/main/yang/1-0-0/sync/xran-sync.yang | 662 -------- .../src/main/yang/1-0-0/system/xran-alarm-id.yang | 178 --- .../src/main/yang/1-0-0/system/xran-fan.yang | 110 -- .../src/main/yang/1-0-0/system/xran-fm.yang | 165 -- .../src/main/yang/1-0-0/system/xran-hardware.yang | 211 --- .../main/yang/1-0-0/system/xran-supervision.yang | 103 -- .../src/main/yang/1-0-0/system/xran-usermgmt.yang | 101 -- .../provider/src/main/yang/iana-hardware.yang | 180 --- .../src/main/yang/ietf-alarms@2019-09-11.yang | 1530 ------------------- .../provider/src/main/yang/ietf-hardware.yang | 1141 -------------- .../provider/src/main/yang/ietf-interfaces.yang | 1073 ------------- .../provider/src/main/yang/plus/iana-if-type.yang | 1611 -------------------- .../src/main/yang/plus/ietf-dhcpv6-types.yang | 207 --- .../ru-fh/provider/src/main/yang/plus/ietf-ip.yang | 860 ----------- .../main/yang/plus/org-openroadm-user-mgmt.yang | 153 -- 37 files changed, 2 insertions(+), 14305 deletions(-) delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-ald-port.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-dhcp.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-externalio.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-interfaces.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-mplane-int.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-processing-element.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-transceiver.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-ald.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-ecpri-delay.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-file-management.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-lbm.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-operations.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-performance-management.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-software-management.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-troubleshooting.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-udp-echo.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-uplane-conf.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-beamforming.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-delay-management.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-module-cap.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/readme.txt delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/sync/xran-sync.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-alarm-id.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-fan.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-fm.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-hardware.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-supervision.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-usermgmt.yang delete mode 100755 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/iana-hardware.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-alarms@2019-09-11.yang delete mode 100755 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-hardware.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-interfaces.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/iana-if-type.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/ietf-dhcpv6-types.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/ietf-ip.yang delete mode 100644 features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/org-openroadm-user-mgmt.yang diff --git a/features/devicemanager/x-ran/ru-fh/provider/pom.xml b/features/devicemanager/x-ran/ru-fh/provider/pom.xml index 0d0f990..75cdf81 100644 --- a/features/devicemanager/x-ran/ru-fh/provider/pom.xml +++ b/features/devicemanager/x-ran/ru-fh/provider/pom.xml @@ -64,8 +64,8 @@ - ${project.groupId} - devicemanager-xran-ru-fh-model + org.o-ran-sc.scp-oam-modeling.features + x-ran-ru-fh-model ${project.version} 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 index ab3a4b9..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-ald-port.yang +++ /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 index 8b2a94e..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-dhcp.yang +++ /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 index a78a710..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-externalio.yang +++ /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 index a4a0aaa..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-interfaces.yang +++ /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 index 778d37a..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-mplane-int.yang +++ /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 index c3809ab..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-processing-element.yang +++ /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 index df0cb36..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/interfaces/xran-transceiver.yang +++ /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 index 4580992..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-ald.yang +++ /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 index 4929a32..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-ecpri-delay.yang +++ /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 index c63ffd0..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-file-management.yang +++ /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 index 65ea7fb..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-lbm.yang +++ /dev/null @@ -1,269 +0,0 @@ -module xran-lbm { - yang-version 1.1; - namespace "urn:xran:lbm:1.0"; - prefix "xran-lbm"; - - import ietf-yang-types { - prefix yang; - revision-date 2013-07-15; - } - - organization "xRAN Forum"; - - contact - "www.xran.org"; - - description - "This module defines the module capabilities for - the xRAN Radio loop-back protocol (IEEE 802.1ag). - It is derived from MEF-38 (Service OAM Fault Management YANG Modules, April 2012) - - 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 priority-type { - type uint32 { - range "0..7"; - } - description - "A 3 bit priority value to be used in the VLAN tag, if present - in the transmitted frame."; - reference "[802.1q] 12.14.7.3.2:e"; - } - - - typedef mep-id-type { - type uint16 { - range "1..8191"; - } - description - "Maintenance association End Point Identifier (MEPID): A small integer, - unique over a given Maintenance Association, identifying a - specific MEP."; - reference "[802.1q] 3.19 and 19.2.1"; - } - typedef vlan-id-type { - type uint16 { - range "1..4094"; - } - description - "The VLAN-ID that uniquely identifies a VLAN. This is the 12-bit VLAN-ID - used in the VLAN Tag header."; - reference "[802.1q] 9.6"; - } - - typedef md-level-type { - type int32 { - range "0..7"; - } - description - "Maintenance Domain Level (MD Level) identifier. Higher numbers - correspond to higher Maintenance Domains, those with the greatest - physical reach, with the highest values for customers' CFM PDUs. - Lower numbers correspond to lower Maintenance Domains, those with - more limited physical reach, with the lowest values for CFM PDUs - protecting single bridges or physical links."; - reference "[802.1q] 18.3, 21.4.1, IEEE8021-CFM-MIB.Dot1agCfmMDLevel"; - } - - typedef lbm-transaction-id-type { - type uint32; - description - "A loopback transaction identifier"; - reference "[802.1q] 21.7.3"; - } - - list maintenance-domain { - key "id"; - description - "A Maintenance Domain managed object is required in order to create an MA - with a MAID that includes that Maintenance Domain’s Name. From - this Maintenance Domain managed object, all Maintenance - Association managed objects associated with that Maintenance - Domain managed object can be accessed, and thus controlled."; - reference "[802.1q] 12.14.5"; - leaf id { - type string; - description - "A unique identifier of a Maintenance Domain"; - reference "[802.1q] 12.14.5"; - } - - leaf name { - type string; - description - "The value for the Maintenance Domain Name. Only the name-type - 'character-string' is supported"; - reference "[802.1q] 21.6.5.1 (Table 21-19), 12.14.5.3.2:a"; - } - - leaf md-level { - type md-level-type; - default 0; - description - "Integer identifying the Maintenance Domain Level (MD Level). Higher - numbers correspond to higher Maintenance Domains, those with the - greatest physical reach, with the highest values for customers' - CFM PDUs. Lower numbers correspond to lower Maintenance - Domains, those with more limited physical reach, with the lowest - values for CFM PDUs protecting single bridges or physical links."; - reference "[802.1q] 12.14.5.1.3:b"; - } - - list maintenance-association { - key "id"; - description - "This list represents Maintenance Entity Groups (Y.1731) or - Maintenance Associations (802.1ag). MEGs/MAs are sets of - MEPs, each configured to the same service inside a common - OAM domain."; - leaf id { - type string; - description - "A unique identifier of a Maintenance Association"; - reference "[802.1q] 12.14.6"; - } - leaf name { - type string; - - description - "The value for the Maintenance Association Name. Only the name-type - 'character-string' is supported"; - reference "[802.1q] 12.14.5.3.2:b, Table 21-20"; - } - - list component-list { - key "component-id"; - description - "A list of components each of which can be managed in a manner - essentially equivalent to an 802.1Q bridge."; - reference "[802.1q] IEEE8021-CFM-V2-MIB.ieee8021CfmMaCompTable"; - leaf component-id { - type uint32; - description - "The bridge component within the system to which the information - in this maintenance-association applies"; - reference "[802.1q] IEEE8021-CFM-V2-MIB.ieee8021CfmMaComponentId"; - } - leaf name { - type string; - - description - "The value for the Maintenance Association Name. Only the name-type - 'character-string' is supported"; - reference "[802.1q] 12.14.5.3.2:b, Table 21-20"; - } - - leaf-list vid { - type vlan-id-type; - min-elements 1; - ordered-by user; - description - "The VID(s) monitored by this MA, or 0, if the MA is not attached to any - VID. The first VID returned is the MA's Primary VID"; - reference "[802.1q] 12.14.5.3.2:b"; - } - - leaf-list remote-meps { - type mep-id-type; - description - "A list of the MEPIDs of the MEPs in the MA."; - reference "[802.1q] 12.14.6.1.3:g"; - } - list maintenance-association-end-point { - key "mep-identifier"; - description - "The list of Maintenance association End Points in a specific Maintance - Association."; - leaf mep-identifier { - type mep-id-type; - description - "Integer that is unique among all the MEPs in the same MA. Other - definition is: a small integer, unique over a given - Maintenance Association, identifying a specific Maintenance - association End Point."; - reference "[802.1q] 12.14.6.3.2:b"; - } - leaf interface { - type string; - mandatory true; - description - "An interface, either a Bridge Port or an aggregated IEEE 802.3 port - within a Bridge Port, to which the MEP is attached. Each interface in - the system is uniquely identified by an interface-name. The structure - and content of the name is outside the scope of this specification."; - reference "[802.1q] 12.14.7.1.3:b"; - } - leaf primary-vid { - type vlan-id-type; - mandatory true; - description - "The Primary VID of the MEP. The value 0 indicates that either the - Primary VID is that of the MEP's MA or that the MEP's MA is - associated with no VID"; - reference "[802.1q] 12.14.7.1.3:d"; - } - leaf administrative-state { - type boolean; - mandatory true; - description - "The administrative state of the MEP"; - reference "[802.1q] 12.14.7.1.3:e"; - } - leaf mac-address { - type yang:mac-address; - config false; - description - "The MAC address of the MEP"; - reference "[802.1q] 12.14.7.1.3:i"; - } - container loopback { - config false; - description - "Data definitions related to the Loopback function."; - leaf replies-transmitted { - type yang:counter32; - config false; - mandatory true; - description - "The total number of LBRs transmitted."; - reference "[802.1q] 12.14.7.1.3:ad"; - } - } - } - } - } - } -} 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 index 490ceb5..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-operations.yang +++ /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 index 7faefa0..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-performance-management.yang +++ /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://@[:]"; - } - - 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 index 0759cd6..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-software-management.yang +++ /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://@[:]"; - } - - 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 index 587369f..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-troubleshooting.yang +++ /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 index cf1d725..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-udp-echo.yang +++ /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 index 5ca7e3c..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/operations/xran-uplane-conf.yang +++ /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 index 3e6c995..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-beamforming.yang +++ /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 index e21cf93..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-delay-management.yang +++ /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 index 21965cb..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/radio/xran-module-cap.yang +++ /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 index 1674d38..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/readme.txt +++ /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 index e38b9be..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/sync/xran-sync.yang +++ /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 index f87fcea..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-alarm-id.yang +++ /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 index 251f32f..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-fan.yang +++ /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 index 9e034e9..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-fm.yang +++ /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 index 7788cb1..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/1-0-0/system/xran-hardware.yang +++ /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 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 index 52bcaf3..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/iana-hardware.yang +++ /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 index a6f51bb..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-alarms@2019-09-11.yang +++ /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: - WG List: - - Editor: Stefan Vallin - - - Editor: Martin Bjorklund - "; - 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 index f444e26..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-hardware.yang +++ /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: - WG List: - Editor: Andy Bierman - - Editor: Martin Bjorklund - - Editor: Jie Dong - - Editor: Dan Romascanu - "; - -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 index 8dae9d3..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/ietf-interfaces.yang +++ /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: - WG List: - Editor: Martin Bjorklund - "; - - 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 index 24d04e6..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/iana-if-type.yang +++ /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 - "; - 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. - "; - - 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 index c0d7193..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/ietf-dhcpv6-types.yang +++ /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 index 449081b..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/ietf-ip.yang +++ /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: - WG List: - Editor: Martin Bjorklund - "; - 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 index 7e3227d..0000000 --- a/features/devicemanager/x-ran/ru-fh/provider/src/main/yang/plus/org-openroadm-user-mgmt.yang +++ /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"; - } - } - } -} -- 2.16.6