From 9b7d3351a14b15d6b5e451cad16826a646b58fdc Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 14 Aug 2024 16:41:39 +0200 Subject: [PATCH] DU: if requested to remove non-existing UE, just ack The failure mode observed here was that the CU sent a release command for a UE that the DU does not know. Given, that the outcome of the release command (no UE) is equal to the current state (no UE), from the DU point of view, we can safely ack the command. --- openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 426a72f391..9b5bd938ec 100644 --- a/openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c +++ b/openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c @@ -669,8 +669,12 @@ void ue_context_release_command(const f1ap_ue_context_release_cmd_t *cmd) NR_SCHED_LOCK(&mac->sched_lock); NR_UE_info_t *UE = find_nr_UE(&mac->UE_info, cmd->gNB_DU_ue_id); if (UE == NULL) { - LOG_E(MAC, "ERROR: unknown UE with RNTI %04x, ignoring UE Context Release Command\n", cmd->gNB_DU_ue_id); NR_SCHED_UNLOCK(&mac->sched_lock); + f1ap_ue_context_release_complete_t complete = { + .gNB_CU_ue_id = cmd->gNB_CU_ue_id, + .gNB_DU_ue_id = cmd->gNB_DU_ue_id, + }; + mac->mac_rrc.ue_context_release_complete(&complete); return; }