diff --git a/openair2/F1AP/f1ap_du_rrc_message_transfer.c b/openair2/F1AP/f1ap_du_rrc_message_transfer.c index 5fc8daef3f..c701efe36c 100644 --- a/openair2/F1AP/f1ap_du_rrc_message_transfer.c +++ b/openair2/F1AP/f1ap_du_rrc_message_transfer.c @@ -140,7 +140,7 @@ int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t instance, .rnti = f1ap_get_rnti_by_du_id(DUtype, instance, du_ue_f1ap_id), .srb_id = srb_id }; - dl_rrc_message(instance, &dl_rrc); + dl_rrc_message_transfer(&dl_rrc); return 0; } diff --git a/openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c b/openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c index 6959be3677..108c909c06 100644 --- a/openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c +++ b/openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c @@ -268,10 +268,10 @@ void ue_context_release_command(const f1ap_ue_context_release_cmd_t *cmd) mac->mac_rrc.ue_context_release_complete(&complete); } -int dl_rrc_message(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc) +void dl_rrc_message_transfer(const f1ap_dl_rrc_message_t *dl_rrc) { LOG_D(NR_MAC, "DL RRC Message Transfer with %d bytes for RNTI %04x SRB %d\n", dl_rrc->rrc_container_length, dl_rrc->rnti, dl_rrc->srb_id); + /* the DU ue id is the RNTI */ nr_rlc_srb_recv_sdu(dl_rrc->rnti, dl_rrc->srb_id, dl_rrc->rrc_container, dl_rrc->rrc_container_length); - return 0; } diff --git a/openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.h b/openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.h index 808277a7f4..859e128b4a 100644 --- a/openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.h +++ b/openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.h @@ -29,6 +29,6 @@ void ue_context_setup_request(const f1ap_ue_context_setup_t *req); void ue_context_modification_request(const f1ap_ue_context_modif_req_t *req); void ue_context_release_command(const f1ap_ue_context_release_cmd_t *cmd); -int dl_rrc_message(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc); +void dl_rrc_message_transfer(const f1ap_dl_rrc_message_t *dl_rrc); #endif /* MAC_RRC_DL_HANDLER_H */ diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c index 7a798d7b81..f7fa3f1f78 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c @@ -750,7 +750,7 @@ void deliver_pdu_srb_f1(void *deliver_pdu_data, ue_id_t ue_id, int srb_id, .rrc_container_length = size, .rnti = ue_id, .srb_id = srb_id}; - rrc->mac_rrc.dl_rrc_message_transfer(0, &dl_rrc); + rrc->mac_rrc.dl_rrc_message_transfer(&dl_rrc); } static void add_srb(int is_gnb, ue_id_t rntiMaybeUEid, struct NR_SRB_ToAddMod *s, int ciphering_algorithm, int integrity_algorithm, unsigned char *ciphering_key, unsigned char *integrity_key) diff --git a/openair2/RRC/NR/mac_rrc_dl.h b/openair2/RRC/NR/mac_rrc_dl.h index 2728174603..94920f6f64 100644 --- a/openair2/RRC/NR/mac_rrc_dl.h +++ b/openair2/RRC/NR/mac_rrc_dl.h @@ -29,7 +29,7 @@ typedef void (*ue_context_setup_request_func_t)(const f1ap_ue_context_setup_t *r typedef void (*ue_context_modification_request_func_t)(const f1ap_ue_context_modif_req_t *req); typedef void (*ue_context_release_command_func_t)(const f1ap_ue_context_release_cmd_t *cmd); -typedef void (*dl_rrc_message_transfer_func_t)(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc); +typedef void (*dl_rrc_message_transfer_func_t)(const f1ap_dl_rrc_message_t *dl_rrc); struct nr_mac_rrc_dl_if_s; void mac_rrc_dl_direct_init(struct nr_mac_rrc_dl_if_s *mac_rrc); diff --git a/openair2/RRC/NR/mac_rrc_dl_direct.c b/openair2/RRC/NR/mac_rrc_dl_direct.c index 2d436c19e3..eeec72e132 100644 --- a/openair2/RRC/NR/mac_rrc_dl_direct.c +++ b/openair2/RRC/NR/mac_rrc_dl_direct.c @@ -24,17 +24,10 @@ #include "mac_rrc_dl.h" #include "openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.h" -static void dl_rrc_message_transfer_direct(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc) -{ - /* TODO how to manage inter-thread communication? */ - - dl_rrc_message(module_id, dl_rrc); -} - void mac_rrc_dl_direct_init(nr_mac_rrc_dl_if_t *mac_rrc) { mac_rrc->ue_context_setup_request = ue_context_setup_request; mac_rrc->ue_context_modification_request = ue_context_modification_request; mac_rrc->ue_context_release_command = ue_context_release_command; - mac_rrc->dl_rrc_message_transfer = dl_rrc_message_transfer_direct; + mac_rrc->dl_rrc_message_transfer = dl_rrc_message_transfer; } diff --git a/openair2/RRC/NR/mac_rrc_dl_f1ap.c b/openair2/RRC/NR/mac_rrc_dl_f1ap.c index 21c8ff9500..0aa9dbac35 100644 --- a/openair2/RRC/NR/mac_rrc_dl_f1ap.c +++ b/openair2/RRC/NR/mac_rrc_dl_f1ap.c @@ -85,7 +85,7 @@ static void ue_context_release_command_f1ap(const f1ap_ue_context_release_cmd_t itti_send_msg_to_task (TASK_CU_F1, 0, message_p); } -static void dl_rrc_message_transfer_f1ap(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc) +static void dl_rrc_message_transfer_f1ap(const f1ap_dl_rrc_message_t *dl_rrc) { /* TODO call F1AP function directly? no real-time constraint here */ @@ -98,7 +98,7 @@ static void dl_rrc_message_transfer_f1ap(module_id_t module_id, const f1ap_dl_rr msg->rrc_container_length = dl_rrc->rrc_container_length; memcpy(msg->rrc_container, dl_rrc->rrc_container, dl_rrc->rrc_container_length); } - itti_send_msg_to_task (TASK_CU_F1, module_id, message_p); + itti_send_msg_to_task (TASK_CU_F1, 0, message_p); } void mac_rrc_dl_f1ap_init(nr_mac_rrc_dl_if_t *mac_rrc) diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index f731ed0fbe..47ae15042c 100644 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -476,7 +476,7 @@ static void rrc_gNB_generate_RRCSetup(instance_t instance, .rnti = ue_p->rnti, .srb_id = CCCH }; - rrc->mac_rrc.dl_rrc_message_transfer(instance, &dl_rrc); + rrc->mac_rrc.dl_rrc_message_transfer(&dl_rrc); } //----------------------------------------------------------------------------- @@ -532,7 +532,7 @@ static int rrc_gNB_generate_RRCSetup_for_RRCReestablishmentRequest(module_id_t m .rnti = ue_p->rnti, .srb_id = CCCH }; - rrc_instance_p->mac_rrc.dl_rrc_message_transfer(module_id, &dl_rrc); + rrc_instance_p->mac_rrc.dl_rrc_message_transfer(&dl_rrc); return xid; } @@ -565,7 +565,7 @@ static void rrc_gNB_generate_RRCReject(module_id_t module_id, rrc_gNB_ue_context .execute_duplication = 1, .RAT_frequency_priority_information.en_dc = 0 }; - rrc->mac_rrc.dl_rrc_message_transfer(module_id, &dl_rrc); + rrc->mac_rrc.dl_rrc_message_transfer(&dl_rrc); } //-----------------------------------------------------------------------------