open5gs/src/sgwu
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
context.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
context.h [PFCP/GTP] SEID/TEID Randomness (#1303) 2023-04-16 12:30:36 +09:00
event.c Change Number of UEs usage [#533] 2020-08-25 23:05:01 -04:00
event.h SCP(Model D) is now the default setting. 2022-10-22 11:26:04 +09:00
gtp-path.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
gtp-path.h re-order packet buffer clear #568 2020-10-03 21:18:08 -04: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
pfcp-path.c [GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043) 2024-03-23 10:06:16 +09:00
pfcp-path.h [ALL] Add protection of message encoding (#991) 2021-05-16 12:22:10 +09:00
pfcp-sm.c [PFCP] Session removal while waiting PFCP reply (#3040) 2024-03-24 09:50:23 +09:00
sgwu-sm.c Continue to fix alpine stack overflow (#1911) 2022-11-27 00:11:34 +09:00
sgwu-sm.h Split SGW into SGW-C/SGW-U 2020-08-12 20:31:22 -04:00
sxa-build.c [PFCP] Support PFCP advertise address in F-SEID 2023-05-25 22:46:52 +09:00
sxa-build.h Split SGW into SGW-C/SGW-U 2020-08-12 20:31:22 -04:00
sxa-handler.c [GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043) 2024-03-23 10:06:16 +09:00
sxa-handler.h Split SGW into SGW-C/SGW-U 2020-08-12 20:31:22 -04:00
timer.c [SCP] Support of Indirect Communication 2022-07-16 13:27:18 +09:00
timer.h Split SGW into SGW-C/SGW-U 2020-08-12 20:31:22 -04:00