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
Michael Black
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