Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
spbro
OpenXG-RAN
Commits
3a2e3ff3
Commit
3a2e3ff3
authored
Sep 15, 2020
by
Sergey Aranovskiy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix formatting style
Signed-off-by:
Sergey Aranovskiy
<
aranovskiy@mwnts.ru
>
parent
4bcf0a40
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
159 additions
and
170 deletions
+159
-170
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+159
-170
No files found.
openair2/RRC/LTE/rrc_eNB.c
View file @
3a2e3ff3
...
@@ -155,7 +155,6 @@ init_SI(
...
@@ -155,7 +155,6 @@ init_SI(
LOG_D(RRC,"%s()\n\n\n\n",__FUNCTION__);
LOG_D(RRC,"%s()\n\n\n\n",__FUNCTION__);
if(configuration->radioresourceconfig[CC_id].mbms_dedicated_serving_cell == TRUE) {
if(configuration->radioresourceconfig[CC_id].mbms_dedicated_serving_cell == TRUE) {
LOG_I(RRC, "Configuring MIB FeMBMS (N_RB_DL %d)\n",
LOG_I(RRC, "Configuring MIB FeMBMS (N_RB_DL %d)\n",
(int)configuration->N_RB_DL[CC_id]);
(int)configuration->N_RB_DL[CC_id]);
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MIB_FeMBMS = (uint8_t *) malloc16(4);
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MIB_FeMBMS = (uint8_t *) malloc16(4);
...
@@ -500,12 +499,16 @@ init_SI(
...
@@ -500,12 +499,16 @@ init_SI(
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].FeMBMS_flag,
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].FeMBMS_flag,
(carrier->sib1_MBMS==NULL?(LTE_BCCH_DL_SCH_Message_MBMS_t *) NULL:(LTE_BCCH_DL_SCH_Message_MBMS_t *)carrier->sib1_MBMS),//(LTE_BCCH_DL_SCH_Message_MBMS_t *) NULL,
(carrier->sib1_MBMS==NULL?(LTE_BCCH_DL_SCH_Message_MBMS_t *) NULL:(LTE_BCCH_DL_SCH_Message_MBMS_t *)carrier->sib1_MBMS),//(LTE_BCCH_DL_SCH_Message_MBMS_t *) NULL,
(LTE_SchedulingInfo_MBMS_r14_t *) NULL,
(LTE_SchedulingInfo_MBMS_r14_t *) NULL,
(
carrier
->
sib1_MBMS
==
NULL
?
(
struct
LTE_NonMBSFN_SubframeConfig_r14
*
)
NULL
:
(
struct
LTE_NonMBSFN_SubframeConfig_r14
*
)
carrier
->
sib1_MBMS
->
nonMBSFN_SubframeConfig_r14
),
//(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(carrier->sib1_MBMS==NULL
(
carrier
->
sib1_MBMS
==
NULL
?
(
LTE_SystemInformationBlockType1_MBMS_r14_t
*
)
NULL
:
(
LTE_SystemInformationBlockType1_MBMS_r14_t
*
)
carrier
->
sib1_MBMS
->
systemInformationBlockType13_r14
),
//(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
? (struct LTE_NonMBSFN_SubframeConfig_r14 *)NULL
(
carrier
->
sib1_MBMS
==
NULL
?
(
LTE_MBSFN_AreaInfoList_r9_t
*
)
NULL
:
(
LTE_MBSFN_AreaInfoList_r9_t
*
)
&
carrier
->
sib1_MBMS
->
systemInformationBlockType13_r14
->
mbsfn_AreaInfoList_r9
)
//(LTE_MBSFN_AreaInfoList_r9_t *) NULL
: (struct LTE_NonMBSFN_SubframeConfig_r14 *)carrier->sib1_MBMS->nonMBSFN_SubframeConfig_r14),//(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(carrier->sib1_MBMS==NULL
,(
LTE_MBSFNAreaConfiguration_r9_t
*
)
NULL
? (LTE_SystemInformationBlockType1_MBMS_r14_t *)NULL
: (LTE_SystemInformationBlockType1_MBMS_r14_t *)carrier->sib1_MBMS->systemInformationBlockType13_r14),//(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(carrier->sib1_MBMS==NULL
? (LTE_MBSFN_AreaInfoList_r9_t *)NULL
: (LTE_MBSFN_AreaInfoList_r9_t *)&carrier->sib1_MBMS->systemInformationBlockType13_r14->mbsfn_AreaInfoList_r9),//(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(LTE_MBSFNAreaConfiguration_r9_t *)NULL
);
);
}
}
...
@@ -590,7 +593,7 @@ init_MCCH(
...
@@ -590,7 +593,7 @@ init_MCCH(
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(
LTE_MBSFNAreaConfiguration_r9_t
*
)
NULL
(LTE_MBSFNAreaConfiguration_r9_t
*) NULL
);
);
}
}
...
@@ -1040,15 +1043,15 @@ void release_UE_in_freeList(module_id_t mod_id) {
...
@@ -1040,15 +1043,15 @@ void release_UE_in_freeList(module_id_t mod_id) {
for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
eNB_PHY = RC.eNB[mod_id][CC_id];
eNB_PHY = RC.eNB[mod_id][CC_id];
int id;
int id;
// clean ULSCH entries for rnti
// clean ULSCH entries for rnti
id = find_ulsch(rnti,eNB_PHY,SEARCH_EXIST);
id = find_ulsch(rnti,eNB_PHY,SEARCH_EXIST);
if (id>=0) clean_eNb_ulsch(eNB_PHY->ulsch[id]);
if (id>=0) clean_eNb_ulsch(eNB_PHY->ulsch[id]);
// clean DLSCH entries for rnti
// clean DLSCH entries for rnti
id = find_dlsch(rnti,eNB_PHY,SEARCH_EXIST);
id = find_dlsch(rnti,eNB_PHY,SEARCH_EXIST);
if (id>=0) clean_eNb_dlsch(eNB_PHY->dlsch[id][0]);
if (id>=0) clean_eNb_dlsch(eNB_PHY->dlsch[id][0]);
// clean UCI entries for rnti
// clean UCI entries for rnti
...
@@ -1488,7 +1491,7 @@ rrc_eNB_generate_RRCConnectionReestablishment(
...
@@ -1488,7 +1491,7 @@ rrc_eNB_generate_RRCConnectionReestablishment(
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(
LTE_MBSFNAreaConfiguration_r9_t
*
)
NULL
(LTE_MBSFNAreaConfiguration_r9_t
*) NULL
);
);
break;
break;
}
}
...
@@ -2190,7 +2193,6 @@ rrc_eNB_generate_RRCConnectionRelease(
...
@@ -2190,7 +2193,6 @@ rrc_eNB_generate_RRCConnectionRelease(
uint8_t buffer[RRC_BUF_SIZE];
uint8_t buffer[RRC_BUF_SIZE];
uint16_t size = 0;
uint16_t size = 0;
int release_num;
int release_num;
memset(buffer, 0, RRC_BUF_SIZE);
memset(buffer, 0, RRC_BUF_SIZE);
T(T_ENB_RRC_CONNECTION_RELEASE, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
T(T_ENB_RRC_CONNECTION_RELEASE, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
...
@@ -3281,7 +3283,8 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
...
@@ -3281,7 +3283,8 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
MeasObj2->measObjectId = 2;
MeasObj2->measObjectId = 2;
MeasObj2->measObject.present = LTE_MeasObjectToAddMod__measObject_PR_measObjectNR_r15;
MeasObj2->measObject.present = LTE_MeasObjectToAddMod__measObject_PR_measObjectNR_r15;
MeasObj2
->
measObject
.
choice
.
measObjectNR_r15
.
carrierFreq_r15
=
641272
;
//634000; //(634000 = 3.51GHz) (640000 = 3.6GHz) (641272 = 3619.08MHz = 3600 + 30/1000*106*12/2) (642256 is for 3.6GHz and absoluteFrequencySSB = 642016)
MeasObj2->measObject.choice.measObjectNR_r15.carrierFreq_r15 = 641272;
//634000; //(634000 = 3.51GHz) (640000 = 3.6GHz) (641272 = 3619.08MHz = 3600 + 30/1000*106*12/2) (642256 is for 3.6GHz and absoluteFrequencySSB = 642016)
MeasObj2->measObject.choice.measObjectNR_r15.rs_ConfigSSB_r15.measTimingConfig_r15.periodicityAndOffset_r15.present = LTE_MTC_SSB_NR_r15__periodicityAndOffset_r15_PR_sf20_r15;
MeasObj2->measObject.choice.measObjectNR_r15.rs_ConfigSSB_r15.measTimingConfig_r15.periodicityAndOffset_r15.present = LTE_MTC_SSB_NR_r15__periodicityAndOffset_r15_PR_sf20_r15;
MeasObj2->measObject.choice.measObjectNR_r15.rs_ConfigSSB_r15.measTimingConfig_r15.periodicityAndOffset_r15.choice.sf20_r15 = 0;
MeasObj2->measObject.choice.measObjectNR_r15.rs_ConfigSSB_r15.measTimingConfig_r15.periodicityAndOffset_r15.choice.sf20_r15 = 0;
MeasObj2->measObject.choice.measObjectNR_r15.rs_ConfigSSB_r15.measTimingConfig_r15.ssb_Duration_r15 = LTE_MTC_SSB_NR_r15__ssb_Duration_r15_sf4;
MeasObj2->measObject.choice.measObjectNR_r15.rs_ConfigSSB_r15.measTimingConfig_r15.ssb_Duration_r15 = LTE_MTC_SSB_NR_r15__ssb_Duration_r15_sf4;
...
@@ -3593,7 +3596,6 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
...
@@ -3593,7 +3596,6 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
size,
size,
buffer,
buffer,
PDCP_TRANSMISSION_MODE_CONTROL);
PDCP_TRANSMISSION_MODE_CONTROL);
/* Refresh SRBs/DRBs */
/* Refresh SRBs/DRBs */
rrc_pdcp_config_asn1_req(ctxt_pP,
rrc_pdcp_config_asn1_req(ctxt_pP,
*SRB_configList2, // NULL,
*SRB_configList2, // NULL,
...
@@ -5789,7 +5791,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct
...
@@ -5789,7 +5791,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(
LTE_MBSFNAreaConfiguration_r9_t
*
)
NULL
(LTE_MBSFNAreaConfiguration_r9_t
*) NULL
);
);
// Configure target eNB SRB2
// Configure target eNB SRB2
/// SRB2
/// SRB2
...
@@ -6341,7 +6343,6 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct
...
@@ -6341,7 +6343,6 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct
ue_context_pP->ue_context.rnti,
ue_context_pP->ue_context.rnti,
rrc_eNB_mui,
rrc_eNB_mui,
size);
size);
/* Refresh SRBs/DRBs */
/* Refresh SRBs/DRBs */
rrc_pdcp_config_asn1_req(ctxt_pP,
rrc_pdcp_config_asn1_req(ctxt_pP,
*SRB_configList2, // NULL,
*SRB_configList2, // NULL,
...
@@ -6413,6 +6414,7 @@ rrc_eNB_configure_rbs_handover(struct rrc_eNB_ue_context_s *ue_context_p, protoc
...
@@ -6413,6 +6414,7 @@ rrc_eNB_configure_rbs_handover(struct rrc_eNB_ue_context_s *ue_context_p, protoc
NULL,
NULL,
NULL,
NULL,
(LTE_PMCH_InfoList_r9_t *) NULL, NULL);
(LTE_PMCH_InfoList_r9_t *) NULL, NULL);
if (!NODE_IS_CU(RC.rrc[ctxt_pP->module_id]->node_type)) {
if (!NODE_IS_CU(RC.rrc[ctxt_pP->module_id]->node_type)) {
rrc_rlc_config_asn1_req(ctxt_pP,
rrc_rlc_config_asn1_req(ctxt_pP,
ue_context_p->ue_context.SRB_configList,
ue_context_p->ue_context.SRB_configList,
...
@@ -6470,7 +6472,7 @@ rrc_eNB_configure_rbs_handover(struct rrc_eNB_ue_context_s *ue_context_p, protoc
...
@@ -6470,7 +6472,7 @@ rrc_eNB_configure_rbs_handover(struct rrc_eNB_ue_context_s *ue_context_p, protoc
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(
LTE_MBSFNAreaConfiguration_r9_t
*
)
NULL
(LTE_MBSFNAreaConfiguration_r9_t
*) NULL
);
);
}
}
...
@@ -6553,6 +6555,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
...
@@ -6553,6 +6555,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
kUPenc,
kUPenc,
(LTE_PMCH_InfoList_r9_t *) NULL,
(LTE_PMCH_InfoList_r9_t *) NULL,
NULL);
NULL);
/* Refresh SRBs/DRBs */
/* Refresh SRBs/DRBs */
if (!NODE_IS_CU(RC.rrc[ctxt_pP->module_id]->node_type)) {
if (!NODE_IS_CU(RC.rrc[ctxt_pP->module_id]->node_type)) {
rrc_rlc_config_asn1_req(ctxt_pP,
rrc_rlc_config_asn1_req(ctxt_pP,
...
@@ -6687,7 +6690,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
...
@@ -6687,7 +6690,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(
LTE_MBSFNAreaConfiguration_r9_t
*
)
NULL
(LTE_MBSFNAreaConfiguration_r9_t
*) NULL
);
);
}
}
} else { // remove LCHAN from MAC/PHY
} else { // remove LCHAN from MAC/PHY
...
@@ -6747,7 +6750,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
...
@@ -6747,7 +6750,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(
LTE_MBSFNAreaConfiguration_r9_t
*
)
NULL
(LTE_MBSFNAreaConfiguration_r9_t
*) NULL
);
);
}
}
} // end else of if (ue_context_pP->ue_context.DRB_active[drb_id] == 0)
} // end else of if (ue_context_pP->ue_context.DRB_active[drb_id] == 0)
...
@@ -6910,7 +6913,7 @@ rrc_eNB_generate_RRCConnectionSetup(
...
@@ -6910,7 +6913,7 @@ rrc_eNB_generate_RRCConnectionSetup(
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(struct LTE_NonMBSFN_SubframeConfig_r14 *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_SystemInformationBlockType1_MBMS_r14_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(LTE_MBSFN_AreaInfoList_r9_t *) NULL,
(
LTE_MBSFNAreaConfiguration_r9_t
*
)
NULL
(LTE_MBSFNAreaConfiguration_r9_t
*) NULL
);
);
break;
break;
}
}
...
@@ -7045,9 +7048,8 @@ char openair_rrc_eNB_configuration(
...
@@ -7045,9 +7048,8 @@ char openair_rrc_eNB_configuration(
}
}
static
static
void
rrc_eNB_generate_RRCConnectionReestablishmentReject_unknown_UE
(
protocol_ctxt_t
*
const
ctxt_pP
,
void rrc_eNB_generate_RRCConnectionReestablishmentReject_unknown_UE(protocol_ctxt_t *const ctxt_pP,
const
int
CC_id
)
const int CC_id) {
{
struct rrc_eNB_ue_context_s *ue_context_p = rrc_eNB_get_next_free_ue_context(ctxt_pP, ctxt_pP->rnti);
struct rrc_eNB_ue_context_s *ue_context_p = rrc_eNB_get_next_free_ue_context(ctxt_pP, ctxt_pP->rnti);
rrc_eNB_generate_RRCConnectionReestablishmentReject(ctxt_pP,
rrc_eNB_generate_RRCConnectionReestablishmentReject(ctxt_pP,
ue_context_p,
ue_context_p,
...
@@ -7826,8 +7828,7 @@ rrc_eNB_decode_dcch(
...
@@ -7826,8 +7828,7 @@ rrc_eNB_decode_dcch(
LOG_I(RRC,
LOG_I(RRC,
PROTOCOL_RRC_CTXT_UE_FMT" UE State = RRC_HO_EXECUTION (xid %ld)\n",
PROTOCOL_RRC_CTXT_UE_FMT" UE State = RRC_HO_EXECUTION (xid %ld)\n",
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),ul_dcch_msg->message.choice.c1.choice.rrcConnectionReconfigurationComplete.rrc_TransactionIdentifier);
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),ul_dcch_msg->message.choice.c1.choice.rrcConnectionReconfigurationComplete.rrc_TransactionIdentifier);
}
} else if(ue_context_p->ue_context.Status == RRC_NR_NSA) {
else
if
(
ue_context_p
->
ue_context
.
Status
==
RRC_NR_NSA
){
//Looking for a condition to trigger S1AP E-RAB-Modification-indication, based on the reception of RRCConnectionReconfigurationComplete
//Looking for a condition to trigger S1AP E-RAB-Modification-indication, based on the reception of RRCConnectionReconfigurationComplete
//including NR specific elements.
//including NR specific elements.
if(ul_dcch_msg->message.choice.c1.choice.rrcConnectionReconfigurationComplete.criticalExtensions.choice.rrcConnectionReconfigurationComplete_r8.
if(ul_dcch_msg->message.choice.c1.choice.rrcConnectionReconfigurationComplete.criticalExtensions.choice.rrcConnectionReconfigurationComplete_r8.
...
@@ -7855,8 +7856,7 @@ rrc_eNB_decode_dcch(
...
@@ -7855,8 +7856,7 @@ rrc_eNB_decode_dcch(
}
}
}
}
}
}
}
} else {
else
{
dedicated_DRB = 0;
dedicated_DRB = 0;
ue_context_p->ue_context.Status = RRC_RECONFIGURED;
ue_context_p->ue_context.Status = RRC_RECONFIGURED;
LOG_I(RRC,
LOG_I(RRC,
...
@@ -7865,7 +7865,6 @@ rrc_eNB_decode_dcch(
...
@@ -7865,7 +7865,6 @@ rrc_eNB_decode_dcch(
}
}
ue_context_p->ue_context.reestablishment_xid = -1;
ue_context_p->ue_context.reestablishment_xid = -1;
} else {
} else {
dedicated_DRB = 1;
dedicated_DRB = 1;
ue_context_p->ue_context.Status = RRC_RECONFIGURED;
ue_context_p->ue_context.Status = RRC_RECONFIGURED;
...
@@ -8402,7 +8401,6 @@ rrc_eNB_decode_dcch(
...
@@ -8402,7 +8401,6 @@ rrc_eNB_decode_dcch(
T(T_ENB_RRC_MBMS_COUNTING_RESPONSE_R10, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
T(T_ENB_RRC_MBMS_COUNTING_RESPONSE_R10, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
LOG_E(RRC, "THINH [LTE_UL_DCCH_MessageType__c1_PR_mbmsCountingResponse_r10]\n");
LOG_E(RRC, "THINH [LTE_UL_DCCH_MessageType__c1_PR_mbmsCountingResponse_r10]\n");
break;
break;
case LTE_UL_DCCH_MessageType__c1_PR_interFreqRSTDMeasurementIndication_r10:
case LTE_UL_DCCH_MessageType__c1_PR_interFreqRSTDMeasurementIndication_r10:
...
@@ -8430,11 +8428,11 @@ rrc_eNB_decode_dcch(
...
@@ -8430,11 +8428,11 @@ rrc_eNB_decode_dcch(
case LTE_UL_DCCH_MessageType__messageClassExtension_PR_c2: //SidelinkUEInformation
case LTE_UL_DCCH_MessageType__messageClassExtension_PR_c2: //SidelinkUEInformation
if(ul_dcch_msg->message.choice.messageClassExtension.choice.c2.present ==
if(ul_dcch_msg->message.choice.messageClassExtension.choice.c2.present ==
LTE_UL_DCCH_MessageType__messageClassExtension__c2_PR_scgFailureInformationNR_r15
)
{
LTE_UL_DCCH_MessageType__messageClassExtension__c2_PR_scgFailureInformationNR_r15)
{
if (ul_dcch_msg->message.choice.messageClassExtension.choice.c2.choice.scgFailureInformationNR_r15.
if (ul_dcch_msg->message.choice.messageClassExtension.choice.c2.choice.scgFailureInformationNR_r15.
criticalExtensions
.
present
==
LTE_SCGFailureInformationNR_r15__criticalExtensions_PR_c1
)
{
criticalExtensions.present == LTE_SCGFailureInformationNR_r15__criticalExtensions_PR_c1)
{
if (ul_dcch_msg->message.choice.messageClassExtension.choice.c2.choice.scgFailureInformationNR_r15.criticalExtensions.
if (ul_dcch_msg->message.choice.messageClassExtension.choice.c2.choice.scgFailureInformationNR_r15.criticalExtensions.
choice
.
c1
.
present
==
LTE_SCGFailureInformationNR_r15__criticalExtensions__c1_PR_scgFailureInformationNR_r15
)
{
choice.c1.present == LTE_SCGFailureInformationNR_r15__criticalExtensions__c1_PR_scgFailureInformationNR_r15)
{
if (ul_dcch_msg->message.choice.messageClassExtension.choice.c2.choice.scgFailureInformationNR_r15.criticalExtensions.
if (ul_dcch_msg->message.choice.messageClassExtension.choice.c2.choice.scgFailureInformationNR_r15.criticalExtensions.
choice.c1.choice.scgFailureInformationNR_r15.failureReportSCG_NR_r15!=NULL) {
choice.c1.choice.scgFailureInformationNR_r15.failureReportSCG_NR_r15!=NULL) {
LOG_E(RRC, "Received NR scgFailureInformation from UE, failure type: %ld \n",
LOG_E(RRC, "Received NR scgFailureInformation from UE, failure type: %ld \n",
...
@@ -8444,8 +8442,7 @@ rrc_eNB_decode_dcch(
...
@@ -8444,8 +8442,7 @@ rrc_eNB_decode_dcch(
}
}
}
}
}
}
}
} else if(ul_dcch_msg->message.choice.messageClassExtension.choice.c2.present == LTE_UL_DCCH_MessageType__messageClassExtension__c2_PR_sidelinkUEInformation_r12) {
else
if
(
ul_dcch_msg
->
message
.
choice
.
messageClassExtension
.
choice
.
c2
.
present
==
LTE_UL_DCCH_MessageType__messageClassExtension__c2_PR_sidelinkUEInformation_r12
){
//case UL_DCCH_MessageType__messageClassExtension__c2_PR_sidelinkUEInformation_r12: //SidelinkUEInformation
//case UL_DCCH_MessageType__messageClassExtension__c2_PR_sidelinkUEInformation_r12: //SidelinkUEInformation
LOG_I(RRC,"THINH [LTE_UL_DCCH_MessageType__messageClassExtension_PR_c2]\n");
LOG_I(RRC,"THINH [LTE_UL_DCCH_MessageType__messageClassExtension_PR_c2]\n");
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
...
@@ -8470,6 +8467,7 @@ rrc_eNB_decode_dcch(
...
@@ -8470,6 +8467,7 @@ rrc_eNB_decode_dcch(
ue_context_p,
ue_context_p,
&ul_dcch_msg->message.choice.messageClassExtension.choice.c2.choice.sidelinkUEInformation_r12);
&ul_dcch_msg->message.choice.messageClassExtension.choice.c2.choice.sidelinkUEInformation_r12);
}
}
break;
break;
default:
default:
...
@@ -8637,16 +8635,13 @@ void rrc_enb_init(void) {
...
@@ -8637,16 +8635,13 @@ void rrc_enb_init(void) {
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
void process_successful_rlc_sdu_indication(int instance,
void process_successful_rlc_sdu_indication(int instance,
int rnti,
int rnti,
int
message_id
)
int message_id) {
{
int release_num;
int release_num;
int release_total;
int release_total;
RRC_release_ctrl_t *release_ctrl;
RRC_release_ctrl_t *release_ctrl;
/* Check if the message sent was RRC Connection Release.
/* Check if the message sent was RRC Connection Release.
* If yes then continue the release process.
* If yes then continue the release process.
*/
*/
pthread_mutex_lock(&rrc_release_freelist);
pthread_mutex_lock(&rrc_release_freelist);
if (rrc_release_info.num_UEs > 0) {
if (rrc_release_info.num_UEs > 0) {
...
@@ -8688,14 +8683,11 @@ void process_successful_rlc_sdu_indication(int instance,
...
@@ -8688,14 +8683,11 @@ void process_successful_rlc_sdu_indication(int instance,
}
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
void
process_unsuccessful_rlc_sdu_indication
(
int
instance
,
int
rnti
)
void process_unsuccessful_rlc_sdu_indication(int instance, int rnti) {
{
int release_num;
int release_num;
int release_total;
int release_total;
RRC_release_ctrl_t *release_ctrl;
RRC_release_ctrl_t *release_ctrl;
/* radio link failure detected by RLC layer, remove UE properly */
/* radio link failure detected by RLC layer, remove UE properly */
pthread_mutex_lock(&rrc_release_freelist);
pthread_mutex_lock(&rrc_release_freelist);
/* first, check if the rnti is in the list rrc_release_info.RRC_release_ctrl */
/* first, check if the rnti is in the list rrc_release_info.RRC_release_ctrl */
...
@@ -8763,8 +8755,7 @@ void process_rlc_sdu_indication(int instance,
...
@@ -8763,8 +8755,7 @@ void process_rlc_sdu_indication(int instance,
int rnti,
int rnti,
int is_successful,
int is_successful,
int srb_id,
int srb_id,
int
message_id
)
int message_id) {
{
if (is_successful)
if (is_successful)
process_successful_rlc_sdu_indication(instance, rnti, message_id);
process_successful_rlc_sdu_indication(instance, rnti, message_id);
else
else
...
@@ -9111,16 +9102,16 @@ void rrc_eNB_process_AdditionResponseInformation(const module_id_t enb_mod_idP,
...
@@ -9111,16 +9102,16 @@ void rrc_eNB_process_AdditionResponseInformation(const module_id_t enb_mod_idP,
rrc_eNB_ue_context_t *ue_context;
rrc_eNB_ue_context_t *ue_context;
unsigned char buffer[8192];
unsigned char buffer[8192];
int size;
int size;
ue_context = rrc_eNB_get_ue_context(RC.rrc[enb_mod_idP], m->rnti);
ue_context = rrc_eNB_get_ue_context(RC.rrc[enb_mod_idP], m->rnti);
if (ue_context) {
if (ue_context) {
ue_context->ue_context.nb_of_modify_endc_e_rabs = m->nb_e_rabs_admitted_tobeadded;
ue_context->ue_context.nb_of_modify_endc_e_rabs = m->nb_e_rabs_admitted_tobeadded;
int j=0;
int j=0;
while
(
j
<
m
->
nb_e_rabs_admitted_tobeadded
){
for
(
int
e_rab_idx
=
0
;
e_rab_idx
<
ue_context
->
ue_context
.
setup_e_rabs
;
e_rab_idx
++
){
while(j < m->nb_e_rabs_admitted_tobeadded) {
for (int e_rab_idx=0; e_rab_idx<ue_context->ue_context.setup_e_rabs; e_rab_idx++) {
//Update ue_context information with gNB's address and new GTP tunnel ID
//Update ue_context information with gNB's address and new GTP tunnel ID
if
(
ue_context
->
ue_context
.
e_rab
[
e_rab_idx
].
param
.
e_rab_id
==
m
->
e_rabs_admitted_tobeadded
[
j
].
e_rab_id
)
{
if( ue_context->ue_context.e_rab[e_rab_idx].param.e_rab_id == m->e_rabs_admitted_tobeadded[j].e_rab_id)
{
memcpy(ue_context->ue_context.gnb_gtp_endc_addrs[e_rab_idx].buffer,
memcpy(ue_context->ue_context.gnb_gtp_endc_addrs[e_rab_idx].buffer,
m->e_rabs_admitted_tobeadded[j].gnb_addr.buffer,
m->e_rabs_admitted_tobeadded[j].gnb_addr.buffer,
m->e_rabs_admitted_tobeadded[j].gnb_addr.length);
m->e_rabs_admitted_tobeadded[j].gnb_addr.length);
...
@@ -9130,6 +9121,7 @@ void rrc_eNB_process_AdditionResponseInformation(const module_id_t enb_mod_idP,
...
@@ -9130,6 +9121,7 @@ void rrc_eNB_process_AdditionResponseInformation(const module_id_t enb_mod_idP,
break;
break;
}
}
}
}
j++;
j++;
}
}
...
@@ -9138,9 +9130,7 @@ void rrc_eNB_process_AdditionResponseInformation(const module_id_t enb_mod_idP,
...
@@ -9138,9 +9130,7 @@ void rrc_eNB_process_AdditionResponseInformation(const module_id_t enb_mod_idP,
ENB_FLAG_YES,
ENB_FLAG_YES,
m->rnti,
m->rnti,
0, 0);
0, 0);
size = rrc_eNB_generate_RRCConnectionReconfiguration_endc(&ctxt, ue_context, buffer, 8192, scg_CellGroupConfig, nr1_conf);
size = rrc_eNB_generate_RRCConnectionReconfiguration_endc(&ctxt, ue_context, buffer, 8192, scg_CellGroupConfig, nr1_conf);
rrc_data_req(&ctxt,
rrc_data_req(&ctxt,
DCCH,
DCCH,
rrc_eNB_mui++,
rrc_eNB_mui++,
...
@@ -9151,7 +9141,6 @@ void rrc_eNB_process_AdditionResponseInformation(const module_id_t enb_mod_idP,
...
@@ -9151,7 +9141,6 @@ void rrc_eNB_process_AdditionResponseInformation(const module_id_t enb_mod_idP,
} else {
} else {
LOG_E(F1AP, "no ue_context for RNTI %x, acknowledging release\n", m->rnti);
LOG_E(F1AP, "no ue_context for RNTI %x, acknowledging release\n", m->rnti);
}
}
}
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
...
@@ -9533,7 +9522,7 @@ rrc_enb_task(
...
@@ -9533,7 +9522,7 @@ rrc_enb_task(
//if (go_nr) rrc_go_nr();
//if (go_nr) rrc_go_nr();
}
}
}
}
}
}
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
void
void
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment