mirror of
https://github.com/open5gs/open5gs.git
synced 2025-11-02 13:03:31 +00:00
Need to increase NF ref_count
1. UE registered and PDU established. 2. PCF does not receive Heartbeat. - PCF De-registered state. - Since PDU is established, SMF should not remove NF instance 3. PCF re-registered. - HERE, WE NEED TO INCREASE NF REFERENCE COUNT. Otherwise, NF instance will be removed if PCF is de-registered state 4. UE sends PDU release request. 5. Because SMF knows PCF NF instance, SMF can send PCF delete
This commit is contained in:
@@ -182,6 +182,8 @@ bool amf_nnrf_handle_nf_status_notify(
|
||||
ogs_info("[%s] (NRF-notify) NF registered", nf_instance->id);
|
||||
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, amf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
@@ -341,6 +343,8 @@ void amf_nnrf_handle_nf_discover_search_result(
|
||||
|
||||
ogs_info("[%s] (NF-discover) NF registered", nf_instance->id);
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, amf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
|
||||
@@ -179,6 +179,8 @@ bool ausf_nnrf_handle_nf_status_notify(
|
||||
ogs_info("[%s] (NRF-notify) NF registered", nf_instance->id);
|
||||
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, ausf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
@@ -282,6 +284,8 @@ void ausf_nnrf_handle_nf_discover(
|
||||
|
||||
ogs_info("[%s] (NF-discover) NF registered", nf_instance->id);
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, ausf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
|
||||
@@ -180,6 +180,8 @@ bool bsf_nnrf_handle_nf_status_notify(
|
||||
ogs_info("[%s] (NRF-notify) NF registered", nf_instance->id);
|
||||
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, bsf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
@@ -283,6 +285,8 @@ void bsf_nnrf_handle_nf_discover(
|
||||
|
||||
ogs_info("[%s] (NF-discover) NF registered", nf_instance->id);
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, bsf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
|
||||
@@ -179,6 +179,8 @@ bool nssf_nnrf_handle_nf_status_notify(
|
||||
ogs_info("[%s] (NRF-notify) NF registered", nf_instance->id);
|
||||
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, nssf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
|
||||
@@ -180,6 +180,8 @@ bool pcf_nnrf_handle_nf_status_notify(
|
||||
ogs_info("[%s] (NRF-notify) NF registered", nf_instance->id);
|
||||
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, pcf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
@@ -285,6 +287,8 @@ void pcf_nnrf_handle_nf_discover(
|
||||
|
||||
ogs_info("[%s] (NF-discover) NF registered", nf_instance->id);
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, pcf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
|
||||
@@ -180,6 +180,8 @@ bool smf_nnrf_handle_nf_status_notify(
|
||||
ogs_info("[%s] (NRF-notify) NF registered", nf_instance->id);
|
||||
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, smf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
@@ -283,6 +285,8 @@ void smf_nnrf_handle_nf_discover(
|
||||
|
||||
ogs_info("[%s] (NF-discover) NF registered", nf_instance->id);
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, smf_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
|
||||
@@ -180,6 +180,8 @@ bool udm_nnrf_handle_nf_status_notify(
|
||||
ogs_info("[%s] (NRF-notify) NF registered", nf_instance->id);
|
||||
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, udm_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
@@ -283,6 +285,8 @@ void udm_nnrf_handle_nf_discover(
|
||||
|
||||
ogs_info("[%s] (NF-discover) NF registered", nf_instance->id);
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, udm_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
|
||||
@@ -180,6 +180,8 @@ bool udr_nnrf_handle_nf_status_notify(
|
||||
ogs_info("[%s] (NRF-notify) NF registered", nf_instance->id);
|
||||
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, udr_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
|
||||
@@ -184,6 +184,8 @@ bool af_nnrf_handle_nf_status_notify(
|
||||
ogs_info("[%s] (NRF-notify) NF registered", nf_instance->id);
|
||||
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, af_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
@@ -287,6 +289,8 @@ void af_nnrf_handle_nf_discover(
|
||||
|
||||
ogs_info("[%s] (NF-discover) NF registered", nf_instance->id);
|
||||
} else {
|
||||
nf_instance->reference_count++;
|
||||
|
||||
OGS_FSM_TRAN(&nf_instance->sm, af_nf_state_registered);
|
||||
ogs_fsm_dispatch(&nf_instance->sm, NULL);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user