fix: issue 911 - replace timer oneshot to periodic.

Updated SCTP reconnect timer from TIMER_ONE_SHOT to
TIMER_PERIODIC so gNB continuously retries AMF lookup every
30 seconds after disconnect.

Timer is now removed only when ngap_amf_associated_nb > 0,
AMF association is actually back.
This commit is contained in:
Aswanth KC
2026-04-08 19:50:50 +00:00
parent 5fcd456a46
commit d33466d632
2 changed files with 11 additions and 3 deletions

View File

@@ -68,9 +68,17 @@ void ngap_handle_ng_setup_message(ngap_gNB_amf_data_t *amf_desc_p, int sctp_shut
}
}
} else {
if (amf_desc_p->t_reconnect != -1 && amf_desc_p->ngap_gNB_instance->ngap_amf_associated_nb > 0) {
timer_remove(amf_desc_p->t_reconnect);
amf_desc_p->t_reconnect = -1;
NGAP_INFO("reconnected to AMF\n");
}
/* Check that at least one setup message is pending */
DevCheck(amf_desc_p->ngap_gNB_instance->ngap_amf_pending_nb > 0, amf_desc_p->ngap_gNB_instance->instance,
amf_desc_p->ngap_gNB_instance->ngap_amf_pending_nb, 0);
DevCheck(amf_desc_p->ngap_gNB_instance->ngap_amf_pending_nb > 0,
amf_desc_p->ngap_gNB_instance->instance,
amf_desc_p->ngap_gNB_instance->ngap_amf_pending_nb,
0);
if (amf_desc_p->ngap_gNB_instance->ngap_amf_pending_nb > 0) {
/* Decrease pending messages number */

View File

@@ -94,7 +94,7 @@ void ngap_release_ues_for_amf(ngap_gNB_amf_data_t *amf_desc_p)
0,
TASK_NGAP,
amf_desc_p->ngap_gNB_instance->instance,
TIMER_ONE_SHOT,
TIMER_PERIODIC,
amf_desc_p,
&tid);
if (rc == 0) {