From a12e3a6e56840b8d62aa3f37f0dc7bdf9aa345a2 Mon Sep 17 00:00:00 2001 From: Guido Casati Date: Wed, 12 Mar 2025 11:25:03 +0100 Subject: [PATCH 1/3] Extend F1 Handover test with 1 more handover * the handover is followed by a sleep and an ping test This MR keeps a simple ping after the second handover since there are still issues due to scheduling starting too early, that is as soon as the UE context is added. This leads to retransmissions that could eventually lead to a test failure. The issue will be fixed in a future MR. --- ci-scripts/xml_files/container_5g_f1_rfsim.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci-scripts/xml_files/container_5g_f1_rfsim.xml b/ci-scripts/xml_files/container_5g_f1_rfsim.xml index f45265db43..d28a378232 100644 --- a/ci-scripts/xml_files/container_5g_f1_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_f1_rfsim.xml @@ -49,6 +49,9 @@ 040025 000031 030021 + 040025 + 000031 + 020022 100021 222222 From 9b3255f3cd4528124dbd9b12a85c899223c2409d Mon Sep 17 00:00:00 2001 From: Guido Casati Date: Tue, 18 Mar 2025 18:18:34 +0100 Subject: [PATCH 2/3] Add check on UE connected to DU to verify successful handover in F1 CI test * add CI function to fetch DU connected to input UE ID * add to CI test --- .../xml_files/container_5g_f1_rfsim.xml | 18 ++++++++++++++ common/utils/telnetsrv/telnetsrv_ci.c | 24 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/ci-scripts/xml_files/container_5g_f1_rfsim.xml b/ci-scripts/xml_files/container_5g_f1_rfsim.xml index d28a378232..8f3ac28c7a 100644 --- a/ci-scripts/xml_files/container_5g_f1_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_f1_rfsim.xml @@ -49,9 +49,11 @@ 040025 000031 030021 + 040027 040025 000031 020022 + 040026 100021 222222 @@ -225,6 +227,22 @@ yes + + Custom_Command + UE (1) connected to DU-PCI 0? + cacofonix + echo ci fetch_du_by_ue_id 1 | nc 192.168.71.150 9090 | grep "3584" + yes + + + + Custom_Command + UE (1) connected to DU-PCI 1? + cacofonix + echo ci fetch_du_by_ue_id 1 | nc 192.168.71.150 9090 | grep "3585" + yes + + Undeploy_Object true diff --git a/common/utils/telnetsrv/telnetsrv_ci.c b/common/utils/telnetsrv/telnetsrv_ci.c index ba3062178f..bea421a995 100644 --- a/common/utils/telnetsrv/telnetsrv_ci.c +++ b/common/utils/telnetsrv/telnetsrv_ci.c @@ -141,6 +141,29 @@ int trigger_reestab(char *buf, int debug, telnet_printfunc_t prnt) return 0; } +extern nr_rrc_du_container_t *get_du_for_ue(gNB_RRC_INST *rrc, uint32_t ue_id); + +/** @brief Get connected DU by the UE ID */ +int fetch_du_by_ue_id(char *buf, int debug, telnet_printfunc_t prnt) +{ + if (!RC.nrrrc) + ERROR_MSG_RET("no RRC present, cannot list counts\n"); + + ue_id_t ue_id = 1; + if (buf) { + ue_id = strtol(buf, NULL, 10); + } + nr_rrc_du_container_t *du = get_du_for_ue(RC.nrrrc[0], ue_id); + + if (du) { + prnt("gNB_DU_id %d is connected to ue_id %ld\n", du->setup_req->gNB_DU_id, ue_id); + return 0; + } else { + ERROR_MSG_RET("No DU connected\n"); + return -1; + } +} + extern void nr_HO_F1_trigger_telnet(gNB_RRC_INST *rrc, uint32_t rrc_ue_id); /** * @brief Trigger F1 handover for UE @@ -199,6 +222,7 @@ static telnetshell_cmddef_t cicmds[] = { {"force_ue_release", "[rnti(hex,opt)]", force_ue_release}, {"force_ul_failure", "[rnti(hex,opt)]", force_ul_failure}, {"trigger_f1_ho", "[rrc_ue_id(int,opt)]", rrc_gNB_trigger_f1_ho}, + {"fetch_du_by_ue_id", "[rrc_ue_id(int,opt)]", fetch_du_by_ue_id}, {"", "", NULL}, }; From 67fd15b054c17c1ca571d459b967c5d54f4df790 Mon Sep 17 00:00:00 2001 From: Guido Casati Date: Tue, 1 Apr 2025 22:57:25 +0200 Subject: [PATCH 3/3] Add sleep after deploy of target DU in F1 handover CI test Wait before triggering a handover. First, we send it very quickly after deployment, which can make the DU crash (should be fixed in !3332). Second, a UE would typically first measure neighbors. While we don't do this with OAI UE, mimic this somewhat by giving more time. See also !3332. --- ci-scripts/xml_files/container_5g_f1_rfsim.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/ci-scripts/xml_files/container_5g_f1_rfsim.xml b/ci-scripts/xml_files/container_5g_f1_rfsim.xml index 8f3ac28c7a..b27b0b5701 100644 --- a/ci-scripts/xml_files/container_5g_f1_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_f1_rfsim.xml @@ -46,6 +46,7 @@ 020022 040024 000024 + 000030 040025 000031 030021