Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
openairinterface-6g
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
openairinterface-6g
Commits
3445d3bb
Commit
3445d3bb
authored
Sep 03, 2025
by
Guido Casati
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
OAI UE: add reusable function to release RLC entity
parent
1f313db0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
8 deletions
+18
-8
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+18
-8
No files found.
openair2/RRC/NR_UE/rrc_UE.c
View file @
3445d3bb
...
...
@@ -1651,6 +1651,22 @@ static void nr_rrc_signal_maxrtxindication(int ue_id)
itti_send_msg_to_task
(
TASK_RRC_NRUE
,
ue_id
,
msg
);
}
/** @brief Release all active RLC entities for a UE and set to inactive.
* This is typically used when tearing down all DRBs at UE side,
* such as after a PDU session release or full reconfiguration.
* @param rrc Pointer to NR_UE_RRC_INST_t structure
* @param id Logical Channel ID (must be in range [0, NR_MAX_NUM_LCID-1]) */
static
void
nr_rrc_release_rlc_entity
(
NR_UE_RRC_INST_t
*
rrc
,
int
id
)
{
DevAssert
(
rrc
);
DevAssert
(
id
>=
0
&&
id
<
NR_MAX_NUM_LCID
);
if
(
rrc
->
active_RLC_entity
[
id
])
{
rrc
->
active_RLC_entity
[
id
]
=
false
;
nr_rlc_release_entity
(
rrc
->
ue_id
,
id
);
LOG_I
(
RLC
,
"Released RLC entity: ue_id=%ld, lc_id=%d
\n
"
,
rrc
->
ue_id
,
id
);
}
}
static
void
nr_rrc_manage_rlc_bearers
(
NR_UE_RRC_INST_t
*
rrc
,
const
NR_CellGroupConfig_t
*
cellGroupConfig
)
{
if
(
cellGroupConfig
->
rlc_BearerToReleaseList
!=
NULL
)
{
...
...
@@ -1830,10 +1846,7 @@ static void nr_rrc_rrcsetup_fallback(NR_UE_RRC_INST_t *rrc)
}
}
for
(
int
i
=
1
;
i
<
NR_MAX_NUM_LCID
;
i
++
)
{
if
(
rrc
->
active_RLC_entity
[
i
])
{
rrc
->
active_RLC_entity
[
i
]
=
false
;
nr_rlc_release_entity
(
rrc
->
ue_id
,
i
);
}
nr_rrc_release_rlc_entity
(
rrc
,
i
);
}
nr_sdap_delete_ue_entities
(
rrc
->
ue_id
);
...
...
@@ -2938,10 +2951,7 @@ void nr_rrc_going_to_IDLE(NR_UE_RRC_INST_t *rrc,
}
}
for
(
int
i
=
0
;
i
<
NR_MAX_NUM_LCID
;
i
++
)
{
if
(
rrc
->
active_RLC_entity
[
i
])
{
rrc
->
active_RLC_entity
[
i
]
=
false
;
nr_rlc_release_entity
(
rrc
->
ue_id
,
i
);
}
nr_rrc_release_rlc_entity
(
rrc
,
i
);
}
for
(
int
i
=
0
;
i
<
NB_CNX_UE
;
i
++
)
{
...
...
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