From: Brad Davis Date: Thu, 10 Dec 2020 15:12:14 +0000 (-0800) Subject: Add Kumu yang file for full duplex (self backhaul) relay X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=scp%2Foam%2Fmodeling.git;a=commitdiff_plain;h=20487cc1310362d9bc165c66397c7fc14b4ca938 Add Kumu yang file for full duplex (self backhaul) relay IssueID: OAM-158 Change-Id: Ic1dc502ed719c05493184ecb82817baab40232fc Signed-off-by: Brad Davis --- diff --git a/data-model/yang/published/kumu/fd-relay.yang b/data-model/yang/published/kumu/fd-relay.yang new file mode 100644 index 0000000..4b307a9 --- /dev/null +++ b/data-model/yang/published/kumu/fd-relay.yang @@ -0,0 +1,672 @@ +module fd-relay { + yang-version 1.1; + namespace "urn:rdns:com:kumunetworks:yang:fd-relay"; + prefix "fdr"; + + import "ietf-inet-types" { + prefix "inet"; + } + + import ietf-yang-types { + prefix yang; + } + + import "ietf-interfaces" { + prefix "if"; + } + + organization "Kumu Networks"; + contact "Brad Davis"; + + description "Full-duplex relay data model"; + +/* *********************************************** + REVISIONS + *********************************************** */ + + revision "2020-10-13" { + description "Replace custom relay-interfaces with standard ietf-interfaces"; + reference "redmine 34169"; + } + revision "2020-10-01" { + description "Change SINR to type dB to include fractional portion, and PLMN_ID to string"; + reference "redmine 32899"; + } + revision "2020-09-14" { + description "Add additional parameters reboot, state_machine_state, alarm details and convert pci-lock and pci-blacklist to lists"; + reference "redmine 34005, 33787, 32899"; + } + revision "2019-09-09" { + description "Updated to resolve bugs"; + reference "Relay SoW"; + } + revision "2019-09-02" { + description "Initial revision."; + reference "N/A"; + } + +/* *********************************************** + TYPE DEFINITIONS + *********************************************** */ + + typedef lte-pci { + type uint16 { + range 0..503; + } + description "LTE Physical Cell ID"; + } + + typedef lte-band { + type uint8 { + range "2 | 4 | 12 | 13 | 17"; + } + description "LTE Band"; + } + + typedef lte-bw { + type uint8 { + range "5 | 10 | 15 | 20"; + } + description "LTE Bandwidth"; + } + + typedef dBm { + type decimal64 { + fraction-digits 2; + } + description "decibels mW"; + } + + typedef dB { + type decimal64 { + fraction-digits 2; + } + description "decibels"; + } + +/* *********************************************** + TYPE DEFINITIONS + *********************************************** */ + + grouping canx-module { + description 'cancellation module config and state'; + container state { + config false; + description 'cancellation module state information'; + leaf calibrated { + type boolean; + description 'cancellation module calibration state'; + } + + container mimo_mode { + description 'mimo configuration'; + leaf-list tx_mode { + type uint8 { + range 0..1; + } + description 'configured number of transmitters'; + } + leaf-list rx_mode { + type uint8 { + range 0..1; + } + description 'configured number of receivers'; + } + } + + leaf num_active_alarms { + type uint8; + description 'number of active alarms on module'; + } + + list active_alarms { + key name; + description 'list of active alarms on module'; + + leaf name { + type string; + description "name of alarm"; + } + + leaf state { + type boolean; + description "true if alarm is currently active"; + } + + leaf description { + type string; + description 'description of module alarm'; + } + + leaf severity { + type uint8; + description 'module alarm severity'; + } + } + + container powers { + description 'current power readings'; + leaf t0_power { + type dBm; + description 'tx0 path power (module-referred)'; + } + leaf t1_power { + type dBm; + description 'tx1 path power (module-referred)'; + } + leaf r0_power { + type dBm; + description 'rx0 path power (module-input referred)'; + } + leaf r1_power { + type dBm; + description 'rx1 path power (module-input referred)'; + } + } + + leaf-list installed-versions { + type string; + description "list of installed software and versioning"; + } + + leaf center-frequency { + type decimal64 { + fraction-digits 1; + } + description 'cancellation module configured center frequency'; + } + leaf bandwidth { + type uint8 { + range "5 | 10 | 15 | 20"; + } + description 'cancellation module configured bandwidth'; + } + leaf tx_sample_power { + type int8 { + range -5..24; + } + description 'cancellation module configured input-referred tx power'; + } + leaf rx_gain { + type string; + description 'cancellation module configured rx gain'; + } + + leaf local_ip_addr { + type inet:ip-address; + description 'cancellation module local configuration IP addr'; + } + } + } // grouping canx-module + + grouping band-info { + description "The current state within one band"; + leaf band { + type lte-band; + description "active primary band"; + } + + leaf dl-earfcn { + type uint16; + description "DL EARFCN"; + } + + leaf bw { + type lte-bw; + description "LTE Channel bandwidth in MHz"; + } + + leaf output-power { + type dBm; + description 'TX Output power in PUSCH'; + } + + leaf pci { + type lte-pci; + description 'Connected PCI'; + } + + leaf RSSI { + type dBm; + description "Backhaul link RSSI in dBm"; + } + + leaf RSRQ { + type int16; + description "RSRQ"; + } + + leaf-list rsrp { + type dBm; + description "per-antenna RSRP"; + } + + leaf-list sinr { + type dB; + description "per-antenna SINR"; + } + + list neighboring-cell-measurements { + key "pci"; + + leaf pci { + type lte-pci; + description "PCI"; + } + + leaf dlearfcn { + type uint16; + description "DLEARFCN for neighboring cell"; + } + + leaf rsrp { + type dBm; + description "RSRP"; + } + description "neighboring cell measurements list"; + } // list neighboring-cell-measurements + } // grouping band-info + + grouping relay-top { + description "Top level grouping for relay data (configuration & state)"; + + + container networking { + description "networking state & config data"; + container config { + description "networking configuration data"; + + container force-mtu { + description 'MTU Forced on system for all UE and ethernet interfaces, to avoid fragmentation'; + leaf enabled { + type boolean; + description 'is force MTU enabled for all interfaces (eth and ue)'; + } + leaf mtu { + type uint16; + description 'MTU to force on all interfaces'; + } + } + } + container state { + config false; + description "networking state data"; + + leaf-list interfaces { + type if:interface-ref; + description 'list of all system network interfaces, + including traffic counters, etc.'; + + } + } + } + + container dhcp-server { + description 'container for dhcp-server'; + container state { + config false; + description 'DHCP server state'; + + list leases { + key "ip"; + unique "mac-address"; + + leaf ip { + type inet:ip-address; + description "IP Address"; + } + + leaf mac-address { + type yang:phys-address; + description "Lease MAC Address"; + } + description "DHCP lease information"; + } + } + } + + container software { + config false; + description "Software information"; + leaf version { + type string; + description "Relay software version"; + } + } + + container cancellation { + description "container for cancellation modules' state and config data"; + container ul-module { + description 'uplink module state and config'; + uses canx-module; + } + container dl-module { + description 'downlink module state and config'; + uses canx-module; + } + } + + container sys-health { + description 'relay system health status'; + container state { + config false; + description 'relay system health status'; + + leaf system-uptime { + type uint32; + description "time since system reboot in seconds"; + } + + leaf temperature { + type int16; + description "temperature in deg C"; + } + + leaf num_active_alarms { + type uint8; + description 'number of active alarms on relay'; + } + + list active_alarms { + key name; + description 'list of active alarms on relay'; + + leaf name { + type string; + description "name of alarm"; + } + + leaf state { + type boolean; + description "true if alarm is currently active"; + } + + leaf description { + type string; + description 'description of relay alarm'; + } + + leaf severity { + type uint8; + description 'relay alarm severity'; + } + } + + leaf state_machine_state { + type string; + description "Current state of the state machine"; + } + } + container control { + description 'relay remote control'; + leaf reboot { + type boolean; + description "Reboot relay"; + } + } + } + + container ue { + description 'cellular modem status & configuration'; + + container config { + description 'cellular modem configuration'; + list pci-lock { + key pci; + description 'pci lock configuration'; + + leaf enabled { + type boolean; + description 'pci lock enabled/disabled'; + } + leaf pci { + type lte-pci; + description 'pci to lock'; + } + leaf earfcn { + type uint32; + description 'earfcn to lock'; + } + } + list pci-blacklist { + key lte-pci; + description 'List of PCIs that will never be attached too'; + + leaf lte-pci { + type lte-pci; + description 'PCI which will never be attached too'; + } + } + container sim-config { + description 'SIM Card configuration'; + leaf sim-cpin { + type string; + description "SIM Card PIN"; + } + } + + container heartbeat { + description 'heartbeat ip configuration'; + leaf enabled { + type boolean; + description "Enable/disable heartbeat functionality"; + } + + leaf heartbeat-server-ip { + type inet:ip-address; + description "Heartbeat server IP to check latency"; + } + + leaf heartbeat-interval { + type uint16; + description "Interval at which to check heartbeat"; + } + } + + container rf-config { + description 'rf configuration for ue'; + leaf enable-band-2 { + type boolean; + description "enable band 2"; + } + leaf enable-band-4 { + type boolean; + description "enable band 4"; + } + leaf enable-band-12 { + type boolean; + description "enable band 12"; + } + leaf enable-band-13 { + type boolean; + description "enable band 13"; + } + leaf enable-band-17 { + type boolean; + description "enable band 17"; + } + leaf disable-carrier-aggregration { + type boolean; + description "Enable/disable carrier aggregation"; + } + } + + } + container state { + config false; + description 'cellular modem state'; + + list ip-address { + key "apn"; + unique "ip"; + leaf apn { + type string; + description 'APN associated with IP address'; + } + + leaf ip { + type inet:ip-address; + description "IP Address"; + } + + leaf subnet { + type inet:ip-address; + description "Subnet Address"; + } + description "ip address and apn information"; + } + + leaf versions { + type string; + description "UE firmware version"; + } + + leaf latency { + type uint16; + description "last reported heartbeat latency"; + } + + leaf attached { + type boolean; + description "true if ue is attached to network"; + } + leaf conn-uptime { + type uint32; + description "connection uptime in seconds"; + } + + leaf ECI { + type string; + description "ECI"; + } + + leaf PLMN_ID { + type string; + description "PLMN ID"; + } + + leaf dl-data-rate { + type uint32; + description "Current DL Data Rate in bits/second"; + } + + leaf ul-data-rate { + type uint32; + description "Current UL Data Rate in bits/second"; + } + + leaf dl-mcs { + type uint8; + description "DL MCS Index"; + } + + container sim-info { + description 'SIM Card and subscription related information'; + leaf sim-card-present { + type boolean; + description "SIM Card present in unit"; + } + + leaf imei { + type string; + description "IMEI Number as ASCII string base 10"; + } + + leaf imsi { + type string; + description "ISMI Number as ASCII string base 10"; + } + } + + container heartbeat-status { + description 'heartbeat status'; + leaf reachable { + type boolean; + description "True if heartbeat IP is reachable"; + } + } + container primary-band-info { + description 'LTE primary carrier information'; + uses band-info; + } + + container ca-band-info { + description 'Secondary CA band information'; + uses band-info; + } + + leaf lan_mac { + type yang:phys-address; + description 'MAC address for UE LAN port'; + } + + leaf serial_number { + type string; + description "UE serial number"; + } + + } // container state + } // container ue + + container enb-info { + description 'eNB Information - Config & State'; + container config { + description "Relevant eNB Information for relay small cell"; + + leaf bandwidth { + type lte-bw; + description 'eNB Bandwidth in active bands'; + } + leaf tx-power-per-antenna_0 { + type dBm; + description 'TX Output power per antenna 0'; + } + leaf tx-power-per-antenna_1 { + type dBm; + description 'TX Output power per antenna 1'; + } + leaf dlearfcn { + type uint32; + description 'eNB DLEARFCN'; + } + leaf ulearfcn { + type uint32; + description 'eNB ULEARFCN'; + } + } + } + + container update { + description 'firmware upgrade'; + container config { + description "Configuration for pushing firmware upgrade"; + + leaf URL { + type string; + description 'URL to find the firmware ugprade'; + } + leaf username { + type string; + description 'username for the file server'; + } + leaf password { + type string; + description 'password for the file server'; + } + leaf enable { + type boolean; + description 'if true, trigger upgrade'; + } + } + } + + } + +/* *********************************************** + INSTANTIATION + *********************************************** */ + + uses relay-top; + + +}