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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG-RAN
Commits
f8464b9e
Commit
f8464b9e
authored
Aug 18, 2023
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MAC configuration of logical channel identities
parent
0982bf26
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
83 additions
and
73 deletions
+83
-73
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+20
-10
openair2/LAYER2/NR_MAC_UE/mac_defs.h
openair2/LAYER2/NR_MAC_UE/mac_defs.h
+2
-2
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+3
-11
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
+4
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+43
-44
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+10
-5
openair2/RRC/NR_UE/rrc_proto.h
openair2/RRC/NR_UE/rrc_proto.h
+1
-0
No files found.
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
f8464b9e
...
...
@@ -511,16 +511,26 @@ void configure_ss_coreset(NR_UE_MAC_INST_t *mac,
mac
->
BWP_coresets
[
i
]
=
NULL
;
}
// todo handle mac_LogicalChannelConfig
int
nr_rrc_mac_config_req_ue_logicalChannelBearer
(
module_id_t
module_id
,
int
cc_idP
,
uint8_t
gNB_index
,
long
logicalChannelIdentity
,
bool
status
){
NR_UE_MAC_INST_t
*
mac
=
get_mac_inst
(
module_id
);
mac
->
logicalChannelBearer_exist
[
logicalChannelIdentity
]
=
status
;
return
0
;
void
nr_rrc_mac_config_req_ue_logicalChannelBearer
(
module_id_t
module_id
,
struct
NR_CellGroupConfig__rlc_BearerToAddModList
*
rlc_toadd_list
,
struct
NR_CellGroupConfig__rlc_BearerToReleaseList
*
rlc_torelease_list
)
{
NR_UE_MAC_INST_t
*
mac
=
get_mac_inst
(
module_id
);
if
(
rlc_toadd_list
)
{
for
(
int
i
=
0
;
i
<
rlc_toadd_list
->
list
.
count
;
i
++
)
{
NR_RLC_BearerConfig_t
*
rlc_bearer
=
rlc_toadd_list
->
list
.
array
[
i
];
int
id
=
rlc_bearer
->
logicalChannelIdentity
-
1
;
mac
->
active_RLC_bearer
[
id
]
=
true
;
}
}
if
(
rlc_torelease_list
)
{
for
(
int
i
=
0
;
i
<
rlc_torelease_list
->
list
.
count
;
i
++
)
{
if
(
rlc_torelease_list
->
list
.
array
[
i
])
{
int
id
=
*
rlc_torelease_list
->
list
.
array
[
i
]
-
1
;
mac
->
active_RLC_bearer
[
id
]
=
false
;
}
}
}
}
...
...
openair2/LAYER2/NR_MAC_UE/mac_defs.h
View file @
f8464b9e
...
...
@@ -503,8 +503,8 @@ typedef struct {
uint8_t
BSR_reporting_active
;
/// LogicalChannelConfig has bearer.
bool
logicalChannelBearer_exist
[
NR_MAX_NUM_LCID
];
NR_UE_SCHEDULING_INFO
scheduling_info
;
bool
active_RLC_bearer
[
NR_MAX_NUM_LCID
];
NR_UE_SCHEDULING_INFO
scheduling_info
;
/// PHR
uint8_t
PHR_reporting_active
;
...
...
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
f8464b9e
...
...
@@ -63,17 +63,9 @@ int8_t nr_ue_decode_BCCH_DL_SCH(module_id_t module_id,
uint8_t
*
pduP
,
uint32_t
pdu_len
);
/**\brief primitive from RRC layer to MAC layer to set if bearer exists for a logical channel. todo handle mac_LogicalChannelConfig
\param module_id module id
\param cc_id component carrier id
\param gNB_index gNB index
\param long logicalChannelIdentity
\param bool status*/
int
nr_rrc_mac_config_req_ue_logicalChannelBearer
(
module_id_t
module_id
,
int
cc_idP
,
uint8_t
gNB_index
,
long
logicalChannelIdentity
,
bool
status
);
void
nr_rrc_mac_config_req_ue_logicalChannelBearer
(
module_id_t
module_id
,
struct
NR_CellGroupConfig__rlc_BearerToAddModList
*
rlc_toadd_list
,
struct
NR_CellGroupConfig__rlc_BearerToReleaseList
*
rlc_torelease_list
);
void
nr_rrc_mac_config_req_scg
(
module_id_t
module_id
,
int
cc_idP
,
...
...
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
View file @
f8464b9e
...
...
@@ -78,7 +78,10 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) {
nr_pdcp_layer_init
();
nr_pdcp_add_drbs
(
ENB_FLAG_NO
,
nr_ue_mac_inst
->
crnti
,
rbconfig
->
drb_ToAddModList
,
0
,
NULL
,
NULL
);
nr_rlc_add_drb
(
nr_ue_mac_inst
->
crnti
,
rbconfig
->
drb_ToAddModList
->
list
.
array
[
0
]
->
drb_Identity
,
rlc_rbconfig
);
nr_ue_mac_inst
->
logicalChannelBearer_exist
[
4
]
=
true
;
struct
NR_CellGroupConfig__rlc_BearerToAddModList
rlc_toadd_list
;
rlc_toadd_list
.
list
.
count
=
1
;
rlc_toadd_list
.
list
.
array
[
0
]
=
rlc_rbconfig
;
nr_rrc_mac_config_req_ue_logicalChannelBearer
(
0
,
&
rlc_toadd_list
,
NULL
);
// free memory
free_nr_noS1_bearer_config
(
&
rbconfig
,
&
rlc_rbconfig
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
f8464b9e
This diff is collapsed.
Click to expand it.
openair2/RRC/NR_UE/rrc_UE.c
View file @
f8464b9e
...
...
@@ -163,7 +163,8 @@ int8_t nr_rrc_ue_process_rrcReconfiguration(const module_id_t module_id, NR_RRCR
return
-
1
;
}
nr_rrc_manage_rlc_bearers
(
cellGroupConfig
,
&
NR_UE_rrc_inst
[
module_id
],
0
,
NR_UE_rrc_inst
[
module_id
].
rnti
);
if
(
get_softmodem_params
()
->
sa
||
get_softmodem_params
()
->
nsa
)
nr_rrc_manage_rlc_bearers
(
cellGroupConfig
,
&
NR_UE_rrc_inst
[
module_id
],
0
,
module_id
,
NR_UE_rrc_inst
[
module_id
].
rnti
);
if
(
get_softmodem_params
()
->
sa
||
get_softmodem_params
()
->
nsa
)
{
if
(
LOG_DEBUGFLAG
(
DEBUG_ASN1
))
{
...
...
@@ -222,7 +223,8 @@ int8_t nr_rrc_ue_process_meas_config(NR_MeasConfig_t *meas_config){
}
void
process_nsa_message
(
NR_UE_RRC_INST_t
*
rrc
,
nsa_message_t
nsa_message_type
,
void
*
message
,
int
msg_len
)
{
void
process_nsa_message
(
NR_UE_RRC_INST_t
*
rrc
,
nsa_message_t
nsa_message_type
,
void
*
message
,
int
msg_len
)
{
module_id_t
module_id
=
0
;
// TODO
switch
(
nsa_message_type
)
{
case
nr_SecondaryCellGroupConfig_r15
:
...
...
@@ -338,8 +340,7 @@ NR_UE_RRC_INST_t* openair_rrc_top_init_ue_nr(char* uecap_file, char* reconfig_fi
fclose
(
fd
);
process_nsa_message
(
NR_UE_rrc_inst
,
nr_RadioBearerConfigX_r15
,
buffer
,
msg_len
);
}
else
if
(
get_softmodem_params
()
->
nsa
)
{
else
if
(
get_softmodem_params
()
->
nsa
)
{
LOG_D
(
NR_RRC
,
"In NSA mode
\n
"
);
}
...
...
@@ -755,6 +756,7 @@ static int8_t nr_rrc_ue_decode_NR_BCCH_DL_SCH_Message(module_id_t module_id,
void
nr_rrc_manage_rlc_bearers
(
const
NR_CellGroupConfig_t
*
cellGroupConfig
,
NR_UE_RRC_INST_t
*
rrc
,
int
gNB_index
,
module_id_t
module_id
,
int
rnti
)
{
if
(
cellGroupConfig
->
rlc_BearerToReleaseList
!=
NULL
)
{
...
...
@@ -790,6 +792,9 @@ void nr_rrc_manage_rlc_bearers(const NR_CellGroupConfig_t *cellGroupConfig,
}
}
}
nr_rrc_mac_config_req_ue_logicalChannelBearer
(
module_id
,
cellGroupConfig
->
rlc_BearerToAddModList
,
cellGroupConfig
->
rlc_BearerToReleaseList
);
}
void
nr_rrc_ue_process_masterCellGroup
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
...
...
@@ -814,7 +819,7 @@ void nr_rrc_ue_process_masterCellGroup(const protocol_ctxt_t *const ctxt_pP,
rrc
->
cell_group_config
=
calloc
(
1
,
sizeof
(
NR_CellGroupConfig_t
));
}
nr_rrc_manage_rlc_bearers
(
cellGroupConfig
,
rrc
,
gNB_index
,
ctxt_pP
->
rntiMaybeUEid
);
nr_rrc_manage_rlc_bearers
(
cellGroupConfig
,
rrc
,
gNB_index
,
ctxt_pP
->
module_id
,
ctxt_pP
->
rntiMaybeUEid
);
if
(
cellGroupConfig
->
mac_CellGroupConfig
!=
NULL
){
//TODO (configure the MAC entity of this cell group as specified in 5.3.5.5.5)
...
...
openair2/RRC/NR_UE/rrc_proto.h
View file @
f8464b9e
...
...
@@ -166,6 +166,7 @@ void nr_rrc_handle_SetupRelease_RLF_TimersAndConstants(NR_UE_RRC_INST_t *rrc,
void
nr_rrc_manage_rlc_bearers
(
const
NR_CellGroupConfig_t
*
cellGroupConfig
,
NR_UE_RRC_INST_t
*
rrc
,
int
gNB_index
,
module_id_t
module_id
,
int
rnti
);
int
configure_NR_SL_Preconfig
(
int
sync_source
);
...
...
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