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:
@@ -68,9 +68,17 @@ void ngap_handle_ng_setup_message(ngap_gNB_amf_data_t *amf_desc_p, int sctp_shut
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} 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 */
|
/* 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,
|
DevCheck(amf_desc_p->ngap_gNB_instance->ngap_amf_pending_nb > 0,
|
||||||
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) {
|
if (amf_desc_p->ngap_gNB_instance->ngap_amf_pending_nb > 0) {
|
||||||
/* Decrease pending messages number */
|
/* Decrease pending messages number */
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ void ngap_release_ues_for_amf(ngap_gNB_amf_data_t *amf_desc_p)
|
|||||||
0,
|
0,
|
||||||
TASK_NGAP,
|
TASK_NGAP,
|
||||||
amf_desc_p->ngap_gNB_instance->instance,
|
amf_desc_p->ngap_gNB_instance->instance,
|
||||||
TIMER_ONE_SHOT,
|
TIMER_PERIODIC,
|
||||||
amf_desc_p,
|
amf_desc_p,
|
||||||
&tid);
|
&tid);
|
||||||
if (rc == 0) {
|
if (rc == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user