carrier aggregation prepartion work:
- handle an UE on the second carrier - quick fix (may change in the future) to deal with race conditions in lte-softmodem. TX procedures (phy_procedures_eNB_TX) are now done the one after the other, from carrier 0 to carrier N. git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7541 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -295,7 +295,9 @@ typedef struct HANDOVER_INFO_UE_s {
|
||||
PhysCellId_t targetCellId;
|
||||
uint8_t measFlag;
|
||||
} HANDOVER_INFO_UE;
|
||||
|
||||
typedef struct eNB_RRC_UE_s {
|
||||
uint8_t primaryCC_id;
|
||||
#ifdef Rel10
|
||||
SCellToAddMod_r10_t sCell_config[2];
|
||||
#endif
|
||||
@@ -317,7 +319,6 @@ typedef struct eNB_RRC_UE_s {
|
||||
MeasConfig_t* measConfig;
|
||||
HANDOVER_INFO* handover_info;
|
||||
|
||||
|
||||
#if defined(ENABLE_SECURITY)
|
||||
/* KeNB as derived from KASME received from EPC */
|
||||
uint8_t kenb[32];
|
||||
@@ -326,8 +327,6 @@ typedef struct eNB_RRC_UE_s {
|
||||
e_SecurityAlgorithmConfig__cipheringAlgorithm ciphering_algorithm;
|
||||
e_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
|
||||
|
||||
|
||||
|
||||
uint8_t Status;
|
||||
rnti_t rnti;
|
||||
uint64_t random_ue_identity;
|
||||
@@ -361,6 +360,7 @@ typedef struct eNB_RRC_UE_s {
|
||||
} eNB_RRC_UE_t;
|
||||
|
||||
typedef uid_t ue_uid_t;
|
||||
|
||||
typedef struct rrc_eNB_ue_context_s {
|
||||
/* Tree related data */
|
||||
RB_ENTRY(rrc_eNB_ue_context_s) entries;
|
||||
@@ -370,7 +370,7 @@ typedef struct rrc_eNB_ue_context_s {
|
||||
*/
|
||||
rnti_t ue_id_rnti;
|
||||
|
||||
// an other key for protocol layers but should not be used as a key for RB tree
|
||||
// another key for protocol layers but should not be used as a key for RB tree
|
||||
ue_uid_t local_uid;
|
||||
|
||||
/* UE id for initial connection to S1AP */
|
||||
|
||||
@@ -802,7 +802,7 @@ rrc_ue_process_measConfig(
|
||||
}
|
||||
}
|
||||
|
||||
rrc_mac_config_req(ctxt_pP->module_id,ENB_FLAG_NO,0,eNB_index,
|
||||
rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
@@ -1092,7 +1092,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
|
||||
LOG_D(RRC, "[FRAME %05d][RRC_UE][MOD %02d][][--- MAC_CONFIG_REQ (SRB1 eNB %d) --->][MAC_UE][MOD %02d][]\n",
|
||||
ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
|
||||
rrc_mac_config_req(ctxt_pP->module_id,ENB_FLAG_NO,0,eNB_index,
|
||||
rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
|
||||
#ifdef Rel10
|
||||
@@ -1150,7 +1150,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
ctxt_pP->module_id,
|
||||
eNB_index,
|
||||
ctxt_pP->module_id);
|
||||
rrc_mac_config_req(ctxt_pP->module_id,ENB_FLAG_NO,0,eNB_index,
|
||||
rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
|
||||
#ifdef Rel10
|
||||
@@ -1248,7 +1248,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity,
|
||||
eNB_index,
|
||||
ctxt_pP->module_id);
|
||||
rrc_mac_config_req(ctxt_pP->module_id,ENB_FLAG_NO,0,eNB_index,
|
||||
rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
|
||||
#ifdef Rel10
|
||||
@@ -1749,6 +1749,7 @@ rrc_ue_process_mobilityControlInfo(
|
||||
|
||||
// Reset MAC and configure PHY
|
||||
rrc_mac_config_req(ctxt_pP->module_id,
|
||||
0,
|
||||
ENB_FLAG_NO,
|
||||
0,
|
||||
eNB_index,
|
||||
@@ -2564,7 +2565,7 @@ static int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
|
||||
LOG_D( RRC, "[FRAME unknown][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB1 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
|
||||
ctxt_pP->module_id, eNB_index, ctxt_pP->module_id );
|
||||
|
||||
rrc_mac_config_req( ctxt_pP->module_id,ENB_FLAG_NO, 0, eNB_index,
|
||||
rrc_mac_config_req(ctxt_pP->module_id, 0, ENB_FLAG_NO, 0, eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
@@ -3021,7 +3022,7 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
|
||||
dump_sib2( UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index] );
|
||||
LOG_D( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB2 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
|
||||
ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id );
|
||||
rrc_mac_config_req( ctxt_pP->module_id, ENB_FLAG_NO, 0, eNB_index,
|
||||
rrc_mac_config_req(ctxt_pP->module_id, 0, ENB_FLAG_NO, 0, eNB_index,
|
||||
&UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->radioResourceConfigCommon,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
@@ -3157,7 +3158,7 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
|
||||
// adding here function to store necessary parameters for using in decode_MCCH_Message + maybe transfer to PHY layer
|
||||
LOG_D( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB13 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
|
||||
ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
|
||||
rrc_mac_config_req(ctxt_pP->module_id,ENB_FLAG_NO,0,eNB_index,
|
||||
rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
@@ -3605,7 +3606,7 @@ static void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_i
|
||||
LOG_D(RRC,"[UE %d] Frame %d : Number of MCH(s) in the MBSFN Sync Area %d is %d\n",
|
||||
ue_mod_idP, frameP, mbsfn_sync_area, UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9.list.count);
|
||||
// store to MAC/PHY necessary parameters for receiving MTCHs
|
||||
rrc_mac_config_req(ue_mod_idP,ENB_FLAG_NO,0,eNB_index,
|
||||
rrc_mac_config_req(ue_mod_idP,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
|
||||
@@ -328,7 +328,7 @@ init_SI(
|
||||
LOG_D(RRC,
|
||||
PROTOCOL_RRC_CTXT_FMT" RRC_UE --- MAC_CONFIG_REQ (SIB1.tdd & SIB2 params) ---> MAC_UE\n",
|
||||
PROTOCOL_RRC_CTXT_ARGS(ctxt_pP));
|
||||
rrc_mac_config_req(ctxt_pP->module_id, ENB_FLAG_YES, 0, 0,
|
||||
rrc_mac_config_req(ctxt_pP->module_id, CC_id, ENB_FLAG_YES, 0, 0,
|
||||
(RadioResourceConfigCommonSIB_t *) &
|
||||
eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->radioResourceConfigCommon,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
@@ -425,7 +425,7 @@ init_MCCH(
|
||||
|
||||
// LOG_I(RRC, "DUY: serviceID is %d\n",eNB_rrc_inst[enb_mod_idP].mcch_message->pmch_InfoList_r9.list.array[0]->mbms_SessionInfoList_r9.list.array[0]->tmgi_r9.serviceId_r9.buf[2]);
|
||||
// LOG_I(RRC, "DUY: session ID is %d\n",eNB_rrc_inst[enb_mod_idP].mcch_message->pmch_InfoList_r9.list.array[0]->mbms_SessionInfoList_r9.list.array[0]->sessionId_r9->buf[0]);
|
||||
rrc_mac_config_req(enb_mod_idP, ENB_FLAG_YES, 0, 0,
|
||||
rrc_mac_config_req(enb_mod_idP, CC_id, ENB_FLAG_YES, 0, 0,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
@@ -2215,6 +2215,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
ctxt_pP->frame, ctxt_pP->module_id, ue_context_pP->ue_context.rnti, ctxt_pP->module_id);
|
||||
rrc_mac_config_req(
|
||||
ctxt_pP->module_id,
|
||||
ue_context_pP->ue_context.primaryCC_id,
|
||||
ENB_FLAG_YES,
|
||||
ue_context_pP->ue_context.rnti,
|
||||
0,
|
||||
@@ -2785,6 +2786,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
//pdcp_data_req (ctxt_pP->module_id, frameP, 1, (ue_mod_idP * NB_RB_MAX) + DCCH,rrc_eNB_mui++, 0, size, (char *) buffer, 1);
|
||||
rrc_mac_config_req(
|
||||
ctxt_pP->module_id,
|
||||
ue_context_pP->ue_context.primaryCC_id,
|
||||
ENB_FLAG_YES,
|
||||
ue_context_pP->ue_context.rnti,
|
||||
0,
|
||||
@@ -3050,6 +3052,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
|
||||
rrc_mac_config_req(
|
||||
ctxt_pP->module_id,
|
||||
ue_context_pP->ue_context.primaryCC_id,
|
||||
ENB_FLAG_YES,
|
||||
ue_context_pP->ue_context.rnti,
|
||||
0,
|
||||
@@ -3097,6 +3100,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" RRC_eNB --- MAC_CONFIG_REQ (DRB) ---> MAC_eNB\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
|
||||
rrc_mac_config_req(ctxt_pP->module_id,
|
||||
ue_context_pP->ue_context.primaryCC_id,
|
||||
ENB_FLAG_YES,
|
||||
ue_context_pP->ue_context.rnti,
|
||||
0,
|
||||
@@ -3186,6 +3190,7 @@ rrc_eNB_generate_RRCConnectionSetup(
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
|
||||
rrc_mac_config_req(
|
||||
ctxt_pP->module_id,
|
||||
ue_context_pP->ue_context.primaryCC_id,
|
||||
ENB_FLAG_YES,
|
||||
ue_context_pP->ue_context.rnti,
|
||||
0,
|
||||
@@ -3630,6 +3635,8 @@ rrc_eNB_decode_ccch(
|
||||
send_msg(&S_rrc, msg_rrc_MR_attach_ind(ctxt_pP->module_id, Mac_id));
|
||||
#else
|
||||
|
||||
ue_context_p->ue_context.primaryCC_id = CC_id;
|
||||
|
||||
//LG COMMENT Idx = (ue_mod_idP * NB_RB_MAX) + DCCH;
|
||||
Idx = DCCH;
|
||||
// SRB1
|
||||
|
||||
Reference in New Issue
Block a user