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
lizhongxiao
OpenXG-RAN
Commits
c2058d17
Commit
c2058d17
authored
Sep 11, 2020
by
Haruki NAOI
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix: MACSCD performance improvement. (decode Msg3 on RRC_task)
parent
2c4dc473
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
67 additions
and
15 deletions
+67
-15
openair2/LAYER2/MAC/eNB_scheduler_RA.c
openair2/LAYER2/MAC/eNB_scheduler_RA.c
+56
-11
openair2/RRC/LTE/L2_interface.c
openair2/RRC/LTE/L2_interface.c
+11
-4
No files found.
openair2/LAYER2/MAC/eNB_scheduler_RA.c
View file @
c2058d17
...
@@ -1236,19 +1236,64 @@ generate_Msg4(module_id_t module_idP,
...
@@ -1236,19 +1236,64 @@ generate_Msg4(module_id_t module_idP,
}
}
}
// CCE Allocation feasible
}
// CCE Allocation feasible
}
else
{
}
else
{
LOG_I
(
MAC
,
"eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Delaying Msg4 for RRC Piggyback (RNTI %x)
\n
"
,
module_idP
,
CC_idP
,
frameP
,
subframeP
,
ra
->
rnti
);
ra
->
Msg4_subframe
++
;
ra
->
Msg4_delay_cnt
++
;
ra
->
Msg4_delay_cnt
++
;
if
(
ra
->
Msg4_delay_cnt
==
10
){
if
(
ra
->
Msg4_delay_cnt
==
10
)
cancel_ra_proc
(
module_idP
,
CC_idP
,
frameP
,
ra
->
rnti
);
fill_nfapi_rnti_release
(
module_idP
,
ra
->
rnti
);
put_UE_in_freelist
(
module_idP
,
ra
->
rnti
,
0
);
if
(
ra
->
Msg4_subframe
==
10
)
{
cancel_ra_proc
(
module_idP
,
CC_idP
,
frameP
,
ra
->
rnti
);
ra
->
Msg4_frame
++
;
}
else
{
ra
->
Msg4_frame
&=
1023
;
ra
->
Msg4_subframe
=
0
;
if
(
mac
->
common_channels
[
CC_idP
].
tdd_Config
!=
NULL
)
{
switch
(
mac
->
common_channels
[
CC_idP
].
tdd_Config
->
subframeAssignment
)
{
case
1
:
if
((
ra
->
Msg4_subframe
==
0
)
||
(
ra
->
Msg4_subframe
==
5
)){
ra
->
Msg4_subframe
=
ra
->
Msg4_subframe
+
4
;
}
else
if
((
ra
->
Msg4_subframe
==
4
)
||
(
ra
->
Msg4_subframe
==
9
))
{
if
(
ra
->
Msg4_subframe
==
9
){
ra
->
Msg4_frame
++
;
ra
->
Msg4_frame
&=
1023
;
}
ra
->
Msg4_subframe
=
(
ra
->
Msg4_subframe
+
1
)
%
10
;
}
break
;
case
2
:
if
((
ra
->
Msg4_subframe
==
0
)
||
(
ra
->
Msg4_subframe
==
5
)){
ra
->
Msg4_subframe
=
ra
->
Msg4_subframe
+
3
;
}
else
if
((
ra
->
Msg4_subframe
==
3
)
||
(
ra
->
Msg4_subframe
==
8
))
{
ra
->
Msg4_subframe
=
ra
->
Msg4_subframe
+
1
;
}
else
if
((
ra
->
Msg4_subframe
==
4
)
||
(
ra
->
Msg4_subframe
==
9
))
{
if
(
ra
->
Msg4_subframe
==
9
){
ra
->
Msg4_frame
++
;
ra
->
Msg4_frame
&=
1023
;
}
ra
->
Msg4_subframe
=
(
ra
->
Msg4_subframe
+
1
)
%
10
;
}
break
;
default:
printf
(
"%s:%d: TODO
\n
"
,
__FILE__
,
__LINE__
);
abort
();
// TODO need to be complete for other tdd configs.
}
}
else
{
ra
->
Msg4_subframe
++
;
if
(
ra
->
Msg4_subframe
==
10
)
{
ra
->
Msg4_frame
++
;
ra
->
Msg4_frame
&=
1023
;
ra
->
Msg4_subframe
=
0
;
}
}
}
}
LOG_I
(
MAC
,
"eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Delaying Msg4 for RRC Piggyback (RNTI %x) Msg4 frame %d subframe %d
\n
"
,
module_idP
,
CC_idP
,
frameP
,
subframeP
,
ra
->
rnti
,
ra
->
Msg4_frame
,
ra
->
Msg4_subframe
);
}
}
}
// msg4 frame/subframe
}
// msg4 frame/subframe
}
// else rach_resource_type
}
// else rach_resource_type
...
...
openair2/RRC/LTE/L2_interface.c
View file @
c2058d17
...
@@ -335,10 +335,17 @@ mac_rrc_data_ind(
...
@@ -335,10 +335,17 @@ mac_rrc_data_ind(
rrc_eNB_decode_ccch(&ctxt, Srb_info, CC_id);
rrc_eNB_decode_ccch(&ctxt, Srb_info, CC_id);
}*/
}*/
if
(
sdu_lenP
>
0
)
{
if
(
sdu_lenP
>
0
)
{
if
(
rrc_eNB_decode_ccch
(
&
ctxt
,
sduP
,
sdu_lenP
,
CC_id
)
==
-
1
)
{
MessageDef
*
message_p
;
LOG_E
(
RRC
,
"rrc_eNB_decode_ccch failed
\n
"
);
message_p
=
itti_alloc_new_message
(
TASK_MAC_ENB
,
RRC_MAC_CCCH_DATA_IND
);
return
-
2
;
RRC_MAC_CCCH_DATA_IND
(
message_p
).
frame
=
frameP
;
}
RRC_MAC_CCCH_DATA_IND
(
message_p
).
sub_frame
=
sub_frameP
;
RRC_MAC_CCCH_DATA_IND
(
message_p
).
enb_index
=
module_idP
;
RRC_MAC_CCCH_DATA_IND
(
message_p
).
CC_id
=
CC_id
;
RRC_MAC_CCCH_DATA_IND
(
message_p
).
rnti
=
rntiP
;
RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu_size
=
sdu_lenP
;
memset
(
RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu
,
0
,
CCCH_SDU_SIZE
);
memcpy
(
RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu
,
sduP
,
sdu_lenP
);
itti_send_msg_to_task
(
TASK_RRC_ENB
,
ctxt
.
instance
,
message_p
);
}
}
}
}
...
...
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