diff --git a/openair2/F1AP/f1ap_cu_interface_management.c b/openair2/F1AP/f1ap_cu_interface_management.c index c3f1e5e34c4d22ca6e4efdc326942a68daeee779..dbb1bc334ed99d0d915f2a5aeb3afffb1efd79c8 100644 --- a/openair2/F1AP/f1ap_cu_interface_management.c +++ b/openair2/F1AP/f1ap_cu_interface_management.c @@ -33,23 +33,30 @@ #include "f1ap_common.h" #include "f1ap_encoder.h" #include "f1ap_decoder.h" -#include "f1ap_du_interface_management.h" +#include "f1ap_itti_messaging.h" +#include "f1ap_cu_interface_management.h" extern f1ap_setup_req_t *f1ap_du_data_from_du; -void CU_send_RESET(instance_t instance, F1AP_Reset_t *Reset) { +int CU_send_RESET(instance_t instance, F1AP_Reset_t *Reset) { AssertFatal(1==0,"Not implemented yet\n"); } -void CU_handle_RESET_ACKKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge) { +int CU_handle_RESET_ACKKNOWLEDGE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } -void CU_handle_RESET(instance_t instance, F1AP_Reset_t *Reset) { +int CU_handle_RESET(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } -void CU_send_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge) { +int CU_send_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge) { AssertFatal(1==0,"Not implemented yet\n"); } @@ -57,11 +64,14 @@ void CU_send_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *Res /* Error Indication */ -void CU_handle_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication) { +int CU_handle_ERROR_INDICATION(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } -void CU_send_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication) { +int CU_send_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication) { AssertFatal(1==0,"Not implemented yet\n"); } @@ -69,7 +79,7 @@ void CU_send_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *Error /* F1 Setup */ -void CU_handle_F1_SETUP_REQUEST(instance_t instance, +int CU_handle_F1_SETUP_REQUEST(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu) @@ -216,10 +226,12 @@ void CU_handle_F1_SETUP_REQUEST(instance_t instance, itti_send_msg_to_task(TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(instance), message_p); } else { CU_send_F1_SETUP_FAILURE(instance); + return -1; } + return 0; } -void CU_send_F1_SETUP_RESPONSE(instance_t instance, +int CU_send_F1_SETUP_RESPONSE(instance_t instance, f1ap_setup_resp_t *f1ap_setup_resp) { module_id_t enb_mod_idP; @@ -341,6 +353,7 @@ void CU_send_F1_SETUP_RESPONSE(instance_t instance, /* encode */ if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) { printf("Failed to encode F1 setup request\n"); + return -1; } // printf("\n"); @@ -352,9 +365,10 @@ void CU_send_F1_SETUP_RESPONSE(instance_t instance, //printf("F1 setup response present = %d\n", out->value.present); //f1ap_send_sctp_data_req(instance_p->instance, f1ap_mme_data_p->assoc_id, buffer, len, 0); + return 0; } -void CU_send_F1_SETUP_FAILURE(instance_t instance) { +int CU_send_F1_SETUP_FAILURE(instance_t instance) { printf("CU_send_F1_SETUP_FAILURE\n"); module_id_t enb_mod_idP; @@ -431,9 +445,12 @@ void CU_send_F1_SETUP_FAILURE(instance_t instance) { /* encode */ if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) { printf("Failed to encode F1 setup request\n"); + return -1; } cu_f1ap_itti_send_sctp_data_req(instance, f1ap_du_data_from_du->assoc_id, buffer, len, 0); + + return 0; } @@ -442,17 +459,19 @@ void CU_send_F1_SETUP_FAILURE(instance_t instance) { gNB-DU Configuration Update */ -void CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, - F1AP_GNBDUConfigurationUpdate_t *GNBDUConfigurationUpdate) { +int CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } -void CU_send_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, +int CU_send_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, F1AP_GNBDUConfigurationUpdateFailure_t *GNBDUConfigurationUpdateFailure) { AssertFatal(1==0,"Not implemented yet\n"); } -void CU_send_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, +int CU_send_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, F1AP_GNBDUConfigurationUpdateAcknowledge_t *GNBDUConfigurationUpdateAcknowledge) { AssertFatal(1==0,"Not implemented yet\n"); } @@ -464,7 +483,7 @@ void CU_send_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, */ //void CU_send_gNB_CU_CONFIGURATION_UPDATE(F1AP_GNBCUConfigurationUpdate_t *GNBCUConfigurationUpdate) { -void CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_idP) { +int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_idP) { F1AP_F1AP_PDU_t pdu; F1AP_GNBCUConfigurationUpdate_t *out; F1AP_GNBCUConfigurationUpdateIEs_t *ie; @@ -830,28 +849,35 @@ void CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod /* encode */ if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) { printf("Failed to encode F1 setup request\n"); - return; + return -1; } cu_f1ap_itti_send_sctp_data_req(instance, f1ap_du_data_from_du->assoc_id, buffer, len, 0); + return 0; } -void CU_handle_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance, - F1AP_GNBCUConfigurationUpdateFailure_t *GNBCUConfigurationUpdateFailure) { +int CU_handle_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } -void CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, - F1AP_GNBCUConfigurationUpdateAcknowledge_t *GNBCUConfigurationUpdateAcknowledge) { +int CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } -void CU_handle_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance, - F1AP_GNBDUResourceCoordinationRequest_t *GNBDUResourceCoordinationRequest) { +int CU_handle_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(0, "Not implemented yet\n"); } -void CU_send_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance, +int CU_send_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance, F1AP_GNBDUResourceCoordinationResponse_t *GNBDUResourceCoordinationResponse) { AssertFatal(0, "Not implemented yet\n"); } diff --git a/openair2/F1AP/f1ap_cu_interface_management.h b/openair2/F1AP/f1ap_cu_interface_management.h index 9902d1a58f232ecb53a06444d552b11a507bef00..acad13836dea4e8043791945cb853fa3551d30ec 100644 --- a/openair2/F1AP/f1ap_cu_interface_management.h +++ b/openair2/F1AP/f1ap_cu_interface_management.h @@ -36,59 +36,76 @@ /* * Reset */ -void CU_send_RESET(instance_t instance, F1AP_Reset_t *Reset); -void CU_handle_RESET_ACKKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge); -void CU_handle_RESET(instance_t instance, F1AP_Reset_t *Reset); -void CU_send_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge); +int CU_send_RESET(instance_t instance, F1AP_Reset_t *Reset); +int CU_handle_RESET_ACKKNOWLEDGE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); +int CU_handle_RESET(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); +int CU_send_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge); /* * Error Indication */ -void CU_handle_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication); -void CU_send_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication); +int CU_handle_ERROR_INDICATION(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); +int CU_send_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication); /* * F1 Setup */ -void CU_handle_F1_SETUP_REQUEST(instance_t instance, - uint32_t assoc_id, - uint32_t stream, - F1AP_F1AP_PDU_t *pdu); +int CU_handle_F1_SETUP_REQUEST(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); -void CU_send_F1_SETUP_RESPONSE(instance_t instance, f1ap_setup_resp_t *f1ap_setup_resp); +int CU_send_F1_SETUP_RESPONSE(instance_t instance, f1ap_setup_resp_t *f1ap_setup_resp); -void CU_send_F1_SETUP_FAILURE(instance_t instance); +int CU_send_F1_SETUP_FAILURE(instance_t instance); /* * gNB-DU Configuration Update */ -void CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, - F1AP_GNBDUConfigurationUpdate_t *GNBDUConfigurationUpdate); +int CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); -void CU_send_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, +int CU_send_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, F1AP_GNBDUConfigurationUpdateFailure_t *GNBDUConfigurationUpdateFailure); -void CU_send_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, +int CU_send_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, F1AP_GNBDUConfigurationUpdateAcknowledge_t *GNBDUConfigurationUpdateAcknowledge); /* * gNB-CU Configuration Update */ -void CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_idP); +int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_idP); -void CU_handle_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance, - F1AP_GNBCUConfigurationUpdateFailure_t *GNBCUConfigurationUpdateFailure); +int CU_handle_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); -void CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, - F1AP_GNBCUConfigurationUpdateAcknowledge_t *GNBCUConfigurationUpdateAcknowledge); +int CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); /* * gNB-DU Resource Coordination */ -void CU_handle_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance, - F1AP_GNBDUResourceCoordinationRequest_t *GNBDUResourceCoordinationRequest); +int CU_handle_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); -void CU_send_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance, +int CU_send_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance, F1AP_GNBDUResourceCoordinationResponse_t *GNBDUResourceCoordinationResponse); #endif /* F1AP_CU_INTERFACE_MANAGEMENT_H_ */ diff --git a/openair2/F1AP/f1ap_du_interface_management.c b/openair2/F1AP/f1ap_du_interface_management.c index 454032a8ff615450f348228950433b8eea2eecca..a5086c9aac1097b1cbd821b660766e7697bc8bb9 100644 --- a/openair2/F1AP/f1ap_du_interface_management.c +++ b/openair2/F1AP/f1ap_du_interface_management.c @@ -33,24 +33,31 @@ #include "f1ap_common.h" #include "f1ap_encoder.h" #include "f1ap_decoder.h" +#include "f1ap_itti_messaging.h" #include "f1ap_du_interface_management.h" extern f1ap_setup_req_t *f1ap_du_data; -void DU_handle_RESET(instance_t instance, F1AP_Reset_t *Reset) { +int DU_handle_RESET(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } -void DU_send_RESET_ACKKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge) { +int DU_send_RESET_ACKKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge) { AssertFatal(1==0,"Not implemented yet\n"); } -void DU_send_RESET(instance_t instance, F1AP_Reset_t *Reset) { +int DU_send_RESET(instance_t instance, F1AP_Reset_t *Reset) { AssertFatal(1==0,"Not implemented yet\n"); } -void DU_handle_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge) { +int DU_handle_RESET_ACKNOWLEDGE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } @@ -59,11 +66,14 @@ void DU_handle_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *R Error Indication */ -void DU_send_ERROR_INDICATION(instance_t instance, F1AP_F1AP_PDU_t *pdu_p) { +int DU_send_ERROR_INDICATION(instance_t instance, F1AP_F1AP_PDU_t *pdu_p) { AssertFatal(1==0,"Not implemented yet\n"); } -void DU_handle_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication) { +int DU_handle_ERROR_INDICATION(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } @@ -73,7 +83,7 @@ void DU_handle_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *Err */ // SETUP REQUEST -void DU_send_F1_SETUP_REQUEST(instance_t instance) { +int DU_send_F1_SETUP_REQUEST(instance_t instance) { module_id_t enb_mod_idP; module_id_t du_mod_idP; @@ -381,16 +391,18 @@ void DU_send_F1_SETUP_REQUEST(instance_t instance) { /* encode */ if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) { printf("Failed to encode F1 setup request\n"); + return -1; } du_f1ap_itti_send_sctp_data_req(instance, f1ap_du_data->assoc_id, buffer, len, 0); + + return 0; } int DU_handle_F1_SETUP_RESPONSE(instance_t instance, uint32_t assoc_id, uint32_t stream, - F1AP_F1AP_PDU_t *pdu) -{ + F1AP_F1AP_PDU_t *pdu) { printf("DU_handle_F1_SETUP_RESPONSE\n"); return 0; } @@ -399,8 +411,7 @@ int DU_handle_F1_SETUP_RESPONSE(instance_t instance, int DU_handle_F1_SETUP_FAILURE(instance_t instance, uint32_t assoc_id, uint32_t stream, - F1AP_F1AP_PDU_t *pdu) -{ + F1AP_F1AP_PDU_t *pdu) { LOG_E(DU_F1AP, "DU_handle_F1_SETUP_FAILURE\n"); return 0; } @@ -411,7 +422,7 @@ int DU_handle_F1_SETUP_FAILURE(instance_t instance, */ //void DU_send_gNB_DU_CONFIGURATION_UPDATE(F1AP_GNBDUConfigurationUpdate_t *GNBDUConfigurationUpdate) { -void DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, +int DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, instance_t du_mod_idP, f1ap_setup_req_t *f1ap_du_data) { F1AP_F1AP_PDU_t pdu; @@ -840,6 +851,7 @@ void DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) { printf("Failed to encode F1 setup request\n"); + return -1; } printf("\n"); @@ -849,44 +861,55 @@ void DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, /* decode */ if (f1ap_decode_pdu(&pdu, buffer, len) > 0) { printf("Failed to decode F1 setup request\n"); + return -1; } + + return 0; } -void DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, - F1AP_GNBDUConfigurationUpdateFailure_t GNBDUConfigurationUpdateFailure) { +int DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } -void DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, - F1AP_GNBDUConfigurationUpdateAcknowledge_t GNBDUConfigurationUpdateAcknowledge) { +int DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } -void DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, - F1AP_GNBCUConfigurationUpdate_t *GNBCUConfigurationUpdate) { +int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(1==0,"Not implemented yet\n"); } -void DU_send_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance, +int DU_send_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance, F1AP_GNBCUConfigurationUpdateFailure_t *GNBCUConfigurationUpdateFailure) { AssertFatal(1==0,"Not implemented yet\n"); } -void DU_send_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, +int DU_send_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, F1AP_GNBCUConfigurationUpdateAcknowledge_t *GNBCUConfigurationUpdateAcknowledge) { AssertFatal(1==0,"Not implemented yet\n"); } -void DU_send_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance, +int DU_send_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance, F1AP_GNBDUResourceCoordinationRequest_t *GNBDUResourceCoordinationRequest) { AssertFatal(0, "Not implemented yet\n"); } -void DU_handle_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance, - F1AP_GNBDUResourceCoordinationResponse_t *GNBDUResourceCoordinationResponse) { +int DU_handle_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu) { AssertFatal(0, "Not implemented yet\n"); } diff --git a/openair2/F1AP/f1ap_du_interface_management.h b/openair2/F1AP/f1ap_du_interface_management.h index 1c23ad987facf05e26d9bfff3ae78740f2868097..941b86a6d4228d7e61539c5de198178de363471e 100644 --- a/openair2/F1AP/f1ap_du_interface_management.h +++ b/openair2/F1AP/f1ap_du_interface_management.h @@ -36,22 +36,31 @@ /* * Reset */ -void DU_handle_RESET(instance_t instance, F1AP_Reset_t *Reset); -void DU_send_RESET_ACKKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge); -void DU_send_RESET(instance_t instance, F1AP_Reset_t *Reset); -void DU_handle_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge); +int DU_handle_RESET(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); +int DU_send_RESET_ACKKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge); +int DU_send_RESET(instance_t instance, F1AP_Reset_t *Reset); +int DU_handle_RESET_ACKNOWLEDGE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); /* * Error Indication */ -void DU_send_ERROR_INDICATION(instance_t instance, F1AP_F1AP_PDU_t *pdu_p); -void DU_handle_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication); +int DU_send_ERROR_INDICATION(instance_t instance, F1AP_F1AP_PDU_t *pdu_p); +int DU_handle_ERROR_INDICATION(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); /* * F1 Setup */ -void DU_send_F1_SETUP_REQUEST(instance_t instance); +int DU_send_F1_SETUP_REQUEST(instance_t instance); int DU_handle_F1_SETUP_RESPONSE(instance_t instance, uint32_t assoc_id, @@ -59,43 +68,51 @@ int DU_handle_F1_SETUP_RESPONSE(instance_t instance, F1AP_F1AP_PDU_t *pdu); int DU_handle_F1_SETUP_FAILURE(instance_t instance, - uint32_t assoc_id, - uint32_t stream, - F1AP_F1AP_PDU_t *pdu); + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); /* * gNB-DU Configuration Update */ -void DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, +int DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, instance_t du_mod_idP, f1ap_setup_req_t *f1ap_du_data); -void DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, - F1AP_GNBDUConfigurationUpdateFailure_t GNBDUConfigurationUpdateFailure); +int DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); -void DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, - F1AP_GNBDUConfigurationUpdateAcknowledge_t GNBDUConfigurationUpdateAcknowledge); +int DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); /* * gNB-CU Configuration Update */ -void DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, - F1AP_GNBCUConfigurationUpdate_t *GNBCUConfigurationUpdate); +int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); -void DU_send_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance, +int DU_send_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance, F1AP_GNBCUConfigurationUpdateFailure_t *GNBCUConfigurationUpdateFailure); -void DU_send_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, +int DU_send_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, F1AP_GNBCUConfigurationUpdateAcknowledge_t *GNBCUConfigurationUpdateAcknowledge); /* * gNB-DU Resource Coordination */ -void DU_send_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance, +int DU_send_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance, F1AP_GNBDUResourceCoordinationRequest_t *GNBDUResourceCoordinationRequest); -void DU_handle_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance, - F1AP_GNBDUResourceCoordinationResponse_t *GNBDUResourceCoordinationResponse); +int DU_handle_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance, + uint32_t assoc_id, + uint32_t stream, + F1AP_F1AP_PDU_t *pdu); #endif /* F1AP_DU_INTERFACE_MANAGEMENT_H_ */ diff --git a/openair2/F1AP/f1ap_handlers.c b/openair2/F1AP/f1ap_handlers.c index 068fdf584967080a5bdfaf9ea87fe753cf202901..c2d647e9b8cd27c1c09963bcf1637aa1e6020623 100644 --- a/openair2/F1AP/f1ap_handlers.c +++ b/openair2/F1AP/f1ap_handlers.c @@ -32,6 +32,7 @@ #include "f1ap_common.h" #include "f1ap_handlers.h" +#include "f1ap_decoder.h" #include "f1ap_cu_interface_management.h" #include "f1ap_du_interface_management.h" #include "f1ap_cu_rrc_message_transfer.h" @@ -119,4 +120,4 @@ int f1ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream, (instance, assoc_id, stream, &pdu); ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_F1AP_F1AP_PDU, &pdu); return ret; -} \ No newline at end of file +}