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
ZhouShuya
OpenXG-RAN
Commits
74aee786
Commit
74aee786
authored
6 years ago
by
Javier Morgade
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MBMS Dedicated Serving Cell Params added
parent
11dffe80
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
34 additions
and
7 deletions
+34
-7
openair2/COMMON/rrc_messages_types.h
openair2/COMMON/rrc_messages_types.h
+1
-0
openair2/ENB_APP/enb_config.c
openair2/ENB_APP/enb_config.c
+19
-0
openair2/ENB_APP/enb_paramdef.h
openair2/ENB_APP/enb_paramdef.h
+9
-2
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+5
-5
No files found.
openair2/COMMON/rrc_messages_types.h
View file @
74aee786
...
@@ -154,6 +154,7 @@ typedef struct RadioResourceConfig_s {
...
@@ -154,6 +154,7 @@ typedef struct RadioResourceConfig_s {
long
mpdcch_startSF_CSS_RA_r13_val
;
long
mpdcch_startSF_CSS_RA_r13_val
;
long
*
prach_HoppingOffset_r13
;
long
*
prach_HoppingOffset_r13
;
#endif
#endif
BOOLEAN_t
mbms_dedicated_serving_cell
;
}
RadioResourceConfig
;
}
RadioResourceConfig
;
// eNB: ENB_APP -> RRC messages
// eNB: ENB_APP -> RRC messages
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/enb_config.c
View file @
74aee786
...
@@ -1351,6 +1351,25 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
...
@@ -1351,6 +1351,25 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
RRC_CONFIGURATION_REQ
(
msg_p
).
radioresourceconfig
[
j
].
ue_multiple_max
=
ccparams_lte
.
ue_multiple_max
;
RRC_CONFIGURATION_REQ
(
msg_p
).
radioresourceconfig
[
j
].
ue_multiple_max
=
ccparams_lte
.
ue_multiple_max
;
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if
(
!
ccparams_lte
.
mbms_dedicated_serving_cell
)
AssertFatal
(
0
,
"Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!
\n
"
,
RC
.
config_file_name
,
i
,
ENB_CONFIG_STRING_MBMS_DEDICATED_SERVING_CELL
);
else
if
(
strcmp
(
ccparams_lte
.
mbms_dedicated_serving_cell
,
"ENABLE"
)
==
0
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
radioresourceconfig
[
j
].
mbms_dedicated_serving_cell
=
TRUE
;
}
else
if
(
strcmp
(
ccparams_lte
.
mbms_dedicated_serving_cell
,
"DISABLE"
)
==
0
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
radioresourceconfig
[
j
].
mbms_dedicated_serving_cell
=
FALSE
;
}
else
{
AssertFatal
(
0
,
"Failed to parse eNB configuration file %s, enb %d unknown value
\"
%s
\"
for mbms_dedicated_serving_cell choice: TRUE or FALSE !
\n
"
,
RC
.
config_file_name
,
i
,
ccparams_lte
.
mbms_dedicated_serving_cell
);
}
#endif
switch
(
ccparams_lte
.
N_RB_DL
)
{
switch
(
ccparams_lte
.
N_RB_DL
)
{
case
25
:
case
25
:
if
((
ccparams_lte
.
ue_multiple_max
<
1
)
||
if
((
ccparams_lte
.
ue_multiple_max
<
1
)
||
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/enb_paramdef.h
View file @
74aee786
...
@@ -365,6 +365,10 @@ typedef enum {
...
@@ -365,6 +365,10 @@ typedef enum {
#define ENB_CONFIG_STRING_UETIMERS_N311 "ue_TimersAndConstants_n311"
#define ENB_CONFIG_STRING_UETIMERS_N311 "ue_TimersAndConstants_n311"
#define ENB_CONFIG_STRING_UE_TRANSMISSION_MODE "ue_TransmissionMode"
#define ENB_CONFIG_STRING_UE_TRANSMISSION_MODE "ue_TransmissionMode"
#define ENB_CONFIG_STRING_UE_MULTIPLE_MAX "ue_multiple_max"
#define ENB_CONFIG_STRING_UE_MULTIPLE_MAX "ue_multiple_max"
//SIB1-MBMS
#define ENB_CONFIG_STRING_MBMS_DEDICATED_SERVING_CELL "mbms_dedicated_serving_cell"
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13"
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13"
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pdsch_maxNumRepetitionCEmodeB_r13"
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pdsch_maxNumRepetitionCEmodeB_r13"
...
@@ -418,7 +422,6 @@ typedef enum {
...
@@ -418,7 +422,6 @@ typedef enum {
#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_SIZE "DISCRXPOOLPS_ResourceConfig_subframeBitmap_choice_bs_size"
#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_SIZE "DISCRXPOOLPS_ResourceConfig_subframeBitmap_choice_bs_size"
#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED "DISCRXPOOLPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused"
#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED "DISCRXPOOLPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused"
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* component carriers configuration parameters */
/* component carriers configuration parameters */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
...
@@ -497,6 +500,7 @@ typedef struct ccparams_lte_s {
...
@@ -497,6 +500,7 @@ typedef struct ccparams_lte_s {
int32_t
ue_TimersAndConstants_n311
;
int32_t
ue_TimersAndConstants_n311
;
int32_t
ue_TransmissionMode
;
int32_t
ue_TransmissionMode
;
int32_t
ue_multiple_max
;
int32_t
ue_multiple_max
;
char
*
mbms_dedicated_serving_cell
;
int32_t
srb1_timer_poll_retransmit
;
int32_t
srb1_timer_poll_retransmit
;
int32_t
srb1_timer_reordering
;
int32_t
srb1_timer_reordering
;
int32_t
srb1_timer_status_prohibit
;
int32_t
srb1_timer_status_prohibit
;
...
@@ -612,6 +616,7 @@ typedef struct ccparams_lte_s {
...
@@ -612,6 +616,7 @@ typedef struct ccparams_lte_s {
{ .s5= {NULL }} , \
{ .s5= {NULL }} , \
{ .s5= {NULL }} , \
{ .s5= {NULL }} , \
{ .s5= {NULL }} , \
{ .s5= {NULL }} , \
{ .s5= {NULL }} , \
{ .s5= {NULL }} \
{ .s5= {NULL }} \
}
}
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
...
@@ -688,7 +693,8 @@ typedef struct ccparams_lte_s {
...
@@ -688,7 +693,8 @@ typedef struct ccparams_lte_s {
{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ccparams.ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ccparams.ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ccparams.ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ccparams.ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ccparams.ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ccparams.ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_UE_MULTIPLE_MAX, NULL, 0, iptr:&ccparams.ue_multiple_max, defintval:4, TYPE_UINT, 0} \
{ENB_CONFIG_STRING_UE_MULTIPLE_MAX, NULL, 0, iptr:&ccparams.ue_multiple_max, defintval:4, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_MBMS_DEDICATED_SERVING_CELL, NULL, 0, iptr:&ccparams.mbms_dedicated_serving_cell, defstrval:"DISABLE", TYPE_STRING, 0} \
}
}
...
@@ -761,6 +767,7 @@ typedef struct ccparams_lte_s {
...
@@ -761,6 +767,7 @@ typedef struct ccparams_lte_s {
#define ENB_CONFIG_UETIMERS_N310_IDX 65
#define ENB_CONFIG_UETIMERS_N310_IDX 65
#define ENB_CONFIG_UETIMERS_N311_IDX 66
#define ENB_CONFIG_UETIMERS_N311_IDX 66
#define ENB_CONFIG_UE_TRANSMISSION_MODE_IDX 67
#define ENB_CONFIG_UE_TRANSMISSION_MODE_IDX 67
#define ENB_CONFIG_MBMS_DEDICATED_SERVING_CELL_IDX 68
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* SRB1 configuration parameters section name */
/* SRB1 configuration parameters section name */
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/LTE/rrc_eNB.c
View file @
74aee786
...
@@ -155,16 +155,15 @@ init_SI(
...
@@ -155,16 +155,15 @@ init_SI(
#endif
#endif
LOG_D(RRC,"%s()\n\n\n\n",__FUNCTION__);
LOG_D(RRC,"%s()\n\n\n\n",__FUNCTION__);
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MIB = (uint8_t *) malloc16(4);
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MIB = (uint8_t *) malloc16(4);
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MIB_FeMBMS = (uint8_t *) malloc16(4);
#endif
// copy basic parameters
// copy basic parameters
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].physCellId = configuration->Nid_cell[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].physCellId = configuration->Nid_cell[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].p_eNB = configuration->nb_antenna_ports[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].p_eNB = configuration->nb_antenna_ports[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Ncp = configuration->prefix_type[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Ncp = configuration->prefix_type[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].dl_CarrierFreq = configuration->downlink_frequency[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].dl_CarrierFreq = configuration->downlink_frequency[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].ul_CarrierFreq = configuration->downlink_frequency[CC_id]+ configuration->uplink_frequency_offset[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].ul_CarrierFreq = configuration->downlink_frequency[CC_id]+ configuration->uplink_frequency_offset[CC_id];
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if(configuration->radioresourceconfig[CC_id].mbms_dedicated_serving_cell == TRUE){
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].pbch_repetition = configuration->pbch_repetition[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].pbch_repetition = configuration->pbch_repetition[CC_id];
#endif
#endif
LOG_I(RRC, "Configuring MIB (N_RB_DL %d,phich_Resource %d,phich_Duration %d)\n",
LOG_I(RRC, "Configuring MIB (N_RB_DL %d,phich_Resource %d,phich_Duration %d)\n",
...
@@ -187,6 +186,7 @@ init_SI(
...
@@ -187,6 +186,7 @@ init_SI(
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
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);
do_MIB_FeMBMS(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],
do_MIB_FeMBMS(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],
#ifdef ENABLE_ITTI
#ifdef ENABLE_ITTI
configuration->N_RB_DL[CC_id],
configuration->N_RB_DL[CC_id],
...
@@ -195,9 +195,7 @@ init_SI(
...
@@ -195,9 +195,7 @@ init_SI(
50,0
50,0
#endif
#endif
,0);
,0);
#endif
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_MBMS = 0;
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_MBMS = 0;
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1_MBMS = (uint8_t *) malloc16(32);
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1_MBMS = (uint8_t *) malloc16(32);
AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1_MBMS!=NULL,PROTOCOL_RRC_CTXT_FMT" init_SI: FATAL, no memory for SIB1_MBMS allocated\n",
AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1_MBMS!=NULL,PROTOCOL_RRC_CTXT_FMT" init_SI: FATAL, no memory for SIB1_MBMS allocated\n",
...
@@ -276,9 +274,11 @@ init_SI(
...
@@ -276,9 +274,11 @@ init_SI(
//AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 != 255,"FATAL, RC.rrc[enb_mod_idP].carrier[CC_id].sizeof_SIB1 == 255");
//AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 != 255,"FATAL, RC.rrc[enb_mod_idP].carrier[CC_id].sizeof_SIB1 == 255");
}
#endif
#endif
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 = 0;
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 = 0;
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23 = 0;
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23 = 0;
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1 = (uint8_t *) malloc16(32);
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1 = (uint8_t *) malloc16(32);
...
...
This diff is collapsed.
Click to expand it.
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