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
3aa9f4c0
Commit
3aa9f4c0
authored
May 29, 2024
by
Guido Casati
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use F1 gNB-DU Configuration Update Acknowledge lib in stack
parent
b8ee622f
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
43 additions
and
31 deletions
+43
-31
openair2/F1AP/f1ap_cu_interface_management.c
openair2/F1AP/f1ap_cu_interface_management.c
+8
-30
openair2/F1AP/f1ap_du_interface_management.c
openair2/F1AP/f1ap_du_interface_management.c
+24
-0
openair2/F1AP/f1ap_du_interface_management.h
openair2/F1AP/f1ap_du_interface_management.h
+5
-0
openair2/F1AP/f1ap_handlers.c
openair2/F1AP/f1ap_handlers.c
+1
-1
openair2/GNB_APP/gnb_app.c
openair2/GNB_APP/gnb_app.c
+5
-0
No files found.
openair2/F1AP/f1ap_cu_interface_management.c
View file @
3aa9f4c0
...
...
@@ -149,42 +149,20 @@ int CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t asso
return
0
;
}
int
CU_send_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE
(
sctp_assoc_t
assoc_id
,
f1ap_gnb_du_configuration_update_acknowledge_t
*
GNBDUConfigurationUpdateAcknowledge
)
int
CU_send_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE
(
sctp_assoc_t
assoc_id
,
f1ap_gnb_du_configuration_update_acknowledge_t
*
msg
)
{
F1AP_F1AP_PDU_t
pdu
=
{};
uint8_t
*
buffer
;
uint32_t
len
;
/* Create */
/* 0. Message */
pdu
.
present
=
F1AP_F1AP_PDU_PR_successfulOutcome
;
asn1cCalloc
(
pdu
.
choice
.
successfulOutcome
,
succOut
);
succOut
->
procedureCode
=
F1AP_ProcedureCode_id_gNBDUConfigurationUpdate
;
succOut
->
criticality
=
F1AP_Criticality_reject
;
succOut
->
value
.
present
=
F1AP_SuccessfulOutcome__value_PR_GNBDUConfigurationUpdateAcknowledge
;
F1AP_GNBDUConfigurationUpdateAcknowledge_t
*
ack
=
&
succOut
->
value
.
choice
.
GNBDUConfigurationUpdateAcknowledge
;
/* Mandatory */
/* Transaction Id */
asn1cSequenceAdd
(
ack
->
protocolIEs
.
list
,
F1AP_GNBDUConfigurationUpdateAcknowledgeIEs_t
,
ie1
);
ie1
->
id
=
F1AP_ProtocolIE_ID_id_TransactionID
;
ie1
->
criticality
=
F1AP_Criticality_reject
;
ie1
->
value
.
present
=
F1AP_GNBDUConfigurationUpdateAcknowledgeIEs__value_PR_TransactionID
;
ie1
->
value
.
choice
.
TransactionID
=
GNBDUConfigurationUpdateAcknowledge
->
transaction_id
;
/* Todo add optional fields */
/* encode */
if
(
f1ap_encode_pdu
(
&
pdu
,
&
buffer
,
&
len
)
<
0
)
{
LOG_E
(
F1AP
,
"Failed to encode F1 gNB-DU CONFIGURATION UPDATE
\n
"
);
/* Encode F1 gNB-CU Configuration Update message */
F1AP_F1AP_PDU_t
*
pdu
=
encode_f1ap_du_configuration_update_acknowledge
(
msg
);
/* Encode F1AP PDU */
if
(
f1ap_encode_pdu
(
pdu
,
&
buffer
,
&
len
)
<
0
)
{
ASN_STRUCT_FREE
(
asn_DEF_F1AP_F1AP_PDU
,
pdu
);
LOG_E
(
F1AP
,
"Failed to encode F1 gNB-DU Configuration Update Acknowledge
\n
"
);
return
-
1
;
}
LOG_DUMPMSG
(
F1AP
,
LOG_DUMP_CHAR
,
buffer
,
len
,
"F1AP gNB-DU CONFIGURATION UPDATE : "
);
ASN_STRUCT_
RESET
(
asn_DEF_F1AP_F1AP_PDU
,
&
pdu
);
ASN_STRUCT_
FREE
(
asn_DEF_F1AP_F1AP_PDU
,
pdu
);
f1ap_itti_send_sctp_data_req
(
assoc_id
,
buffer
,
len
);
return
0
;
}
...
...
openair2/F1AP/f1ap_du_interface_management.c
View file @
3aa9f4c0
...
...
@@ -245,6 +245,30 @@ int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t asso
return
0
;
}
/**
* @brief F1 gNB-DU Configuration Update Acknowledge decoding and message transfer
*/
int
DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE
(
instance_t
instance
,
sctp_assoc_t
assoc_id
,
uint32_t
stream
,
F1AP_F1AP_PDU_t
*
pdu
)
{
// Decoding
f1ap_gnb_du_configuration_update_acknowledge_t
in
=
{
0
};
if
(
!
decode_f1ap_du_configuration_update_acknowledge
(
pdu
,
&
in
))
{
LOG_E
(
F1AP
,
"Failed to decode gNB-DU Configuration Update Acknowledge
\n
"
);
free_f1ap_du_configuration_update_acknowledge
(
&
in
);
return
-
1
;
}
// Allocate and send an ITTI message
MessageDef
*
msg_p
=
itti_alloc_new_message
(
TASK_DU_F1
,
0
,
F1AP_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE
);
f1ap_gnb_du_configuration_update_acknowledge_t
*
msg
=
&
F1AP_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE
(
msg_p
);
// Copy the decoded message to the ITTI message (RRC thread will free it)
*
msg
=
in
;
// Copy the decoded message to the ITTI message (RRC thread will free it)
itti_send_msg_to_task
(
TASK_GNB_APP
,
GNB_MODULE_ID_TO_INSTANCE
(
assoc_id
),
msg_p
);
return
0
;
}
int
DU_send_gNB_CU_CONFIGURATION_UPDATE_FAILURE
(
sctp_assoc_t
assoc_id
,
f1ap_gnb_cu_configuration_update_failure_t
*
GNBCUConfigurationUpdateFailure
)
{
AssertFatal
(
1
==
0
,
"received gNB CU CONFIGURATION UPDATE FAILURE with cause %d
\n
"
,
...
...
openair2/F1AP/f1ap_du_interface_management.h
View file @
3aa9f4c0
...
...
@@ -64,4 +64,9 @@ int DU_send_gNB_CU_CONFIGURATION_UPDATE_FAILURE(sctp_assoc_t assoc_id,
int
DU_send_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE
(
sctp_assoc_t
assoc_id
,
f1ap_gnb_cu_configuration_update_acknowledge_t
*
GNBCUConfigurationUpdateAcknowledge
);
int
DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE
(
instance_t
instance
,
sctp_assoc_t
assoc_id
,
uint32_t
stream
,
F1AP_F1AP_PDU_t
*
pdu
);
#endif
/* F1AP_DU_INTERFACE_MANAGEMENT_H_ */
openair2/F1AP/f1ap_handlers.c
View file @
3aa9f4c0
...
...
@@ -48,7 +48,7 @@ static const f1ap_message_processing_t f1ap_messages_processing[][3] = {
// {CU_handle_RESET, DU_handle_RESET_ACKNOWLEDGE, 0}, /* Reset */
{
CU_handle_F1_SETUP_REQUEST
,
DU_handle_F1_SETUP_RESPONSE
,
DU_handle_F1_SETUP_FAILURE
},
/* F1Setup */
{
0
,
0
,
0
},
/* ErrorIndication */
{
CU_handle_gNB_DU_CONFIGURATION_UPDATE
,
0
,
0
},
/* gNBDUConfigurationUpdate */
{
CU_handle_gNB_DU_CONFIGURATION_UPDATE
,
DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE
,
0
},
/* gNBDUConfigurationUpdate */
{
DU_handle_gNB_CU_CONFIGURATION_UPDATE
,
CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE
,
0
},
/* gNBCUConfigurationUpdate */
{
DU_handle_UE_CONTEXT_SETUP_REQUEST
,
CU_handle_UE_CONTEXT_SETUP_RESPONSE
,
0
},
/* UEContextSetup */
{
DU_handle_UE_CONTEXT_RELEASE_COMMAND
,
CU_handle_UE_CONTEXT_RELEASE_COMPLETE
,
0
},
/* UEContextRelease */
...
...
openair2/GNB_APP/gnb_app.c
View file @
3aa9f4c0
...
...
@@ -247,6 +247,11 @@ void *gNB_app_task(void *args_p)
AssertFatal
(
cell_to_activate
==
1
,
"No cells to activate or cells > 1 %d
\n
"
,
cell_to_activate
);
break
;
case
F1AP_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE
:
LOG_E
(
GNB_APP
,
"[gNB %ld] Handling of %s message not implemented yet
\n
"
,
instance
,
msg_name
);
break
;
case
NGAP_DEREGISTERED_GNB_IND
:
LOG_W
(
GNB_APP
,
"[gNB %ld] Received %s: associated AMF %d
\n
"
,
instance
,
msg_name
,
NGAP_DEREGISTERED_GNB_IND
(
msg_p
).
nb_amf
);
...
...
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