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
9847089b
Commit
9847089b
authored
Dec 18, 2023
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
handle rlf with re-establishment or going to idle
parent
07045581
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
23 additions
and
2 deletions
+23
-2
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+21
-0
openair2/RRC/NR_UE/rrc_proto.h
openair2/RRC/NR_UE/rrc_proto.h
+1
-0
openair2/RRC/NR_UE/rrc_timers_and_constants.c
openair2/RRC/NR_UE/rrc_timers_and_constants.c
+1
-2
No files found.
openair2/RRC/NR_UE/rrc_UE.c
View file @
9847089b
...
...
@@ -1991,6 +1991,27 @@ static void process_lte_nsa_msg(NR_UE_RRC_INST_t *rrc, nsa_msg_t *msg, int msg_l
}
}
void
handle_rlf_detection
(
NR_UE_RRC_INST_t
*
rrc
)
{
// 5.3.10.3 in 38.331
rrcPerNB_t
*
nb
=
&
rrc
->
perNB
[
0
];
bool
srb2
=
nb
->
Srb
[
2
]
!=
RB_NOT_PRESENT
;
bool
any_drb
=
false
;
for
(
int
i
=
0
;
i
<
MAX_DRBS_PER_UE
;
i
++
)
{
if
(
nb
->
status_DRBs
[
i
]
!=
RB_NOT_PRESENT
)
{
any_drb
=
true
;
break
;
}
}
if
(
rrc
->
as_security_activated
&&
srb2
&&
any_drb
)
// initiate the connection re-establishment procedure
nr_rrc_initiate_rrcReestablishment
(
rrc
,
NR_ReestablishmentCause_otherFailure
,
0
);
else
{
NR_Release_Cause_t
cause
=
rrc
->
as_security_activated
?
RRC_CONNECTION_FAILURE
:
OTHER
;
nr_rrc_going_to_IDLE
(
rrc
,
cause
,
NULL
);
}
}
void
nr_rrc_going_to_IDLE
(
NR_UE_RRC_INST_t
*
rrc
,
NR_Release_Cause_t
release_cause
,
NR_RRCRelease_t
*
RRCRelease
)
...
...
openair2/RRC/NR_UE/rrc_proto.h
View file @
9847089b
...
...
@@ -97,6 +97,7 @@ void *rrc_nrue_task(void *args_p);
void
*
rrc_nrue
(
void
*
args_p
);
void
nr_rrc_handle_timers
(
NR_UE_RRC_INST_t
*
rrc
);
void
handle_rlf_detection
(
NR_UE_RRC_INST_t
*
rrc
);
/**\brief RRC NSA UE task.
\param void *args_p Pointer on arguments to start the task. */
...
...
openair2/RRC/NR_UE/rrc_timers_and_constants.c
View file @
9847089b
...
...
@@ -146,10 +146,9 @@ void nr_rrc_handle_timers(NR_UE_RRC_INST_t *rrc)
bool
t310_expired
=
nr_timer_tick
(
&
timers
->
T310
);
if
(
t310_expired
)
{
LOG_W
(
NR_RRC
,
"Timer T310 expired
\n
"
);
// TODO
// handle detection of radio link failure
// as described in 5.3.10.3 of 38.331
AssertFatal
(
false
,
"Radio link failure! Not handled yet!
\n
"
);
handle_rlf_detection
(
rrc
);
}
bool
t311_expired
=
nr_timer_tick
(
&
timers
->
T311
);
...
...
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