Commit 17c94ff8 authored by Matthieu Kanj's avatar Matthieu Kanj

renaming in file: openair2/RRC/LITE/extern_NB_IoT.h

parent 443af7af
...@@ -1129,33 +1129,33 @@ int8_t mac_rrc_data_req_eNB_NB_IoT( ...@@ -1129,33 +1129,33 @@ int8_t mac_rrc_data_req_eNB_NB_IoT(
if(mib_flag == MIB_FLAG_YES){ if(mib_flag == MIB_FLAG_YES){
//XXX to be check when MIB-NB should be initialized //XXX to be check when MIB-NB should be initialized
if (eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_MIB_NB == 255) { if (eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_MIB_NB == 255) {
LOG_E(RRC,"[eNB %d] MAC Request for MIB-NB and MIB-NB not initialized\n",Mod_idP); LOG_E(RRC,"[eNB %d] MAC Request for MIB-NB and MIB-NB not initialized\n",Mod_idP);
mac_xface->macphy_exit("mac_rrc_data_req_eNB_NB_IoT: MAC Request for MIB-NB and MIB-NB not initialized"); mac_xface->macphy_exit("mac_rrc_data_req_eNB_NB_IoT: MAC Request for MIB-NB and MIB-NB not initialized");
} }
memcpy(&buffer_pP[0], memcpy(&buffer_pP[0],
eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].MIB_NB, eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].MIB_NB,
eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_MIB_NB); eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_MIB_NB);
//XXX RRC_MAC_BCCH_DATA_REQ message not implemented in MAC layer (eNB_scheduler.c under ITTI) //XXX RRC_MAC_BCCH_DATA_REQ message not implemented in MAC layer (eNB_scheduler.c under ITTI)
#ifdef DEBUG_RRC #ifdef DEBUG_RRC
LOG_T(RRC,"[eNB %d] Frame %d : BCCH request => MIB_NB\n",Mod_idP,frameP); LOG_T(RRC,"[eNB %d] Frame %d : BCCH request => MIB_NB\n",Mod_idP,frameP);
for (i=0; i<eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_MIB_NB; i++) { for (i=0; i<eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_MIB_NB; i++) {
LOG_T(RRC,"%x.",buffer_pP[i]); LOG_T(RRC,"%x.",buffer_pP[i]);
} }
LOG_T(RRC,"\n"); LOG_T(RRC,"\n");
#endif #endif
return (eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_MIB_NB); //exit from the function return (eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_MIB_NB); //exit from the function
} }
//Requesting for SI Message //Requesting for SI Message
//XXX to be check when it is initialized //XXX to be check when it is initialized
if(eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].SI.Active==0) { //is set when we call openair_rrc_on function if(eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].SI.Active==0) { //is set when we call openair_rrc_on function
LOG_E(RRC, "SI value on the carrier = 0"); LOG_E(RRC, "SI value on the carrier = 0");
return 0; return 0;
} }
...@@ -1168,12 +1168,12 @@ int8_t mac_rrc_data_req_eNB_NB_IoT( ...@@ -1168,12 +1168,12 @@ int8_t mac_rrc_data_req_eNB_NB_IoT(
/*check if SIBs are initialized*/ /*check if SIBs are initialized*/
//FIXME to be check when both are initialize and if make sense to have it //FIXME to be check when both are initialize and if make sense to have it
if (eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_SIB1_NB == 255) { if (eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_SIB1_NB == 255) {
LOG_E(RRC,"[eNB %d] MAC Request for SIB1-NB and SIB1-NB not initialized\n",Mod_idP); LOG_E(RRC,"[eNB %d] MAC Request for SIB1-NB and SIB1-NB not initialized\n",Mod_idP);
mac_xface->macphy_exit("mac_rrc_data_req_eNB_NB_IoT: MAC Request for SIB1-NB and SIB1-NB not initialized"); mac_xface->macphy_exit("mac_rrc_data_req_eNB_NB_IoT: MAC Request for SIB1-NB and SIB1-NB not initialized");
} }
if (eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_SIB23_NB == 255) { if (eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_SIB23_NB == 255) {
LOG_E(RRC,"[eNB %d] MAC Request for SIB23-NB and SIB23-NB not initialized\n",Mod_idP); LOG_E(RRC,"[eNB %d] MAC Request for SIB23-NB and SIB23-NB not initialized\n",Mod_idP);
mac_xface->macphy_exit("mac_rrc_data_req_eNB_NB_IoT: MAC Request for SIB23-NB and SIB23-NB not initialized"); mac_xface->macphy_exit("mac_rrc_data_req_eNB_NB_IoT: MAC Request for SIB23-NB and SIB23-NB not initialized");
} }
...@@ -1185,8 +1185,8 @@ int8_t mac_rrc_data_req_eNB_NB_IoT( ...@@ -1185,8 +1185,8 @@ int8_t mac_rrc_data_req_eNB_NB_IoT(
if(subframeP == 4 && is_SIB1_start_NB_IoT(frameP,schedulingInfoSIB1, physCellId)!= -1){ if(subframeP == 4 && is_SIB1_start_NB_IoT(frameP,schedulingInfoSIB1, physCellId)!= -1){
memcpy(&buffer_pP[0], memcpy(&buffer_pP[0],
eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].SIB1_NB, eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].SIB1_NB,
eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_SIB1_NB); eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_SIB1_NB);
//XXX RRC_MAC_BCCH_DATA_REQ message not implemented in MAC layer (eNB_scheduler.c under ITTI) //XXX RRC_MAC_BCCH_DATA_REQ message not implemented in MAC layer (eNB_scheduler.c under ITTI)
...@@ -1194,41 +1194,41 @@ int8_t mac_rrc_data_req_eNB_NB_IoT( ...@@ -1194,41 +1194,41 @@ int8_t mac_rrc_data_req_eNB_NB_IoT(
#ifdef DEBUG_RRC #ifdef DEBUG_RRC
LOG_T(RRC,"[eNB %d] Frame %d : BCCH request => SIB1_NB\n",Mod_idP,frameP); LOG_T(RRC,"[eNB %d] Frame %d : BCCH request => SIB1_NB\n",Mod_idP,frameP);
for (i=0; i<eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_SIB1_NB; i++) { for (i=0; i<eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_SIB1_NB; i++) {
LOG_T(RRC,"%x.",buffer_pP[i]); LOG_T(RRC,"%x.",buffer_pP[i]);
} }
LOG_T(RRC,"\n"); LOG_T(RRC,"\n");
#endif #endif
return (eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_SIB1_NB); return (eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_SIB1_NB);
} }
//check for SIB23-Transmission //check for SIB23-Transmission
for(int i = 0; i< eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sib1_NB->schedulingInfoList_r13.list.count; i++){ for(int i = 0; i< eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sib1_NB->schedulingInfoList_r13.list.count; i++){
if(is_SIB23_NB_IoT(frameP,h_frameP, if(is_SIB23_NB_IoT(frameP,h_frameP,
eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sib1_NB->schedulingInfoList_r13.list.array[i]->si_Periodicity_r13, eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sib1_NB->schedulingInfoList_r13.list.array[i]->si_Periodicity_r13,
eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sib1_NB->si_WindowLength_r13, eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sib1_NB->si_WindowLength_r13,
eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sib1_NB->si_RadioFrameOffset_r13, eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sib1_NB->si_RadioFrameOffset_r13,
eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sib1_NB->schedulingInfoList_r13.list.array[i]->si_RepetitionPattern_r13)) eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sib1_NB->schedulingInfoList_r13.list.array[i]->si_RepetitionPattern_r13))
{ {
memcpy(&buffer_pP[0], memcpy(&buffer_pP[0],
eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].SIB23_NB, eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].SIB23_NB,
eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_SIB23_NB); eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_SIB23_NB);
#ifdef DEBUG_RRC #ifdef DEBUG_RRC
LOG_T(RRC,"[eNB %d] Frame %d BCCH request => SIB 2-3\n",Mod_idP,frameP); LOG_T(RRC,"[eNB %d] Frame %d BCCH request => SIB 2-3\n",Mod_idP,frameP);
for (i=0; i<eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_SIB23_NB; i++) { for (i=0; i<eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_SIB23_NB; i++) {
LOG_T(RRC,"%x.",buffer_pP[i]); LOG_T(RRC,"%x.",buffer_pP[i]);
} }
LOG_T(RRC,"\n"); LOG_T(RRC,"\n");
#endif #endif
return(eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].sizeof_SIB23_NB); return(eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].sizeof_SIB23_NB);
} }
} }
return(0); return(0);
...@@ -1238,12 +1238,12 @@ int8_t mac_rrc_data_req_eNB_NB_IoT( ...@@ -1238,12 +1238,12 @@ int8_t mac_rrc_data_req_eNB_NB_IoT(
if( (Srb_id & RAB_OFFSET ) == CCCH) { if( (Srb_id & RAB_OFFSET ) == CCCH) {
LOG_T(RRC,"[eNB %d] Frame %d CCCH request (Srb_id %d)\n",Mod_idP,frameP, Srb_id); LOG_T(RRC,"[eNB %d] Frame %d CCCH request (Srb_id %d)\n",Mod_idP,frameP, Srb_id);
if(eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].Srb0.Active==0) { if(eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].Srb0.Active==0) {
LOG_E(RRC,"[eNB %d] CCCH Not active\n",Mod_idP); LOG_E(RRC,"[eNB %d] CCCH Not active\n",Mod_idP);
return -1; return -1;
} }
Srb_info=&eNB_rrc_inst_NB[Mod_idP].carrier[CC_id].Srb0; Srb_info=&eNB_rrc_inst_NB_IoT[Mod_idP].carrier[CC_id].Srb0;
// check if data is there for MAC // check if data is there for MAC
if(Srb_info->Tx_buffer.payload_size>0) { //Fill buffer if(Srb_info->Tx_buffer.payload_size>0) { //Fill buffer
...@@ -1286,7 +1286,7 @@ int8_t NB_mac_rrc_data_ind_eNB( ...@@ -1286,7 +1286,7 @@ int8_t NB_mac_rrc_data_ind_eNB(
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, module_idP, ENB_FLAG_YES, rntiP, frameP, sub_frameP,module_idP); PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, module_idP, ENB_FLAG_YES, rntiP, frameP, sub_frameP,module_idP);
Srb_info = &eNB_rrc_inst_NB[module_idP].carrier[CC_id].Srb0; Srb_info = &eNB_rrc_inst_NB_IoT[module_idP].carrier[CC_id].Srb0;
LOG_T(RRC,"[eNB %d] Received SDU for CCCH on SRB %d\n",module_idP,Srb_info->Srb_id); LOG_T(RRC,"[eNB %d] Received SDU for CCCH on SRB %d\n",module_idP,Srb_info->Srb_id);
...@@ -1337,7 +1337,7 @@ void mac_eNB_rrc_ul_failure_NB_IoT( ...@@ -1337,7 +1337,7 @@ void mac_eNB_rrc_ul_failure_NB_IoT(
{ {
struct rrc_eNB_ue_context_NB_s* ue_context_p = NULL; struct rrc_eNB_ue_context_NB_s* ue_context_p = NULL;
ue_context_p = rrc_eNB_get_ue_context_NB( ue_context_p = rrc_eNB_get_ue_context_NB(
&eNB_rrc_inst_NB[mod_idP], &eNB_rrc_inst_NB_IoT[mod_idP],
rntiP); rntiP);
if (ue_context_p != NULL) { if (ue_context_p != NULL) {
...@@ -1443,7 +1443,7 @@ void mac_eNB_rrc_ul_in_sync_NB_IoT( ...@@ -1443,7 +1443,7 @@ void mac_eNB_rrc_ul_in_sync_NB_IoT(
{ {
struct rrc_eNB_ue_context_NB_s* ue_context_p = NULL; struct rrc_eNB_ue_context_NB_s* ue_context_p = NULL;
ue_context_p = rrc_eNB_get_ue_context_NB( ue_context_p = rrc_eNB_get_ue_context_NB(
&eNB_rrc_inst_NB[mod_idP], &eNB_rrc_inst_NB_IoT[mod_idP],
rntiP); rntiP);
if (ue_context_p != NULL) { if (ue_context_p != NULL) {
...@@ -1464,7 +1464,7 @@ int mac_eNB_get_rrc_status_NB_IoT( ...@@ -1464,7 +1464,7 @@ int mac_eNB_get_rrc_status_NB_IoT(
{ {
struct rrc_eNB_ue_context_NB_s* ue_context_p = NULL; struct rrc_eNB_ue_context_NB_s* ue_context_p = NULL;
ue_context_p = rrc_eNB_get_ue_context_NB( ue_context_p = rrc_eNB_get_ue_context_NB(
&eNB_rrc_inst_NB[Mod_idP], &eNB_rrc_inst_NB_IoT[Mod_idP],
rntiP); rntiP);
if (ue_context_p != NULL) { if (ue_context_p != NULL) {
......
...@@ -501,7 +501,7 @@ typedef struct { ...@@ -501,7 +501,7 @@ typedef struct {
//---NB-IoT---(completely change)--------------------- //---NB-IoT---(completely change)---------------------
typedef struct eNB_RRC_INST_NB_s { typedef struct eNB_RRC_INST_NB_IoT_s {
rrc_eNB_carrier_data_NB_t carrier[MAX_NUM_CCs]; rrc_eNB_carrier_data_NB_t carrier[MAX_NUM_CCs];
...@@ -532,7 +532,7 @@ typedef struct eNB_RRC_INST_NB_s { ...@@ -532,7 +532,7 @@ typedef struct eNB_RRC_INST_NB_s {
int srs_enable[MAX_NUM_CCs]; int srs_enable[MAX_NUM_CCs];
} eNB_RRC_INST_NB; } eNB_RRC_INST_NB_IoT;
#define MAX_UE_CAPABILITY_SIZE 255 #define MAX_UE_CAPABILITY_SIZE 255
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
///NB_IoT ///NB_IoT
#include "defs_NB_IoT.h" #include "defs_NB_IoT.h"
extern eNB_RRC_INST_NB *eNB_rrc_inst_NB; extern eNB_RRC_INST_NB_IoT *eNB_rrc_inst_NB_IoT;
extern UE_RRC_INST *UE_rrc_inst; extern UE_RRC_INST *UE_rrc_inst;
extern eNB_RRC_INST *eNB_rrc_inst; extern eNB_RRC_INST *eNB_rrc_inst;
......
...@@ -40,20 +40,20 @@ ...@@ -40,20 +40,20 @@
//MP: NOTE:XXX some of the parameters defined in vars_nb_iot are called by the extern.h file so not replicated here //MP: NOTE:XXX some of the parameters defined in vars_nb_iot are called by the extern.h file so not replicated here
extern eNB_RRC_INST_NB *eNB_rrc_inst_NB; extern eNB_RRC_INST_NB_IoT *eNB_rrc_inst_NB_IoT;
extern PHY_Config_t *config_INFO; extern PHY_Config_t *config_INFO;
extern rlc_info_t Rlc_info_am_NB,Rlc_info_am_config_NB; extern rlc_info_t Rlc_info_am_NB_IoT,Rlc_info_am_config_NB_IoT;
extern uint8_t DRB2LCHAN_NB[2]; extern uint8_t DRB2LCHAN_NB_IoT[2];
extern LogicalChannelConfig_NB_r13_t SRB1bis_NB_logicalChannelConfig_defaultValue; extern LogicalChannelConfig_NB_r13_t SRB1bis_logicalChannelConfig_defaultValue_NB_IoT;
extern LogicalChannelConfig_NB_r13_t SRB1_NB_logicalChannelConfig_defaultValue; extern LogicalChannelConfig_NB_r13_t SRB1_logicalChannelConfig_defaultValue_NB_IoT;
extern uint16_t T300_NB[8]; extern uint16_t T300_NB_IoT[8];
extern uint16_t T301_NB[8]; extern uint16_t T301_NB_IoT[8];
extern uint16_t T310_NB[8]; extern uint16_t T310_NB_IoT[8];
extern uint16_t T311_NB[8]; extern uint16_t T311_NB_IoT[8];
extern uint16_t N310_NB[8]; extern uint16_t N310_NB_IoT[8];
extern uint16_t N311_NB[8]; extern uint16_t N311_NB_IoT[8];
#endif #endif
......
...@@ -94,7 +94,7 @@ rrc_t310_expiration_NB( ...@@ -94,7 +94,7 @@ rrc_t310_expiration_NB(
SRB_FLAG_YES, SRB_FLAG_YES,
CONFIG_ACTION_REMOVE, CONFIG_ACTION_REMOVE,
UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Srb_info.Srb_id, UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Srb_info.Srb_id,
Rlc_info_am_NB); Rlc_info_am_NB_IoT);
UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Active = 0; UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Active = 0;
...@@ -123,10 +123,10 @@ void openair_eNB_rrc_on_NB_IoT( ...@@ -123,10 +123,10 @@ void openair_eNB_rrc_on_NB_IoT(
LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" OPENAIR RRC-NB IN....\n", LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" OPENAIR RRC-NB IN....\n",
PROTOCOL_RRC_CTXT_ARGS(ctxt_pP)); PROTOCOL_RRC_CTXT_ARGS(ctxt_pP));
for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) { for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
rrc_config_buffer_NB_IoT (&eNB_rrc_inst_NB[ctxt_pP->module_id].carrier[CC_id].SI, BCCH, 1); rrc_config_buffer_NB_IoT (&eNB_rrc_inst_NB_IoT[ctxt_pP->module_id].carrier[CC_id].SI, BCCH, 1);
eNB_rrc_inst_NB[ctxt_pP->module_id].carrier[CC_id].SI.Active = 1; eNB_rrc_inst_NB_IoT[ctxt_pP->module_id].carrier[CC_id].SI.Active = 1;
rrc_config_buffer_NB_IoT (&eNB_rrc_inst_NB[ctxt_pP->module_id].carrier[CC_id].Srb0, CCCH, 1); rrc_config_buffer_NB_IoT (&eNB_rrc_inst_NB_IoT[ctxt_pP->module_id].carrier[CC_id].Srb0, CCCH, 1);
eNB_rrc_inst_NB[ctxt_pP->module_id].carrier[CC_id].Srb0.Active = 1; eNB_rrc_inst_NB_IoT[ctxt_pP->module_id].carrier[CC_id].Srb0.Active = 1;
} }
//no UE side //no UE side
} }
...@@ -162,10 +162,10 @@ int rrc_init_global_param_NB_IoT( void ) ...@@ -162,10 +162,10 @@ int rrc_init_global_param_NB_IoT( void )
//DCCH_LCHAN_DESC.transport_block_size = 4;.... //DCCH_LCHAN_DESC.transport_block_size = 4;....
//Setting of this values???? //Setting of this values????
Rlc_info_am_config_NB.rlc_mode = RLC_MODE_AM; //only allowed for NB-IoT Rlc_info_am_config_NB_IoT.rlc_mode = RLC_MODE_AM; //only allowed for NB-IoT
Rlc_info_am_config_NB.rlc.rlc_am_info_NB.max_retx_threshold_NB = 50; Rlc_info_am_config_NB_IoT.rlc.rlc_am_info_NB.max_retx_threshold_NB = 50;
Rlc_info_am_config_NB.rlc.rlc_am_info_NB.t_poll_retransmit_NB = 15; Rlc_info_am_config_NB_IoT.rlc.rlc_am_info_NB.t_poll_retransmit_NB = 15;
Rlc_info_am_config_NB.rlc.rlc_am_info_NB.enableStatusReportSN_Gap = NULL; //should be disabled Rlc_info_am_config_NB_IoT.rlc.rlc_am_info_NB.enableStatusReportSN_Gap = NULL; //should be disabled
#ifndef NO_RRM #ifndef NO_RRM
...@@ -251,16 +251,16 @@ void openair_rrc_top_init_eNB_NB_IoT(void)//MP: XXX Raymond put this directly th ...@@ -251,16 +251,16 @@ void openair_rrc_top_init_eNB_NB_IoT(void)//MP: XXX Raymond put this directly th
//not consider UE part //not consider UE part
if (NB_eNB_INST > 0) { if (NB_eNB_INST > 0) {
eNB_rrc_inst_NB = (eNB_RRC_INST_NB*) malloc16(NB_eNB_INST*sizeof(eNB_RRC_INST_NB)); eNB_rrc_inst_NB_IoT = (eNB_RRC_INST_NB_IoT*) malloc16(NB_eNB_INST*sizeof(eNB_RRC_INST_NB_IoT));
memset (eNB_rrc_inst_NB, 0, NB_eNB_INST * sizeof(eNB_RRC_INST_NB)); memset (eNB_rrc_inst_NB_IoT, 0, NB_eNB_INST * sizeof(eNB_RRC_INST_NB_IoT));
LOG_D(RRC, "ALLOCATE %d Bytes for eNB_RRC_INST NB-IoT @ %p\n", (unsigned int)(NB_eNB_INST*sizeof(eNB_RRC_INST_NB)), eNB_rrc_inst_NB); LOG_D(RRC, "ALLOCATE %d Bytes for eNB_RRC_INST NB-IoT @ %p\n", (unsigned int)(NB_eNB_INST*sizeof(eNB_RRC_INST_NB_IoT)), eNB_rrc_inst_NB_IoT);
//no CBA, no LOcalization, no MBMS flag //no CBA, no LOcalization, no MBMS flag
LOG_D(RRC, LOG_D(RRC,
"ALLOCATE %d Bytes for eNB_RRC_INST_NB @ %p\n", (unsigned int)(NB_eNB_INST*sizeof(eNB_RRC_INST_NB)), eNB_rrc_inst_NB); "ALLOCATE %d Bytes for eNB_RRC_INST_NB @ %p\n", (unsigned int)(NB_eNB_INST*sizeof(eNB_RRC_INST_NB_IoT)), eNB_rrc_inst_NB_IoT);
} else { } else {
eNB_rrc_inst_NB = NULL; eNB_rrc_inst_NB_IoT = NULL;
} }
...@@ -293,7 +293,7 @@ rrc_rx_tx_NB_IoT( ...@@ -293,7 +293,7 @@ rrc_rx_tx_NB_IoT(
"[UE %d][RAPROC] Frame %d T300 Count %d ms\n", ctxt_pP->module_id, ctxt_pP->frame, UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt); "[UE %d][RAPROC] Frame %d T300 Count %d ms\n", ctxt_pP->module_id, ctxt_pP->frame, UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt);
if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt
== T300_NB[UE_rrc_inst[ctxt_pP->module_id].sib2[enb_indexP]->ue_TimersAndConstants.t300]) { == T300_NB_IoT[UE_rrc_inst[ctxt_pP->module_id].sib2[enb_indexP]->ue_TimersAndConstants.t300]) {
UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_active = 0; UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_active = 0;
// ALLOW CCCH to be used // ALLOW CCCH to be used
UE_rrc_inst[ctxt_pP->module_id].Srb0[enb_indexP].Tx_buffer.payload_size = 0; UE_rrc_inst[ctxt_pP->module_id].Srb0[enb_indexP].Tx_buffer.payload_size = 0;
...@@ -384,7 +384,7 @@ rrc_rx_tx_NB_IoT( ...@@ -384,7 +384,7 @@ rrc_rx_tx_NB_IoT(
// counter, and get the value and aggregate // counter, and get the value and aggregate
// check for UL failure // check for UL failure
RB_FOREACH(ue_context_p, rrc_ue_tree_NB_s, &(eNB_rrc_inst_NB[ctxt_pP->module_id].rrc_ue_head)) { RB_FOREACH(ue_context_p, rrc_ue_tree_NB_s, &(eNB_rrc_inst_NB_IoT[ctxt_pP->module_id].rrc_ue_head)) {
if ((ctxt_pP->frame == 0) && (ctxt_pP->subframe==0)) { if ((ctxt_pP->frame == 0) && (ctxt_pP->subframe==0)) {
if (ue_context_p->ue_context.Initialue_identity_s_TMSI.presence == TRUE) { if (ue_context_p->ue_context.Initialue_identity_s_TMSI.presence == TRUE) {
LOG_I(RRC,"UE rnti %x:S-TMSI %x failure timer %d/20000\n", LOG_I(RRC,"UE rnti %x:S-TMSI %x failure timer %d/20000\n",
......
This diff is collapsed.
...@@ -207,7 +207,7 @@ uid_linear_allocator_init_NB( ...@@ -207,7 +207,7 @@ uid_linear_allocator_init_NB(
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
uid_t uid_t
uid_linear_allocator_new_NB( uid_linear_allocator_new_NB(
eNB_RRC_INST_NB* const rrc_instance_pP eNB_RRC_INST_NB_IoT* const rrc_instance_pP
) )
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
{ {
...@@ -237,7 +237,7 @@ uid_linear_allocator_new_NB( ...@@ -237,7 +237,7 @@ uid_linear_allocator_new_NB(
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void void
uid_linear_allocator_free_NB( uid_linear_allocator_free_NB(
eNB_RRC_INST_NB* rrc_instance_pP, eNB_RRC_INST_NB_IoT* rrc_instance_pP,
uid_t uidP uid_t uidP
) )
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
...@@ -276,7 +276,7 @@ RB_GENERATE(rrc_ue_tree_NB_s, rrc_eNB_ue_context_NB_s, entries, ...@@ -276,7 +276,7 @@ RB_GENERATE(rrc_ue_tree_NB_s, rrc_eNB_ue_context_NB_s, entries,
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
struct rrc_eNB_ue_context_NB_s* struct rrc_eNB_ue_context_NB_s*
rrc_eNB_allocate_new_UE_context_NB( rrc_eNB_allocate_new_UE_context_NB(
eNB_RRC_INST_NB* rrc_instance_pP eNB_RRC_INST_NB_IoT* rrc_instance_pP
) )
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
{ {
...@@ -296,7 +296,7 @@ rrc_eNB_allocate_new_UE_context_NB( ...@@ -296,7 +296,7 @@ rrc_eNB_allocate_new_UE_context_NB(
struct rrc_eNB_ue_context_NB_s* struct rrc_eNB_ue_context_NB_s*
rrc_eNB_get_ue_context_NB( rrc_eNB_get_ue_context_NB(
eNB_RRC_INST_NB* rrc_instance_pP, eNB_RRC_INST_NB_IoT* rrc_instance_pP,
rnti_t rntiP) rnti_t rntiP)
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
{ {
...@@ -310,7 +310,7 @@ rrc_eNB_get_ue_context_NB( ...@@ -310,7 +310,7 @@ rrc_eNB_get_ue_context_NB(
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void rrc_eNB_remove_ue_context_NB( void rrc_eNB_remove_ue_context_NB(
const protocol_ctxt_t* const ctxt_pP, const protocol_ctxt_t* const ctxt_pP,
eNB_RRC_INST_NB* rrc_instance_pP, eNB_RRC_INST_NB_IoT* rrc_instance_pP,
struct rrc_eNB_ue_context_NB_s* ue_context_pP) struct rrc_eNB_ue_context_NB_s* ue_context_pP)
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
{ {
......
...@@ -92,12 +92,12 @@ uid_linear_allocator_init_NB( ...@@ -92,12 +92,12 @@ uid_linear_allocator_init_NB(
uid_t uid_t
uid_linear_allocator_new_NB( uid_linear_allocator_new_NB(
eNB_RRC_INST_NB* const rrc_instance_pP eNB_RRC_INST_NB_IoT* const rrc_instance_pP
); );
void void
uid_linear_allocator_free_NB( uid_linear_allocator_free_NB(
eNB_RRC_INST_NB* rrc_instance_pP, eNB_RRC_INST_NB_IoT* rrc_instance_pP,
uid_t uidP uid_t uidP
); );
...@@ -109,17 +109,17 @@ RB_PROTOTYPE(rrc_ue_tree_NB_s, rrc_eNB_ue_context_NB_s, entries, rrc_eNB_compare ...@@ -109,17 +109,17 @@ RB_PROTOTYPE(rrc_ue_tree_NB_s, rrc_eNB_ue_context_NB_s, entries, rrc_eNB_compare
struct rrc_eNB_ue_context_NB_s* struct rrc_eNB_ue_context_NB_s*
rrc_eNB_allocate_new_UE_context_NB( rrc_eNB_allocate_new_UE_context_NB(
eNB_RRC_INST_NB* rrc_instance_pP eNB_RRC_INST_NB_IoT* rrc_instance_pP
); );
struct rrc_eNB_ue_context_NB_s* struct rrc_eNB_ue_context_NB_s*
rrc_eNB_get_ue_context_NB( rrc_eNB_get_ue_context_NB(
eNB_RRC_INST_NB* rrc_instance_pP, eNB_RRC_INST_NB_IoT* rrc_instance_pP,
rnti_t rntiP); rnti_t rntiP);
void rrc_eNB_remove_ue_context_NB( void rrc_eNB_remove_ue_context_NB(
const protocol_ctxt_t* const ctxt_pP, const protocol_ctxt_t* const ctxt_pP,
eNB_RRC_INST_NB* rrc_instance_pP, eNB_RRC_INST_NB_IoT* rrc_instance_pP,
struct rrc_eNB_ue_context_NB_s* ue_context_pP); struct rrc_eNB_ue_context_NB_s* ue_context_pP);
#endif #endif
...@@ -66,8 +66,8 @@ unsigned short Data_to_read; ...@@ -66,8 +66,8 @@ unsigned short Data_to_read;
#include "LAYER2/MAC/extern.h" #include "LAYER2/MAC/extern.h"
#define MAX_U32 0xFFFFFFFF #define MAX_U32 0xFFFFFFFF
eNB_RRC_INST_NB *eNB_rrc_inst_NB; eNB_RRC_INST_NB_IoT *eNB_rrc_inst_NB_IoT;
uint8_t DRB2LCHAN_NB[2];//max can be 2 DRBs for NB_IoT --> it used for saving the LCID of DRBs uint8_t DRB2LCHAN_NB_IoT[2];//max can be 2 DRBs for NB_IoT --> it used for saving the LCID of DRBs
//structure for FAPI-like configuration (memory for this is allocated in init_SI) //structure for FAPI-like configuration (memory for this is allocated in init_SI)
PHY_Config_t *config_INFO; PHY_Config_t *config_INFO;
...@@ -76,11 +76,11 @@ BOOLEAN_t logicalChannelSR_Prohibit = 1; ...@@ -76,11 +76,11 @@ BOOLEAN_t logicalChannelSR_Prohibit = 1;
long priority =1; long priority =1;
// Default SRB configurations from 36.331 (9.2.1.1 pag 641 V14.2.1) // Default SRB configurations from 36.331 (9.2.1.1 pag 641 V14.2.1)
struct LogicalChannelConfig_NB_r13 SRB1bis_NB_logicalChannelConfig_defaultValue = { struct LogicalChannelConfig_NB_r13 SRB1bis_logicalChannelConfig_defaultValue_NB_IoT = {
priority_r13: &priority, //priority priority_r13: &priority, //priority
logicalChannelSR_Prohibit_r13: &logicalChannelSR_Prohibit //set to TRUE logicalChannelSR_Prohibit_r13: &logicalChannelSR_Prohibit //set to TRUE
}; };
struct LogicalChannelConfig_NB_r13 SRB1_NB_logicalChannelConfig_defaultValue = { struct LogicalChannelConfig_NB_r13 SRB1_logicalChannelConfig_defaultValue_NB_IoT = {
priority_r13: &priority, //priority priority_r13: &priority, //priority
logicalChannelSR_Prohibit_r13: &logicalChannelSR_Prohibit //set to TRUE logicalChannelSR_Prohibit_r13: &logicalChannelSR_Prohibit //set to TRUE
}; };
...@@ -88,18 +88,18 @@ struct LogicalChannelConfig_NB_r13 SRB1_NB_logicalChannelConfig_defaultValue = { ...@@ -88,18 +88,18 @@ struct LogicalChannelConfig_NB_r13 SRB1_NB_logicalChannelConfig_defaultValue = {
//CONSTANTS //CONSTANTS
rlc_info_t Rlc_info_am_NB, Rlc_info_am_config_NB; rlc_info_t Rlc_info_am_NB_IoT, Rlc_info_am_config_NB_IoT;
//MP: LCHAN_DESC (mac_rrc_primitives) is not needed, was only an old implementation for storing LCH information //MP: LCHAN_DESC (mac_rrc_primitives) is not needed, was only an old implementation for storing LCH information
// timers (TS 36.331 v14.2.1 "UE-TimersAndConstants-NB" pag 622) (milliseconds) // timers (TS 36.331 v14.2.1 "UE-TimersAndConstants-NB" pag 622) (milliseconds)
//seems to be not used or only at UE side //seems to be not used or only at UE side
uint16_t T300_NB[8] = {2500,4000,6000,10000, 15000,25000,40000,60000}; uint16_t T300_NB_IoT[8] = {2500,4000,6000,10000, 15000,25000,40000,60000};
uint16_t T301_NB[8] = {2500,4000,6000,10000, 15000,25000,40000,60000}; //MP: this start at RRCconnectionReestablishmentReq (not implemented in OAI) uint16_t T301_NB_IoT[8] = {2500,4000,6000,10000, 15000,25000,40000,60000}; //MP: this start at RRCconnectionReestablishmentReq (not implemented in OAI)
uint16_t T310_NB[8] = {0,200,500,1000,2000,4000,8000}; uint16_t T310_NB_IoT[8] = {0,200,500,1000,2000,4000,8000};
uint16_t T311_NB[8] = {1000, 3000, 5000, 10000, 15000, 20000, 30000}; //MP: may not used uint16_t T311_NB_IoT[8] = {1000, 3000, 5000, 10000, 15000, 20000, 30000}; //MP: may not used
uint16_t N310_NB[8] = {1,2,3,4,6,8,10,20}; uint16_t N310_NB_IoT[8] = {1,2,3,4,6,8,10,20};
uint16_t N311_NB[8] = {1,2,3,4,5,6,8,10}; uint16_t N311_NB_IoT[8] = {1,2,3,4,5,6,8,10};
// MP: TimeToTrigger not used in NB-IoT // MP: TimeToTrigger not used in NB-IoT
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment