aboutsummaryrefslogtreecommitdiffstats
path: root/hnbgw
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2022-09-27 14:33:40 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2022-09-27 14:33:40 +0200
commitacf4f225bdac62fccc8e9e7b07822de2ef668167 (patch)
tree55f5821da7e8c5fa87e3cde3b033d51640472ad6 /hnbgw
parent2d29274f3227ada3c4cafc43cb2d7a0f6834829c (diff)
hnbgw: Introduce test TC_hnb_register_duplicate_reuse_sctp_assoc
Diffstat (limited to 'hnbgw')
-rw-r--r--hnbgw/HNBGW_Tests.ttcn15
1 files changed, 15 insertions, 0 deletions
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
index b1868c2c..d77a18fc 100644
--- a/hnbgw/HNBGW_Tests.ttcn
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -681,6 +681,8 @@ testcase TC_hnb_register() runs on test_CT {
f_shutdown_helper();
}
+/* Try to register the same HNB from 2 different concurrent connections. Second
+ * one should be rejected. */
testcase TC_hnb_register_duplicate() runs on test_CT {
g_num_hnbs := 2;
f_init();
@@ -690,6 +692,18 @@ testcase TC_hnb_register_duplicate() runs on test_CT {
f_shutdown_helper();
}
+/* Try to register the same HNB in the same connection already established, aka
+ * duplicate HNB Register Request. It should be accepted and new configuration
+ * applied. TS 25.469 8.2.4 */
+testcase TC_hnb_register_duplicate_reuse_sctp_assoc() runs on test_CT {
+ g_num_hnbs := 1;
+ f_init();
+ f_hnbap_register(0);
+ f_hnbap_register(0);
+ f_verify_talloc_count(HNBGWVTY, {"struct hnb_context"}, expect_count := 1);
+ f_shutdown_helper();
+}
+
/* Drop HNBAP conn (HNBAP DEREG) and reconnect it (HNBAP REG) using same SCTP association.
* Related: OS#5676, SYS#6113 */
testcase TC_hnb_reregister_reuse_sctp_assoc() runs on test_CT {
@@ -1431,6 +1445,7 @@ testcase TC_ps_rab_assignment_without_pfcp() runs on test_CT {
control {
execute(TC_hnb_register());
execute(TC_hnb_register_duplicate());
+ execute(TC_hnb_register_duplicate_reuse_sctp_assoc());
execute(TC_ranap_cs_initial_ue());
execute(TC_ranap_ps_initial_ue());
execute(TC_ranap_cs_initial_ue_empty_cr());