Commit 911e738f authored by Robert Schmidt's avatar Robert Schmidt

Improve interface of functions CU/DU interface management

parent 62a5d903
...@@ -33,23 +33,30 @@ ...@@ -33,23 +33,30 @@
#include "f1ap_common.h" #include "f1ap_common.h"
#include "f1ap_encoder.h" #include "f1ap_encoder.h"
#include "f1ap_decoder.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; 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"); 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"); 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"); 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"); AssertFatal(1==0,"Not implemented yet\n");
} }
...@@ -57,11 +64,14 @@ void CU_send_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *Res ...@@ -57,11 +64,14 @@ void CU_send_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *Res
/* /*
Error Indication 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"); 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"); AssertFatal(1==0,"Not implemented yet\n");
} }
...@@ -69,7 +79,7 @@ void CU_send_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *Error ...@@ -69,7 +79,7 @@ void CU_send_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *Error
/* /*
F1 Setup 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 assoc_id,
uint32_t stream, uint32_t stream,
F1AP_F1AP_PDU_t *pdu) F1AP_F1AP_PDU_t *pdu)
...@@ -216,10 +226,12 @@ void CU_handle_F1_SETUP_REQUEST(instance_t instance, ...@@ -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); itti_send_msg_to_task(TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
} else { } else {
CU_send_F1_SETUP_FAILURE(instance); 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) { f1ap_setup_resp_t *f1ap_setup_resp) {
module_id_t enb_mod_idP; module_id_t enb_mod_idP;
...@@ -341,6 +353,7 @@ void CU_send_F1_SETUP_RESPONSE(instance_t instance, ...@@ -341,6 +353,7 @@ void CU_send_F1_SETUP_RESPONSE(instance_t instance,
/* encode */ /* encode */
if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) { if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) {
printf("Failed to encode F1 setup request\n"); printf("Failed to encode F1 setup request\n");
return -1;
} }
// printf("\n"); // printf("\n");
...@@ -352,9 +365,10 @@ void CU_send_F1_SETUP_RESPONSE(instance_t instance, ...@@ -352,9 +365,10 @@ void CU_send_F1_SETUP_RESPONSE(instance_t instance,
//printf("F1 setup response present = %d\n", out->value.present); //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); //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"); printf("CU_send_F1_SETUP_FAILURE\n");
module_id_t enb_mod_idP; module_id_t enb_mod_idP;
...@@ -431,9 +445,12 @@ void CU_send_F1_SETUP_FAILURE(instance_t instance) { ...@@ -431,9 +445,12 @@ void CU_send_F1_SETUP_FAILURE(instance_t instance) {
/* encode */ /* encode */
if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) { if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) {
printf("Failed to encode F1 setup request\n"); 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); 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) { ...@@ -442,17 +459,19 @@ void CU_send_F1_SETUP_FAILURE(instance_t instance) {
gNB-DU Configuration Update gNB-DU Configuration Update
*/ */
void CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, int CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
F1AP_GNBDUConfigurationUpdate_t *GNBDUConfigurationUpdate) { uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu) {
AssertFatal(1==0,"Not implemented yet\n"); 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) { F1AP_GNBDUConfigurationUpdateFailure_t *GNBDUConfigurationUpdateFailure) {
AssertFatal(1==0,"Not implemented yet\n"); 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) { F1AP_GNBDUConfigurationUpdateAcknowledge_t *GNBDUConfigurationUpdateAcknowledge) {
AssertFatal(1==0,"Not implemented yet\n"); AssertFatal(1==0,"Not implemented yet\n");
} }
...@@ -464,7 +483,7 @@ void CU_send_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, ...@@ -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(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_F1AP_PDU_t pdu;
F1AP_GNBCUConfigurationUpdate_t *out; F1AP_GNBCUConfigurationUpdate_t *out;
F1AP_GNBCUConfigurationUpdateIEs_t *ie; F1AP_GNBCUConfigurationUpdateIEs_t *ie;
...@@ -830,28 +849,35 @@ void CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod ...@@ -830,28 +849,35 @@ void CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod
/* encode */ /* encode */
if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) { if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) {
printf("Failed to encode F1 setup request\n"); 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); 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, int CU_handle_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
F1AP_GNBCUConfigurationUpdateFailure_t *GNBCUConfigurationUpdateFailure) { uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu) {
AssertFatal(1==0,"Not implemented yet\n"); AssertFatal(1==0,"Not implemented yet\n");
} }
void CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, int CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
F1AP_GNBCUConfigurationUpdateAcknowledge_t *GNBCUConfigurationUpdateAcknowledge) { uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu) {
AssertFatal(1==0,"Not implemented yet\n"); AssertFatal(1==0,"Not implemented yet\n");
} }
void CU_handle_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance, int CU_handle_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance,
F1AP_GNBDUResourceCoordinationRequest_t *GNBDUResourceCoordinationRequest) { uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu) {
AssertFatal(0, "Not implemented yet\n"); 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) { F1AP_GNBDUResourceCoordinationResponse_t *GNBDUResourceCoordinationResponse) {
AssertFatal(0, "Not implemented yet\n"); AssertFatal(0, "Not implemented yet\n");
} }
...@@ -36,59 +36,76 @@ ...@@ -36,59 +36,76 @@
/* /*
* Reset * Reset
*/ */
void CU_send_RESET(instance_t instance, F1AP_Reset_t *Reset); int CU_send_RESET(instance_t instance, F1AP_Reset_t *Reset);
void CU_handle_RESET_ACKKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge); int CU_handle_RESET_ACKKNOWLEDGE(instance_t instance,
void CU_handle_RESET(instance_t instance, F1AP_Reset_t *Reset); uint32_t assoc_id,
void CU_send_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge); 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 * Error Indication
*/ */
void CU_handle_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication); int CU_handle_ERROR_INDICATION(instance_t instance,
void CU_send_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication); 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 * 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 assoc_id,
uint32_t stream, uint32_t stream,
F1AP_F1AP_PDU_t *pdu); 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 * gNB-DU Configuration Update
*/ */
void CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, int CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
F1AP_GNBDUConfigurationUpdate_t *GNBDUConfigurationUpdate); 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); 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); F1AP_GNBDUConfigurationUpdateAcknowledge_t *GNBDUConfigurationUpdateAcknowledge);
/* /*
* gNB-CU Configuration Update * 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, int CU_handle_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
F1AP_GNBCUConfigurationUpdateFailure_t *GNBCUConfigurationUpdateFailure); uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu);
void CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, int CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
F1AP_GNBCUConfigurationUpdateAcknowledge_t *GNBCUConfigurationUpdateAcknowledge); uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu);
/* /*
* gNB-DU Resource Coordination * gNB-DU Resource Coordination
*/ */
void CU_handle_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance, int CU_handle_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance,
F1AP_GNBDUResourceCoordinationRequest_t *GNBDUResourceCoordinationRequest); 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); F1AP_GNBDUResourceCoordinationResponse_t *GNBDUResourceCoordinationResponse);
#endif /* F1AP_CU_INTERFACE_MANAGEMENT_H_ */ #endif /* F1AP_CU_INTERFACE_MANAGEMENT_H_ */
...@@ -33,24 +33,31 @@ ...@@ -33,24 +33,31 @@
#include "f1ap_common.h" #include "f1ap_common.h"
#include "f1ap_encoder.h" #include "f1ap_encoder.h"
#include "f1ap_decoder.h" #include "f1ap_decoder.h"
#include "f1ap_itti_messaging.h"
#include "f1ap_du_interface_management.h" #include "f1ap_du_interface_management.h"
extern f1ap_setup_req_t *f1ap_du_data; 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"); 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"); 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"); 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"); AssertFatal(1==0,"Not implemented yet\n");
} }
...@@ -59,11 +66,14 @@ void DU_handle_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *R ...@@ -59,11 +66,14 @@ void DU_handle_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *R
Error Indication 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"); 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"); AssertFatal(1==0,"Not implemented yet\n");
} }
...@@ -73,7 +83,7 @@ void DU_handle_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *Err ...@@ -73,7 +83,7 @@ void DU_handle_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *Err
*/ */
// SETUP REQUEST // 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 enb_mod_idP;
module_id_t du_mod_idP; module_id_t du_mod_idP;
...@@ -381,16 +391,18 @@ void DU_send_F1_SETUP_REQUEST(instance_t instance) { ...@@ -381,16 +391,18 @@ void DU_send_F1_SETUP_REQUEST(instance_t instance) {
/* encode */ /* encode */
if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) { if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) {
printf("Failed to encode F1 setup request\n"); 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); 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, int DU_handle_F1_SETUP_RESPONSE(instance_t instance,
uint32_t assoc_id, uint32_t assoc_id,
uint32_t stream, uint32_t stream,
F1AP_F1AP_PDU_t *pdu) F1AP_F1AP_PDU_t *pdu) {
{
printf("DU_handle_F1_SETUP_RESPONSE\n"); printf("DU_handle_F1_SETUP_RESPONSE\n");
return 0; return 0;
} }
...@@ -399,8 +411,7 @@ int DU_handle_F1_SETUP_RESPONSE(instance_t instance, ...@@ -399,8 +411,7 @@ int DU_handle_F1_SETUP_RESPONSE(instance_t instance,
int DU_handle_F1_SETUP_FAILURE(instance_t instance, int DU_handle_F1_SETUP_FAILURE(instance_t instance,
uint32_t assoc_id, uint32_t assoc_id,
uint32_t stream, uint32_t stream,
F1AP_F1AP_PDU_t *pdu) F1AP_F1AP_PDU_t *pdu) {
{
LOG_E(DU_F1AP, "DU_handle_F1_SETUP_FAILURE\n"); LOG_E(DU_F1AP, "DU_handle_F1_SETUP_FAILURE\n");
return 0; return 0;
} }
...@@ -411,7 +422,7 @@ int DU_handle_F1_SETUP_FAILURE(instance_t instance, ...@@ -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(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, instance_t du_mod_idP,
f1ap_setup_req_t *f1ap_du_data) { f1ap_setup_req_t *f1ap_du_data) {
F1AP_F1AP_PDU_t pdu; F1AP_F1AP_PDU_t pdu;
...@@ -840,6 +851,7 @@ void DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, ...@@ -840,6 +851,7 @@ void DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) { if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) {
printf("Failed to encode F1 setup request\n"); printf("Failed to encode F1 setup request\n");
return -1;
} }
printf("\n"); printf("\n");
...@@ -849,44 +861,55 @@ void DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, ...@@ -849,44 +861,55 @@ void DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
/* decode */ /* decode */
if (f1ap_decode_pdu(&pdu, buffer, len) > 0) { if (f1ap_decode_pdu(&pdu, buffer, len) > 0) {
printf("Failed to decode F1 setup request\n"); printf("Failed to decode F1 setup request\n");
return -1;
} }
return 0;
} }
void DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, int DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance,
F1AP_GNBDUConfigurationUpdateFailure_t GNBDUConfigurationUpdateFailure) { uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu) {
AssertFatal(1==0,"Not implemented yet\n"); AssertFatal(1==0,"Not implemented yet\n");
} }
void DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, int DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
F1AP_GNBDUConfigurationUpdateAcknowledge_t GNBDUConfigurationUpdateAcknowledge) { uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu) {
AssertFatal(1==0,"Not implemented yet\n"); AssertFatal(1==0,"Not implemented yet\n");
} }
void DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance,
F1AP_GNBCUConfigurationUpdate_t *GNBCUConfigurationUpdate) { uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu) {
AssertFatal(1==0,"Not implemented yet\n"); 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) { F1AP_GNBCUConfigurationUpdateFailure_t *GNBCUConfigurationUpdateFailure) {
AssertFatal(1==0,"Not implemented yet\n"); 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) { F1AP_GNBCUConfigurationUpdateAcknowledge_t *GNBCUConfigurationUpdateAcknowledge) {
AssertFatal(1==0,"Not implemented yet\n"); 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) { F1AP_GNBDUResourceCoordinationRequest_t *GNBDUResourceCoordinationRequest) {
AssertFatal(0, "Not implemented yet\n"); AssertFatal(0, "Not implemented yet\n");
} }
void DU_handle_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance, int DU_handle_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance,
F1AP_GNBDUResourceCoordinationResponse_t *GNBDUResourceCoordinationResponse) { uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu) {
AssertFatal(0, "Not implemented yet\n"); AssertFatal(0, "Not implemented yet\n");
} }
...@@ -36,22 +36,31 @@ ...@@ -36,22 +36,31 @@
/* /*
* Reset * Reset
*/ */
void DU_handle_RESET(instance_t instance, F1AP_Reset_t *Reset); int DU_handle_RESET(instance_t instance,
void DU_send_RESET_ACKKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge); uint32_t assoc_id,
void DU_send_RESET(instance_t instance, F1AP_Reset_t *Reset); uint32_t stream,
void DU_handle_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge); 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 * 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);
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);
/* /*
* F1 Setup * 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, int DU_handle_F1_SETUP_RESPONSE(instance_t instance,
uint32_t assoc_id, uint32_t assoc_id,
...@@ -59,43 +68,51 @@ int DU_handle_F1_SETUP_RESPONSE(instance_t instance, ...@@ -59,43 +68,51 @@ int DU_handle_F1_SETUP_RESPONSE(instance_t instance,
F1AP_F1AP_PDU_t *pdu); F1AP_F1AP_PDU_t *pdu);
int DU_handle_F1_SETUP_FAILURE(instance_t instance, int DU_handle_F1_SETUP_FAILURE(instance_t instance,
uint32_t assoc_id, uint32_t assoc_id,
uint32_t stream, uint32_t stream,
F1AP_F1AP_PDU_t *pdu); F1AP_F1AP_PDU_t *pdu);
/* /*
* gNB-DU Configuration Update * 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, instance_t du_mod_idP,
f1ap_setup_req_t *f1ap_du_data); f1ap_setup_req_t *f1ap_du_data);
void DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, int DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance,
F1AP_GNBDUConfigurationUpdateFailure_t GNBDUConfigurationUpdateFailure); uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu);
void DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance, int DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
F1AP_GNBDUConfigurationUpdateAcknowledge_t GNBDUConfigurationUpdateAcknowledge); uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu);
/* /*
* gNB-CU Configuration Update * gNB-CU Configuration Update
*/ */
void DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance,
F1AP_GNBCUConfigurationUpdate_t *GNBCUConfigurationUpdate); 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); 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); F1AP_GNBCUConfigurationUpdateAcknowledge_t *GNBCUConfigurationUpdateAcknowledge);
/* /*
* gNB-DU Resource Coordination * 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); F1AP_GNBDUResourceCoordinationRequest_t *GNBDUResourceCoordinationRequest);
void DU_handle_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance, int DU_handle_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance,
F1AP_GNBDUResourceCoordinationResponse_t *GNBDUResourceCoordinationResponse); uint32_t assoc_id,
uint32_t stream,
F1AP_F1AP_PDU_t *pdu);
#endif /* F1AP_DU_INTERFACE_MANAGEMENT_H_ */ #endif /* F1AP_DU_INTERFACE_MANAGEMENT_H_ */
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include "f1ap_common.h" #include "f1ap_common.h"
#include "f1ap_handlers.h" #include "f1ap_handlers.h"
#include "f1ap_decoder.h"
#include "f1ap_cu_interface_management.h" #include "f1ap_cu_interface_management.h"
#include "f1ap_du_interface_management.h" #include "f1ap_du_interface_management.h"
#include "f1ap_cu_rrc_message_transfer.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, ...@@ -119,4 +120,4 @@ int f1ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
(instance, assoc_id, stream, &pdu); (instance, assoc_id, stream, &pdu);
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_F1AP_F1AP_PDU, &pdu); ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_F1AP_F1AP_PDU, &pdu);
return ret; return ret;
} }
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment