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
a771d584
Commit
a771d584
authored
Feb 14, 2024
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement F1AP code for gNB-DU configuration update
parent
67e55479
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
104 additions
and
200 deletions
+104
-200
openair2/F1AP/f1ap_du_interface_management.c
openair2/F1AP/f1ap_du_interface_management.c
+70
-197
openair2/F1AP/f1ap_du_interface_management.h
openair2/F1AP/f1ap_du_interface_management.h
+1
-2
openair2/F1AP/f1ap_du_task.c
openair2/F1AP/f1ap_du_task.c
+4
-0
openair2/LAYER2/NR_MAC_gNB/mac_rrc_ul_f1ap.c
openair2/LAYER2/NR_MAC_gNB/mac_rrc_ul_f1ap.c
+29
-1
No files found.
openair2/F1AP/f1ap_du_interface_management.c
View file @
a771d584
This diff is collapsed.
Click to expand it.
openair2/F1AP/f1ap_du_interface_management.h
View file @
a771d584
...
...
@@ -59,8 +59,7 @@ int DU_handle_F1_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint3
/*
* gNB-DU Configuration Update
*/
int
DU_send_gNB_DU_CONFIGURATION_UPDATE
(
sctp_assoc_t
assoc_id
,
f1ap_setup_req_t
*
f1ap_du_data
);
int
DU_send_gNB_DU_CONFIGURATION_UPDATE
(
sctp_assoc_t
assoc_id
,
const
f1ap_gnb_du_configuration_update_t
*
upd
);
int
DU_handle_gNB_DU_CONFIGURATION_FAILURE
(
instance_t
instance
,
sctp_assoc_t
assoc_id
,
uint32_t
stream
,
F1AP_F1AP_PDU_t
*
pdu
);
...
...
openair2/F1AP/f1ap_du_task.c
View file @
a771d584
...
...
@@ -186,6 +186,10 @@ void *F1AP_DU_task(void *arg) {
DU_send_UE_CONTEXT_MODIFICATION_REQUIRED
(
assoc_id
,
&
F1AP_UE_CONTEXT_MODIFICATION_REQUIRED
(
msg
));
break
;
case
F1AP_GNB_DU_CONFIGURATION_UPDATE
:
DU_send_gNB_DU_CONFIGURATION_UPDATE
(
assoc_id
,
&
F1AP_GNB_DU_CONFIGURATION_UPDATE
(
msg
));
break
;
case
TERMINATE_MESSAGE
:
LOG_W
(
F1AP
,
" *** Exiting F1AP thread
\n
"
);
itti_exit_task
();
...
...
openair2/LAYER2/NR_MAC_gNB/mac_rrc_ul_f1ap.c
View file @
a771d584
...
...
@@ -100,7 +100,35 @@ static void f1_setup_request_f1ap(const f1ap_setup_req_t *req)
static
void
gnb_du_configuration_update_f1ap
(
const
f1ap_gnb_du_configuration_update_t
*
upd
)
{
AssertFatal
(
false
,
"%s() not implemented
\n
"
,
__func__
);
MessageDef
*
msg
=
itti_alloc_new_message
(
TASK_MAC_GNB
,
0
,
F1AP_GNB_DU_CONFIGURATION_UPDATE
);
f1ap_gnb_du_configuration_update_t
*
f1_upd
=
&
F1AP_GNB_DU_CONFIGURATION_UPDATE
(
msg
);
f1_upd
->
transaction_id
=
upd
->
transaction_id
;
AssertFatal
(
upd
->
num_cells_to_add
==
0
,
"gNB-DU config update: cells to add not supported
\n
"
);
f1_upd
->
num_cells_to_modify
=
upd
->
num_cells_to_modify
;
for
(
int
n
=
0
;
n
<
upd
->
num_cells_to_modify
;
++
n
)
{
f1_upd
->
cell_to_modify
[
n
].
old_plmn
=
upd
->
cell_to_modify
[
n
].
old_plmn
;
f1_upd
->
cell_to_modify
[
n
].
old_nr_cellid
=
upd
->
cell_to_modify
[
n
].
old_nr_cellid
;
f1_upd
->
cell_to_modify
[
n
].
info
=
upd
->
cell_to_modify
[
n
].
info
;
if
(
upd
->
cell_to_modify
[
n
].
sys_info
)
{
f1ap_gnb_du_system_info_t
*
orig_sys_info
=
upd
->
cell_to_modify
[
n
].
sys_info
;
f1ap_gnb_du_system_info_t
*
copy_sys_info
=
calloc
(
1
,
sizeof
(
*
copy_sys_info
));
f1_upd
->
cell_to_modify
[
n
].
sys_info
=
copy_sys_info
;
copy_sys_info
->
mib
=
calloc
(
orig_sys_info
->
mib_length
,
sizeof
(
uint8_t
));
AssertFatal
(
copy_sys_info
->
mib
!=
NULL
,
"out of memory
\n
"
);
memcpy
(
copy_sys_info
->
mib
,
orig_sys_info
->
mib
,
orig_sys_info
->
mib_length
);
copy_sys_info
->
mib_length
=
orig_sys_info
->
mib_length
;
if
(
orig_sys_info
->
sib1_length
>
0
)
{
copy_sys_info
->
sib1
=
calloc
(
orig_sys_info
->
sib1_length
,
sizeof
(
uint8_t
));
AssertFatal
(
copy_sys_info
->
sib1
!=
NULL
,
"out of memory
\n
"
);
memcpy
(
copy_sys_info
->
sib1
,
orig_sys_info
->
sib1
,
orig_sys_info
->
sib1_length
);
copy_sys_info
->
sib1_length
=
orig_sys_info
->
sib1_length
;
}
}
}
AssertFatal
(
upd
->
num_cells_to_delete
==
0
,
"gNB-DU config update: cells to add not supported
\n
"
);
itti_send_msg_to_task
(
TASK_DU_F1
,
0
,
msg
);
}
static
void
ue_context_setup_response_f1ap
(
const
f1ap_ue_context_setup_t
*
req
,
const
f1ap_ue_context_setup_t
*
resp
)
...
...
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