open5gs/src/smf
Sukchan Lee cf4ad1f248 [PFCP] Session removal while waiting PFCP reply (#3040)
'node_timeout' and some other functions can remove a smf_sess_t
while that session is still waiting for a PFCP reply
and has an active PFCP xact.

In this case, xact->data points to the deleted session
and xact's timeout function (sess_5gc_timeout for example)
eventually refers to this already freed session.

This fix prevents duplicate deletes from occurring by checking to see
if the session context has already been deleted when the timeout occurs.

Additionally, it moves session deletions out of timer callbacks into
state machine by reselect_upf().

Due to the way 'ogs_timer_mgr_expire' calls timer callbacks,
one must not stop or expire timers from within a timer callback.

And now one must not remove sessions from within a timer callback.
2024-03-24 09:50:23 +09:00
..
app.c A minor typo fix (#2707) 2023-10-28 22:11:58 +09:00
binding.c [GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043) 2024-03-23 10:06:16 +09:00
binding.h X2 handover with SGW change (#1367, #1459) 2022-05-12 22:52:36 +09:00
context.c [MME/AMF] Fixed crash following Handover Request (#3014) 2024-02-29 23:02:38 +09:00
context.h [SMF] Setup Gy session when creating UE session over S2b interface 2024-02-28 11:42:33 +00:00
event.c Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
event.h SCP(Model D) is now the default setting. 2022-10-22 11:26:04 +09:00
fd-path.c relocation of user-location-info on top level 2023-05-25 22:42:54 +09:00
fd-path.h relocation of user-location-info on top level 2023-05-25 22:42:54 +09:00
gn-build.c [SMF,MME] Gn: Set Maximum SDU Size QoS field to 1500 2024-01-27 07:11:44 +09:00
gn-build.h Introduce Gn interface (GTPv1C) Support to PGW (#1351) 2022-02-18 22:23:45 +09:00
gn-handler.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
gn-handler.h [SMF] Integrate session tear down cycle into sess->sm (#1500) 2022-04-20 21:42:18 +09:00
gsm-build.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
gsm-build.h [SMF] Fixed PTI when PDU Session Reject 2022-11-07 16:51:51 +09:00
gsm-handler.c [SMF] Added Bi-Directional Flow (#2909) 2024-02-17 20:43:15 +01:00
gsm-handler.h VoNR added but not tested! 2021-11-14 21:07:56 +09:00
gsm-sm.c [GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043) 2024-03-23 10:06:16 +09:00
gtp-path.c [GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043) 2024-03-23 10:06:16 +09:00
gtp-path.h Reorder smf_gtp_node objects free (#1593) 2022-06-10 21:08:15 +09:00
gx-handler.c [SMF] Added Bi-Directional Flow (#2909) 2024-02-17 20:43:15 +01:00
gx-handler.h Document Gx interface spec references 2024-01-25 07:05:33 +09:00
gx-path.c [SMF] Added Bi-Directional Flow (#2909) 2024-02-17 20:43:15 +01:00
gy-handler.c [SMF] Gy: Check Multiple-Services-Credit-Control Result-Code 2024-03-21 07:13:44 +09:00
gy-handler.h [SMF] Gy: Tear down session when CCR-Update is rejected by OCS 2024-03-20 07:03:18 +09:00
gy-path.c [SMF] Gy: Remove 3GPP-RAT-Type AVP from Multiple-Services-Credit-Control AVP 2024-03-21 07:14:06 +09:00
init.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
meson.build [NRF] Fixed library load error 2022-08-26 10:57:11 +09:00
metrics.c [SBI] Fixed Invalid S-NSSAI format (#2337) 2023-05-28 21:53:52 +09:00
metrics.h [SMF] Expose metrics for nr. of PDU session creations 2023-05-25 21:38:15 +09:00
n4-build.c [SMF] Build URR at bearer modification 2024-01-20 08:20:24 +09:00
n4-build.h [PFCP] Implement the Restoration Indication 2023-04-16 12:30:36 +09:00
n4-handler.c [GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043) 2024-03-23 10:06:16 +09:00
n4-handler.h [ALL] Fix differences in function parameter names between definition and declaration 2022-07-01 21:38:47 +09:00
namf-build.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
namf-build.h VoNR added but not tested! 2021-11-14 21:07:56 +09:00
namf-handler.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
namf-handler.h VoNR added but not tested! 2021-11-14 21:07:56 +09:00
nas-path.c Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
nas-path.h Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI 2020-11-26 21:44:37 -05:00
ngap-build.c [Release-17] Upgrade S1AP/NGAP to v17.3.9 2023-02-21 21:48:06 +09:00
ngap-build.h [SMF] Optimiza Session Modification Message 2022-05-15 23:35:41 +09:00
ngap-handler.c UPF HA - release/establish new PDU session in CM_IDLE (#2471) 2023-07-25 22:38:38 +09:00
ngap-handler.h [5GC] Service Request Race Condition(#1226) 2021-11-28 20:54:51 +09:00
ngap-path.c Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
ngap-path.h Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI 2020-11-26 21:44:37 -05:00
nnrf-handler.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
nnrf-handler.h Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
npcf-build.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
npcf-build.h [5GC] Added BSF(Binding Support Function) 2021-05-29 15:56:12 +09:00
npcf-handler.c [SMF] Added Bi-Directional Flow (#2909) 2024-02-17 20:43:15 +01:00
npcf-handler.h [SMF] On sess. est. fail, don't reply to AMF twice on the same stream 2023-07-15 23:29:24 +09:00
nsmf-handler.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
nsmf-handler.h Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI 2020-11-26 21:44:37 -05:00
nudm-build.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
nudm-build.h [SMF] Added SMF registrations (#2514, #2524) 2023-08-18 20:21:08 +09:00
nudm-handler.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
nudm-handler.h Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI 2020-11-26 21:44:37 -05:00
pfcp-path.c [PFCP] Session removal while waiting PFCP reply (#3040) 2024-03-24 09:50:23 +09:00
pfcp-path.h [PFCP] Implement the Restoration Indication 2023-04-16 12:30:36 +09:00
pfcp-sm.c [PFCP] Session removal while waiting PFCP reply (#3040) 2024-03-24 09:50:23 +09:00
s5c-build.c [SMF] Handle APCO IE in S2b GTPv2C CreateSessionRequest/Response 2024-02-28 11:40:31 +00:00
s5c-build.h X2 handover with SGW change (#1367, #1459) 2022-05-12 22:52:36 +09:00
s5c-handler.c [GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043) 2024-03-23 10:06:16 +09:00
s5c-handler.h [ALL] Fix differences in function parameter names between definition and declaration 2022-07-01 21:38:47 +09:00
s6b-path.c [SMF] Setup Gy session when creating UE session over S2b interface 2024-02-28 11:42:33 +00:00
sbi-path.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
sbi-path.h UPF HA - release/establish new PDU session in CM_IDLE (#2471) 2023-07-25 22:38:38 +09:00
smf-sm.c [GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043) 2024-03-23 10:06:16 +09:00
smf-sm.h [SMF] Added SMF registrations (#2514, #2524) 2023-08-18 20:21:08 +09:00
timer.c [PFCP] Session removal while waiting PFCP reply (#3040) 2024-03-24 09:50:23 +09:00
timer.h [PFCP] Session removal while waiting PFCP reply (#3040) 2024-03-24 09:50:23 +09:00