blob: f1621a9c5fb606eee805285de99c71c47fd7d12a [file] [log] [blame]
Wei-Yu Chenad55cb82022-02-15 20:07:01 +08001# SPDX-FileCopyrightText: 2020 The Magma Authors.
2# SPDX-FileCopyrightText: 2022 Open Networking Foundation <support@opennetworking.org>
3#
4# SPDX-License-Identifier: BSD-3-Clause
Wei-Yu Chen49950b92021-11-08 19:19:18 +08005
6class ParameterName():
7 # Top-level objects
8 DEVICE = 'Device'
9 FAP_SERVICE = 'FAPService'
10
11 # Device info parameters
Wei-Yu Chenb91af852022-03-15 22:24:49 +080012 GPS_STATUS = 'gps_status'
Wei-Yu Chen49950b92021-11-08 19:19:18 +080013 PTP_STATUS = 'PTP status'
14 MME_STATUS = 'MME status'
15 REM_STATUS = 'REM status'
16
17 LOCAL_GATEWAY_ENABLE = 'Local gateway enable'
18 GPS_ENABLE = 'GPS enable'
19 GPS_LAT = 'GPS lat'
20 GPS_LONG = 'GPS long'
21 SW_VERSION = 'SW version'
22
23 SERIAL_NUMBER = 'Serial number'
Wei-Yu Chen8d064162022-05-27 21:06:55 +080024 CELL_ID = 'cell_id'
Wei-Yu Chen678f0a52021-12-21 13:50:52 +080025 IP_ADDRESS = "ip_address"
Wei-Yu Chen49950b92021-11-08 19:19:18 +080026
27 # Capabilities
28 DUPLEX_MODE_CAPABILITY = 'Duplex mode capability'
29 BAND_CAPABILITY = 'Band capability'
30
31 # RF-related parameters
Wei-Yu Chenb91af852022-03-15 22:24:49 +080032 EARFCNDL = 'earfcn_downlink1'
33 EARFCNUL = 'earfcn_uplink1'
34 EARFCNDL2 = 'earfcn_downlink2'
35 EARFCNUL2 = 'earfcn_uplink2'
36 EARFCNDL_LIST = 'earfcn_downlink_list'
37 EARFCNUL_LIST = 'earfcn_uplink_list'
Wei-Yu Chen678f0a52021-12-21 13:50:52 +080038
Wei-Yu Chenb91af852022-03-15 22:24:49 +080039 FREQ_BAND_1 = "frequency_band_1"
40 FREQ_BAND_2 = "frequency_band_2"
Wei-Yu Chen8d064162022-05-27 21:06:55 +080041 FREQ_BAND_LIST = "frequency_band_list"
Wei-Yu Chen678f0a52021-12-21 13:50:52 +080042
Wei-Yu Chen49950b92021-11-08 19:19:18 +080043 BAND = 'Band'
Wei-Yu Chen8d064162022-05-27 21:06:55 +080044 PCI_LIST = 'pci_list'
45 PCI1 = 'pci1'
46 PCI2 = 'pci2'
Wei-Yu Chenb91af852022-03-15 22:24:49 +080047 DL_BANDWIDTH = 'downlink_bandwidth'
48 UL_BANDWIDTH = 'uplink_bandwidth'
Wei-Yu Chen678f0a52021-12-21 13:50:52 +080049 TX_POWER = "tx_power"
50 TUNNEL_TYPE = "tunnel_type"
51
52 # Radio Resource Management (RRM) parameters
53 CARRIER_AGG_ENABLE = "carrier_agg_enable"
54 CARRIER_NUMBER = "carrier_number"
Wei-Yu Chenb91af852022-03-15 22:24:49 +080055 CONTIGUOUS_CC = "is_ca_frequency_contiguous"
Wei-Yu Chen49950b92021-11-08 19:19:18 +080056
57 # Other LTE parameters
Wei-Yu Chenb91af852022-03-15 22:24:49 +080058 ADMIN_STATE = 'admin_state'
Wei-Yu Chen49950b92021-11-08 19:19:18 +080059 OP_STATE = 'Opstate'
60 RF_TX_STATUS = 'RF TX status'
61
62 # RAN parameters
63 CELL_RESERVED = 'Cell reserved'
64 CELL_BARRED = 'Cell barred'
Wei-Yu Chenb91af852022-03-15 22:24:49 +080065 PRIM_SOURCE = "primary_source"
Wei-Yu Chen49950b92021-11-08 19:19:18 +080066
Wei-Yu Chenad55cb82022-02-15 20:07:01 +080067 # Cell parameters
Wei-Yu Chenb91af852022-03-15 22:24:49 +080068 CELL_ENABLE64QAM = "enable64qam"
Wei-Yu Chen8d064162022-05-27 21:06:55 +080069 SPECIAL_SUBFRAME_PATTERN = 'special_subframe_pattern'
Wei-Yu Chenad55cb82022-02-15 20:07:01 +080070 SUBFRAME_ASSIGNMENT = 'subframe_assignment'
71
Wei-Yu Chen49950b92021-11-08 19:19:18 +080072 # Core network parameters
Wei-Yu Chen8d064162022-05-27 21:06:55 +080073 MME_ADDRESS = 'mme_address'
74 MME_PORT = 'mme_port'
Wei-Yu Chen49950b92021-11-08 19:19:18 +080075 NUM_PLMNS = 'Num PLMNs'
76 PLMN = 'PLMN'
Wei-Yu Chen8d064162022-05-27 21:06:55 +080077 PLMN_LIST = 'plmn_list'
Wei-Yu Chen49950b92021-11-08 19:19:18 +080078
79 # PLMN parameters
80 PLMN_N = 'PLMN %d'
81 PLMN_N_CELL_RESERVED = 'PLMN %d cell reserved'
82 PLMN_N_ENABLE = 'PLMN %d enable'
83 PLMN_N_PRIMARY = 'PLMN %d primary'
84 PLMN_N_PLMNID = 'PLMN %d PLMNID'
85
86 # PLMN arrays are added below
Wei-Yu Chen8d064162022-05-27 21:06:55 +080087 TAC1 = 'tac1'
Wei-Yu Chen678f0a52021-12-21 13:50:52 +080088 TAC2 = 'tac2'
Wei-Yu Chenb91af852022-03-15 22:24:49 +080089 IP_SEC_ENABLE = 'ipsec_enable'
90 MME_POOL_ENABLE = 'mme_pool_enable'
Wei-Yu Chen49950b92021-11-08 19:19:18 +080091
92 # Management server parameters
Wei-Yu Chenb91af852022-03-15 22:24:49 +080093 PERIODIC_INFORM_ENABLE = 'periodic_inform_enable'
94 PERIODIC_INFORM_INTERVAL = 'periodic_inform_interval'
95 CWMP_ENABLE = "cwmp_enable"
Wei-Yu Chen49950b92021-11-08 19:19:18 +080096
97 # Performance management parameters
Wei-Yu Chenb91af852022-03-15 22:24:49 +080098 PERF_MGMT_ENABLE = 'perf_mgmt_enable'
99 PERF_MGMT_UPLOAD_INTERVAL = 'perf_mgmt_upload_interval'
100 PERF_MGMT_UPLOAD_URL = 'perf_mgmt_upload_url'
101 PERF_MGMT_USER = 'perf_mgmt_username'
102 PERF_MGMT_PASSWORD = 'perf_mgmt_password'
Wei-Yu Chen49950b92021-11-08 19:19:18 +0800103
Wei-Yu Chenb91af852022-03-15 22:24:49 +0800104 SAS_ENABLE = "sas_enable"
Wei-Yu Chen678f0a52021-12-21 13:50:52 +0800105 SAS_SERVER_URL = "sas_server_url"
106 SAS_UID = "sas_uid"
107 SAS_CATEGORY = "sas_category"
108 SAS_CHANNEL_TYPE = "sas_channel_type"
109 SAS_CERT_SUBJECT = "sas_cert_subject"
110 SAS_IC_GROUP_ID = "sas_icg_group_id"
111 SAS_LOCATION = "sas_location"
112 SAS_HEIGHT_TYPE = "sas_height_type"
113 SAS_FCCID = "sas_fccid"
114 SAS_MEAS_CAPS = "sas_measure_capability"
Wei-Yu Chenb91af852022-03-15 22:24:49 +0800115 SAS_MANU_ENABLE = "manufacturer_prefix_enable"
Wei-Yu Chen678f0a52021-12-21 13:50:52 +0800116
Wei-Yu Chenb91af852022-03-15 22:24:49 +0800117 SAS_CPI_ENABLE = "cpi_enable"
Wei-Yu Chen678f0a52021-12-21 13:50:52 +0800118 SAS_CPI_IPE = "sas_cpi_ipe"
119 SAS_CPI_NAME = "sas_cpi_name"
120 SAS_CPI_ID = "sas_cpi_id"
121 SAS_CPI_DATA = "sas_cpi_signature_data"
122 SAS_ANTA_AZIMUTH = "sas_antenna_azimuth"
123 SAS_ANTA_DOWNTILT = "sas_antenna_downtilt"
124 SAS_ANTA_GAIN = "sas_antenna_gain"
125 SAS_ANTA_BEAMWIDTH = "sas_antenna_beamwidth"
126
127 FIRMWARE_VERSION = "firmware_version"
128 FIRMWARE_URL = "firmware_url"
129 FIRMWARE_SIZE = "firmware_size"
130
Wei-Yu Chen8d064162022-05-27 21:06:55 +0800131 @classmethod
132 def all_paramters(cls):
133 """ Return all possible parameter in the structure """
134 ret_dict = dict()
135 for item in filter(lambda x: x[:2] != "__", cls.__dict__.keys()):
136 if not callable(getattr(cls, item)):
137 # The return format is a reversed dictionary
138 # {'cell_id': 'CELL_ID', ...}
139 ret_dict[getattr(cls, item)] = item
140
141 return ret_dict
142
143
Wei-Yu Chen49950b92021-11-08 19:19:18 +0800144
145class TrParameterType():
146 BOOLEAN = 'boolean'
147 STRING = 'string'
148 INT = 'int'
149 UNSIGNED_INT = 'unsignedInt'
150 OBJECT = 'object'