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
littleBu
OpenXG-RAN
Commits
01635a40
Commit
01635a40
authored
3 years ago
by
matzakos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Enable DRB configuration for PDCP, RLC at OAI UE
parent
c7ce307d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
22 deletions
+47
-22
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+47
-22
No files found.
openair2/RRC/NR_UE/rrc_UE.c
View file @
01635a40
...
...
@@ -1265,6 +1265,9 @@ nr_rrc_ue_process_masterCellGroup(
//TODO (resume all suspended radio bearers and resume SCG transmission for all radio bearers, if suspended)
// NSA procedures
}
if
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
==
NULL
){
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
=
malloc
(
sizeof
(
NR_CellGroupConfig_t
));
}
if
(
cellGroupConfig
->
rlc_BearerToReleaseList
!=
NULL
){
...
...
@@ -1273,10 +1276,24 @@ nr_rrc_ue_process_masterCellGroup(
if
(
cellGroupConfig
->
rlc_BearerToAddModList
!=
NULL
){
//TODO (perform the RLC bearer addition/modification as specified in 5.3.5.5.4)
if
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
->
rlc_BearerToAddModList
!=
NULL
){
free
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
->
rlc_BearerToAddModList
);
}
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
->
rlc_BearerToAddModList
=
calloc
(
1
,
sizeof
(
struct
NR_CellGroupConfig__rlc_BearerToAddModList
));
memcpy
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
->
rlc_BearerToAddModList
,
cellGroupConfig
->
rlc_BearerToAddModList
,
sizeof
(
struct
NR_CellGroupConfig__rlc_BearerToAddModList
));
}
if
(
cellGroupConfig
->
mac_CellGroupConfig
!=
NULL
){
//TODO (configure the MAC entity of this cell group as specified in 5.3.5.5.5)
LOG_I
(
RRC
,
"Received mac_CellGroupConfig from gNB
\n
"
);
if
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
->
mac_CellGroupConfig
!=
NULL
){
LOG_E
(
RRC
,
"UE RRC instance already contains mac CellGroupConfig which will be overwritten
\n
"
);
free
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
->
mac_CellGroupConfig
);
}
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
->
mac_CellGroupConfig
=
malloc
(
sizeof
(
struct
NR_MAC_CellGroupConfig
));
memcpy
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
->
mac_CellGroupConfig
,
cellGroupConfig
->
mac_CellGroupConfig
,
sizeof
(
struct
NR_MAC_CellGroupConfig
));
}
if
(
cellGroupConfig
->
sCellToReleaseList
!=
NULL
){
...
...
@@ -2132,28 +2149,28 @@ int8_t nr_rrc_ue_decode_ccch( const protocol_ctxt_t *const ctxt_pP, const NR_SRB
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
integrityProtAlgorithm
<<
4
));
// Refresh DRBs
//
nr_rrc_pdcp_config_asn1_req(ctxt_pP,
//
NULL,
//
radioBearerConfig->drb_ToAddModList,
//
NULL,
//
NR_UE_rrc_inst[ctxt_pP->module_id].cipheringAlgorithm |
//
(NR_UE_rrc_inst[ctxt_pP->module_id].integrityProtAlgorithm << 4),
//
NULL,
//
NULL,
//
kUPenc,
//
NULL,
//
NULL,
//
NR_UE_rrc_inst[ctxt_pP->module_id].defaultDRB,
// NULL
);
nr_rrc_pdcp_config_asn1_req
(
ctxt_pP
,
NULL
,
radioBearerConfig
->
drb_ToAddModList
,
NULL
,
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cipheringAlgorithm
|
(
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
integrityProtAlgorithm
<<
4
),
NULL
,
NULL
,
kUPenc
,
NULL
,
NULL
,
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
defaultDRB
,
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
->
rlc_BearerToAddModList
);
// Refresh DRBs
//
nr_rrc_rlc_config_asn1_req(ctxt_pP,
//
NULL,
//
radioBearerConfig->drb_ToAddModList,
//
NULL,
//
NULL,
// NULL
//
);
}
// drb_ToAddModList
nr_rrc_rlc_config_asn1_req
(
ctxt_pP
,
NULL
,
radioBearerConfig
->
drb_ToAddModList
,
NULL
,
NULL
,
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
cell_group_config
->
rlc_BearerToAddModList
);
}
// drb_ToAddModList
//
if
(
radioBearerConfig
->
drb_ToReleaseList
!=
NULL
)
{
for
(
i
=
0
;
i
<
radioBearerConfig
->
drb_ToReleaseList
->
list
.
count
;
i
++
)
{
...
...
@@ -2188,9 +2205,17 @@ int8_t nr_rrc_ue_decode_ccch( const protocol_ctxt_t *const ctxt_pP, const NR_SRB
// nr_rrc_ue_process_measConfig(ctxt_pP, gNB_index, ie->measConfig);
}
if
(
ie
->
nonCriticalExtension
->
masterCellGroup
!=
NULL
)
{
nr_rrc_ue_process_masterCellGroup
(
ctxt_pP
,
gNB_index
,
ie
->
nonCriticalExtension
->
masterCellGroup
);
}
if
(
ie
->
radioBearerConfig
!=
NULL
)
{
LOG_I
(
NR_RRC
,
"radio Bearer Configuration is present
\n
"
);
//
nr_sa_rrc_ue_process_radioBearerConfig(ctxt_pP, gNB_index, ie->radioBearerConfig);
nr_sa_rrc_ue_process_radioBearerConfig
(
ctxt_pP
,
gNB_index
,
ie
->
radioBearerConfig
);
}
/* Check if there is dedicated NAS information to forward to NAS */
...
...
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