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
promise
OpenXG-RAN
Commits
a53d6795
Commit
a53d6795
authored
Dec 17, 2020
by
Xue Song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix some errors about rrcReestablishment
parent
96cf622e
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
127 additions
and
140 deletions
+127
-140
openair2/RRC/NR/MESSAGES/asn1_msg.c
openair2/RRC/NR/MESSAGES/asn1_msg.c
+15
-20
openair2/RRC/NR/MESSAGES/asn1_msg.h
openair2/RRC/NR/MESSAGES/asn1_msg.h
+3
-4
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+107
-80
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+2
-31
openair2/SIMULATION/NR_RRC/itti_sim.c
openair2/SIMULATION/NR_RRC/itti_sim.c
+0
-5
No files found.
openair2/RRC/NR/MESSAGES/asn1_msg.c
View file @
a53d6795
...
...
@@ -657,7 +657,7 @@ uint8_t do_RRCSetup(const protocol_ctxt_t *const ctxt_pP,
int
CC_id
,
uint8_t
*
const
buffer
,
const
uint8_t
transaction_id
,
NR_SRB_ToAddModList_t
*
SRB_configList
)
NR_SRB_ToAddModList_t
*
*
SRB_configList
)
//------------------------------------------------------------------------------
{
asn_enc_rval_t
enc_rval
;;
...
...
@@ -689,19 +689,19 @@ uint8_t do_RRCSetup(const protocol_ctxt_t *const ctxt_pP,
/****************************** radioBearerConfig ******************************/
/* Configure SRB1 */
if
(
SRB_configList
)
{
free
(
SRB_configList
);
if
(
*
SRB_configList
)
{
free
(
*
SRB_configList
);
}
SRB_configList
=
calloc
(
1
,
sizeof
(
NR_SRB_ToAddModList_t
));
*
SRB_configList
=
calloc
(
1
,
sizeof
(
NR_SRB_ToAddModList_t
));
// SRB1
/* TODO */
SRB1_config
=
calloc
(
1
,
sizeof
(
NR_SRB_ToAddMod_t
));
SRB1_config
->
srb_Identity
=
1
;
// pdcp_Config->t_Reordering
SRB1_config
->
pdcp_Config
=
pdcp_Config
;
ie
->
radioBearerConfig
.
srb_ToAddModList
=
SRB_configList
;
ASN_SEQUENCE_ADD
(
&
SRB_configList
->
list
,
SRB1_config
);
ie
->
radioBearerConfig
.
srb_ToAddModList
=
*
SRB_configList
;
ASN_SEQUENCE_ADD
(
&
(
*
SRB_configList
)
->
list
,
SRB1_config
);
ie
->
radioBearerConfig
.
srb3_ToRelease
=
NULL
;
ie
->
radioBearerConfig
.
drb_ToAddModList
=
NULL
;
...
...
@@ -1307,19 +1307,17 @@ rrc_gNB_ue_context_t *const ue_context_pP,
int
CC_id
,
uint8_t
*
const
buffer
,
//const uint8_t transmission_mode,
const
uint8_t
Transaction_id
//NR_SRB_ToAddModList_t **SRB_configList,
//struct LTE_PhysicalConfigDedicated **physicalConfigDedicated
const
uint8_t
Transaction_id
,
NR_SRB_ToAddModList_t
**
SRB_configList
)
{
asn_enc_rval_t
enc_rval
;
//long *logicalchannelgroup = NULL;
//
struct NR_SRB_ToAddMod *SRB1_config = NULL;
//
struct NR_SRB_ToAddMod *SRB2_config = NULL;
struct
NR_SRB_ToAddMod
*
SRB1_config
=
NULL
;
struct
NR_SRB_ToAddMod
*
SRB2_config
=
NULL
;
//gNB_RRC_INST *nrrrc = RC.nrrrc[ctxt_pP->module_id];
//LTE_PhysicalConfigDedicated_t *physicalConfigDedicated2 = NULL;
NR_DL_DCCH_Message_t
dl_dcch_msg
;
NR_RRCReestablishment_t
*
rrcReestablishment
=
NULL
;
//
int i = 0;
int
i
=
0
;
ue_context_pP
->
ue_context
.
reestablishment_xid
=
Transaction_id
;
NR_SRB_ToAddModList_t
**
SRB_configList2
=
NULL
;
SRB_configList2
=
&
ue_context_pP
->
ue_context
.
SRB_configList2
[
Transaction_id
];
...
...
@@ -1335,10 +1333,7 @@ const uint8_t Transaction_id
dl_dcch_msg
.
message
.
choice
.
c1
->
present
=
NR_DL_DCCH_MessageType__c1_PR_rrcReestablishment
;
dl_dcch_msg
.
message
.
choice
.
c1
->
choice
.
rrcReestablishment
=
CALLOC
(
1
,
sizeof
(
NR_RRCReestablishment_t
));
rrcReestablishment
=
dl_dcch_msg
.
message
.
choice
.
c1
->
choice
.
rrcReestablishment
;
/*
// RRCReestablishment
// Configure SRB1
// get old configuration of SRB2
if
(
*
SRB_configList
!=
NULL
)
{
for
(
i
=
0
;
(
i
<
(
*
SRB_configList
)
->
list
.
count
)
&&
(
i
<
3
);
i
++
)
{
...
...
@@ -1352,7 +1347,7 @@ const uint8_t Transaction_id
}
}
}
if
(
SRB1_config
==
NULL
)
{
// default SRB1 configuration
LOG_W
(
NR_RRC
,
"SRB1 configuration does not exist in SRB configuration list, use default
\n
"
);
...
...
@@ -1370,10 +1365,10 @@ const uint8_t Transaction_id
if
(
*
SRB_configList
)
{
free
(
*
SRB_configList
);
}
*
SRB_configList
=
CALLOC
(
1
,
sizeof
(
LTE_SRB_ToAddModList_t
));
ASN_SEQUENCE_ADD
(
&
(
*
SRB_configList
)
->
list
,
SRB1_config
);
*/
rrcReestablishment
->
rrc_TransactionIdentifier
=
Transaction_id
;
rrcReestablishment
->
criticalExtensions
.
present
=
NR_RRCReestablishment__criticalExtensions_PR_rrcReestablishment
;
rrcReestablishment
->
criticalExtensions
.
choice
.
rrcReestablishment
=
CALLOC
(
1
,
sizeof
(
NR_RRCReestablishment_IEs_t
));
...
...
openair2/RRC/NR/MESSAGES/asn1_msg.h
View file @
a53d6795
...
...
@@ -91,7 +91,7 @@ uint8_t do_RRCSetup(const protocol_ctxt_t *const ctxt_pP,
int
CC_id
,
uint8_t
*
const
buffer
,
const
uint8_t
transaction_id
,
NR_SRB_ToAddModList_t
*
SRB_configList
);
NR_SRB_ToAddModList_t
*
*
SRB_configList
);
uint8_t
do_NR_SecurityModeCommand
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
...
...
@@ -156,9 +156,8 @@ do_RRCReestablishment(
int
CC_id
,
uint8_t
*
const
buffer
,
//const uint8_t transmission_mode,
const
uint8_t
Transaction_id
//NR_SRB_ToAddModList_t **SRB_configList,
//struct LTE_PhysicalConfigDedicated **physicalConfigDedicated
const
uint8_t
Transaction_id
,
NR_SRB_ToAddModList_t
**
SRB_configList
);
uint8_t
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
a53d6795
This diff is collapsed.
Click to expand it.
openair2/RRC/NR_UE/rrc_UE.c
View file @
a53d6795
...
...
@@ -128,8 +128,6 @@ nr_rrc_ue_generate_rrcReestablishmentComplete(
mui_t
nr_rrc_mui
=
0
;
uint8_t
first_rrcreconfigurationcomplete
=
0
;
uint8_t
rrcReestablishmentRequest_flag
=
1
;
extern
uint16_t
rnti
;
static
Rrc_State_NR_t
nr_rrc_get_state
(
module_id_t
ue_mod_idP
)
{
return
NR_UE_rrc_inst
[
ue_mod_idP
].
nrRrcState
;
...
...
@@ -1456,26 +1454,6 @@ int8_t nr_rrc_ue_decode_ccch( const protocol_ctxt_t *const ctxt_pP, const NR_SRB
ctxt_pP
->
frame
,
ctxt_pP
->
rnti
);
if
(
rrcReestablishmentRequest_flag
==
1
)
{
free
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
);
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
=
NULL
;
free
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
SRB1_config
[
gNB_index
]);
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
SRB1_config
[
gNB_index
]
=
NULL
;
free
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
SRB2_config
[
gNB_index
]);
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
SRB2_config
[
gNB_index
]
=
NULL
;
free
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
defaultDRB
);
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
defaultDRB
=
NULL
;
for
(
int
i
=
0
;
i
<
8
;
i
++
)
{
if
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
DRB_config
[
gNB_index
][
i
]
!=
NULL
)
{
free
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
DRB_config
[
gNB_index
][
i
]);
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
DRB_config
[
gNB_index
][
i
]
=
NULL
;
}
}
}
// Get configuration
// Release T300 timer
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
Info
[
gNB_index
].
T300_active
=
0
;
...
...
@@ -2362,6 +2340,7 @@ nr_rrc_ue_decode_dcch(
nr_rrc_ue_generate_RRCReconfigurationComplete
(
ctxt_pP
,
gNB_indexP
,
dl_dcch_msg
->
message
.
choice
.
c1
->
choice
.
rrcReconfiguration
->
rrc_TransactionIdentifier
);
if
(
first_rrcreconfigurationcomplete
==
0
)
{
first_rrcreconfigurationcomplete
=
1
;
#ifdef ITTI_SIM
...
...
@@ -2391,14 +2370,6 @@ nr_rrc_ue_decode_dcch(
LOG_I
(
NR_RRC
,
" Send NAS_UPLINK_DATA_REQ message(PduSessionEstablishRequest)
\n
"
);
}
}
if
(
rrcReestablishmentRequest_flag
==
1
)
{
rrcReestablishmentRequest_flag
=
0
;
rnti
=
2
;
rrc_ue_generate_RRCReestablishmentRequest
(
ctxt_pP
,
gNB_indexP
);
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
Info
[
gNB_indexP
].
State
=
NR_RRC_SI_RECEIVED
;
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
Info
[
gNB_indexP
].
rnti
=
rnti
;
}
#endif
}
}
...
...
@@ -2846,4 +2817,4 @@ nr_rrc_ue_generate_rrcReestablishmentComplete(
itti_send_msg_to_task
(
TASK_RRC_GNB_SIM
,
ctxt_pP
->
instance
,
message_p
);
#endif
}
\ No newline at end of file
}
openair2/SIMULATION/NR_RRC/itti_sim.c
View file @
a53d6795
...
...
@@ -71,7 +71,6 @@ uint32_t target_dl_mcs = 28;
uint32_t
target_ul_mcs
=
20
;
uint32_t
timing_advance
=
0
;
uint64_t
num_missed_slots
=
0
;
uint16_t
rnti
=
1
;
int
split73
=
0
;
void
sendFs6Ul
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
int
harq_pid
,
int
segmentID
,
int16_t
*
data
,
int
dataLen
,
int
r_offset
)
{
...
...
@@ -428,7 +427,6 @@ void *itti_sim_ue_rrc_task( void *args_p) {
memset
(
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu
,
0
,
CCCH_SDU_SIZE
);
memcpy
(
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu
,
GNB_RRC_CCCH_DATA_IND
(
msg_p
).
sdu
,
GNB_RRC_CCCH_DATA_IND
(
msg_p
).
size
);
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu_size
=
GNB_RRC_CCCH_DATA_IND
(
msg_p
).
size
;
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
rnti
=
rnti
;
itti_send_msg_to_task
(
TASK_RRC_NRUE
,
instance
,
message_p
);
break
;
case
GNB_RRC_DCCH_DATA_IND
:
...
...
@@ -437,7 +435,6 @@ void *itti_sim_ue_rrc_task( void *args_p) {
NR_RRC_DCCH_DATA_IND
(
message_p
).
dcch_index
=
GNB_RRC_DCCH_DATA_IND
(
msg_p
).
rbid
;
NR_RRC_DCCH_DATA_IND
(
message_p
).
sdu_size
=
GNB_RRC_DCCH_DATA_IND
(
msg_p
).
size
;
NR_RRC_DCCH_DATA_IND
(
message_p
).
sdu_p
=
GNB_RRC_DCCH_DATA_IND
(
msg_p
).
sdu
;
NR_RRC_DCCH_DATA_IND
(
message_p
).
rnti
=
rnti
;
itti_send_msg_to_task
(
TASK_RRC_NRUE
,
instance
,
message_p
);
break
;
default:
...
...
@@ -479,7 +476,6 @@ void *itti_sim_gnb_rrc_task( void *args_p) {
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu_size
=
UE_RRC_CCCH_DATA_IND
(
msg_p
).
size
;
memset
(
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu
,
0
,
CCCH_SDU_SIZE
);
memcpy
(
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu
,
UE_RRC_CCCH_DATA_IND
(
msg_p
).
sdu
,
UE_RRC_CCCH_DATA_IND
(
msg_p
).
size
);
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
rnti
=
rnti
;
itti_send_msg_to_task
(
TASK_RRC_GNB
,
instance
,
message_p
);
break
;
case
UE_RRC_DCCH_DATA_IND
:
...
...
@@ -487,7 +483,6 @@ void *itti_sim_gnb_rrc_task( void *args_p) {
NR_RRC_DCCH_DATA_IND
(
message_p
).
sdu_size
=
UE_RRC_DCCH_DATA_IND
(
msg_p
).
size
;
NR_RRC_DCCH_DATA_IND
(
message_p
).
dcch_index
=
UE_RRC_DCCH_DATA_IND
(
msg_p
).
rbid
;
NR_RRC_DCCH_DATA_IND
(
message_p
).
sdu_p
=
UE_RRC_DCCH_DATA_IND
(
msg_p
).
sdu
;
NR_RRC_DCCH_DATA_IND
(
message_p
).
rnti
=
rnti
;
itti_send_msg_to_task
(
TASK_RRC_GNB
,
instance
,
message_p
);
break
;
...
...
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