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
常顺宇
OpenXG-RAN
Commits
1aa7d4b9
Commit
1aa7d4b9
authored
Aug 10, 2020
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/hotfix-ue-release' into develop_integration_2020_w31
parents
f7dc17ec
d8bbfdbd
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
3 deletions
+43
-3
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+18
-1
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+25
-2
No files found.
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
1aa7d4b9
...
...
@@ -547,7 +547,7 @@ copy_ulreq(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) {
ul_req_tmp
->
ul_config_request_body
.
number_of_pdus
=
0
;
if
(
ul_req
->
ul_config_request_body
.
number_of_pdus
>
0
)
{
LOG_D
(
PHY
,
"%s() active NOW (frameP:%d subframeP:%d) pdus:%d
\n
"
,
__FUNCTION__
,
frameP
,
subframeP
,
ul_req
->
ul_config_request_body
.
number_of_pdus
);
LOG_D
(
MAC
,
"%s() active NOW (frameP:%d subframeP:%d) pdus:%d
\n
"
,
__FUNCTION__
,
frameP
,
subframeP
,
ul_req
->
ul_config_request_body
.
number_of_pdus
);
}
memcpy
((
void
*
)
ul_req
->
ul_config_request_body
.
ul_config_pdu_list
,
...
...
@@ -556,6 +556,11 @@ copy_ulreq(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) {
}
}
extern
int16_t
find_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
extern
int16_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
extern
void
clean_eNb_ulsch
(
LTE_eNB_ULSCH_t
*
ulsch
);
extern
void
clean_eNb_dlsch
(
LTE_eNB_DLSCH_t
*
dlsch
);
void
eNB_dlsch_ulsch_scheduler
(
module_id_t
module_idP
,
frame_t
frameP
,
...
...
@@ -843,6 +848,7 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP,
}
/* Note: This should not be done in the MAC! */
/*
for (int ii=0; ii<MAX_MOBILES_PER_ENB; ii++) {
LTE_eNB_ULSCH_t *ulsch = RC.eNB[module_idP][CC_id]->ulsch[ii];
...
...
@@ -862,6 +868,17 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP,
clean_eNb_dlsch(dlsch);
}
}
*/
int
id
;
// clean ULSCH entries for rnti
id
=
find_ulsch
(
rnti
,
RC
.
eNB
[
module_idP
][
CC_id
],
SEARCH_EXIST
);
if
(
id
>=
0
)
clean_eNb_ulsch
(
RC
.
eNB
[
module_idP
][
CC_id
]
->
ulsch
[
id
]);
// clean DLSCH entries for rnti
id
=
find_dlsch
(
rnti
,
RC
.
eNB
[
module_idP
][
CC_id
],
SEARCH_EXIST
);
if
(
id
>=
0
)
clean_eNb_dlsch
(
RC
.
eNB
[
module_idP
][
CC_id
]
->
dlsch
[
id
][
0
]);
for
(
int
j
=
0
;
j
<
10
;
j
++
)
{
nfapi_ul_config_request_body_t
*
ul_req_tmp
=
NULL
;
...
...
openair2/RRC/LTE/rrc_eNB.c
View file @
1aa7d4b9
...
...
@@ -994,11 +994,14 @@ void put_UE_in_freelist(module_id_t mod_id, rnti_t rnti, boolean_t removeFlag) {
pthread_mutex_unlock
(
&
lock_ue_freelist
);
}
extern
int16_t
find_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
extern
int16_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
extern
void
clean_eNb_ulsch
(
LTE_eNB_ULSCH_t
*
ulsch
);
extern
void
clean_eNb_dlsch
(
LTE_eNB_DLSCH_t
*
dlsch
);
void
release_UE_in_freeList
(
module_id_t
mod_id
)
{
int
i
,
j
,
CC_id
,
pdu_number
;
protocol_ctxt_t
ctxt
;
LTE_eNB_ULSCH_t
*
ulsch
=
NULL
;
LTE_eNB_DLSCH_t
*
dlsch
=
NULL
;
nfapi_ul_config_request_body_t
*
ul_req_tmp
=
NULL
;
PHY_VARS_eNB
*
eNB_PHY
=
NULL
;
struct
rrc_eNB_ue_context_s
*
ue_context_pP
=
NULL
;
...
...
@@ -1032,6 +1035,25 @@ void release_UE_in_freeList(module_id_t mod_id) {
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
eNB_PHY
=
RC
.
eNB
[
mod_id
][
CC_id
];
int
id
;
// clean ULSCH entries for rnti
id
=
find_ulsch
(
rnti
,
eNB_PHY
,
SEARCH_EXIST
);
if
(
id
>=
0
)
clean_eNb_ulsch
(
eNB_PHY
->
ulsch
[
id
]);
// clean DLSCH entries for rnti
id
=
find_dlsch
(
rnti
,
eNB_PHY
,
SEARCH_EXIST
);
if
(
id
>=
0
)
clean_eNb_dlsch
(
eNB_PHY
->
dlsch
[
id
][
0
]);
// clean UCI entries for rnti
for
(
i
=
0
;
i
<
NUMBER_OF_UCI_VARS_MAX
;
i
++
)
{
if
(
eNB_PHY
->
uci_vars
[
i
].
rnti
==
rnti
)
{
LOG_I
(
MAC
,
"clean eNb uci_vars[%d] UE %x
\n
"
,
i
,
rnti
);
memset
(
&
eNB_PHY
->
uci_vars
[
i
],
0
,
sizeof
(
LTE_eNB_UCI
));
}
}
/*
for (i=0; i<MAX_MOBILES_PER_ENB; i++) {
ulsch = eNB_PHY->ulsch[i];
...
...
@@ -1064,6 +1086,7 @@ void release_UE_in_freeList(module_id_t mod_id) {
memset(&eNB_PHY->uci_vars[i],0,sizeof(LTE_eNB_UCI));
}
}
*/
if
(
flexran_agent_get_rrc_xface
(
mod_id
))
{
flexran_agent_get_rrc_xface
(
mod_id
)
->
flexran_agent_notify_ue_state_change
(
...
...
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