open5gs/lib/gtp
Sukchan Lee 8484a5af60 [GTP] Incorrect destination TEID=0 (#3043)
If eg. PCRF or AAA diameter link is not yet ready (eg. PCRF crashed),
and a client sends a CreateSessionRequest announcing its ow F-TEID,
then open5gs-smfd answers with Create Session Response Cause=
"Remote peer not responding", but it is not setting the received F-TEID
in the header of the response, instead it sends with TEI=0.

As a result, the peer cannot match the CreateSessionResponse,
and needs to rely on its own timeout timer to figure out
that specific request failed.

To address this issue, I modified the GTP Response message to check
the Sender F-TEID and send it accordingly, setting the destination TEID
to the value of the Sender F-TEID.

I've made this modification only for SMF, but MME and SGW-C have not done so;
if you need to, you can work from the examples in SMF.

Similarly, the same situation can happen with PFCP. If anyone needs to do this
in the future, I think you can work on it this way.
2024-04-06 16:39:32 +09:00
..
v1 [SMF,MME] Gn: Set Delivery of erroneous SDUs QoS field to No 2024-01-27 07:11:44 +09:00
v2 Revert "[GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043)" 2024-03-26 08:04:26 +09:00
context.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
context.h Initial metrics support based on Prometheus (#1571) 2022-06-08 05:51:02 +09:00
meson.build [NRF] Fixed library load error 2022-08-26 10:57:11 +09:00
ogs-gtp.h [NRF] Fixed library load error 2022-08-26 10:57:11 +09:00
path.c Revert "[GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043)" 2024-03-26 08:04:26 +09:00
path.h [SMF] Crash SMF when no GTP-C config (#3094) 2024-03-31 20:25:25 +09:00
util.c [GTP] Incorrect destination TEID=0 (#3043) 2024-04-06 16:39:32 +09:00
util.h [GTP] Incorrect destination TEID=0 (#3043) 2024-04-06 16:39:32 +09:00
xact.c Revert "[GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043)" 2024-03-26 08:04:26 +09:00
xact.h [MME] Gn: Introduce initial support for 2G->4G cell reselection 2024-01-17 23:05:19 +09:00