From cd1aaab014ea5835b36bfd4e564c1634b633117f Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Tue, 13 May 2025 18:09:20 +0200 Subject: [PATCH] Remove only UEs belonging to DU that disconnected The previous condition was wrong: if a UE did not have the assoc_id of the DU that connected (i.e., it was connected to another DU then the one disconnecting), it was marked for deletion. Instead, skip those UEs. --- openair2/RRC/NR/rrc_gNB_du.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openair2/RRC/NR/rrc_gNB_du.c b/openair2/RRC/NR/rrc_gNB_du.c index a650a03604..ad1ae30e03 100644 --- a/openair2/RRC/NR/rrc_gNB_du.c +++ b/openair2/RRC/NR/rrc_gNB_du.c @@ -457,7 +457,9 @@ static int invalidate_du_connections(gNB_RRC_INST *rrc, sctp_assoc_t assoc_id) nr_rrc_finalize_ho(UE); } f1_ue_data_t ue_data = cu_get_f1_ue_data(ue_id); - if (ue_data.du_assoc_id == assoc_id && IS_SA_MODE(get_softmodem_params())) { + if (ue_data.du_assoc_id != assoc_id) + continue; /* this UE is on another DU */ + if (IS_SA_MODE(get_softmodem_params())) { /* this UE belongs to the DU that disconnected, set du_assoc_id to 0, * meaning DU is offline, then trigger release request */ ue_data.du_assoc_id = 0;