From eca89e20b06de7d9fe6d0033780ff80fc126692e Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 31 May 2023 07:25:35 +0200 Subject: [PATCH] Remove F1 module UE handling The UE had a list of known UEs. With the introduction of a separate module for F1 UE ID handling that is also used in monolithic (to separate CU UE ID from DU UE ID), this functionality is not needed, and deleted in this commit. --- openair2/F1AP/f1ap_common.c | 117 ------------------ openair2/F1AP/f1ap_common.h | 24 ---- openair2/F1AP/f1ap_cu_rrc_message_transfer.c | 11 -- openair2/F1AP/f1ap_du_rrc_message_transfer.c | 11 -- openair2/F1AP/f1ap_du_ue_context_management.c | 1 - 5 files changed, 164 deletions(-) diff --git a/openair2/F1AP/f1ap_common.c b/openair2/F1AP/f1ap_common.c index f417a1c337..f396d570df 100644 --- a/openair2/F1AP/f1ap_common.c +++ b/openair2/F1AP/f1ap_common.c @@ -66,123 +66,6 @@ void createF1inst(F1_t isCU, instance_t instanceP, f1ap_setup_req_t *req) { } } -int f1ap_add_ue(F1_t isCu, - instance_t instanceP, - rnti_t rntiP) { - f1ap_cudu_inst_t *f1_inst=getCxt(isCu, instanceP); - - for (int i = 0; i < MAX_MOBILES_PER_GNB; i++) { - if (f1_inst->f1ap_ue[i].rnti == rntiP) { - f1_inst->f1ap_ue[i].f1ap_uid = i; - LOG_I(F1AP, "Updating the index of UE with RNTI %x and du_ue_f1ap_id %ld\n", f1_inst->f1ap_ue[i].rnti, f1_inst->f1ap_ue[i].du_ue_f1ap_id); - return i; - } - } - - // We didn't find the rnti - for (int i = 0; i < MAX_MOBILES_PER_GNB; i++) { - if (f1_inst->f1ap_ue[i].rnti == 0 ) { - f1_inst->f1ap_ue[i].rnti = rntiP; - f1_inst->f1ap_ue[i].f1ap_uid = i; - f1_inst->f1ap_ue[i].du_ue_f1ap_id = rntiP; - f1_inst->f1ap_ue[i].cu_ue_f1ap_id = rntiP; - f1_inst->num_ues++; - LOG_I(F1AP, "Adding a new UE with RNTI %x and cu/du ue_f1ap_id %ld\n", f1_inst->f1ap_ue[i].rnti, f1_inst->f1ap_ue[i].du_ue_f1ap_id); - return i; - } - } - - return -1; -} - - -int f1ap_remove_ue(F1_t isCu, instance_t instanceP, - rnti_t rntiP) { - f1ap_cudu_inst_t *f1_inst=getCxt(isCu, instanceP); - - for (int i = 0; i < MAX_MOBILES_PER_GNB; i++) { - if (f1_inst->f1ap_ue[i].rnti == rntiP) { - f1_inst->f1ap_ue[i].rnti = 0; - break; - } - } - - f1_inst->num_ues--; - return 0; -} - -int f1ap_get_du_ue_f1ap_id(F1_t isCu, instance_t instanceP, - rnti_t rntiP) { - f1ap_cudu_inst_t *f1_inst=getCxt(isCu, instanceP); - - for (int i = 0; i < MAX_MOBILES_PER_GNB; i++) { - if (f1_inst->f1ap_ue[i].rnti == rntiP) { - return f1_inst->f1ap_ue[i].du_ue_f1ap_id; - } - } - - return -1; -} - -int f1ap_get_cu_ue_f1ap_id(F1_t isCu, instance_t instanceP, - rnti_t rntiP) { - f1ap_cudu_inst_t *f1_inst=getCxt(isCu, instanceP); - - for (int i = 0; i < MAX_MOBILES_PER_GNB; i++) { - if (f1_inst->f1ap_ue[i].rnti == rntiP) { - return f1_inst->f1ap_ue[i].cu_ue_f1ap_id; - } - } - - return -1; -} - -int f1ap_get_rnti_by_du_id(F1_t isCu, instance_t instanceP, - instance_t du_ue_f1ap_id ) { - f1ap_cudu_inst_t *f1_inst=getCxt(isCu, instanceP); - - for (int i = 0; i < MAX_MOBILES_PER_GNB; i++) { - if (f1_inst->f1ap_ue[i].du_ue_f1ap_id == du_ue_f1ap_id) { - return f1_inst->f1ap_ue[i].rnti; - } - } - - return -1; -} - -int f1ap_get_rnti_by_cu_id(F1_t isCu, instance_t instanceP, - instance_t cu_ue_f1ap_id ) { - f1ap_cudu_inst_t *f1_inst=getCxt(isCu, instanceP); - - for (int i = 0; i < MAX_MOBILES_PER_GNB; i++) { - if (f1_inst->f1ap_ue[i].cu_ue_f1ap_id == cu_ue_f1ap_id) { - return f1_inst->f1ap_ue[i].rnti; - } - } - - return -1; -} - -int f1ap_du_add_cu_ue_id(instance_t instanceP, - instance_t du_ue_f1ap_id, - instance_t cu_ue_f1ap_id) { - f1ap_cudu_inst_t *f1_inst=getCxt(DUtype, instanceP); - instance_t f1ap_uid=-1; - - for (int i = 0; i < MAX_MOBILES_PER_GNB; i++) { - if (f1_inst->f1ap_ue[i].du_ue_f1ap_id == du_ue_f1ap_id) { - f1ap_uid=i; - break; - } - } - - if (f1ap_uid < 0 || f1ap_uid >= MAX_MOBILES_PER_GNB) - return -1; - - f1_inst->f1ap_ue[f1ap_uid].cu_ue_f1ap_id = cu_ue_f1ap_id; - LOG_D(F1AP, "Adding cu_ue_f1ap_id %ld for UE with RNTI %x\n", cu_ue_f1ap_id, f1_inst->f1ap_ue[f1ap_uid].rnti); - return 0; -} int f1ap_assoc_id(F1_t isCu, instance_t instanceP) { f1ap_setup_req_t *f1_inst=f1ap_req(isCu, instanceP); diff --git a/openair2/F1AP/f1ap_common.h b/openair2/F1AP/f1ap_common.h index ff492820d7..a346d9682a 100644 --- a/openair2/F1AP/f1ap_common.h +++ b/openair2/F1AP/f1ap_common.h @@ -427,30 +427,6 @@ uint8_t F1AP_get_next_transaction_identifier(instance_t mod_idP, instance_t cu_m f1ap_cudu_inst_t *getCxt(F1_t isCU, instance_t instanceP); void createF1inst(F1_t isCU, instance_t instanceP, f1ap_setup_req_t *req); -int f1ap_add_ue(F1_t isCu, - instance_t instanceP, - rnti_t rntiP); - -int f1ap_remove_ue(F1_t isCu, instance_t instanceP, - rnti_t rntiP); - -int f1ap_get_du_ue_f1ap_id (F1_t isCu, instance_t instanceP, - rnti_t rntiP); - -int f1ap_get_cu_ue_f1ap_id (F1_t isCu, instance_t instanceP, - rnti_t rntiP); - - -int f1ap_get_rnti_by_du_id(F1_t isCu, instance_t instanceP, - instance_t du_ue_f1ap_id ); - - -int f1ap_get_rnti_by_cu_id(F1_t isCu, instance_t instanceP, - instance_t cu_ue_f1ap_id ); - -int f1ap_du_add_cu_ue_id(instance_t instanceP, - instance_t du_ue_f1ap_id, - instance_t cu_ue_f1ap_id); int f1ap_assoc_id(F1_t isCu, instance_t instanceP); diff --git a/openair2/F1AP/f1ap_cu_rrc_message_transfer.c b/openair2/F1AP/f1ap_cu_rrc_message_transfer.c index 061b693d3e..12e0d96c14 100644 --- a/openair2/F1AP/f1ap_cu_rrc_message_transfer.c +++ b/openair2/F1AP/f1ap_cu_rrc_message_transfer.c @@ -88,13 +88,6 @@ int CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t instance, F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_InitialULRRCMessageTransferIEs_t, du2cu, container, F1AP_ProtocolIE_ID_id_DUtoCURRCContainer, false); - int f1ap_uid = f1ap_add_ue(CUtype, instance, rnti); - - if (f1ap_uid < 0 ) { - LOG_E(F1AP, "Failed to add UE \n"); - return -1; - } - // create an ITTI message and copy SDU AssertFatal(f1ap_req(true, instance)->cell_type == CELL_MACRO_GNB, "illegal cell type %d\n", f1ap_req(true, instance)->cell_type); message_p = itti_alloc_new_message(TASK_CU_F1, 0, F1AP_INITIAL_UL_RRC_MESSAGE); @@ -246,14 +239,10 @@ int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t instance, F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_ULRRCMessageTransferIEs_t, ie, container, F1AP_ProtocolIE_ID_id_gNB_CU_UE_F1AP_ID, true); cu_ue_f1ap_id = ie->value.choice.GNB_CU_UE_F1AP_ID; - LOG_D(F1AP, "cu_ue_f1ap_id %lu associated with RNTI %x\n", - cu_ue_f1ap_id, f1ap_get_rnti_by_cu_id(CUtype, instance, cu_ue_f1ap_id)); /* GNB_DU_UE_F1AP_ID */ F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_ULRRCMessageTransferIEs_t, ie, container, F1AP_ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID, true); du_ue_f1ap_id = ie->value.choice.GNB_DU_UE_F1AP_ID; - LOG_D(F1AP, "du_ue_f1ap_id %lu associated with RNTI %x\n", - du_ue_f1ap_id, f1ap_get_rnti_by_cu_id(CUtype, instance, du_ue_f1ap_id)); /* the RLC-PDCP does not transport the DU UE ID (yet), so we drop it here. * For the moment, let's hope this won't become relevant; to sleep in peace, * let's put an assert to check that it is the expected DU UE ID. */ diff --git a/openair2/F1AP/f1ap_du_rrc_message_transfer.c b/openair2/F1AP/f1ap_du_rrc_message_transfer.c index 91e2c29f4b..dfe33ef1ab 100644 --- a/openair2/F1AP/f1ap_du_rrc_message_transfer.c +++ b/openair2/F1AP/f1ap_du_rrc_message_transfer.c @@ -74,11 +74,6 @@ int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t instance, F1AP_ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID, true); uint32_t du_ue_f1ap_id = ie->value.choice.GNB_DU_UE_F1AP_ID; - if (f1ap_du_add_cu_ue_id(instance,du_ue_f1ap_id, cu_ue_f1ap_id) < 0 ) { - LOG_E(F1AP, "Failed to find the F1AP UID \n"); - //return -1; - } - /* optional */ /* oldgNB_DU_UE_F1AP_ID */ if (0) { @@ -146,12 +141,6 @@ int DU_send_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t instanceP, const f1ap_ini F1AP_InitialULRRCMessageTransfer_t *out; uint8_t *buffer=NULL; uint32_t len=0; - int f1ap_uid = f1ap_add_ue(DUtype, instanceP, msg->crnti); - - if (f1ap_uid < 0 ) { - LOG_E(F1AP, "Failed to add UE \n"); - return -1; - } /* Create */ /* 0. Message Type */ diff --git a/openair2/F1AP/f1ap_du_ue_context_management.c b/openair2/F1AP/f1ap_du_ue_context_management.c index 63a40fcb33..2430b2f870 100644 --- a/openair2/F1AP/f1ap_du_ue_context_management.c +++ b/openair2/F1AP/f1ap_du_ue_context_management.c @@ -776,7 +776,6 @@ int DU_send_UE_CONTEXT_RELEASE_COMPLETE(instance_t instance, f1ap_ue_context_rel buffer, len, getCxt(false, instance)->default_sctp_stream_id); - f1ap_remove_ue(DUtype, instance, complete->gNB_DU_ue_id); return 0; }