Remove remaining unused RAL code
This commit is contained in:
@@ -4,9 +4,6 @@
|
||||
#include "openair2/COMMON/pdcp_messages_def.h"
|
||||
#include "openair2/COMMON/rrc_messages_def.h"
|
||||
#include "openair2/COMMON/nas_messages_def.h"
|
||||
#if ENABLE_RAL
|
||||
#include "openair2/COMMON/ral_messages_def.h"
|
||||
#endif
|
||||
#include "openair2/COMMON/s1ap_messages_def.h"
|
||||
#include "openair2/COMMON/x2ap_messages_def.h"
|
||||
#include "openair2/COMMON/m2ap_messages_def.h"
|
||||
|
||||
@@ -222,9 +222,6 @@ typedef struct IttiMsgText_s {
|
||||
|
||||
#include <openair3/NAS/COMMON/API/NETWORK/nas_message.h>
|
||||
#include <openair2/COMMON/nas_messages_types.h>
|
||||
#if ENABLE_RAL
|
||||
#include <ral_messages_types.h>
|
||||
#endif
|
||||
#include <openair2/COMMON/s1ap_messages_types.h>
|
||||
#include <openair2/COMMON/x2ap_messages_types.h>
|
||||
#include <openair2/COMMON/m2ap_messages_types.h>
|
||||
|
||||
@@ -29,10 +29,6 @@
|
||||
#include "x2ap_eNB.h"
|
||||
#include "s1ap_eNB.h"
|
||||
#include "openair3/ocp-gtpu/gtp_itf.h"
|
||||
#if ENABLE_RAL
|
||||
#include "lteRALue.h"
|
||||
#include "lteRALenb.h"
|
||||
#endif
|
||||
#include "RRC/LTE/rrc_defs.h"
|
||||
# include "enb_app.h"
|
||||
# include "openair2/LAYER2/MAC/mac_proto.h"
|
||||
|
||||
@@ -33,10 +33,6 @@
|
||||
#include "m2ap_MCE.h"
|
||||
#include "m3ap_MME.h"
|
||||
#include "m3ap_MCE.h"
|
||||
#if ENABLE_RAL
|
||||
#include "lteRALue.h"
|
||||
#include "lteRALenb.h"
|
||||
#endif
|
||||
#include "RRC/LTE/rrc_defs.h"
|
||||
# include "enb_app.h"
|
||||
# include "mce_app.h"
|
||||
|
||||
@@ -27,10 +27,6 @@
|
||||
#include "sctp_eNB_task.h"
|
||||
#include "s1ap_eNB.h"
|
||||
#include "openair3/NAS/UE/nas_ue_task.h"
|
||||
#if ENABLE_RAL
|
||||
#include "lteRALue.h"
|
||||
#include "lteRALenb.h"
|
||||
#endif
|
||||
#include "RRC/LTE/rrc_defs.h"
|
||||
# include "enb_app.h"
|
||||
|
||||
|
||||
@@ -45,11 +45,6 @@
|
||||
#include "defs_eNB.h"
|
||||
//#include <complex.h>
|
||||
#include "assertions.h"
|
||||
#if ENABLE_RAL
|
||||
#include "collection/hashtable/hashtable.h"
|
||||
#include "COMMON/ral_messages_types.h"
|
||||
#include "UTIL/queue.h"
|
||||
#endif
|
||||
#include "common/utils/LOG/log.h"
|
||||
#define msg(aRGS...) LOG_D(PHY, ##aRGS)
|
||||
//use msg in the real-time thread context
|
||||
@@ -960,11 +955,6 @@ typedef struct {
|
||||
time_stats_t dlsch_llr_stripping_unit_SIC_stats;
|
||||
time_stats_t dlsch_unscrambling_SIC_stats;
|
||||
|
||||
#if ENABLE_RAL
|
||||
hash_table_t *ral_thresholds_timed;
|
||||
SLIST_HEAD(ral_thresholds_gen_poll_s, ral_threshold_phy_t) ral_thresholds_gen_polled[RAL_LINK_PARAM_GEN_MAX];
|
||||
SLIST_HEAD(ral_thresholds_lte_poll_s, ral_threshold_phy_t) ral_thresholds_lte_polled[RAL_LINK_PARAM_LTE_MAX];
|
||||
#endif
|
||||
*/
|
||||
} PHY_VARS_UE_NB_IoT;
|
||||
|
||||
|
||||
@@ -76,11 +76,6 @@
|
||||
#define stop_UE_TIMING(a)
|
||||
#endif
|
||||
|
||||
#if ENABLE_RAL
|
||||
#include "collection/hashtable/hashtable.h"
|
||||
#include "COMMON/ral_messages_types.h"
|
||||
#include "UTIL/queue.h"
|
||||
#endif
|
||||
#include "common/utils/LOG/log.h"
|
||||
#define msg(aRGS...) LOG_D(PHY, ##aRGS)
|
||||
|
||||
|
||||
@@ -56,11 +56,6 @@
|
||||
#include "actor.h"
|
||||
//#include "openair1/SCHED_NR_UE/defs.h"
|
||||
|
||||
#if ENABLE_RAL
|
||||
#include "common/utils/hashtable/hashtable.h"
|
||||
#include "COMMON/ral_messages_types.h"
|
||||
#include "UTIL/queue.h"
|
||||
#endif
|
||||
#define msg(aRGS...) LOG_D(PHY, ##aRGS)
|
||||
// use msg in the real-time thread context
|
||||
#define msg_nrt printf
|
||||
|
||||
@@ -30,9 +30,6 @@
|
||||
#include "pdcp_messages_def.h"
|
||||
#include "rrc_messages_def.h"
|
||||
#include "nas_messages_def.h"
|
||||
#if ENABLE_RAL
|
||||
#include "ral_messages_def.h"
|
||||
#endif
|
||||
#include "s1ap_messages_def.h"
|
||||
#include "f1ap_messages_def.h"
|
||||
#include "x2ap_messages_def.h"
|
||||
|
||||
@@ -88,9 +88,6 @@ typedef struct PhyDeactivateReq_s {
|
||||
} PhyDeactivateReq;
|
||||
|
||||
typedef struct PhyFindCellReq_s {
|
||||
# if ENABLE_RAL
|
||||
ral_transaction_id_t transaction_id;
|
||||
# endif
|
||||
Earfcn earfcn_start;
|
||||
Earfcn earfcn_end;
|
||||
} PhyFindCellReq;
|
||||
@@ -105,27 +102,16 @@ typedef struct PhyMeasThresholdReq_s {
|
||||
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||
// To be removed if the structure is filled
|
||||
uint32_t dummy;
|
||||
# if ENABLE_RAL
|
||||
ral_transaction_id_t transaction_id;
|
||||
ral_link_cfg_param_t cfg_param;
|
||||
#endif
|
||||
} PhyMeasThresholdReq;
|
||||
|
||||
typedef struct PhyMeasReportInd_s {
|
||||
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||
// To be removed if the structure is filled
|
||||
uint32_t dummy;
|
||||
# if ENABLE_RAL
|
||||
ral_threshold_t threshold;
|
||||
ral_link_param_t link_param;
|
||||
#endif
|
||||
} PhyMeasReportInd;
|
||||
|
||||
// UE: PHY -> RRC messages
|
||||
typedef struct PhyFindCellInd_s {
|
||||
# if ENABLE_RAL
|
||||
ral_transaction_id_t transaction_id;
|
||||
# endif
|
||||
uint8_t cell_nb;
|
||||
CellInfo cells[MAX_REPORTED_CELL];
|
||||
} PhyFindCellInd;
|
||||
@@ -134,11 +120,5 @@ typedef struct PhyMeasThresholdConf_s {
|
||||
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||
// To be removed if the structure is filled
|
||||
uint32_t dummy;
|
||||
# if ENABLE_RAL
|
||||
ral_transaction_id_t transaction_id;
|
||||
ral_status_t status;
|
||||
uint8_t num_link_cfg_params;
|
||||
ral_link_cfg_status_t cfg_status[RAL_MAX_LINK_CFG_PARAMS];
|
||||
#endif
|
||||
} PhyMeasThresholdConf;
|
||||
#endif /* PHY_MESSAGES_TYPES_H_ */
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
MESSAGE_DEF(RRC_RAL_SYSTEM_CONFIGURATION_IND, MESSAGE_PRIORITY_MED, rrc_ral_system_configuration_ind_t, rrc_ral_system_configuration_ind)
|
||||
MESSAGE_DEF(RRC_RAL_SYSTEM_INFORMATION_IND, MESSAGE_PRIORITY_MED, rrc_ral_system_information_ind_t, rrc_ral_system_information_ind)
|
||||
|
||||
MESSAGE_DEF(RRC_RAL_SCAN_REQ, MESSAGE_PRIORITY_MED, rrc_ral_scan_req_t, rrc_ral_scan_req)
|
||||
MESSAGE_DEF(RRC_RAL_SCAN_CONF, MESSAGE_PRIORITY_MED, rrc_ral_scan_conf_t, rrc_ral_scan_conf)
|
||||
|
||||
MESSAGE_DEF(RRC_RAL_CONFIGURE_THRESHOLD_REQ, MESSAGE_PRIORITY_MED, rrc_ral_configure_threshold_req_t, rrc_ral_configure_threshold_req)
|
||||
MESSAGE_DEF(RRC_RAL_CONFIGURE_THRESHOLD_CONF, MESSAGE_PRIORITY_MED, rrc_ral_configure_threshold_conf_t, rrc_ral_configure_threshold_conf)
|
||||
MESSAGE_DEF(RRC_RAL_MEASUREMENT_REPORT_IND, MESSAGE_PRIORITY_MED, rrc_ral_measurement_report_ind_t, rrc_ral_measurement_report_ind)
|
||||
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_ESTABLISHMENT_REQ, MESSAGE_PRIORITY_MED, rrc_ral_connection_establishment_req_t, rrc_ral_connection_establishment_req)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_ESTABLISHMENT_CONF, MESSAGE_PRIORITY_MED, rrc_ral_connection_establishment_conf_t, rrc_ral_connection_establishment_conf)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_ESTABLISHMENT_IND, MESSAGE_PRIORITY_MED, rrc_ral_connection_establishment_ind_t, rrc_ral_connection_establishment_ind)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_REESTABLISHMENT_IND, MESSAGE_PRIORITY_MED, rrc_ral_connection_reestablishment_ind_t, rrc_ral_connection_reestablishment_ind)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RECONFIGURATION_REQ, MESSAGE_PRIORITY_MAX, rrc_ral_connection_reconfiguration_req_t, rrc_ral_connection_reconfiguration_req)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RECONFIGURATION_IND, MESSAGE_PRIORITY_MAX, rrc_ral_connection_reconfiguration_ind_t, rrc_ral_connection_reconfiguration_ind)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND, MESSAGE_PRIORITY_MAX, rrc_ral_connection_reconfiguration_ho_ind_t, rrc_ral_connection_reconfiguration_ho_ind)
|
||||
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RELEASE_REQ, MESSAGE_PRIORITY_MED, rrc_ral_connection_release_req_t, rrc_ral_connection_release_req)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RELEASE_CONF, MESSAGE_PRIORITY_MED, rrc_ral_connection_release_conf_t, rrc_ral_connection_release_conf)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RELEASE_IND, MESSAGE_PRIORITY_MED, rrc_ral_connection_release_ind_t, rrc_ral_connection_release_ind)
|
||||
|
||||
@@ -1,313 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#ifndef RAL_MESSAGES_TYPES_H_
|
||||
#define RAL_MESSAGES_TYPES_H_
|
||||
#include "asn_constant.h"
|
||||
#include "common/platform_types.h"
|
||||
#include "commonDef.h"
|
||||
/* 802.21 mappings with the RRC protocol :
|
||||
(Research Report RR-12-265 Mapping of IEEE 802.21 MIH primitives to EPS/LTE protocols March 13 th, 2012, Michelle WETTERWALD, Prof. Christian BONNET )
|
||||
LINK EVENTS:
|
||||
Link_Detected System Information
|
||||
|
||||
Link_Up RRC Connection establishment
|
||||
RRC Connection re-establishment
|
||||
RRC Connection reconfiguration
|
||||
|
||||
Link_Down RRC Connection reconfiguration
|
||||
RRC Connection Release
|
||||
|
||||
Link_Parameters_Report Measurement report
|
||||
Link_Going_Down N/A
|
||||
Link_Handover_Imminent N/A
|
||||
Link_Handover_Complete RRC Connection reconfiguration
|
||||
Link_PDU_Transmit_Status N/A
|
||||
|
||||
|
||||
LINK COMMANDS:
|
||||
Link_Capability_Discover N/A
|
||||
Link_Event_Subscribe Measurement configuration
|
||||
Link_Event_Unsubscribe Measurement configuration
|
||||
Link_Get_Parameters Measurement configuration
|
||||
Link_Configure_Thresholds Measurement configuration
|
||||
Link_Action / Disconnect RRC Connection Release
|
||||
Link_Action / Low Power N/A
|
||||
Link_Action / Power Down RRC Connection Release
|
||||
Link_Action / Power Up RRC Connection establishment
|
||||
*/
|
||||
|
||||
#define RRC_RAL_SYSTEM_CONFIGURATION_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_system_configuration_ind
|
||||
#define RRC_RAL_SYSTEM_INFORMATION_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_system_information_ind
|
||||
|
||||
#define RRC_RAL_SCAN_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_scan_req
|
||||
#define RRC_RAL_SCAN_CONF(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_scan_conf
|
||||
|
||||
#define RRC_RAL_CONFIGURE_THRESHOLD_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_configure_threshold_req
|
||||
#define RRC_RAL_CONFIGURE_THRESHOLD_CONF(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_configure_threshold_conf
|
||||
#define RRC_RAL_MEASUREMENT_REPORT_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_measurement_report_ind
|
||||
|
||||
#define RRC_RAL_CONNECTION_ESTABLISHMENT_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_establishment_req
|
||||
#define RRC_RAL_CONNECTION_ESTABLISHMENT_CONF(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_establishment_conf
|
||||
#define RRC_RAL_CONNECTION_ESTABLISHMENT_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_establishment_ind
|
||||
#define RRC_RAL_CONNECTION_REESTABLISHMENT_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_reestablishment_ind
|
||||
#define RRC_RAL_CONNECTION_RECONFIGURATION_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_reconfiguration_req
|
||||
#define RRC_RAL_CONNECTION_RECONFIGURATION_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_reconfiguration_ind
|
||||
#define RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_reconfiguration_ho_ind
|
||||
|
||||
#define RRC_RAL_CONNECTION_RELEASE_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_release_req
|
||||
#define RRC_RAL_CONNECTION_RELEASE_CONF(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_release_conf
|
||||
#define RRC_RAL_CONNECTION_RELEASE_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_release_ind
|
||||
|
||||
#include "MIH_C_header_codec.h"
|
||||
|
||||
typedef MIH_C_TRANSACTION_ID_T ral_transaction_id_t;
|
||||
typedef MIH_C_STATUS_T ral_status_t;
|
||||
typedef MIH_C_CHOICE_T ral_choice_t;
|
||||
typedef MIH_C_CONFIG_STATUS_T ral_config_status_t;
|
||||
typedef MIH_C_TH_ACTION_T ral_th_action_t;
|
||||
typedef MIH_C_LINK_ACTION_T ral_link_action_t;
|
||||
|
||||
#define RAL_LINK_ADDR_LIST_LENGTH MIH_C_LINK_ADDR_LIST_LENGTH
|
||||
|
||||
typedef struct ral_network_id_s {
|
||||
u_int16_t length;
|
||||
u_int8_t val[253];
|
||||
} ral_network_id_t;
|
||||
|
||||
typedef struct ral_link_addr_s {
|
||||
u_int16_t length;
|
||||
u_int8_t val[RAL_LINK_ADDR_LIST_LENGTH];
|
||||
} ral_link_addr_t;
|
||||
|
||||
typedef struct ral_sig_strength_s {
|
||||
ral_choice_t choice;
|
||||
union {
|
||||
uint8_t dbm;
|
||||
uint8_t percentage;
|
||||
} _union;
|
||||
} ral_sig_strength_t;
|
||||
#define RAL_SIG_STRENGTH_CHOICE_DBM (ral_choice_t)0
|
||||
#define RAL_SIG_STRENGTH_CHOICE_PERCENTAGE (ral_choice_t)1
|
||||
|
||||
|
||||
// FOR ENB ONLY
|
||||
typedef struct rrc_ral_system_configuration_ind_s {
|
||||
plmn_t plmn_id;
|
||||
unsigned int cell_id:28;
|
||||
} rrc_ral_system_configuration_ind_t;
|
||||
|
||||
// FOR UE ONLY
|
||||
typedef struct rrc_ral_system_information_ind_s {
|
||||
plmn_t plmn_id;
|
||||
unsigned int cell_id:28;
|
||||
uint8_t dbm; // sig strength
|
||||
uint16_t sinr;
|
||||
uint32_t link_data_rate; //the maximum data rate in kb/s
|
||||
|
||||
} rrc_ral_system_information_ind_t;
|
||||
|
||||
typedef struct ral_link_scan_resp_s {
|
||||
ral_link_addr_t link_addr;
|
||||
ral_network_id_t network_id;
|
||||
ral_sig_strength_t sig_strength;
|
||||
} ral_link_scan_resp_t;
|
||||
|
||||
typedef struct rrc_ral_scan_req_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
|
||||
} rrc_ral_scan_req_t;
|
||||
|
||||
typedef struct rrc_ral_scan_conf_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
#define RAL_MAX_LINK_SCAN_RESP 16
|
||||
uint8_t num_scan_resp;
|
||||
ral_link_scan_resp_t link_scan_resp[RAL_MAX_LINK_SCAN_RESP];
|
||||
} rrc_ral_scan_conf_t;
|
||||
|
||||
typedef struct rrc_ral_connection_establishment_req_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
|
||||
} rrc_ral_connection_establishment_req_t;
|
||||
|
||||
typedef struct rrc_ral_connection_establishment_conf_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
|
||||
} rrc_ral_connection_establishment_conf_t;
|
||||
|
||||
typedef struct rrc_ral_connection_establishment_ind_s {
|
||||
uint16_t ue_id; // may be c-rnti
|
||||
} rrc_ral_connection_establishment_ind_t;
|
||||
|
||||
|
||||
typedef struct rrc_ral_connection_reestablishment_ind_s {
|
||||
uint16_t ue_id;
|
||||
uint8_t num_drb;
|
||||
rb_id_t drb_id[maxDRB];
|
||||
uint8_t num_srb;
|
||||
} rrc_ral_connection_reestablishment_ind_t;
|
||||
|
||||
typedef struct rrc_ral_connection_reconfiguration_req_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
uint16_t ue_id;
|
||||
ral_link_action_t link_action;
|
||||
// uint8_t num_drb;
|
||||
// rb_id_t drb_id[maxDRB];
|
||||
// uint8_t num_srb;
|
||||
} rrc_ral_connection_reconfiguration_req_t;
|
||||
|
||||
|
||||
typedef struct rrc_ral_connection_reconfiguration_ind_s {
|
||||
uint16_t ue_id;
|
||||
uint8_t num_drb;
|
||||
rb_id_t drb_id[maxDRB];
|
||||
uint8_t num_srb;
|
||||
} rrc_ral_connection_reconfiguration_ind_t;
|
||||
|
||||
typedef struct rrc_ral_connection_reconfiguration_ho_ind_s {
|
||||
uint16_t ue_id;
|
||||
uint8_t num_drb;
|
||||
rb_id_t drb_id[maxDRB];
|
||||
uint8_t num_srb;
|
||||
//unsigned int cell_id:28;
|
||||
} rrc_ral_connection_reconfiguration_ho_ind_t;
|
||||
|
||||
typedef struct ral_threshold_s {
|
||||
uint16_t threshold_val;
|
||||
uint8_t threshold_xdir;
|
||||
} ral_threshold_t;
|
||||
|
||||
|
||||
typedef MIH_C_LINK_PARAM_GEN_T ral_link_param_gen_t;
|
||||
#define RAL_LINK_PARAM_GEN_PACKET_ERROR_RATE MIH_C_LINK_PARAM_GEN_PACKET_ERROR_RATE
|
||||
#define RAL_LINK_PARAM_GEN_MAX RAL_LINK_PARAM_GEN_PACKET_ERROR_RATE
|
||||
|
||||
typedef MIH_C_LINK_PARAM_QOS_T ral_link_param_qos_t;
|
||||
#define RAL_LINK_PARAM_QOS_PACKET_LOSS_RATE_ALL_COS_FRAME_RATIO MIH_C_LINK_PARAM_QOS_PACKET_LOSS_RATE_ALL_COS_FRAME_RATIO
|
||||
|
||||
typedef MIH_C_LINK_PARAM_LTE_T ral_link_param_lte_t;
|
||||
#define RAL_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW MIH_C_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW
|
||||
#define RAL_LINK_PARAM_LTE_MAX RAL_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW
|
||||
|
||||
#define RAL_LINK_PARAM_TYPE_CHOICE_GEN MIH_C_LINK_PARAM_TYPE_CHOICE_GEN // 0
|
||||
#define RAL_LINK_PARAM_TYPE_CHOICE_LTE MIH_C_LINK_PARAM_TYPE_CHOICE_LTE // 12
|
||||
|
||||
typedef struct ral_link_param_type_s {
|
||||
ral_choice_t choice;
|
||||
union {
|
||||
ral_link_param_gen_t link_param_gen;
|
||||
ral_link_param_qos_t link_param_qos;
|
||||
ral_link_param_lte_t link_param_lte;
|
||||
} _union;
|
||||
} ral_link_param_type_t;
|
||||
|
||||
typedef uint16_t ral_link_param_val_t;
|
||||
typedef MIH_C_NUM_COS_TYPES_T ral_num_cos_types_t ;
|
||||
|
||||
typedef struct ral_qos_param_val_s {
|
||||
ral_choice_t choice;
|
||||
union {
|
||||
ral_num_cos_types_t num_qos_types;
|
||||
LIST(MIH_C_MIN_PK_TX_DELAY, min_pk_tx_delay)
|
||||
LIST(MIH_C_AVG_PK_TX_DELAY, avg_pk_tx_delay)
|
||||
LIST(MIH_C_MAX_PK_TX_DELAY, max_pk_tx_delay)
|
||||
LIST(MIH_C_PK_DELAY_JITTER, pk_delay_jitter)
|
||||
LIST(MIH_C_PK_LOSS_RATE, pk_loss_rate)
|
||||
} _union;
|
||||
} ral_qos_param_val_t;
|
||||
|
||||
typedef struct ral_link_param_s {
|
||||
ral_link_param_type_t link_param_type;
|
||||
ral_choice_t choice;
|
||||
union {
|
||||
ral_link_param_val_t link_param_val;
|
||||
ral_qos_param_val_t qos_param_val;
|
||||
} _union;
|
||||
} ral_link_param_t;
|
||||
|
||||
typedef struct ral_link_cfg_param_s {
|
||||
ral_link_param_type_t link_param_type;
|
||||
uint8_t union_choice;
|
||||
union {
|
||||
uint8_t null_attr;
|
||||
uint16_t timer_interval; // This timer value (ms) is used to set the interval between periodic reports.
|
||||
} _union;
|
||||
ral_th_action_t th_action; // indicates what action to apply to the listed thresholds.
|
||||
// When “Cancel threshold” is selected and no thresholds are specified, then
|
||||
// all currently configured thresholds for the given LINK_PARAM_TYPE are can-
|
||||
// celled.
|
||||
// When “Cancel threshold” is selected and thresholds are specified only those
|
||||
// configured thresholds for the given LINK_PARAM_TYPE and whose threshold
|
||||
// value match what was specified are cancelled.
|
||||
// With “Set one-shot threshold” the listed thresholds are first set and then
|
||||
// each of the threshold is cancelled as soon as it is crossed for the first
|
||||
// time.
|
||||
uint8_t num_thresholds;
|
||||
#define RAL_LINK_CFG_PARAM_MAX_THRESHOLDS 16
|
||||
ral_threshold_t thresholds[RAL_LINK_CFG_PARAM_MAX_THRESHOLDS];
|
||||
} ral_link_cfg_param_t;
|
||||
|
||||
|
||||
typedef struct rrc_ral_configure_threshold_req_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
#define RAL_MAX_LINK_CFG_PARAMS 16
|
||||
uint8_t num_link_cfg_params;
|
||||
ral_link_cfg_param_t link_cfg_params[RAL_MAX_LINK_CFG_PARAMS];
|
||||
} rrc_ral_configure_threshold_req_t;
|
||||
|
||||
typedef struct ral_link_cfg_status_s {
|
||||
ral_link_param_type_t link_param_type;
|
||||
ral_threshold_t threshold;
|
||||
ral_config_status_t config_status;
|
||||
} ral_link_cfg_status_t;
|
||||
|
||||
typedef struct rrc_ral_configure_threshold_conf_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
ral_status_t status;
|
||||
uint8_t num_link_cfg_params;
|
||||
ral_link_cfg_status_t cfg_status[RAL_MAX_LINK_CFG_PARAMS];
|
||||
} rrc_ral_configure_threshold_conf_t;
|
||||
|
||||
typedef struct rrc_ral_measurement_report_ind_s {
|
||||
ral_threshold_t threshold;
|
||||
ral_link_param_t link_param;
|
||||
} rrc_ral_measurement_report_ind_t;
|
||||
|
||||
|
||||
typedef struct rrc_ral_connection_release_req_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
uint16_t ue_id;
|
||||
} rrc_ral_connection_release_req_t;
|
||||
|
||||
typedef struct rrc_ral_connection_release_conf_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
uint16_t ue_id;
|
||||
} rrc_ral_connection_release_conf_t;
|
||||
|
||||
|
||||
typedef struct rrc_ral_connection_release_ind_s {
|
||||
uint16_t ue_id;
|
||||
} rrc_ral_connection_release_ind_t;
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* RAL_MESSAGES_TYPES_H_ */
|
||||
@@ -66,13 +66,6 @@
|
||||
# include "intertask_interface.h"
|
||||
# include "commonDef.h"
|
||||
|
||||
|
||||
#if ENABLE_RAL
|
||||
#include "collection/hashtable/obj_hashtable.h"
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*I will change the name of the structure for compile purposes--> hope not to undo this process*/
|
||||
|
||||
typedef unsigned int uid_NB_IoT_t;
|
||||
|
||||
@@ -65,9 +65,6 @@
|
||||
#include "LTE_UE-CapabilityRequest.h"
|
||||
|
||||
#include "common/utils/tun_if.h"
|
||||
#if ENABLE_RAL
|
||||
#include "rrc_UE_ral.h"
|
||||
#endif
|
||||
|
||||
#include "openair3/SECU/key_nas_deriver.h"
|
||||
|
||||
@@ -1234,11 +1231,6 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
(LTE_PMCH_InfoList_r9_t *)NULL,
|
||||
0, 0
|
||||
);
|
||||
#if ENABLE_RAL
|
||||
// first msg that includes srb config
|
||||
UE_rrc_inst[ctxt_pP->module_id].num_srb=radioResourceConfigDedicated->srb_ToAddModList->list.count;
|
||||
#endif
|
||||
|
||||
for (cnt=0; cnt<radioResourceConfigDedicated->srb_ToAddModList->list.count; cnt++) {
|
||||
// connection_reestablishment_ind.num_srb+=1;
|
||||
SRB_id = radioResourceConfigDedicated->srb_ToAddModList->list.array[cnt]->srb_Identity;
|
||||
@@ -1829,49 +1821,6 @@ static void rrc_ue_process_rrcConnectionReconfiguration(const protocol_ctxt_t *c
|
||||
free (r_r8->dedicatedInfoNASList);
|
||||
}
|
||||
|
||||
#if ENABLE_RAL
|
||||
{
|
||||
MessageDef *message_ral_p = NULL;
|
||||
rrc_ral_connection_reestablishment_ind_t connection_reestablishment_ind;
|
||||
int i;
|
||||
message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_CONNECTION_REESTABLISHMENT_IND);
|
||||
memset(&connection_reestablishment_ind, 0, sizeof(rrc_ral_connection_reestablishment_ind_t));
|
||||
// TO DO ral_si_ind.plmn_id = 0;
|
||||
connection_reestablishment_ind.ue_id = ctxt_pP->rntiMaybeUEid;
|
||||
|
||||
if (rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList != NULL) {
|
||||
connection_reestablishment_ind.num_drb =
|
||||
rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count;
|
||||
|
||||
for (i=0; (
|
||||
i<rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count)
|
||||
&& (i < LTE_maxDRB); i++) {
|
||||
// why minus 1 in RRC code for drb_identity ?
|
||||
connection_reestablishment_ind.drb_id[i] =
|
||||
rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity;
|
||||
}
|
||||
} else {
|
||||
connection_reestablishment_ind.num_drb = 0;
|
||||
}
|
||||
|
||||
if (rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList != NULL) {
|
||||
connection_reestablishment_ind.num_srb =
|
||||
rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count +
|
||||
UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
} else {
|
||||
connection_reestablishment_ind.num_srb += UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
}
|
||||
|
||||
if (connection_reestablishment_ind.num_srb > 2) { // fixme: only 2 srbs can exist, adjust the value
|
||||
connection_reestablishment_ind.num_srb =2;
|
||||
}
|
||||
|
||||
memcpy (&message_ral_p->ittiMsg, (void *) &connection_reestablishment_ind, sizeof(rrc_ral_connection_reestablishment_ind_t));
|
||||
//#warning "ue_mod_idP ? for instance ? => YES"
|
||||
LOG_I(RRC, "Sending RRC_RAL_CONNECTION_REESTABLISHMENT_IND to mRAL\n");
|
||||
itti_send_msg_to_task (TASK_RAL_UE, ctxt_pP->instance, message_ral_p);
|
||||
}
|
||||
#endif
|
||||
} // c1 present
|
||||
} // critical extensions present
|
||||
}
|
||||
@@ -2102,51 +2051,6 @@ static void rrc_ue_decode_dcch(const protocol_ctxt_t *const ctxt_pP,
|
||||
UE_rrc_inst[ctxt_pP->module_id].Info[target_eNB_index].State = RRC_RECONFIGURED;
|
||||
LOG_I(RRC, "[UE %d] State = RRC_RECONFIGURED during HO (eNB %d)\n",
|
||||
ctxt_pP->module_id, target_eNB_index);
|
||||
#if ENABLE_RAL
|
||||
{
|
||||
MessageDef *message_ral_p = NULL;
|
||||
rrc_ral_connection_reconfiguration_ho_ind_t connection_reconfiguration_ho_ind;
|
||||
int i;
|
||||
message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND);
|
||||
memset(&connection_reconfiguration_ho_ind, 0, sizeof(rrc_ral_connection_reconfiguration_ho_ind_t));
|
||||
connection_reconfiguration_ho_ind.ue_id = ctxt_pP->module_id;
|
||||
|
||||
if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList
|
||||
!= NULL) {
|
||||
connection_reconfiguration_ho_ind.num_drb =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count;
|
||||
|
||||
for (i=0; (
|
||||
i<dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count)
|
||||
&& (i < LTE_maxDRB); i++) {
|
||||
// why minus 1 in RRC code for drb_identity ?
|
||||
connection_reconfiguration_ho_ind.drb_id[i] =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity;
|
||||
}
|
||||
} else {
|
||||
connection_reconfiguration_ho_ind.num_drb = 0;
|
||||
}
|
||||
|
||||
if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList
|
||||
!= NULL) {
|
||||
connection_reconfiguration_ho_ind.num_srb =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count
|
||||
+
|
||||
UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
} else {
|
||||
connection_reconfiguration_ho_ind.num_srb += UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
}
|
||||
|
||||
if (connection_reconfiguration_ho_ind.num_srb > 2 ) {
|
||||
connection_reconfiguration_ho_ind.num_srb =2;
|
||||
}
|
||||
|
||||
memcpy (&message_ral_p->ittiMsg, (void *) &connection_reconfiguration_ho_ind, sizeof(rrc_ral_connection_reconfiguration_ho_ind_t));
|
||||
//#warning "ue_mod_idP ? for instance ? => YES"
|
||||
LOG_I(RRC, "Sending RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND to mRAL\n");
|
||||
itti_send_msg_to_task (TASK_RAL_UE, ctxt_pP->instance, message_ral_p);
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
rrc_ue_generate_RRCConnectionReconfigurationComplete(
|
||||
ctxt_pP,
|
||||
@@ -2157,51 +2061,6 @@ static void rrc_ue_decode_dcch(const protocol_ctxt_t *const ctxt_pP,
|
||||
LOG_I(RRC, "[UE %d] State = RRC_RECONFIGURED (eNB %d)\n",
|
||||
ctxt_pP->module_id,
|
||||
eNB_indexP);
|
||||
#if ENABLE_RAL
|
||||
{
|
||||
MessageDef *message_ral_p = NULL;
|
||||
rrc_ral_connection_reconfiguration_ind_t connection_reconfiguration_ind;
|
||||
int i;
|
||||
message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_CONNECTION_RECONFIGURATION_IND);
|
||||
memset(&connection_reconfiguration_ind, 0, sizeof(rrc_ral_connection_reconfiguration_ind_t));
|
||||
connection_reconfiguration_ind.ue_id = ctxt_pP->module_id;
|
||||
|
||||
if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList
|
||||
!= NULL) {
|
||||
connection_reconfiguration_ind.num_drb =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count;
|
||||
|
||||
for (i=0; (
|
||||
i<dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count)
|
||||
&& (i < LTE_maxDRB); i++) {
|
||||
// why minus 1 in RRC code for drb_identity ?
|
||||
connection_reconfiguration_ind.drb_id[i] =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity;
|
||||
}
|
||||
} else {
|
||||
connection_reconfiguration_ind.num_drb = 0;
|
||||
}
|
||||
|
||||
if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList
|
||||
!= NULL) {
|
||||
connection_reconfiguration_ind.num_srb =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count
|
||||
+
|
||||
UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
} else {
|
||||
connection_reconfiguration_ind.num_srb +=UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
}
|
||||
|
||||
if (connection_reconfiguration_ind.num_srb > 2 ) {
|
||||
connection_reconfiguration_ind.num_srb =2;
|
||||
}
|
||||
|
||||
memcpy (&message_ral_p->ittiMsg, (void *) &connection_reconfiguration_ind, sizeof(rrc_ral_connection_reconfiguration_ind_t));
|
||||
//#warning "ue_mod_idP ? for instance ? => YES"
|
||||
LOG_I(RRC, "Sending RRC_RAL_CONNECTION_RECONFIGURATION_IND to mRAL\n");
|
||||
itti_send_msg_to_task (TASK_RAL_UE, ctxt_pP->instance, message_ral_p);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//TTN test D2D (should not be here - in reality, this message will be triggered from ProSeApp)
|
||||
@@ -2241,11 +2100,6 @@ static void rrc_ue_decode_dcch(const protocol_ctxt_t *const ctxt_pP,
|
||||
}
|
||||
|
||||
itti_send_msg_to_task(TASK_NAS_UE, ctxt_pP->instance, msg_p);
|
||||
#if ENABLE_RAL
|
||||
msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, RRC_RAL_CONNECTION_RELEASE_IND);
|
||||
RRC_RAL_CONNECTION_RELEASE_IND(msg_p).ue_id = ctxt_pP->module_id;
|
||||
itti_send_msg_to_task(TASK_RAL_UE, ctxt_pP->instance, msg_p);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case LTE_DL_DCCH_MessageType__c1_PR_securityModeCommand:
|
||||
@@ -3656,31 +3510,6 @@ int decode_SI( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index ) {
|
||||
if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State == RRC_IDLE) {
|
||||
LOG_I( RRC, "[UE %d] Received SIB1/SIB2/SIB3 Switching to RRC_SI_RECEIVED\n", ctxt_pP->module_id );
|
||||
UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State = RRC_SI_RECEIVED;
|
||||
#if ENABLE_RAL
|
||||
{
|
||||
MessageDef *message_ral_p = NULL;
|
||||
rrc_ral_system_information_ind_t ral_si_ind;
|
||||
message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_SYSTEM_INFORMATION_IND);
|
||||
memset(&ral_si_ind, 0, sizeof(rrc_ral_system_information_ind_t));
|
||||
ral_si_ind.plmn_id.MCCdigit2 = '0';
|
||||
ral_si_ind.plmn_id.MCCdigit1 = '2';
|
||||
ral_si_ind.plmn_id.MNCdigit3 = '0';
|
||||
ral_si_ind.plmn_id.MCCdigit3 = '8';
|
||||
ral_si_ind.plmn_id.MNCdigit2 = '9';
|
||||
ral_si_ind.plmn_id.MNCdigit1 = '9';
|
||||
ral_si_ind.cell_id = 1;
|
||||
ral_si_ind.dbm = 0;
|
||||
//ral_si_ind.dbm = fifo_dump_emos_UE.PHY_measurements->rx_rssi_dBm[eNB_index];
|
||||
// TO DO
|
||||
ral_si_ind.sinr = 0;
|
||||
//ral_si_ind.sinr = fifo_dump_emos_UE.PHY_measurements->subband_cqi_dB[eNB_index][phy_vars_ue->lte_frame_parms.nb_antennas_rx][0];
|
||||
// TO DO
|
||||
ral_si_ind.link_data_rate = 0;
|
||||
memcpy (&message_ral_p->ittiMsg, (void *) &ral_si_ind, sizeof(rrc_ral_system_information_ind_t));
|
||||
#warning "ue_mod_idP ? for instance ?"
|
||||
itti_send_msg_to_task (TASK_RAL_UE, UE_MODULE_ID_TO_INSTANCE(ctxt_pP->module_id), message_ral_p);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}else{
|
||||
//LOG_W( RRC, "[UE %d] Received new SIB1/SIB2/SIB3 with MBMSs %d\n", ctxt_pP->module_id, ((&typeandinfo->choice.sib2)->mbsfn_SubframeConfigList == NULL ? 0:1) );
|
||||
@@ -4741,146 +4570,6 @@ void *rrc_ue_task( void *args_p ) {
|
||||
break;
|
||||
}
|
||||
|
||||
# if ENABLE_RAL
|
||||
|
||||
case RRC_RAL_SCAN_REQ:
|
||||
LOG_D(RRC, "[UE %d] Received %s: state %d\n", ue_mod_id,ITTI_MSG_NAME (msg_p) );
|
||||
|
||||
switch (rrc_get_state(ue_mod_id)) {
|
||||
case RRC_STATE_INACTIVE: {
|
||||
rrc_set_state (ue_mod_id, RRC_STATE_IDLE);
|
||||
/* Fall through to next case */
|
||||
}
|
||||
|
||||
case RRC_STATE_IDLE: {
|
||||
if (rrc_get_sub_state(ue_mod_id) != RRC_SUB_STATE_IDLE_SEARCHING) {
|
||||
/* Ask to layer 1 to find a cell matching the criterion */
|
||||
MessageDef *message_p;
|
||||
message_p = itti_alloc_new_message(TASK_RRC_UE, 0, PHY_FIND_CELL_REQ);
|
||||
rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_SEARCHING);
|
||||
PHY_FIND_CELL_REQ (message_p).transaction_id = RRC_RAL_SCAN_REQ (msg_p).transaction_id;
|
||||
PHY_FIND_CELL_REQ (message_p).earfcn_start = 1;
|
||||
PHY_FIND_CELL_REQ (message_p).earfcn_end = 1; //44
|
||||
itti_send_msg_to_task(TASK_PHY_UE, instance, message_p);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RRC_STATE_CONNECTED:
|
||||
/* should not happen */
|
||||
LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case PHY_FIND_CELL_IND:
|
||||
LOG_D(RRC, "[UE %d] Received %s: state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
|
||||
|
||||
switch (rrc_get_state(ue_mod_id)) {
|
||||
case RRC_STATE_IDLE:
|
||||
switch (rrc_get_sub_state(ue_mod_id)) {
|
||||
case RRC_SUB_STATE_IDLE_SEARCHING: {
|
||||
MessageDef *message_p;
|
||||
int i;
|
||||
message_p = itti_alloc_new_message(TASK_RRC_UE, 0, RRC_RAL_SCAN_CONF);
|
||||
RRC_RAL_SCAN_CONF (message_p).transaction_id = PHY_FIND_CELL_IND(msg_p).transaction_id;
|
||||
RRC_RAL_SCAN_CONF (message_p).num_scan_resp = PHY_FIND_CELL_IND(msg_p).cell_nb;
|
||||
|
||||
for (i = 0 ; i < PHY_FIND_CELL_IND(msg_p).cell_nb; i++) {
|
||||
// TO DO
|
||||
memset(&RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].link_addr, 0, sizeof(ral_link_addr_t));
|
||||
// TO DO
|
||||
memset(&RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].network_id, 0, sizeof(ral_network_id_t));
|
||||
RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].sig_strength.choice = RAL_SIG_STRENGTH_CHOICE_DBM;
|
||||
RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].sig_strength._union.dbm = PHY_FIND_CELL_IND(msg_p).cells[i].rsrp;
|
||||
}
|
||||
|
||||
rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE);
|
||||
itti_send_msg_to_task(TASK_RAL_UE, instance, message_p);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
LOG_E(RRC, "[UE %d] Invalid RRC state %d substate %d\n",
|
||||
ue_mod_id,
|
||||
rrc_get_state(ue_mod_id),
|
||||
rrc_get_sub_state(ue_mod_id));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RRC_STATE_INACTIVE:
|
||||
case RRC_STATE_CONNECTED:
|
||||
/* should not happen */
|
||||
LOG_E(RRC, "[UE %d] indication %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
}
|
||||
|
||||
break; // PHY_FIND_CELL_IND
|
||||
|
||||
case PHY_MEAS_REPORT_IND: {
|
||||
LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
|
||||
MessageDef *message_p;
|
||||
message_p = itti_alloc_new_message(TASK_RRC_UE, 0, RRC_RAL_MEASUREMENT_REPORT_IND);
|
||||
memcpy(&RRC_RAL_MEASUREMENT_REPORT_IND (message_p).threshold,
|
||||
&PHY_MEAS_REPORT_IND(msg_p).threshold,
|
||||
sizeof(RRC_RAL_MEASUREMENT_REPORT_IND (message_p).threshold));
|
||||
memcpy(&RRC_RAL_MEASUREMENT_REPORT_IND (message_p).link_param,
|
||||
&PHY_MEAS_REPORT_IND(msg_p).link_param,
|
||||
sizeof(RRC_RAL_MEASUREMENT_REPORT_IND (message_p).link_param));
|
||||
LOG_D(RRC, "[UE %d] PHY_MEAS_REPORT_IN: sending msg %s to %s \n", ue_mod_id, "RRC_RAL_MEASUREMENT_REPORT_IND", "TASK_RAL_UE");
|
||||
itti_send_msg_to_task(TASK_RAL_UE, instance, message_p);
|
||||
break;
|
||||
}
|
||||
|
||||
case RRC_RAL_CONFIGURE_THRESHOLD_REQ:
|
||||
LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
|
||||
rrc_ue_ral_handle_configure_threshold_request(ue_mod_id, msg_p);
|
||||
break;
|
||||
|
||||
case RRC_RAL_CONNECTION_ESTABLISHMENT_REQ:
|
||||
LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
|
||||
|
||||
switch (rrc_get_state(ue_mod_id)) {
|
||||
case RRC_STATE_IDLE: {
|
||||
if (rrc_get_sub_state(ue_mod_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE) {
|
||||
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, UE_rrc_inst[ue_mod_id].Info[0].rnti, 0, 0, 0);
|
||||
rrc_ue_generate_RRCConnectionRequest(&ctxt, 0);
|
||||
LOG_D(RRC, "not sending connection request\n");
|
||||
rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_CONNECTING);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RRC_STATE_INACTIVE:
|
||||
case RRC_STATE_CONNECTED:
|
||||
/* should not happen */
|
||||
LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RRC_RAL_CONNECTION_RELEASE_REQ:
|
||||
LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
LOG_E(RRC, "[UE %d] Received unexpected message %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
|
||||
break;
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
/*! \file rrc_UE_ral.h
|
||||
* \brief rrc procedures for handling RAL messages
|
||||
* \author Lionel GAUTHIER
|
||||
* \date 2013
|
||||
* \version 1.0
|
||||
* \company Eurecom
|
||||
* \email: lionel.gauthier@eurecom.fr
|
||||
*/
|
||||
#ifndef __RRC_UE_RAL_H__
|
||||
# define __RRC_UE_RAL_H__
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <ctype.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
#include "intertask_interface.h"
|
||||
#include "ral_messages_types.h"
|
||||
#include "defs.h"
|
||||
|
||||
int rrc_ue_ral_delete_all_thresholds_type (unsigned int mod_idP, ral_link_param_type_t *param_type_pP);
|
||||
int rrc_ue_ral_delete_threshold (unsigned int mod_idP, ral_link_param_type_t *param_type_pP, ral_threshold_t *threshold_pP);
|
||||
int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageDef *msg_pP);
|
||||
#endif
|
||||
@@ -92,10 +92,6 @@
|
||||
#include "intertask_interface.h"
|
||||
#include "softmodem-common.h"
|
||||
|
||||
#if ENABLE_RAL
|
||||
#include "rrc_eNB_ral.h"
|
||||
#endif
|
||||
|
||||
#include "SIMULATION/TOOLS/sim.h" // for taus
|
||||
|
||||
#include "openair1/PHY/LTE_TRANSPORT/transport_proto.h"
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
/*! \file rrc_eNB_ral.h
|
||||
* \brief rrc procedures for handling RAL messages
|
||||
* \author Lionel GAUTHIER
|
||||
* \date 2013
|
||||
* \version 1.0
|
||||
* \company Eurecom
|
||||
* \email: lionel.gauthier@eurecom.fr
|
||||
*/
|
||||
#ifndef __RRC_ENB_RAL_H__
|
||||
# define __RRC_ENB_RAL_H__
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <ctype.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
#include "intertask_interface.h"
|
||||
#include "ral_messages_types.h"
|
||||
#include "defs.h"
|
||||
|
||||
|
||||
int rrc_enb_ral_delete_all_thresholds_type (unsigned int mod_idP, ral_link_param_type_t *param_type_pP);
|
||||
int rrc_enb_ral_delete_threshold (unsigned int mod_idP, ral_link_param_type_t* param_type_pP,
|
||||
ral_threshold_t* threshold_pP);
|
||||
int rrc_enb_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageDef *msg_pP);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user