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
zzha zzha
OpenXG-RAN
Commits
29161632
Commit
29161632
authored
Aug 15, 2017
by
islam.galal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
integration and testing of SIB2 integrity
parent
d4483259
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
132 additions
and
11 deletions
+132
-11
openair2/COMMON/rrc_messages_types.h
openair2/COMMON/rrc_messages_types.h
+6
-0
openair2/ENB_APP/enb_config.c
openair2/ENB_APP/enb_config.c
+64
-4
openair2/RRC/LITE/MESSAGES/asn1_msg.c
openair2/RRC/LITE/MESSAGES/asn1_msg.c
+52
-4
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf
...JECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf
+10
-3
No files found.
openair2/COMMON/rrc_messages_types.h
View file @
29161632
...
...
@@ -265,6 +265,12 @@ typedef struct RrcConfigurationReq_s {
long
mpdcch_numrepetition_paging_r13
[
MAX_NUM_CCs
];
long
*
nb_v1310
[
MAX_NUM_CCs
];
long
*
pucch_NumRepetitionCE_Msg4_Level0_r13
[
MAX_NUM_CCs
];
long
*
pucch_NumRepetitionCE_Msg4_Level1_r13
[
MAX_NUM_CCs
];
long
*
pucch_NumRepetitionCE_Msg4_Level2_r13
[
MAX_NUM_CCs
];
long
*
pucch_NumRepetitionCE_Msg4_Level3_r13
[
MAX_NUM_CCs
];
#endif
}
RrcConfigurationReq
;
...
...
openair2/ENB_APP/enb_config.c
View file @
29161632
...
...
@@ -166,6 +166,10 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr
#define ENB_CONFIG_STRING_NB_V1310 "nb_v1310"
#define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0 "pucch_NumRepetitionCE_Msg4_Level0_r13"
#define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1 "pucch_NumRepetitionCE_Msg4_Level1_r13"
#define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2 "pucch_NumRepetitionCE_Msg4_Level2_r13"
#define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3 "pucch_NumRepetitionCE_Msg4_Level3_r13"
#define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower"
#define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b"
...
...
@@ -1142,10 +1146,15 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
libconfig_int
maxavailablenarrowband
=
0
;
libconfig_int
pucch_info_value
=
0
;
libconfig_int
paging_narrowbands_r13
=
0
;
libconfig_int
paging_narrowbands_r13
=
0
;
libconfig_int
mpdcch_numrepetition_paging_r13
=
0
;
libconfig_int
nb_v1310
=
0
;
libconfig_int
pucch_NumRepetitionCE_Msg4_Level0_r13
=
0
;
libconfig_int
pucch_NumRepetitionCE_Msg4_Level1_r13
=
0
;
libconfig_int
pucch_NumRepetitionCE_Msg4_Level2_r13
=
0
;
libconfig_int
pucch_NumRepetitionCE_Msg4_Level3_r13
=
0
;
libconfig_int
srb1_timer_poll_retransmit
=
0
;
libconfig_int
srb1_timer_reordering
=
0
;
...
...
@@ -2572,7 +2581,51 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
}
if
(
setting_br13
!=
NULL
)
{
int
cnt
=
0
;
if
(
config_setting_lookup_int
(
setting_br13
,
ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0
,
&
pucch_NumRepetitionCE_Msg4_Level0_r13
))
{
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level0_r13
[
j
]
=
CALLOC
(
1
,
sizeof
(
long
));
*
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level0_r13
[
j
]
=
pucch_NumRepetitionCE_Msg4_Level0_r13
;
++
cnt
;
}
else
{
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level0_r13
[
j
]
=
NULL
;;
}
if
(
config_setting_lookup_int
(
setting_br13
,
ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1
,
&
pucch_NumRepetitionCE_Msg4_Level1_r13
))
{
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level1_r13
[
j
]
=
CALLOC
(
1
,
sizeof
(
long
));
*
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level1_r13
[
j
]
=
pucch_NumRepetitionCE_Msg4_Level1_r13
;
++
cnt
;
}
else
{
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level1_r13
[
j
]
=
NULL
;;
}
if
(
config_setting_lookup_int
(
setting_br13
,
ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2
,
&
pucch_NumRepetitionCE_Msg4_Level2_r13
))
{
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level2_r13
[
j
]
=
CALLOC
(
1
,
sizeof
(
long
));
*
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level2_r13
[
j
]
=
pucch_NumRepetitionCE_Msg4_Level2_r13
;
++
cnt
;
}
else
{
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level2_r13
[
j
]
=
NULL
;
}
if
(
config_setting_lookup_int
(
setting_br13
,
ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3
,
&
pucch_NumRepetitionCE_Msg4_Level3_r13
))
{
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level3_r13
[
j
]
=
CALLOC
(
1
,
sizeof
(
long
));
*
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level3_r13
[
j
]
=
pucch_NumRepetitionCE_Msg4_Level3_r13
;
++
cnt
;
}
else
{
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_NumRepetitionCE_Msg4_Level3_r13
[
j
]
=
NULL
;;
}
scheduling_info_br_list
=
config_setting_get_member
(
setting_br13
,
ENB_CONFIG_STRING_SCHEDULING_INFO_LIST
);
int
num_scheduling_info
=
config_setting_length
(
scheduling_info_br_list
);
RRC_CONFIGURATION_REQ
(
msg_p
).
scheduling_info_br_size
[
j
]
=
num_scheduling_info
;
...
...
@@ -2656,6 +2709,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
RC
.
config_file_name
,
nb_cc
++
);
}
RRC_CONFIGURATION_REQ
(
msg_p
).
rsrp_range
[
j
][
rsrp_range_idx
]
=
rsrp_range_br
;
printf
(
"[DEBUGGING][KOGO] : rsrp range br = %d
\n
"
,
rsrp_range_br
);
}
prach_parameters_ce_r13_list
=
config_setting_get_member
(
setting_br13
,
ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13
);
...
...
@@ -2677,6 +2731,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
RC
.
config_file_name
,
nb_cc
++
);
}
printf
(
"[DEBUGGING][KOGO] : prach hopping config = %d
\n
"
,
prach_HoppingConfig_r13
);
RRC_CONFIGURATION_REQ
(
msg_p
).
prach_config_index
[
j
][
prach_parameters_index
]
=
prach_config_index_br
;
RRC_CONFIGURATION_REQ
(
msg_p
).
prach_freq_offset
[
j
][
prach_parameters_index
]
=
prach_freq_offset_br
;
RRC_CONFIGURATION_REQ
(
msg_p
).
prach_StartingSubframe_r13
[
j
][
prach_parameters_index
]
=
prach_StartingSubframe_r13
;
...
...
@@ -2706,9 +2762,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
}
max_available_narrow_band_list
=
config_setting_get_member
(
prach_parameters_ce_r13
_list
,
ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND
);
max_available_narrow_band_list
=
config_setting_get_member
(
prach_parameters_ce_r13
,
ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND
);
int
num_available_narrow_bands
=
config_setting_length
(
max_available_narrow_band_list
);
RRC_CONFIGURATION_REQ
(
msg_p
).
max
NumPreambleAttemptCE_r13
[
j
][
prach_parameters_index
]
=
num_available_narrow_bands
;
RRC_CONFIGURATION_REQ
(
msg_p
).
max
_available_narrow_band_size
[
j
][
prach_parameters_index
]
=
num_available_narrow_bands
;
int
narrow_band_index
;
for
(
narrow_band_index
=
0
;
narrow_band_index
<
num_available_narrow_bands
;
narrow_band_index
++
)
{
...
...
@@ -2722,6 +2778,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
n1_pucch_AN_info_r13_list
=
config_setting_get_member
(
setting_br13
,
ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST
);
int
num_pucch_an_info
=
config_setting_length
(
n1_pucch_AN_info_r13_list
);
AssertFatal
(
cnt
==
num_pucch_an_info
,
"Num Repetition Count should be equal to pucch info count !!!"
);
RRC_CONFIGURATION_REQ
(
msg_p
).
pucch_info_value_size
[
j
]
=
num_pucch_an_info
;
int
pucch_info_idx
;
for
(
pucch_info_idx
=
0
;
pucch_info_idx
<
num_pucch_an_info
;
++
pucch_info_idx
)
...
...
@@ -3759,15 +3816,18 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
RRC_CONFIGURATION_REQ
(
msg_p
).
paging_narrowbands_r13
[
j
]
=
paging_narrowbands_r13
;
RRC_CONFIGURATION_REQ
(
msg_p
).
mpdcch_numrepetition_paging_r13
[
j
]
=
mpdcch_numrepetition_paging_r13
;
if
(
config_setting_lookup_int
(
setting_pcch_config_v1310
,
ENB_CONFIG_STRING_
MPDCCH_NUMREPETITION_PAGING_R13
,
&
nb_v1310
))
if
(
config_setting_lookup_int
(
setting_pcch_config_v1310
,
ENB_CONFIG_STRING_
NB_V1310
,
&
nb_v1310
))
{
RRC_CONFIGURATION_REQ
(
msg_p
).
nb_v1310
[
j
]
=
CALLOC
(
1
,
sizeof
(
long
));
*
RRC_CONFIGURATION_REQ
(
msg_p
).
nb_v1310
[
j
]
=
nb_v1310
;
printf
(
"[DEBUGGING][KOGO] : nb_v1310 = %d
\n
"
,
nb_v1310
);
}
else
{
RRC_CONFIGURATION_REQ
(
msg_p
).
nb_v1310
[
j
]
=
NULL
;
}
}
else
...
...
openair2/RRC/LITE/MESSAGES/asn1_msg.c
View file @
29161632
...
...
@@ -1217,6 +1217,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
if
(
configuration
->
rsrp_range_list_size
[
CC_id
])
{
rsrp_range
=
configuration
->
rsrp_range
[
CC_id
][
rsrp_index
];
printf
(
"[DEBUGGING][KOGO][SIB23] : rsrp range = %d
\n
"
,
rsrp_range
);
}
else
{
...
...
@@ -1289,6 +1290,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
prach_parametersce_r13
->
numRepetitionPerPreambleAttempt_r13
=
configuration
->
numRepetitionPerPreambleAttempt_r13
[
CC_id
][
prach_parameters_index
];
prach_parametersce_r13
->
mpdcch_NumRepetition_RA_r13
=
configuration
->
mpdcch_NumRepetition_RA_r13
[
CC_id
][
prach_parameters_index
];
prach_parametersce_r13
->
prach_HoppingConfig_r13
=
configuration
->
prach_HoppingConfig_r13
[
CC_id
][
prach_parameters_index
];
printf
(
"[DEBUGGING][KOGO][SIB23] : prach hopping config = %d
\n
"
,
prach_parametersce_r13
->
prach_HoppingConfig_r13
);
}
else
{
...
...
@@ -1344,10 +1346,56 @@ uint8_t do_SIB23(uint8_t Mod_id,
// +kogo FIXME
// ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2);
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level0_r13
=
NULL
;
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level1_r13
=
NULL
;
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level2_r13
=
NULL
;
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level3_r13
=
NULL
;
if
(
configuration
->
pucch_NumRepetitionCE_Msg4_Level0_r13
[
CC_id
])
{
puts
(
"LEVEL 0"
);
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level0_r13
=
CALLOC
(
1
,
sizeof
(
long
));
*
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level0_r13
=
*
configuration
->
pucch_NumRepetitionCE_Msg4_Level0_r13
[
CC_id
];
printf
(
"[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level0_r13 = %d
\n
"
,
*
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level0_r13
);
}
else
{
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level0_r13
=
NULL
;
}
if
(
configuration
->
pucch_NumRepetitionCE_Msg4_Level1_r13
[
CC_id
])
{
puts
(
"LEVEL 1"
);
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level1_r13
=
CALLOC
(
1
,
sizeof
(
long
));
*
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level1_r13
=
*
configuration
->
pucch_NumRepetitionCE_Msg4_Level1_r13
[
CC_id
];
printf
(
"[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level1_r13 = %d
\n
"
,
*
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level1_r13
);
}
else
{
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level1_r13
=
NULL
;
}
if
(
configuration
->
pucch_NumRepetitionCE_Msg4_Level2_r13
[
CC_id
])
{
puts
(
"LEVEL 2"
);
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level2_r13
=
CALLOC
(
1
,
sizeof
(
long
));
*
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level2_r13
=
*
configuration
->
pucch_NumRepetitionCE_Msg4_Level2_r13
[
CC_id
];
printf
(
"[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level2_r13 = %d
\n
"
,
*
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level2_r13
);
}
else
{
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level2_r13
=
NULL
;
}
if
(
configuration
->
pucch_NumRepetitionCE_Msg4_Level3_r13
[
CC_id
])
{
puts
(
"LEVEL 3"
);
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level3_r13
=
CALLOC
(
1
,
sizeof
(
long
));
*
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level3_r13
=
*
configuration
->
pucch_NumRepetitionCE_Msg4_Level3_r13
[
CC_id
];
printf
(
"[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level3_r13 = %d
\n
"
,
*
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level3_r13
);
}
else
{
(
*
sib2
)
->
radioResourceConfigCommon
.
ext4
->
pucch_ConfigCommon_v1310
->
pucch_NumRepetitionCE_Msg4_Level3_r13
=
NULL
;
}
//-----------------------------------------------------------------------------------------------------------------------------------------
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf
View file @
29161632
...
...
@@ -181,7 +181,7 @@ eNBs =
numRepetitionPerPreambleAttempt_r13
=
0
;
mpdcch_NumRepetition_RA_r13
=
0
;
prach_HoppingConfig_r13
=
0
;
max_available_narrow_band
= [
2
];
max_available_narrow_band
= [
5
];
}
);
...
...
@@ -194,11 +194,18 @@ eNBs =
pcch_config_v1310
:
{
paging_narrowbands_r13
=
1
;
paging_narrowbands_r13
=
5
;
mpdcch_numrepetition_paging_r13
=
2
;
nb_v1310
=
3
;
nb_v1310
=
2
;
}
pucch_NumRepetitionCE_Msg4_Level0_r13
=
0
;
#pucch_NumRepetitionCE_Msg4_Level1_r13 = 1;
#pucch_NumRepetitionCE_Msg4_Level2_r13 = 2;
#pucch_NumRepetitionCE_Msg4_Level3_r13 = 3;
mpdcch_startSF_CSS_RA_r13
=
"fdd-r13"
mpdcch_startSF_CSS_RA_r13_val
=
5
;
#prach_HoppingOffset_r13 = ;
...
...
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