git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5733 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -663,6 +663,8 @@ static void rrc_eNB_generate_defaultRRCConnectionReconfiguration(
|
|||||||
MeasIdToAddMod_t *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
|
MeasIdToAddMod_t *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
|
||||||
#if Rel10
|
#if Rel10
|
||||||
long *sr_ProhibitTimer_r9 = NULL;
|
long *sr_ProhibitTimer_r9 = NULL;
|
||||||
|
// uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
|
||||||
|
uint8_t sCellIndexToAdd = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
long *logicalchannelgroup, *logicalchannelgroup_drb;
|
long *logicalchannelgroup, *logicalchannelgroup_drb;
|
||||||
@@ -1150,7 +1152,13 @@ static void rrc_eNB_generate_defaultRRCConnectionReconfiguration(
|
|||||||
#ifdef EXMIMO_IOT
|
#ifdef EXMIMO_IOT
|
||||||
NULL, NULL, NULL, NULL,NULL,
|
NULL, NULL, NULL, NULL,NULL,
|
||||||
#else
|
#else
|
||||||
physicalConfigDedicated[ue_mod_idP], MeasObj_list, ReportConfig_list, quantityConfig, MeasId_list,
|
physicalConfigDedicated[ue_mod_idP],
|
||||||
|
|
||||||
|
#ifdef Rel10
|
||||||
|
eNB_rrc_inst[enb_mod_idP].sCell_config[ue_mod_idP][sCellIndexToAdd],
|
||||||
|
#endif
|
||||||
|
|
||||||
|
MeasObj_list, ReportConfig_list, quantityConfig, MeasId_list,
|
||||||
#endif
|
#endif
|
||||||
mac_MainConfig, NULL, NULL, Sparams, rsrp, cba_RNTI, dedicatedInfoNASList);
|
mac_MainConfig, NULL, NULL, Sparams, rsrp, cba_RNTI, dedicatedInfoNASList);
|
||||||
|
|
||||||
@@ -1184,6 +1192,61 @@ static void rrc_eNB_generate_defaultRRCConnectionReconfiguration(
|
|||||||
pdcp_rrc_data_req(enb_mod_idP, ue_mod_idP, frameP, 1, DCCH, rrc_eNB_mui++, 0, size, buffer, 1);
|
pdcp_rrc_data_req(enb_mod_idP, ue_mod_idP, frameP, 1, DCCH, rrc_eNB_mui++, 0, size, buffer, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int rrc_eNB_generate_RRCConnectionReconfiguration_SCell(module_id_t enb_mod_idP, module_id_t ue_mod_idP, frame_t frame, uint32_t dl_CarrierFreq_r10) {
|
||||||
|
|
||||||
|
uint8_t size;
|
||||||
|
uint8_t buffer[100];
|
||||||
|
uint8_t sCellIndexToAdd = 0; //one SCell so far
|
||||||
|
// uint8_t sCellIndexToAdd;
|
||||||
|
// sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
|
||||||
|
|
||||||
|
if (eNB_rrc_inst[enb_mod_idP].sCell_config[ue_mod_idP][sCellIndexToAdd]) {
|
||||||
|
eNB_rrc_inst[enb_mod_idP].sCell_config[ue_mod_idP][sCellIndexToAdd]->cellIdentification_r10->dl_CarrierFreq_r10 = dl_CarrierFreq_r10;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
LOG_E(RRC,"Scell not configured!\n");
|
||||||
|
return(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
size = do_RRCConnectionReconfiguration(enb_mod_idP,
|
||||||
|
buffer,
|
||||||
|
ue_mod_idP,
|
||||||
|
/*0*/rrc_eNB_get_next_transaction_identifier(enb_mod_idP),//Transaction_id,
|
||||||
|
(SRB_ToAddModList_t*)NULL,
|
||||||
|
(DRB_ToAddModList_t*)NULL,
|
||||||
|
(DRB_ToReleaseList_t*)NULL,
|
||||||
|
(struct SPS_Config*)NULL,
|
||||||
|
(struct PhysicalConfigDedicated*)NULL,
|
||||||
|
#ifdef Rel10
|
||||||
|
eNB_rrc_inst[enb_mod_idP].sCell_config[ue_mod_idP][sCellIndexToAdd],
|
||||||
|
#endif
|
||||||
|
(MeasObjectToAddModList_t*)NULL,
|
||||||
|
(ReportConfigToAddModList_t*)NULL,
|
||||||
|
(QuantityConfig_t*)NULL,
|
||||||
|
(MeasIdToAddModList_t*)NULL,
|
||||||
|
(MAC_MainConfig_t*)NULL,
|
||||||
|
(MeasGapConfig_t*)NULL,
|
||||||
|
(MobilityControlInfo_t*)NULL,
|
||||||
|
(struct MeasConfig__speedStatePars*)NULL,
|
||||||
|
(RSRP_Range_t*)NULL,
|
||||||
|
(C_RNTI_t*)NULL,
|
||||||
|
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)NULL);
|
||||||
|
|
||||||
|
LOG_I(RRC,"[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration (bytes %d, UE id %d)\n",
|
||||||
|
enb_mod_idP,frame, size, ue_mod_idP);
|
||||||
|
|
||||||
|
LOG_D(RRC, "[MSC_MSG][FRAME %05d][RRC_eNB][MOD %02d][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %d MUI %d) --->][PDCP][MOD %02d][RB %02d]\n",
|
||||||
|
frame, enb_mod_idP, size, ue_mod_idP, rrc_eNB_mui, enb_mod_idP, /*(ue_mod_idP*MAX_NUM_RB)+*/DCCH);
|
||||||
|
//rrc_rlc_data_req(Mod_id,frame, 1,(UE_index*MAX_NUM_RB)+DCCH,rrc_eNB_mui++,0,size,(char*)buffer);
|
||||||
|
// pdcp_data_req(enb_mod_idP, ue_mod_idP, frame, 1, /*(UE_index * MAX_NUM_RB) + */DCCH, rrc_eNB_mui++, 0, size, (char*)buffer, 1);
|
||||||
|
pdcp_rrc_data_req(enb_mod_idP, ue_mod_idP, frame, 1, DCCH, rrc_eNB_mui++, 0, size, buffer, 1);
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
void rrc_eNB_process_MeasurementReport(
|
void rrc_eNB_process_MeasurementReport(
|
||||||
module_id_t enb_mod_idP,
|
module_id_t enb_mod_idP,
|
||||||
@@ -2141,12 +2204,29 @@ void rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
|||||||
// rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list;
|
// rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list;
|
||||||
memset(buffer, 0, RRC_BUF_SIZE);
|
memset(buffer, 0, RRC_BUF_SIZE);
|
||||||
|
|
||||||
size = do_RRCConnectionReconfiguration(enb_mod_idP, buffer, ue_mod_idP, rrc_eNB_get_next_transaction_identifier(enb_mod_idP), //Transaction_id,
|
size = do_RRCConnectionReconfiguration(enb_mod_idP,
|
||||||
SRB_configList2, DRB_configList2, NULL, // DRB2_list,
|
buffer,
|
||||||
|
ue_mod_idP,
|
||||||
|
rrc_eNB_get_next_transaction_identifier(enb_mod_idP), //Transaction_id,
|
||||||
|
SRB_configList2,
|
||||||
|
DRB_configList2,
|
||||||
|
NULL, // DRB2_list,
|
||||||
NULL, //*sps_Config,
|
NULL, //*sps_Config,
|
||||||
physicalConfigDedicated[ue_mod_idP], MeasObj_list, ReportConfig_list, NULL, //quantityConfig,
|
physicalConfigDedicated[ue_mod_idP],
|
||||||
MeasId_list, mac_MainConfig, NULL, mobilityInfo, Sparams,
|
#ifdef Rel10
|
||||||
NULL, NULL, dedicatedInfoNASList);
|
(SCellToAddMod_r10_t *)NULL,
|
||||||
|
#endif
|
||||||
|
MeasObj_list,
|
||||||
|
ReportConfig_list,
|
||||||
|
NULL, //quantityConfig,
|
||||||
|
MeasId_list,
|
||||||
|
mac_MainConfig,
|
||||||
|
NULL,
|
||||||
|
mobilityInfo,
|
||||||
|
Sparams,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
dedicatedInfoNASList);
|
||||||
|
|
||||||
LOG_I(RRC,
|
LOG_I(RRC,
|
||||||
"[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration for handover (bytes %d, UE id %d)\n",
|
"[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration for handover (bytes %d, UE id %d)\n",
|
||||||
@@ -3286,6 +3366,14 @@ void *rrc_enb_task(
|
|||||||
case RRC_RAL_CONFIGURE_THRESHOLD_REQ:
|
case RRC_RAL_CONFIGURE_THRESHOLD_REQ:
|
||||||
rrc_enb_ral_handle_configure_threshold_request(instance, msg_p);
|
rrc_enb_ral_handle_configure_threshold_request(instance, msg_p);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//SPECTRA: Add the RRC connection reconfiguration with Second cell configuration
|
||||||
|
case RRC_RAL_CONNECTION_RECONFIGURATION_REQ:
|
||||||
|
// ue_mod_id = 0; /* TODO force ue_mod_id to first UE, NAS UE not virtualized yet */
|
||||||
|
LOG_I(RRC, "[eNB %d] Send RRC_RAL_CONNECTION_RECONFIGURATION_REQ to UE %s\n", instance, msg_name_p);
|
||||||
|
//Method RRC connection reconfiguration command with Second cell configuration
|
||||||
|
rrc_eNB_generate_RRCConnectionReconfiguration_SCell(instance, 0/* TODO put frameP number ! */, /*ue_mod_id force ue_mod_id to first UE*/0, 36126);
|
||||||
|
break;
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user