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
8620f33a
Commit
8620f33a
authored
Nov 14, 2025
by
Thomas Schlichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Provide public helper functions to create NR_RLC_Config from nr_rlc_configuration_t
parent
8186e840
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
20 deletions
+26
-20
openair2/LAYER2/NR_MAC_gNB/nr_radio_config.c
openair2/LAYER2/NR_MAC_gNB/nr_radio_config.c
+23
-20
openair2/LAYER2/NR_MAC_gNB/nr_radio_config.h
openair2/LAYER2/NR_MAC_gNB/nr_radio_config.h
+3
-0
No files found.
openair2/LAYER2/NR_MAC_gNB/nr_radio_config.c
View file @
8620f33a
...
...
@@ -3538,19 +3538,8 @@ static NR_SpCellConfig_t *get_initial_SpCellConfig(int uid,
return
SpCellConfig
;
}
NR_RLC_BearerConfig_t
*
get_SRB_RLC_BearerConfig
(
long
channelId
,
long
priority
,
long
bucketSizeDuration
,
const
nr_rlc_configuration_t
*
default_rlc_config
)
struct
NR_RLC_Config
*
nr_srb_config
(
const
nr_rlc_configuration_t
*
default_rlc_config
)
{
NR_RLC_BearerConfig_t
*
rlc_BearerConfig
=
NULL
;
rlc_BearerConfig
=
calloc
(
1
,
sizeof
(
NR_RLC_BearerConfig_t
));
rlc_BearerConfig
->
logicalChannelIdentity
=
channelId
;
rlc_BearerConfig
->
servedRadioBearer
=
calloc
(
1
,
sizeof
(
*
rlc_BearerConfig
->
servedRadioBearer
));
rlc_BearerConfig
->
servedRadioBearer
->
present
=
NR_RLC_BearerConfig__servedRadioBearer_PR_srb_Identity
;
rlc_BearerConfig
->
servedRadioBearer
->
choice
.
srb_Identity
=
channelId
;
rlc_BearerConfig
->
reestablishRLC
=
NULL
;
NR_RLC_Config_t
*
rlc_Config
=
calloc
(
1
,
sizeof
(
NR_RLC_Config_t
));
rlc_Config
->
present
=
NR_RLC_Config_PR_am
;
rlc_Config
->
choice
.
am
=
calloc
(
1
,
sizeof
(
*
rlc_Config
->
choice
.
am
));
...
...
@@ -3564,7 +3553,23 @@ NR_RLC_BearerConfig_t *get_SRB_RLC_BearerConfig(long channelId,
rlc_Config
->
choice
.
am
->
ul_AM_RLC
.
pollPDU
=
encode_poll_pdu
(
default_rlc_config
->
srb
.
poll_pdu
);
rlc_Config
->
choice
.
am
->
ul_AM_RLC
.
pollByte
=
encode_poll_byte
(
default_rlc_config
->
srb
.
poll_byte
);
rlc_Config
->
choice
.
am
->
ul_AM_RLC
.
maxRetxThreshold
=
encode_max_retx_threshold
(
default_rlc_config
->
srb
.
max_retx_threshold
);
rlc_BearerConfig
->
rlc_Config
=
rlc_Config
;
return
rlc_Config
;
}
NR_RLC_BearerConfig_t
*
get_SRB_RLC_BearerConfig
(
long
channelId
,
long
priority
,
long
bucketSizeDuration
,
const
nr_rlc_configuration_t
*
default_rlc_config
)
{
NR_RLC_BearerConfig_t
*
rlc_BearerConfig
=
NULL
;
rlc_BearerConfig
=
calloc
(
1
,
sizeof
(
NR_RLC_BearerConfig_t
));
rlc_BearerConfig
->
logicalChannelIdentity
=
channelId
;
rlc_BearerConfig
->
servedRadioBearer
=
calloc
(
1
,
sizeof
(
*
rlc_BearerConfig
->
servedRadioBearer
));
rlc_BearerConfig
->
servedRadioBearer
->
present
=
NR_RLC_BearerConfig__servedRadioBearer_PR_srb_Identity
;
rlc_BearerConfig
->
servedRadioBearer
->
choice
.
srb_Identity
=
channelId
;
rlc_BearerConfig
->
reestablishRLC
=
NULL
;
rlc_BearerConfig
->
rlc_Config
=
nr_srb_config
(
default_rlc_config
);
NR_LogicalChannelConfig_t
*
logicalChannelConfig
=
calloc
(
1
,
sizeof
(
NR_LogicalChannelConfig_t
));
logicalChannelConfig
->
ul_SpecificParameters
=
calloc
(
1
,
sizeof
(
*
logicalChannelConfig
->
ul_SpecificParameters
));
...
...
@@ -3584,10 +3589,9 @@ NR_RLC_BearerConfig_t *get_SRB_RLC_BearerConfig(long channelId,
return
rlc_BearerConfig
;
}
static
void
nr_drb_config
(
struct
NR_RLC_Config
*
rlc_Config
,
NR_RLC_Config_PR
rlc_config_pr
,
const
nr_rlc_configuration_t
*
default_rlc_config
)
struct
NR_RLC_Config
*
nr_drb_config
(
NR_RLC_Config_PR
rlc_config_pr
,
const
nr_rlc_configuration_t
*
default_rlc_config
)
{
NR_RLC_Config_t
*
rlc_Config
=
calloc
(
1
,
sizeof
(
NR_RLC_Config_t
));
switch
(
rlc_config_pr
)
{
case
NR_RLC_Config_PR_um_Bi_Directional
:
// RLC UM Bi-directional Bearer configuration
...
...
@@ -3620,6 +3624,7 @@ static void nr_drb_config(struct NR_RLC_Config *rlc_Config,
break
;
}
rlc_Config
->
present
=
rlc_config_pr
;
return
rlc_Config
;
}
NR_RLC_BearerConfig_t
*
get_DRB_RLC_BearerConfig
(
long
lcChannelId
,
...
...
@@ -3635,9 +3640,7 @@ NR_RLC_BearerConfig_t *get_DRB_RLC_BearerConfig(long lcChannelId,
rlc_BearerConfig
->
servedRadioBearer
->
choice
.
drb_Identity
=
drbId
;
rlc_BearerConfig
->
reestablishRLC
=
NULL
;
NR_RLC_Config_t
*
rlc_Config
=
calloc
(
1
,
sizeof
(
NR_RLC_Config_t
));
nr_drb_config
(
rlc_Config
,
rlc_conf
,
default_rlc_config
);
rlc_BearerConfig
->
rlc_Config
=
rlc_Config
;
rlc_BearerConfig
->
rlc_Config
=
nr_drb_config
(
rlc_conf
,
default_rlc_config
);
NR_LogicalChannelConfig_t
*
logicalChannelConfig
=
calloc
(
1
,
sizeof
(
NR_LogicalChannelConfig_t
));
logicalChannelConfig
->
ul_SpecificParameters
=
calloc
(
1
,
sizeof
(
*
logicalChannelConfig
->
ul_SpecificParameters
));
...
...
openair2/LAYER2/NR_MAC_gNB/nr_radio_config.h
View file @
8620f33a
...
...
@@ -112,6 +112,9 @@ NR_CellGroupConfig_t *get_default_secondaryCellGroup(const NR_ServingCellConfigC
NR_ReconfigurationWithSync_t
*
get_reconfiguration_with_sync
(
rnti_t
rnti
,
uid_t
uid
,
const
NR_ServingCellConfigCommon_t
*
scc
,
int
frame
);
struct
NR_RLC_Config
*
nr_srb_config
(
const
nr_rlc_configuration_t
*
default_rlc_config
);
struct
NR_RLC_Config
*
nr_drb_config
(
NR_RLC_Config_PR
rlc_config_pr
,
const
nr_rlc_configuration_t
*
default_rlc_config
);
NR_RLC_BearerConfig_t
*
get_SRB_RLC_BearerConfig
(
long
channelId
,
long
priority
,
long
bucketSizeDuration
,
...
...
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