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
45fdcf68
Commit
45fdcf68
authored
May 21, 2024
by
Xin Zhe Khooi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Suppress UEContextReleaseComplete when performing F1 Reset
parent
8633e326
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
13 additions
and
11 deletions
+13
-11
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+9
-7
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+1
-1
openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c
openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c
+2
-2
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
45fdcf68
...
...
@@ -2156,7 +2156,7 @@ void nr_schedule_RA(module_id_t module_idP,
ra
->
contention_resolution_timer
--
;
if
(
ra
->
contention_resolution_timer
<
0
)
{
LOG_W
(
NR_MAC
,
"(%d.%d) RA Contention Resolution timer expired for UE 0x%04x, RA procedure failed...
\n
"
,
frameP
,
slotP
,
ra
->
rnti
);
nr_mac_release_ue
(
mac
,
ra
->
rnti
);
nr_mac_release_ue
(
mac
,
ra
->
rnti
,
true
);
nr_clear_ra_proc
(
ra
);
continue
;
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
45fdcf68
...
...
@@ -3001,7 +3001,7 @@ int nr_mac_enable_ue_rrc_processing_timer(gNB_MAC_INST *mac, NR_UE_info_t *UE, b
return
0
;
}
void
nr_mac_release_ue
(
gNB_MAC_INST
*
mac
,
int
rnti
)
void
nr_mac_release_ue
(
gNB_MAC_INST
*
mac
,
int
rnti
,
bool
generate_ue_release_complete
)
{
NR_SCHED_ENSURE_LOCKED
(
&
mac
->
sched_lock
);
...
...
@@ -3018,11 +3018,13 @@ void nr_mac_release_ue(gNB_MAC_INST *mac, int rnti)
// du_remove_f1_ue_data() (and also while sending the message to RRC)
NR_SCHED_UNLOCK
(
&
mac
->
sched_lock
);
f1_ue_data_t
ue_data
=
du_get_f1_ue_data
(
rnti
);
f1ap_ue_context_release_complete_t
complete
=
{
.
gNB_CU_ue_id
=
ue_data
.
secondary_ue
,
.
gNB_DU_ue_id
=
rnti
,
};
mac
->
mac_rrc
.
ue_context_release_complete
(
&
complete
);
if
(
generate_ue_release_complete
)
{
f1ap_ue_context_release_complete_t
complete
=
{
.
gNB_CU_ue_id
=
ue_data
.
secondary_ue
,
.
gNB_DU_ue_id
=
rnti
,
};
mac
->
mac_rrc
.
ue_context_release_complete
(
&
complete
);
}
du_remove_f1_ue_data
(
rnti
);
NR_SCHED_LOCK
(
&
mac
->
sched_lock
);
...
...
@@ -3043,7 +3045,7 @@ void nr_mac_update_timers(module_id_t module_id,
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
if
(
nr_mac_check_release
(
sched_ctrl
,
UE
->
rnti
))
{
nr_mac_release_ue
(
mac
,
UE
->
rnti
);
nr_mac_release_ue
(
mac
,
UE
->
rnti
,
true
);
// go back to examine the next UE, which is at the position the
// current UE was
UE
--
;
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
45fdcf68
...
...
@@ -433,7 +433,7 @@ void abort_nr_dl_harq(NR_UE_info_t* UE, int8_t harq_pid);
void
nr_mac_trigger_release_timer
(
NR_UE_sched_ctrl_t
*
sched_ctrl
,
NR_SubcarrierSpacing_t
subcarrier_spacing
);
bool
nr_mac_check_release
(
NR_UE_sched_ctrl_t
*
sched_ctrl
,
int
rnti
);
void
nr_mac_release_ue
(
gNB_MAC_INST
*
mac
,
int
rnti
);
void
nr_mac_release_ue
(
gNB_MAC_INST
*
mac
,
int
rnti
,
bool
generate_ue_release_complete
);
void
nr_mac_trigger_ul_failure
(
NR_UE_sched_ctrl_t
*
sched_ctrl
,
NR_SubcarrierSpacing_t
subcarrier_spacing
);
void
nr_mac_reset_ul_failure
(
NR_UE_sched_ctrl_t
*
sched_ctrl
);
...
...
openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c
View file @
45fdcf68
...
...
@@ -117,7 +117,7 @@ void du_clear_all_ue_states()
while
(
UE
!=
NULL
)
{
int
rnti
=
UE
->
rnti
;
nr_mac_release_ue
(
mac
,
rnti
);
nr_mac_release_ue
(
mac
,
rnti
,
false
);
newGtpuDeleteAllTunnels
(
f1inst
,
rnti
);
UE_list
=
(
&
mac
->
UE_info
)
->
list
;
UE
=
*
UE_list
;
...
...
@@ -694,7 +694,7 @@ void ue_context_release_command(const f1ap_ue_context_release_cmd_t *cmd)
if
(
UE
->
UE_sched_ctrl
.
ul_failure
||
cmd
->
rrc_container_length
==
0
)
{
/* The UE is already not connected anymore or we have nothing to forward*/
nr_mac_release_ue
(
mac
,
cmd
->
gNB_DU_ue_id
);
nr_mac_release_ue
(
mac
,
cmd
->
gNB_DU_ue_id
,
true
);
}
else
{
/* UE is in sync: forward release message and mark to be deleted
* after UL failure */
...
...
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