We truncated the diff of some files because they were too big.
If you want to see the full diff for every file, click here.
Changes of Revision 641
open5gs_2.7.0.114.1dc43.202403222026.dsc
Deleted
x
1
2
-Format: 3.0 (native)
3
-Source: open5gs
4
-Binary: open5gs-common, open5gs-mme, open5gs-sgwc, open5gs-smf, open5gs-amf, open5gs-sgwu, open5gs-upf, open5gs-hss, open5gs-pcrf, open5gs-nrf, open5gs-scp, open5gs-sepp, open5gs-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg
5
-Architecture: any
6
-Version: 2.7.0.114.1dc43.202403222026
7
-Maintainer: Harald Welte <laforge@gnumonks.org>
8
-Uploaders: Sukchan Lee <acetcom@gmail.com>
9
-Homepage: https://open5gs.org
10
-Standards-Version: 4.3.0
11
-Vcs-Browser: https://github.com/open5gs/open5gs
12
-Vcs-Git: git://github.com/open5gs/open5gs
13
-Build-Depends: debhelper (>= 11), git, pkg-config, meson (>= 0.43.0), cmake, flex, bison, libgnutls28-dev, libgcrypt-dev, libssl-dev, libidn11-dev, libmongoc-dev, libbson-dev, libsctp-dev, libyaml-dev, libmicrohttpd-dev, libcurl4-gnutls-dev, libnghttp2-dev, libtins-dev, libtalloc-dev
14
-Package-List:
15
- open5gs deb net optional arch=any
16
- open5gs-amf deb net optional arch=any
17
- open5gs-ausf deb net optional arch=any
18
- open5gs-bsf deb net optional arch=any
19
- open5gs-common deb net optional arch=any
20
- open5gs-dbg deb net optional arch=any
21
- open5gs-hss deb net optional arch=any
22
- open5gs-mme deb net optional arch=any
23
- open5gs-nrf deb net optional arch=any
24
- open5gs-nssf deb net optional arch=any
25
- open5gs-pcf deb net optional arch=any
26
- open5gs-pcrf deb net optional arch=any
27
- open5gs-scp deb net optional arch=any
28
- open5gs-sepp deb net optional arch=any
29
- open5gs-sgwc deb net optional arch=any
30
- open5gs-sgwu deb net optional arch=any
31
- open5gs-smf deb net optional arch=any
32
- open5gs-udm deb net optional arch=any
33
- open5gs-udr deb net optional arch=any
34
- open5gs-upf deb net optional arch=any
35
-Checksums-Sha1:
36
- eb3a1920ec2621aad0d8ec9d90572a591c9e5469 14485372 open5gs_2.7.0.114.1dc43.202403222026.tar.xz
37
-Checksums-Sha256:
38
- a255370177ab4cfb738166f889c296382de204125cbb501ce77ee851659d5351 14485372 open5gs_2.7.0.114.1dc43.202403222026.tar.xz
39
-Files:
40
- 236931bf8a1bdba5eae5bf0750159054 14485372 open5gs_2.7.0.114.1dc43.202403222026.tar.xz
41
open5gs_2.7.0.115.a667.202403232026.dsc
Added
41
1
2
+Format: 3.0 (native)
3
+Source: open5gs
4
+Binary: open5gs-common, open5gs-mme, open5gs-sgwc, open5gs-smf, open5gs-amf, open5gs-sgwu, open5gs-upf, open5gs-hss, open5gs-pcrf, open5gs-nrf, open5gs-scp, open5gs-sepp, open5gs-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg
5
+Architecture: any
6
+Version: 2.7.0.115.a667.202403232026
7
+Maintainer: Harald Welte <laforge@gnumonks.org>
8
+Uploaders: Sukchan Lee <acetcom@gmail.com>
9
+Homepage: https://open5gs.org
10
+Standards-Version: 4.3.0
11
+Vcs-Browser: https://github.com/open5gs/open5gs
12
+Vcs-Git: git://github.com/open5gs/open5gs
13
+Build-Depends: debhelper (>= 11), git, pkg-config, meson (>= 0.43.0), cmake, flex, bison, libgnutls28-dev, libgcrypt-dev, libssl-dev, libidn11-dev, libmongoc-dev, libbson-dev, libsctp-dev, libyaml-dev, libmicrohttpd-dev, libcurl4-gnutls-dev, libnghttp2-dev, libtins-dev, libtalloc-dev
14
+Package-List:
15
+ open5gs deb net optional arch=any
16
+ open5gs-amf deb net optional arch=any
17
+ open5gs-ausf deb net optional arch=any
18
+ open5gs-bsf deb net optional arch=any
19
+ open5gs-common deb net optional arch=any
20
+ open5gs-dbg deb net optional arch=any
21
+ open5gs-hss deb net optional arch=any
22
+ open5gs-mme deb net optional arch=any
23
+ open5gs-nrf deb net optional arch=any
24
+ open5gs-nssf deb net optional arch=any
25
+ open5gs-pcf deb net optional arch=any
26
+ open5gs-pcrf deb net optional arch=any
27
+ open5gs-scp deb net optional arch=any
28
+ open5gs-sepp deb net optional arch=any
29
+ open5gs-sgwc deb net optional arch=any
30
+ open5gs-sgwu deb net optional arch=any
31
+ open5gs-smf deb net optional arch=any
32
+ open5gs-udm deb net optional arch=any
33
+ open5gs-udr deb net optional arch=any
34
+ open5gs-upf deb net optional arch=any
35
+Checksums-Sha1:
36
+ 867212c8f8f23e1f9662d2ab44a9033d35e71d01 14485012 open5gs_2.7.0.115.a667.202403232026.tar.xz
37
+Checksums-Sha256:
38
+ f8d079bb16b2381a1f2f2a6bd17a5fb0ad3c2ff775a7ac76a1969677ae2026bd 14485012 open5gs_2.7.0.115.a667.202403232026.tar.xz
39
+Files:
40
+ 9c66f34d17f5374571dd701501702105 14485012 open5gs_2.7.0.115.a667.202403232026.tar.xz
41
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/.tarball-version -> open5gs_2.7.0.115.a667.202403232026.tar.xz/.tarball-version
Changed
4
1
2
-2.7.0.114-1dc43.202403222026
3
+2.7.0.115-a667.202403232026
4
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/debian/changelog -> open5gs_2.7.0.115.a667.202403232026.tar.xz/debian/changelog
Changed
12
1
2
-open5gs (2.7.0.114.1dc43.202403222026) unstable; urgency=medium
3
+open5gs (2.7.0.115.a667.202403232026) unstable; urgency=medium
4
5
* Automatically generated changelog entry for building the Osmocom nightly feed
6
7
- -- Osmocom OBS scripts <info@osmocom.org> Fri, 22 Mar 2024 20:27:41 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org> Sat, 23 Mar 2024 20:27:39 +0000
9
10
open5gs (2.7.0) unstable; urgency=medium
11
12
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/gtp/path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/gtp/path.c
Changed
25
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
return OGS_OK;
11
}
12
-
13
-void ogs_gtp_send_error_message(
14
- ogs_gtp_xact_t *xact, uint32_t teid, uint8_t type, uint8_t cause_value)
15
-{
16
- switch (xact->gtp_version) {
17
- case 1:
18
- ogs_gtp1_send_error_message(xact, teid, type, cause_value);
19
- break;
20
- case 2:
21
- ogs_gtp2_send_error_message(xact, teid, type, cause_value);
22
- break;
23
- }
24
-}
25
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/gtp/path.h -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/gtp/path.h
Changed
18
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
int ogs_gtp_send(ogs_gtp_node_t *gnode, ogs_pkbuf_t *pkbuf);
10
int ogs_gtp_sendto(ogs_gtp_node_t *gnode, ogs_pkbuf_t *pkbuf);
11
12
-void ogs_gtp_send_error_message(
13
- ogs_gtp_xact_t *xact, uint32_t teid, uint8_t type, uint8_t cause_value);
14
-
15
#ifdef __cplusplus
16
}
17
#endif
18
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/gtp/v2/message.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/gtp/v2/message.c
Changed
17
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
/*******************************************************************************
10
* This file had been created by gtp-tlv.py script v0.1.0
11
* Please do not modify this file but regenerate it via script.
12
- * Created on: 2023-08-26 16:35:12.648272 by acetcom
13
+ * Created on: 2024-03-23 07:21:22.444548 by acetcom
14
* from 29274-h70.docx
15
******************************************************************************/
16
17
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/gtp/v2/message.h -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/gtp/v2/message.h
Changed
27
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
/*******************************************************************************
10
* This file had been created by gtp-tlv.py script v0.1.0
11
* Please do not modify this file but regenerate it via script.
12
- * Created on: 2023-08-26 16:35:12.642445 by acetcom
13
+ * Created on: 2024-03-23 07:21:22.438775 by acetcom
14
* from 29274-h70.docx
15
******************************************************************************/
16
17
18
struct {
19
#define OGS_GTP2_VERSION_0 0
20
#define OGS_GTP2_VERSION_1 1
21
+
22
+#define OGS_GTP2_TEID_NO_PRESENCE 0
23
+#define OGS_GTP2_TEID_PRESENCE 1
24
ED4(uint8_t version:3;,
25
uint8_t piggybacked:1;,
26
uint8_t teid_presence:1;,
27
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/gtp/v2/path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/gtp/v2/path.c
Changed
45
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
return pkb_resp;
10
}
11
12
-void ogs_gtp2_send_error_message(
13
- ogs_gtp_xact_t *xact, uint32_t teid, uint8_t type, uint8_t cause_value)
14
+void ogs_gtp2_send_error_message(ogs_gtp_xact_t *xact,
15
+ int teid_presence, uint32_t teid, uint8_t type, uint8_t cause_value)
16
{
17
int rv;
18
ogs_gtp2_message_t errmsg;
19
20
ogs_pkbuf_t *pkbuf = NULL;
21
22
memset(&errmsg, 0, sizeof(ogs_gtp2_message_t));
23
+ errmsg.h.teid_presence = teid_presence;
24
errmsg.h.teid = teid;
25
errmsg.h.type = type;
26
27
28
29
memset(&h, 0, sizeof(ogs_gtp2_header_t));
30
h.type = OGS_GTP2_ECHO_REQUEST_TYPE;
31
- h.teid = 0;
32
+ h.teid_presence = OGS_GTP2_TEID_NO_PRESENCE;
33
34
pkbuf = ogs_gtp2_build_echo_request(h.type, recovery, features);
35
if (!pkbuf) {
36
37
38
memset(&h, 0, sizeof(ogs_gtp2_header_t));
39
h.type = OGS_GTP2_ECHO_RESPONSE_TYPE;
40
- h.teid = 0;
41
+ h.teid_presence = OGS_GTP2_TEID_NO_PRESENCE;
42
43
pkbuf = ogs_gtp2_build_echo_response(h.type, recovery, features);
44
if (!pkbuf) {
45
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/gtp/v2/path.h -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/gtp/v2/path.h
Changed
19
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_pkbuf_t *pkbuf);
10
11
ogs_pkbuf_t *ogs_gtp2_handle_echo_req(ogs_pkbuf_t *pkb);
12
-void ogs_gtp2_send_error_message(
13
- ogs_gtp_xact_t *xact, uint32_t teid, uint8_t type, uint8_t cause_value);
14
+void ogs_gtp2_send_error_message(ogs_gtp_xact_t *xact,
15
+ int teid_presence, uint32_t teid, uint8_t type, uint8_t cause_value);
16
17
void ogs_gtp2_send_echo_request(
18
ogs_gtp_node_t *gnode, uint8_t recovery, uint8_t features);
19
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/gtp/v2/support/gtp-tlv.py -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/gtp/v2/support/gtp-tlv.py
Changed
26
1
2
-# Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
3
+# Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
4
5
# This file is part of Open5GS.
6
7
8
def output_header_to_file(f):
9
now = datetime.datetime.now()
10
f.write("""/*
11
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
12
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
13
*
14
* This file is part of Open5GS.
15
*
16
17
struct {
18
#define OGS_GTP2_VERSION_0 0
19
#define OGS_GTP2_VERSION_1 1
20
+
21
+#define OGS_GTP2_TEID_NO_PRESENCE 0
22
+#define OGS_GTP2_TEID_PRESENCE 1
23
ED4(uint8_t version:3;,
24
uint8_t piggybacked:1;,
25
uint8_t teid_presence:1;,
26
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/gtp/xact.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/gtp/xact.c
Changed
34
1
2
/*
3
* Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
* Copyright (C) 2022 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
5
+ * Copyright (C) 2023-2024 by Sukchan Lee <acetcom@gmail.com>
6
*
7
* This file is part of Open5GS.
8
*
9
10
return OGS_ERROR;
11
}
12
13
- if (hdesc->type > OGS_GTP2_VERSION_NOT_SUPPORTED_INDICATION_TYPE) {
14
+ if (hdesc->teid_presence) {
15
gtp_hlen = OGS_GTPV2C_HEADER_LEN;
16
} else {
17
gtp_hlen = OGS_GTPV2C_HEADER_LEN - OGS_GTP2_TEID_LEN;
18
19
h->version = 2;
20
h->type = hdesc->type;
21
22
- if (hdesc->type > OGS_GTP2_VERSION_NOT_SUPPORTED_INDICATION_TYPE) {
23
- h->teid_presence = 1;
24
+ if (hdesc->teid_presence) {
25
+ h->teid_presence = OGS_GTP2_TEID_PRESENCE;
26
h->teid = htobe32(hdesc->teid);
27
h->sqn = OGS_GTP2_XID_TO_SQN(xact->xid);
28
} else {
29
- h->teid_presence = 0;
30
+ h->teid_presence = OGS_GTP2_TEID_NO_PRESENCE;
31
h->sqn_only = OGS_GTP2_XID_TO_SQN(xact->xid);
32
}
33
h->length = htobe16(pkbuf->len - 4);
34
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/pfcp/message.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/pfcp/message.c
Changed
17
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
/*******************************************************************************
10
* This file had been created by pfcp-tlv.py script v0.1.0
11
* Please do not modify this file but regenerate it via script.
12
- * Created on: 2024-01-19 23:36:01.346970 by acetcom
13
+ * Created on: 2024-03-23 07:20:44.691773 by acetcom
14
* from 29244-h71-modified.docx
15
******************************************************************************/
16
17
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/pfcp/message.h -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/pfcp/message.h
Changed
26
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
/*******************************************************************************
10
* This file had been created by pfcp-tlv.py script v0.1.0
11
* Please do not modify this file but regenerate it via script.
12
- * Created on: 2024-01-19 23:36:01.327925 by acetcom
13
+ * Created on: 2024-03-23 07:20:44.672650 by acetcom
14
* from 29244-h71-modified.docx
15
******************************************************************************/
16
17
18
typedef struct ogs_pfcp_header_s {
19
union {
20
struct {
21
+#define OGS_PFCP_SEID_NO_PRESENCE 0
22
+#define OGS_PFCP_SEID_PRESENCE 1
23
ED4(uint8_t version:3;,
24
uint8_t spare1:3;,
25
uint8_t mp:1;,
26
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/pfcp/path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/pfcp/path.c
Changed
79
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_pfcp_header_t));
11
h.type = OGS_PFCP_HEARTBEAT_REQUEST_TYPE;
12
- h.seid = 0;
13
+ h.seid_presence = OGS_PFCP_SEID_NO_PRESENCE;
14
15
xact = ogs_pfcp_xact_local_create(node, cb, node);
16
if (!xact) {
17
18
19
memset(&h, 0, sizeof(ogs_pfcp_header_t));
20
h.type = OGS_PFCP_HEARTBEAT_RESPONSE_TYPE;
21
- h.seid = 0;
22
+ h.seid_presence = OGS_PFCP_SEID_NO_PRESENCE;
23
24
pkbuf = ogs_pfcp_build_heartbeat_response(h.type);
25
if (!pkbuf) {
26
27
28
memset(&h, 0, sizeof(ogs_pfcp_header_t));
29
h.type = OGS_PFCP_ASSOCIATION_SETUP_REQUEST_TYPE;
30
- h.seid = 0;
31
+ h.seid_presence = OGS_PFCP_SEID_NO_PRESENCE;
32
33
xact = ogs_pfcp_xact_local_create(node, cb, node);
34
if (!xact) {
35
36
37
memset(&h, 0, sizeof(ogs_pfcp_header_t));
38
h.type = OGS_PFCP_ASSOCIATION_SETUP_RESPONSE_TYPE;
39
- h.seid = 0;
40
+ h.seid_presence = OGS_PFCP_SEID_NO_PRESENCE;
41
42
pkbuf = ogs_pfcp_cp_build_association_setup_response(h.type, cause);
43
if (!pkbuf) {
44
45
46
memset(&h, 0, sizeof(ogs_pfcp_header_t));
47
h.type = OGS_PFCP_ASSOCIATION_SETUP_REQUEST_TYPE;
48
- h.seid = 0;
49
+ h.seid_presence = OGS_PFCP_SEID_NO_PRESENCE;
50
51
xact = ogs_pfcp_xact_local_create(node, cb, node);
52
if (!xact) {
53
54
55
memset(&h, 0, sizeof(ogs_pfcp_header_t));
56
h.type = OGS_PFCP_ASSOCIATION_SETUP_RESPONSE_TYPE;
57
- h.seid = 0;
58
+ h.seid_presence = OGS_PFCP_SEID_NO_PRESENCE;
59
60
pkbuf = ogs_pfcp_up_build_association_setup_response(h.type, cause);
61
if (!pkbuf) {
62
63
}
64
65
void ogs_pfcp_send_error_message(
66
- ogs_pfcp_xact_t *xact, uint64_t seid, uint8_t type,
67
+ ogs_pfcp_xact_t *xact, int seid_presence, uint64_t seid, uint8_t type,
68
uint8_t cause_value, uint16_t offending_ie_value)
69
{
70
int rv;
71
72
ogs_assert(xact);
73
74
memset(&errmsg, 0, sizeof(ogs_pfcp_message_t));
75
+ errmsg.h.seid_presence = seid_presence;
76
errmsg.h.seid = seid;
77
errmsg.h.type = type;
78
79
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/pfcp/path.h -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/pfcp/path.h
Changed
17
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
void ogs_pfcp_send_buffered_packet(ogs_pfcp_pdr_t *pdr);
10
11
void ogs_pfcp_send_error_message(
12
- ogs_pfcp_xact_t *xact, uint64_t seid, uint8_t type,
13
+ ogs_pfcp_xact_t *xact, int seid_presence, uint64_t seid, uint8_t type,
14
uint8_t cause_value, uint16_t offending_ie_value);
15
16
#ifdef __cplusplus
17
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/pfcp/support/pfcp-tlv.py -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/pfcp/support/pfcp-tlv.py
Changed
25
1
2
-# Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
3
+# Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
4
5
# This file is part of Open5GS.
6
7
8
def output_header_to_file(f):
9
now = datetime.datetime.now()
10
f.write("""/*
11
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
12
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
13
*
14
* This file is part of Open5GS.
15
*
16
17
typedef struct ogs_pfcp_header_s {
18
union {
19
struct {
20
+#define OGS_PFCP_SEID_NO_PRESENCE 0
21
+#define OGS_PFCP_SEID_PRESENCE 1
22
ED4(uint8_t version:3;,
23
uint8_t spare1:3;,
24
uint8_t mp:1;,
25
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/lib/pfcp/xact.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/lib/pfcp/xact.c
Changed
26
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
return OGS_ERROR;
10
}
11
12
- if (hdesc->type >= OGS_PFCP_SESSION_ESTABLISHMENT_REQUEST_TYPE) {
13
+ if (hdesc->seid_presence) {
14
pfcp_hlen = OGS_PFCP_HEADER_LEN;
15
} else {
16
pfcp_hlen = OGS_PFCP_HEADER_LEN - OGS_PFCP_SEID_LEN;
17
18
h->version = OGS_PFCP_VERSION;
19
h->type = hdesc->type;
20
21
- if (h->type >= OGS_PFCP_SESSION_ESTABLISHMENT_REQUEST_TYPE) {
22
+ if (hdesc->seid_presence) {
23
h->seid_presence = 1;
24
h->seid = htobe64(hdesc->seid);
25
h->sqn = OGS_PFCP_XID_TO_SQN(xact->xid);
26
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/mme/mme-gtp-path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/mme/mme-gtp-path.c
Changed
96
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_gtp2_header_t));
11
h.type = OGS_GTP2_CREATE_SESSION_REQUEST_TYPE;
12
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
13
h.teid = sgw_ue->sgw_s11_teid;
14
15
pkbuf = mme_s11_build_create_session_request(h.type, sess, create_action);
16
17
18
memset(&h, 0, sizeof(ogs_gtp2_header_t));
19
h.type = OGS_GTP2_MODIFY_BEARER_REQUEST_TYPE;
20
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
21
h.teid = sgw_ue->sgw_s11_teid;
22
23
pkbuf = mme_s11_build_modify_bearer_request(h.type, mme_ue, uli_presence);
24
25
26
memset(&h, 0, sizeof(ogs_gtp2_header_t));
27
h.type = OGS_GTP2_DELETE_SESSION_REQUEST_TYPE;
28
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
29
h.teid = sgw_ue->sgw_s11_teid;
30
31
s11buf = mme_s11_build_delete_session_request(h.type, sess, action);
32
33
34
memset(&h, 0, sizeof(ogs_gtp2_header_t));
35
h.type = OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE;
36
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
37
h.teid = sgw_ue->sgw_s11_teid;
38
39
pkbuf = mme_s11_build_create_bearer_response(h.type, bearer, cause_value);
40
41
42
memset(&h, 0, sizeof(ogs_gtp2_header_t));
43
h.type = OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE;
44
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
45
h.teid = sgw_ue->sgw_s11_teid;
46
47
pkbuf = mme_s11_build_update_bearer_response(h.type, bearer, cause_value);
48
49
50
memset(&h, 0, sizeof(ogs_gtp2_header_t));
51
h.type = OGS_GTP2_DELETE_BEARER_RESPONSE_TYPE;
52
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
53
h.teid = sgw_ue->sgw_s11_teid;
54
55
pkbuf = mme_s11_build_delete_bearer_response(h.type, bearer, cause_value);
56
57
58
memset(&h, 0, sizeof(ogs_gtp2_header_t));
59
h.type = OGS_GTP2_RELEASE_ACCESS_BEARERS_REQUEST_TYPE;
60
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
61
h.teid = sgw_ue->sgw_s11_teid;
62
63
pkbuf = mme_s11_build_release_access_bearers_request(h.type);
64
65
/* Build Downlink data notification ack */
66
memset(&h, 0, sizeof(ogs_gtp2_header_t));
67
h.type = OGS_GTP2_DOWNLINK_DATA_NOTIFICATION_ACKNOWLEDGE_TYPE;
68
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
69
h.teid = sgw_ue->sgw_s11_teid;
70
71
s11buf = mme_s11_build_downlink_data_notification_ack(h.type, cause_value);
72
73
74
memset(&h, 0, sizeof(ogs_gtp2_header_t));
75
h.type = OGS_GTP2_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_REQUEST_TYPE;
76
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
77
h.teid = sgw_ue->sgw_s11_teid;
78
79
pkbuf = mme_s11_build_create_indirect_data_forwarding_tunnel_request(
80
81
82
memset(&h, 0, sizeof(ogs_gtp2_header_t));
83
h.type = OGS_GTP2_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_REQUEST_TYPE;
84
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
85
h.teid = sgw_ue->sgw_s11_teid;
86
87
pkbuf = ogs_pkbuf_alloc(NULL, OGS_TLV_MAX_HEADROOM);
88
89
90
memset(&h, 0, sizeof(ogs_gtp2_header_t));
91
h.type = OGS_GTP2_BEARER_RESOURCE_COMMAND_TYPE;
92
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
93
h.teid = sgw_ue->sgw_s11_teid;
94
95
pkbuf = mme_s11_build_bearer_resource_command(h.type, bearer, nas_message);
96
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/mme/mme-s11-handler.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/mme/mme-s11-handler.c
Changed
63
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
}
10
11
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
12
- ogs_gtp2_send_error_message(xact, sgw_ue ? sgw_ue->sgw_s11_teid : 0,
13
+ ogs_gtp2_send_error_message(xact,
14
+ sgw_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
15
+ sgw_ue ? sgw_ue->sgw_s11_teid : 0,
16
OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE, cause_value);
17
return;
18
}
19
20
}
21
22
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
23
- ogs_gtp2_send_error_message(xact, sgw_ue ? sgw_ue->sgw_s11_teid : 0,
24
+ ogs_gtp2_send_error_message(xact,
25
+ sgw_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
26
+ sgw_ue ? sgw_ue->sgw_s11_teid : 0,
27
OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE, cause_value);
28
return;
29
}
30
31
}
32
33
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
34
- ogs_gtp2_send_error_message(xact, sgw_ue ? sgw_ue->sgw_s11_teid : 0,
35
+ ogs_gtp2_send_error_message(xact,
36
+ sgw_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
37
+ sgw_ue ? sgw_ue->sgw_s11_teid : 0,
38
OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE, cause_value);
39
return;
40
}
41
42
}
43
44
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
45
- ogs_gtp2_send_error_message(xact, sgw_ue ? sgw_ue->sgw_s11_teid : 0,
46
+ ogs_gtp2_send_error_message(xact,
47
+ sgw_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
48
+ sgw_ue ? sgw_ue->sgw_s11_teid : 0,
49
OGS_GTP2_DELETE_BEARER_RESPONSE_TYPE,
50
OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND);
51
return;
52
53
}
54
55
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
56
- ogs_gtp2_send_error_message(xact, sgw_ue ? sgw_ue->sgw_s11_teid : 0,
57
+ ogs_gtp2_send_error_message(xact,
58
+ sgw_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
59
+ sgw_ue ? sgw_ue->sgw_s11_teid : 0,
60
OGS_GTP2_DOWNLINK_DATA_NOTIFICATION_ACKNOWLEDGE_TYPE,
61
OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND);
62
return;
63
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/sgwc/gtp-path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/sgwc/gtp-path.c
Changed
24
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_gtp2_header_t));
11
h.type = OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE;
12
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
13
h.teid = sgwc_ue->mme_s11_teid;
14
15
pkbuf = sgwc_s11_build_create_session_response(h.type, sess);
16
17
18
memset(&h, 0, sizeof(ogs_gtp2_header_t));
19
h.type = OGS_GTP2_DOWNLINK_DATA_NOTIFICATION_TYPE;
20
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
21
h.teid = sgwc_ue->mme_s11_teid;
22
23
pkbuf = sgwc_s11_build_downlink_data_notification(cause_value, bearer);
24
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/sgwc/pfcp-path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/sgwc/pfcp-path.c
Changed
48
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_pfcp_header_t));
11
h.type = OGS_PFCP_SESSION_MODIFICATION_REQUEST_TYPE;
12
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
13
h.seid = sess->sgwu_sxa_seid;
14
15
sxabuf = sgwc_sxa_build_bearer_to_modify_list(h.type, sess, xact);
16
17
* over N4 towards another SMF or another PFCP entity in the SMF
18
* as specified in clause 5.22.2 and clause 5.22.3.
19
*/
20
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
21
h.seid = sess->sgwu_sxa_seid;
22
23
sxabuf = sgwc_sxa_build_session_establishment_request(h.type, sess);
24
25
26
memset(&h, 0, sizeof(ogs_pfcp_header_t));
27
h.type = OGS_PFCP_SESSION_MODIFICATION_REQUEST_TYPE;
28
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
29
h.seid = sess->sgwu_sxa_seid;
30
31
sxabuf = sgwc_sxa_build_bearer_to_modify_list(h.type, sess, xact);
32
33
34
memset(&h, 0, sizeof(ogs_pfcp_header_t));
35
h.type = OGS_PFCP_SESSION_DELETION_REQUEST_TYPE;
36
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
37
h.seid = sess->sgwu_sxa_seid;
38
39
sxabuf = sgwc_sxa_build_session_deletion_request(h.type, sess);
40
41
42
memset(&h, 0, sizeof(ogs_pfcp_header_t));
43
h.type = OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE;
44
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
45
h.seid = sess->sgwu_sxa_seid;
46
47
sxabuf = ogs_pfcp_build_session_report_response(h.type, cause);
48
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/sgwc/s11-handler.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/sgwc/s11-handler.c
Changed
201
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
}
10
11
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
12
- ogs_gtp_send_error_message(
13
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
14
+ ogs_gtp2_send_error_message(s11_xact,
15
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
16
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
17
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
18
return;
19
}
20
21
}
22
23
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
24
- ogs_gtp_send_error_message(
25
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
26
+ ogs_gtp2_send_error_message(s11_xact,
27
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
28
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
29
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
30
return;
31
}
32
33
/* Check if selected SGW-U is associated with SGW-C */
34
ogs_assert(sess->pfcp_node);
35
if (!OGS_FSM_CHECK(&sess->pfcp_node->sm, sgwc_pfcp_state_associated)) {
36
- ogs_gtp_send_error_message(
37
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
38
+ ogs_gtp2_send_error_message(s11_xact,
39
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
40
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
41
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE,
42
OGS_GTP2_CAUSE_REMOTE_PEER_NOT_RESPONDING);
43
return;
44
45
}
46
47
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
48
- ogs_gtp_send_error_message(
49
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
50
+ ogs_gtp2_send_error_message(s11_xact,
51
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
52
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
53
OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
54
return;
55
}
56
57
58
if (i == 0) {
59
ogs_error("No Bearer");
60
- ogs_gtp_send_error_message(
61
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
62
+ ogs_gtp2_send_error_message(s11_xact,
63
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
64
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
65
OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
66
return;
67
}
68
69
}
70
71
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
72
- ogs_gtp_send_error_message(
73
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
74
+ ogs_gtp2_send_error_message(s11_xact,
75
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
76
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
77
OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, cause_value);
78
return;
79
}
80
81
indication->operation_indication == 1 &&
82
indication->scope_indication == 1) {
83
ogs_error("Invalid Indication");
84
- ogs_gtp_send_error_message(
85
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
86
+ ogs_gtp2_send_error_message(s11_xact,
87
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
88
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
89
OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE,
90
OGS_GTP2_CAUSE_INVALID_MESSAGE_FORMAT);
91
return;
92
93
94
} else {
95
message->h.type = OGS_GTP2_DELETE_SESSION_REQUEST_TYPE;
96
+ message->h.teid_presence = OGS_GTP2_TEID_PRESENCE;
97
message->h.teid = sess->pgw_s5c_teid;
98
99
gtpbuf = ogs_gtp2_build_msg(message);
100
101
sgwc_pfcp_send_bearer_modification_request(
102
bearer, NULL, NULL,
103
OGS_PFCP_MODIFY_UL_ONLY|OGS_PFCP_MODIFY_REMOVE));
104
- ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
105
+ ogs_gtp2_send_error_message(s5c_xact,
106
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
107
+ sess ? sess->pgw_s5c_teid : 0,
108
OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE, cause_value);
109
return;
110
}
111
112
sgwc_pfcp_send_bearer_modification_request(
113
bearer, NULL, NULL,
114
OGS_PFCP_MODIFY_UL_ONLY|OGS_PFCP_MODIFY_REMOVE));
115
- ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
116
+ ogs_gtp2_send_error_message(s5c_xact,
117
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
118
+ sess ? sess->pgw_s5c_teid : 0,
119
OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE, cause_value);
120
return;
121
}
122
123
}
124
125
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
126
- ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
127
+ ogs_gtp2_send_error_message(s5c_xact,
128
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
129
+ sess ? sess->pgw_s5c_teid : 0,
130
OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE, cause_value);
131
return;
132
}
133
134
cause_value = cause->value;
135
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
136
ogs_error("GTP Bearer Cause VALUE:%d", cause_value);
137
- ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
138
+ ogs_gtp2_send_error_message(s5c_xact,
139
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
140
+ sess ? sess->pgw_s5c_teid : 0,
141
OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE, cause_value);
142
return;
143
}
144
145
cause_value = cause->value;
146
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
147
ogs_error("GTP Cause Value:%d", cause_value);
148
- ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
149
+ ogs_gtp2_send_error_message(s5c_xact,
150
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
151
+ sess ? sess->pgw_s5c_teid : 0,
152
OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE, cause_value);
153
return;
154
}
155
156
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
157
158
message->h.type = OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE;
159
+ message->h.teid_presence = OGS_GTP2_TEID_PRESENCE;
160
message->h.teid = sess->pgw_s5c_teid;
161
162
pkbuf = ogs_gtp2_build_msg(message);
163
164
}
165
166
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
167
- ogs_gtp_send_error_message(
168
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
169
+ ogs_gtp2_send_error_message(s11_xact,
170
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
171
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
172
OGS_GTP2_RELEASE_ACCESS_BEARERS_RESPONSE_TYPE, cause_value);
173
return;
174
}
175
176
}
177
178
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
179
- ogs_gtp_send_error_message(
180
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
181
+ ogs_gtp2_send_error_message(s11_xact,
182
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
183
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
184
OGS_GTP2_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_RESPONSE_TYPE,
185
cause_value);
186
return;
187
188
for (i = 0; req->bearer_contextsi.presence; i++) {
189
if (req->bearer_contextsi.eps_bearer_id.presence == 0) {
190
ogs_error("No EBI");
191
- ogs_gtp_send_error_message(
192
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
193
+ ogs_gtp2_send_error_message(s11_xact,
194
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
195
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
196
OGS_GTP2_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_RESPONSE_TYPE,
197
OGS_GTP2_CAUSE_MANDATORY_IE_MISSING);
198
return;
199
200
201
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/sgwc/s5c-handler.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/sgwc/s5c-handler.c
Changed
201
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024444 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
}
10
11
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
12
- ogs_gtp_send_error_message(
13
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
14
+ ogs_gtp2_send_error_message(s11_xact,
15
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
16
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
17
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
18
return;
19
}
20
21
}
22
23
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
24
- ogs_gtp_send_error_message(
25
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
26
+ ogs_gtp2_send_error_message(s11_xact,
27
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
28
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
29
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
30
return;
31
}
32
33
bearer_cause = cause->value;
34
if (bearer_cause != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
35
ogs_error("GTP Bearer Cause VALUE:%d", bearer_cause);
36
- ogs_gtp_send_error_message(
37
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
38
+ ogs_gtp2_send_error_message(s11_xact,
39
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE :
40
+ OGS_GTP2_TEID_NO_PRESENCE,
41
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
42
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, bearer_cause);
43
return;
44
}
45
46
session_cause !=
47
OGS_GTP2_CAUSE_NEW_PDN_TYPE_DUE_TO_SINGLE_ADDRESS_BEARER_ONLY) {
48
ogs_error("GTP Cause VALUE:%d", session_cause);
49
- ogs_gtp_send_error_message(
50
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
51
+ ogs_gtp2_send_error_message(s11_xact,
52
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
53
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
54
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, session_cause);
55
return;
56
}
57
58
bearer = sgwc_bearer_find_by_sess_ebi(sess,
59
rsp->bearer_contexts_createdi.eps_bearer_id.u8);
60
if (!bearer) {
61
- ogs_gtp_send_error_message(
62
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
63
+ ogs_gtp2_send_error_message(s11_xact,
64
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE :
65
+ OGS_GTP2_TEID_NO_PRESENCE,
66
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
67
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE,
68
OGS_GTP2_CAUSE_MANDATORY_IE_MISSING);
69
return;
70
71
72
rv = ogs_gtp2_f_teid_to_ip(pgw_s5u_teid, &ul_tunnel->remote_ip);
73
if (rv != OGS_OK) {
74
- ogs_gtp_send_error_message(
75
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
76
+ ogs_gtp2_send_error_message(s11_xact,
77
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE :
78
+ OGS_GTP2_TEID_NO_PRESENCE,
79
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
80
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE,
81
OGS_GTP2_CAUSE_MANDATORY_IE_MISSING);
82
return;
83
84
85
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
86
if (modify_action == OGS_GTP_MODIFY_IN_PATH_SWITCH_REQUEST)
87
- ogs_gtp_send_error_message(
88
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
89
- OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
90
+ ogs_gtp2_send_error_message(s11_xact,
91
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
92
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
93
+ OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
94
else
95
- ogs_gtp_send_error_message(
96
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
97
- OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
98
+ ogs_gtp2_send_error_message(s11_xact,
99
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
100
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
101
+ OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
102
return;
103
}
104
105
106
107
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
108
if (modify_action == OGS_GTP_MODIFY_IN_PATH_SWITCH_REQUEST)
109
- ogs_gtp_send_error_message(
110
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
111
- OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
112
+ ogs_gtp2_send_error_message(s11_xact,
113
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
114
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
115
+ OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
116
else
117
- ogs_gtp_send_error_message(
118
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
119
- OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
120
+ ogs_gtp2_send_error_message(s11_xact,
121
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
122
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
123
+ OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
124
return;
125
}
126
127
128
if (session_cause != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
129
ogs_error("GTP Cause VALUE:%d", session_cause);
130
if (modify_action == OGS_GTP_MODIFY_IN_PATH_SWITCH_REQUEST)
131
- ogs_gtp_send_error_message(
132
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
133
- OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, session_cause);
134
+ ogs_gtp2_send_error_message(s11_xact,
135
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
136
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
137
+ OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, session_cause);
138
else
139
- ogs_gtp_send_error_message(
140
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
141
- OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, session_cause);
142
+ ogs_gtp2_send_error_message(s11_xact,
143
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
144
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
145
+ OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, session_cause);
146
return;
147
}
148
149
150
sgwc_gtp_send_create_session_response(sess, s11_xact));
151
} else {
152
message->h.type = OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE;
153
+ message->h.teid_presence = OGS_GTP2_TEID_PRESENCE;
154
message->h.teid = sgwc_ue->mme_s11_teid;
155
156
pkbuf = ogs_gtp2_build_msg(message);
157
158
}
159
160
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
161
- ogs_gtp_send_error_message(
162
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
163
+ ogs_gtp2_send_error_message(s11_xact,
164
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
165
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
166
OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, cause_value);
167
return;
168
}
169
170
}
171
172
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
173
- ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
174
+ ogs_gtp2_send_error_message(s5c_xact,
175
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
176
+ sess ? sess->pgw_s5c_teid : 0,
177
OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE, cause_value);
178
return;
179
}
180
181
}
182
183
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
184
- ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
185
+ ogs_gtp2_send_error_message(s5c_xact,
186
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
187
+ sess ? sess->pgw_s5c_teid : 0,
188
OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE, cause_value);
189
return;
190
}
191
192
193
rv = ogs_gtp2_f_teid_to_ip(pgw_s5u_teid, &ul_tunnel->remote_ip);
194
if (rv != OGS_OK) {
195
- ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
196
+ ogs_gtp2_send_error_message(s5c_xact,
197
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
198
+ sess ? sess->pgw_s5c_teid : 0,
199
OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE,
200
OGS_GTP2_CAUSE_MANDATORY_IE_MISSING);
201
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/sgwc/sxa-handler.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/sgwc/sxa-handler.c
Changed
201
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
11
if (sess) sgwc_ue = sess->sgwc_ue;
12
- ogs_gtp_send_error_message(
13
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
14
+ ogs_gtp2_send_error_message(s11_xact,
15
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
16
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
17
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
18
return;
19
}
20
21
22
if (dl_tunnel->local_addr == NULL && dl_tunnel->local_addr6 == NULL) {
23
ogs_error("No UP F-TEID");
24
- ogs_gtp_send_error_message(
25
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
26
- OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE,
27
- OGS_GTP2_CAUSE_GRE_KEY_NOT_FOUND);
28
+ ogs_gtp2_send_error_message(s11_xact,
29
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
30
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
31
+ OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE,
32
+ OGS_GTP2_CAUSE_GRE_KEY_NOT_FOUND);
33
return;
34
}
35
36
37
memset(&send_message, 0, sizeof(ogs_gtp2_message_t));
38
39
send_message.h.type = OGS_GTP2_MODIFY_BEARER_REQUEST_TYPE;
40
+ send_message.h.teid_presence = OGS_GTP2_TEID_PRESENCE;
41
send_message.h.teid = sess->pgw_s5c_teid;
42
43
/* Send Control Plane(DL) : SGW-S5C */
44
45
46
/* Create Session Request */
47
recv_message->h.type = OGS_GTP2_CREATE_SESSION_REQUEST_TYPE;
48
+ recv_message->h.teid_presence = OGS_GTP2_TEID_PRESENCE;
49
recv_message->h.teid = sess->pgw_s5c_teid;
50
51
/* Send Control Plane(DL) : SGW-S5C */
52
53
s5c_xact = pfcp_xact->assoc_xact;
54
55
if (s5c_xact) {
56
- ogs_gtp_send_error_message(
57
- s5c_xact, sess ? sess->pgw_s5c_teid : 0,
58
- OGS_GTP2_DELETE_BEARER_RESPONSE_TYPE, cause_value);
59
+ ogs_gtp2_send_error_message(s5c_xact,
60
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
61
+ sess ? sess->pgw_s5c_teid : 0,
62
+ OGS_GTP2_DELETE_BEARER_RESPONSE_TYPE, cause_value);
63
}
64
65
sgwc_bearer_remove(bearer);
66
67
s5c_xact = pfcp_xact->assoc_xact;
68
ogs_assert(s5c_xact);
69
70
- ogs_gtp_send_error_message(
71
- s5c_xact, sess ? sess->pgw_s5c_teid : 0,
72
+ ogs_gtp2_send_error_message(s5c_xact,
73
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
74
+ sess ? sess->pgw_s5c_teid : 0,
75
OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE, cause_value);
76
77
78
79
s11_xact = pfcp_xact->assoc_xact;
80
ogs_assert(s11_xact);
81
82
- ogs_gtp_send_error_message(
83
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
84
+ ogs_gtp2_send_error_message(s11_xact,
85
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE :
86
+ OGS_GTP2_TEID_NO_PRESENCE,
87
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
88
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
89
90
} else if (flags & OGS_PFCP_MODIFY_DL_ONLY) {
91
s11_xact = pfcp_xact->assoc_xact;
92
ogs_assert(s11_xact);
93
94
- ogs_gtp_send_error_message(
95
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
96
+ ogs_gtp2_send_error_message(s11_xact,
97
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE :
98
+ OGS_GTP2_TEID_NO_PRESENCE,
99
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
100
OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
101
} else {
102
ogs_fatal("Invalid modify_flags0x%llx", (long long)flags);
103
104
s11_xact = pfcp_xact->assoc_xact;
105
ogs_assert(s11_xact);
106
107
- ogs_gtp_send_error_message(
108
- s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
109
- OGS_GTP2_RELEASE_ACCESS_BEARERS_RESPONSE_TYPE, cause_value);
110
+ ogs_gtp2_send_error_message(s11_xact,
111
+ sgwc_ue ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
112
+ sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
113
+ OGS_GTP2_RELEASE_ACCESS_BEARERS_RESPONSE_TYPE, cause_value);
114
}
115
116
ogs_pfcp_xact_commit(pfcp_xact);
117
118
119
send_message.h.type =
120
OGS_GTP2_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_RESPONSE_TYPE;
121
+ send_message.h.teid_presence = OGS_GTP2_TEID_PRESENCE;
122
send_message.h.teid = sgwc_ue->mme_s11_teid;
123
124
pkbuf = ogs_gtp2_build_msg(&send_message);
125
126
if (s5c_xact) {
127
ogs_assert(recv_message);
128
recv_message->h.type = OGS_GTP2_DELETE_BEARER_RESPONSE_TYPE;
129
+ recv_message->h.teid_presence = OGS_GTP2_TEID_PRESENCE;
130
recv_message->h.teid = sess->pgw_s5c_teid;
131
132
pkbuf = ogs_gtp2_build_msg(recv_message);
133
134
gtp_req->bearer_contexts.s1_u_enodeb_f_teid.len = len;
135
136
recv_message->h.type = OGS_GTP2_CREATE_BEARER_REQUEST_TYPE;
137
+ recv_message->h.teid_presence = OGS_GTP2_TEID_PRESENCE;
138
recv_message->h.teid = sgwc_ue->mme_s11_teid;
139
140
pkbuf = ogs_gtp2_build_msg(recv_message);
141
142
gtp_rsp->bearer_contexts.s5_s8_u_pgw_f_teid.len = len;
143
144
recv_message->h.type = OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE;
145
+ recv_message->h.teid_presence = OGS_GTP2_TEID_PRESENCE;
146
recv_message->h.teid = sess->pgw_s5c_teid;
147
148
pkbuf = ogs_gtp2_build_msg(recv_message);
149
150
151
send_message.h.type =
152
OGS_GTP2_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_RESPONSE_TYPE;
153
+ send_message.h.teid_presence = OGS_GTP2_TEID_PRESENCE;
154
send_message.h.teid = sgwc_ue->mme_s11_teid;
155
156
pkbuf = ogs_gtp2_build_msg(&send_message);
157
158
}
159
160
recv_message->h.type = OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE;
161
+ recv_message->h.teid_presence = OGS_GTP2_TEID_PRESENCE;
162
recv_message->h.teid = sgwc_ue->mme_s11_teid;
163
164
pkbuf = ogs_gtp2_build_msg(recv_message);
165
166
167
if (indication && indication->handover_indication) {
168
recv_message->h.type = OGS_GTP2_MODIFY_BEARER_REQUEST_TYPE;
169
+ recv_message->h.teid_presence = OGS_GTP2_TEID_PRESENCE;
170
recv_message->h.teid = sess->pgw_s5c_teid;
171
172
pkbuf = ogs_gtp2_build_msg(recv_message);
173
174
}
175
176
send_message.h.type = OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE;
177
+ send_message.h.teid_presence = OGS_GTP2_TEID_PRESENCE;
178
send_message.h.teid = sgwc_ue->mme_s11_teid;
179
180
pkbuf = ogs_gtp2_build_msg(&send_message);
181
182
183
send_message.h.type =
184
OGS_GTP2_RELEASE_ACCESS_BEARERS_RESPONSE_TYPE;
185
+ send_message.h.teid_presence = OGS_GTP2_TEID_PRESENCE;
186
send_message.h.teid = sgwc_ue->mme_s11_teid;
187
188
pkbuf = ogs_gtp2_build_msg(&send_message);
189
190
{
191
int rv;
192
uint8_t cause_value = 0;
193
+ int teid_presence = OGS_GTP2_TEID_NO_PRESENCE;
194
uint32_t teid = 0;
195
196
sgwc_ue_t *sgwc_ue = NULL;
197
198
* 2. SMF sends Delete Session Response to SGW/MME.
199
*/
200
if (sess) sgwc_ue = sess->sgwc_ue;
201
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/sgwu/pfcp-path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/sgwu/pfcp-path.c
Changed
40
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_pfcp_header_t));
11
h.type = OGS_PFCP_SESSION_ESTABLISHMENT_RESPONSE_TYPE;
12
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
13
h.seid = sess->sgwc_sxa_f_seid.seid;
14
15
sxabuf = sgwu_sxa_build_session_establishment_response(
16
17
18
memset(&h, 0, sizeof(ogs_pfcp_header_t));
19
h.type = OGS_PFCP_SESSION_MODIFICATION_RESPONSE_TYPE;
20
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
21
h.seid = sess->sgwc_sxa_f_seid.seid;
22
23
sxabuf = sgwu_sxa_build_session_modification_response(
24
25
26
memset(&h, 0, sizeof(ogs_pfcp_header_t));
27
h.type = OGS_PFCP_SESSION_DELETION_RESPONSE_TYPE;
28
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
29
h.seid = sess->sgwc_sxa_f_seid.seid;
30
31
sxabuf = sgwu_sxa_build_session_deletion_response(h.type, sess);
32
33
34
memset(&h, 0, sizeof(ogs_pfcp_header_t));
35
h.type = OGS_PFCP_SESSION_REPORT_REQUEST_TYPE;
36
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
37
h.seid = sess->sgwc_sxa_f_seid.seid;
38
39
xact = ogs_pfcp_xact_local_create(sess->pfcp_node, sess_timeout, sess);
40
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/sgwu/sxa-handler.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/sgwu/sxa-handler.c
Changed
60
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
if (!sess) {
11
ogs_error("No Context");
12
- ogs_pfcp_send_error_message(xact, 0,
13
+ ogs_pfcp_send_error_message(xact,
14
+ OGS_PFCP_SEID_NO_PRESENCE, 0,
15
OGS_PFCP_SESSION_ESTABLISHMENT_RESPONSE_TYPE,
16
OGS_PFCP_CAUSE_MANDATORY_IE_MISSING, 0);
17
return;
18
19
20
cleanup:
21
ogs_pfcp_sess_clear(&sess->pfcp);
22
- ogs_pfcp_send_error_message(xact, sess ? sess->sgwu_sxa_seid : 0,
23
+ ogs_pfcp_send_error_message(xact,
24
+ sess ? OGS_PFCP_SEID_PRESENCE : OGS_PFCP_SEID_NO_PRESENCE,
25
+ sess ? sess->sgwu_sxa_seid : 0,
26
OGS_PFCP_SESSION_ESTABLISHMENT_RESPONSE_TYPE,
27
cause_value, offending_ie_value);
28
}
29
30
31
if (!sess) {
32
ogs_error("No Context");
33
- ogs_pfcp_send_error_message(xact, 0,
34
+ ogs_pfcp_send_error_message(xact,
35
+ OGS_PFCP_SEID_NO_PRESENCE, 0,
36
OGS_PFCP_SESSION_MODIFICATION_RESPONSE_TYPE,
37
OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND, 0);
38
return;
39
40
41
cleanup:
42
ogs_pfcp_sess_clear(&sess->pfcp);
43
- ogs_pfcp_send_error_message(xact, sess ? sess->sgwu_sxa_seid : 0,
44
+ ogs_pfcp_send_error_message(xact,
45
+ sess ? OGS_PFCP_SEID_PRESENCE : OGS_PFCP_SEID_NO_PRESENCE,
46
+ sess ? sess->sgwu_sxa_seid : 0,
47
OGS_PFCP_SESSION_MODIFICATION_RESPONSE_TYPE,
48
cause_value, offending_ie_value);
49
}
50
51
52
if (!sess) {
53
ogs_error("No Context");
54
- ogs_pfcp_send_error_message(xact, 0,
55
+ ogs_pfcp_send_error_message(xact,
56
+ OGS_PFCP_SEID_NO_PRESENCE, 0,
57
OGS_PFCP_SESSION_DELETION_RESPONSE_TYPE,
58
OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND, 0);
59
return;
60
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/smf/binding.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/smf/binding.c
Changed
24
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_gtp2_header_t));
11
h.type = OGS_GTP2_UPDATE_BEARER_REQUEST_TYPE;
12
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
13
h.teid = sess->sgw_s5c_teid;
14
15
pkbuf = smf_s5c_build_update_bearer_request(
16
17
ogs_assert(sess);
18
19
h.type = OGS_GTP2_CREATE_BEARER_REQUEST_TYPE;
20
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
21
h.teid = sess->sgw_s5c_teid;
22
23
memset(&tft, 0, sizeof tft);
24
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/smf/gsm-sm.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/smf/gsm-sm.c
Changed
44
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
-
5
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
6
*
7
* This file is part of Open5GS.
8
*
9
10
ogs_gtp1_send_error_message(gtp_xact, sess->sgw_s5c_teid,
11
OGS_GTP1_CREATE_PDP_CONTEXT_RESPONSE_TYPE, gtp_cause);
12
else
13
- ogs_gtp2_send_error_message(gtp_xact, sess->sgw_s5c_teid,
14
+ ogs_gtp2_send_error_message(gtp_xact,
15
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
16
+ sess->sgw_s5c_teid,
17
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, gtp_cause);
18
}
19
20
21
ogs_gtp1_send_error_message(gtp_xact, sess->sgw_s5c_teid,
22
OGS_GTP1_DELETE_PDP_CONTEXT_RESPONSE_TYPE, gtp_cause);
23
else
24
- ogs_gtp2_send_error_message(gtp_xact, sess->sgw_s5c_teid,
25
+ ogs_gtp2_send_error_message(gtp_xact,
26
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
27
+ sess->sgw_s5c_teid,
28
OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, gtp_cause);
29
}
30
31
32
sess, e->gtp_xact,
33
>p2_message->delete_session_request);
34
if (gtp2_cause != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
35
- ogs_gtp2_send_error_message(e->gtp_xact, sess->sgw_s5c_teid,
36
- OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, gtp2_cause);
37
+ ogs_gtp2_send_error_message(e->gtp_xact,
38
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
39
+ sess->sgw_s5c_teid,
40
+ OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, gtp2_cause);
41
return;
42
}
43
OGS_FSM_TRAN(s, smf_gsm_state_wait_pfcp_deletion);
44
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/smf/gtp-path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/smf/gtp-path.c
Changed
40
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_gtp2_header_t));
11
h.type = OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE;
12
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
13
h.teid = sess->sgw_s5c_teid;
14
15
pkbuf = smf_s5c_build_create_session_response(h.type, sess);
16
17
18
memset(&h, 0, sizeof(ogs_gtp2_header_t));
19
h.type = OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE;
20
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
21
h.teid = sess->sgw_s5c_teid;
22
23
pkbuf = smf_s5c_build_modify_bearer_response(
24
25
26
memset(&h, 0, sizeof(ogs_gtp2_header_t));
27
h.type = OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE;
28
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
29
h.teid = sess->sgw_s5c_teid;
30
31
pkbuf = smf_s5c_build_delete_session_response(h.type, sess);
32
33
34
memset(&h, 0, sizeof(ogs_gtp2_header_t));
35
h.type = OGS_GTP2_DELETE_BEARER_REQUEST_TYPE;
36
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
37
h.teid = sess->sgw_s5c_teid;
38
39
pkbuf = smf_s5c_build_delete_bearer_request(
40
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/smf/n4-handler.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/smf/n4-handler.c
Changed
56
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_gtp2_header_t));
11
h.teid = sess->sgw_s5c_teid;
12
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
13
h.type = OGS_GTP2_DELETE_BEARER_REQUEST_TYPE;
14
15
pkbuf = smf_s5c_build_delete_bearer_request(
16
17
}
18
19
if (cause_value != OGS_PFCP_CAUSE_REQUEST_ACCEPTED) {
20
- ogs_pfcp_send_error_message(pfcp_xact, 0,
21
+ ogs_pfcp_send_error_message(pfcp_xact,
22
+ OGS_PFCP_SEID_NO_PRESENCE, 0,
23
OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE,
24
cause_value, 0);
25
return;
26
27
if (paging_policy_indication_value) {
28
ogs_warn("Not implement - "
29
"Paging Policy Indication Value");
30
- ogs_pfcp_send_error_message(pfcp_xact, 0,
31
+ ogs_pfcp_send_error_message(pfcp_xact,
32
+ OGS_PFCP_SEID_NO_PRESENCE, 0,
33
OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE,
34
OGS_PFCP_CAUSE_SERVICE_NOT_SUPPORTED, 0);
35
return;
36
37
qos_flow = smf_qos_flow_find_by_qfi(sess, qfi);
38
if (!qos_flow) {
39
ogs_error("Cannot find the QoS Flow%d", qfi);
40
- ogs_pfcp_send_error_message(pfcp_xact, 0,
41
+ ogs_pfcp_send_error_message(pfcp_xact,
42
+ OGS_PFCP_SEID_NO_PRESENCE, 0,
43
OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE,
44
OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND, 0);
45
return;
46
47
48
if (!pdr) {
49
ogs_error("No Context");
50
- ogs_pfcp_send_error_message(pfcp_xact, 0,
51
+ ogs_pfcp_send_error_message(pfcp_xact,
52
+ OGS_PFCP_SEID_NO_PRESENCE, 0,
53
OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE,
54
OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND, 0);
55
return;
56
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/smf/pfcp-path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/smf/pfcp-path.c
Changed
56
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_pfcp_header_t));
11
h.type = OGS_PFCP_SESSION_MODIFICATION_REQUEST_TYPE;
12
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
13
h.seid = sess->upf_n4_seid;
14
15
n4buf = (*modify_list)(h.type, sess, xact);
16
17
* over N4 towards another SMF or another PFCP entity in the SMF
18
* as specified in clause 5.22.2 and clause 5.22.3.
19
*/
20
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
21
h.seid = sess->upf_n4_seid;
22
23
n4buf = smf_n4_build_session_establishment_request(h.type, sess, xact);
24
25
26
memset(&h, 0, sizeof(ogs_pfcp_header_t));
27
h.type = OGS_PFCP_SESSION_DELETION_REQUEST_TYPE;
28
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
29
h.seid = sess->upf_n4_seid;
30
31
n4buf = smf_n4_build_session_deletion_request(h.type, sess);
32
33
* over N4 towards another SMF or another PFCP entity in the SMF
34
* as specified in clause 5.22.2 and clause 5.22.3.
35
*/
36
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
37
h.seid = sess->upf_n4_seid;
38
39
n4buf = smf_n4_build_session_establishment_request(h.type, sess, xact);
40
41
42
memset(&h, 0, sizeof(ogs_pfcp_header_t));
43
h.type = OGS_PFCP_SESSION_DELETION_REQUEST_TYPE;
44
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
45
h.seid = sess->upf_n4_seid;
46
47
n4buf = smf_n4_build_session_deletion_request(h.type, sess);
48
49
50
memset(&h, 0, sizeof(ogs_pfcp_header_t));
51
h.type = OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE;
52
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
53
h.seid = sess->upf_n4_seid;
54
55
sxabuf = ogs_pfcp_build_session_report_response(h.type, cause);
56
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/smf/pfcp-sm.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/smf/pfcp-sm.c
Changed
28
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
OGS_GTP1_CREATE_PDP_CONTEXT_RESPONSE_TYPE,
10
OGS_GTP1_CAUSE_CONTEXT_NOT_FOUND);
11
else
12
- ogs_gtp2_send_error_message(gtp_xact, 0,
13
+ ogs_gtp2_send_error_message(gtp_xact,
14
+ OGS_GTP2_TEID_NO_PRESENCE, 0,
15
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE,
16
OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND);
17
break;
18
19
OGS_GTP1_DELETE_PDP_CONTEXT_RESPONSE_TYPE,
20
OGS_GTP1_CAUSE_CONTEXT_NOT_FOUND);
21
else
22
- ogs_gtp2_send_error_message(gtp_xact, 0,
23
+ ogs_gtp2_send_error_message(gtp_xact,
24
+ OGS_GTP2_TEID_NO_PRESENCE, 0,
25
OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE,
26
OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND);
27
break;
28
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/smf/s5c-handler.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/smf/s5c-handler.c
Changed
85
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
}
10
11
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
12
- ogs_gtp2_send_error_message(gtp_xact, sess ? sess->sgw_s5c_teid : 0,
13
+ ogs_gtp2_send_error_message(gtp_xact,
14
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
15
+ sess ? sess->sgw_s5c_teid : 0,
16
OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
17
return;
18
}
19
20
}
21
22
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
23
- ogs_gtp2_send_error_message(xact, sess ? sess->sgw_s5c_teid : 0,
24
+ ogs_gtp2_send_error_message(xact,
25
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
26
+ sess ? sess->sgw_s5c_teid : 0,
27
OGS_GTP2_BEARER_RESOURCE_FAILURE_INDICATION_TYPE, cause_value);
28
return;
29
}
30
31
}
32
33
if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
34
- ogs_gtp2_send_error_message(xact, sess ? sess->sgw_s5c_teid : 0,
35
+ ogs_gtp2_send_error_message(xact,
36
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
37
+ sess ? sess->sgw_s5c_teid : 0,
38
OGS_GTP2_BEARER_RESOURCE_FAILURE_INDICATION_TYPE, cause_value);
39
return;
40
}
41
42
pf = smf_pf_find_by_id(bearer, tft.pfi.identifier+1);
43
if (pf) {
44
if (reconfigure_packet_filter(pf, &tft, i) < 0) {
45
- ogs_gtp2_send_error_message(
46
- xact, sess ? sess->sgw_s5c_teid : 0,
47
+ ogs_gtp2_send_error_message(xact,
48
+ sess ? OGS_GTP2_TEID_PRESENCE :
49
+ OGS_GTP2_TEID_NO_PRESENCE,
50
+ sess ? sess->sgw_s5c_teid : 0,
51
OGS_GTP2_BEARER_RESOURCE_FAILURE_INDICATION_TYPE,
52
OGS_GTP2_CAUSE_SEMANTIC_ERRORS_IN_PACKET_FILTER);
53
return;
54
55
ogs_assert(pf);
56
57
if (reconfigure_packet_filter(pf, &tft, i) < 0) {
58
- ogs_gtp2_send_error_message(
59
- xact, sess ? sess->sgw_s5c_teid : 0,
60
+ ogs_gtp2_send_error_message(xact,
61
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
62
+ sess ? sess->sgw_s5c_teid : 0,
63
OGS_GTP2_BEARER_RESOURCE_FAILURE_INDICATION_TYPE,
64
OGS_GTP2_CAUSE_SEMANTIC_ERRORS_IN_PACKET_FILTER);
65
return;
66
67
68
if (tft_update == 0 && tft_delete == 0 && qos_update == 0) {
69
/* No modification */
70
- ogs_gtp2_send_error_message(xact, sess ? sess->sgw_s5c_teid : 0,
71
+ ogs_gtp2_send_error_message(xact,
72
+ sess ? OGS_GTP2_TEID_PRESENCE : OGS_GTP2_TEID_NO_PRESENCE,
73
+ sess ? sess->sgw_s5c_teid : 0,
74
OGS_GTP2_BEARER_RESOURCE_FAILURE_INDICATION_TYPE,
75
OGS_GTP2_CAUSE_SERVICE_NOT_SUPPORTED);
76
return;
77
78
} else {
79
memset(&h, 0, sizeof(ogs_gtp2_header_t));
80
h.teid = sess->sgw_s5c_teid;
81
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
82
h.type = OGS_GTP2_UPDATE_BEARER_REQUEST_TYPE;
83
84
pkbuf = smf_s5c_build_update_bearer_request(
85
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/smf/smf-sm.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/smf/smf-sm.c
Changed
28
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
}
10
if (!sess) {
11
ogs_error("No Session");
12
- ogs_gtp2_send_error_message(gtp_xact, 0,
13
+ ogs_gtp2_send_error_message(gtp_xact,
14
+ OGS_GTP2_TEID_NO_PRESENCE, 0,
15
OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE,
16
OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND);
17
break;
18
19
smf_metrics_inst_gtp_node_inc(smf_gnode->metrics, SMF_METR_GTP_NODE_CTR_S5C_RX_DELETESESSIONREQ);
20
if (!sess) {
21
ogs_error("No Session");
22
- ogs_gtp2_send_error_message(gtp_xact, 0,
23
+ ogs_gtp2_send_error_message(gtp_xact,
24
+ OGS_GTP2_TEID_NO_PRESENCE, 0,
25
OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE,
26
OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND);
27
break;
28
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/upf/n4-handler.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/upf/n4-handler.c
Changed
60
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
if (!sess) {
11
ogs_error("No Context");
12
- ogs_pfcp_send_error_message(xact, 0,
13
+ ogs_pfcp_send_error_message(xact,
14
+ OGS_PFCP_SEID_NO_PRESENCE, 0,
15
OGS_PFCP_SESSION_ESTABLISHMENT_RESPONSE_TYPE,
16
OGS_PFCP_CAUSE_MANDATORY_IE_MISSING, 0);
17
upf_metrics_inst_by_cause_add(OGS_PFCP_CAUSE_MANDATORY_IE_MISSING,
18
19
upf_metrics_inst_by_cause_add(cause_value,
20
UPF_METR_CTR_SM_N4SESSIONESTABFAIL, 1);
21
ogs_pfcp_sess_clear(&sess->pfcp);
22
- ogs_pfcp_send_error_message(xact, sess ? sess->smf_n4_f_seid.seid : 0,
23
+ ogs_pfcp_send_error_message(xact,
24
+ sess ? OGS_PFCP_SEID_PRESENCE : OGS_PFCP_SEID_NO_PRESENCE,
25
+ sess ? sess->smf_n4_f_seid.seid : 0,
26
OGS_PFCP_SESSION_ESTABLISHMENT_RESPONSE_TYPE,
27
cause_value, offending_ie_value);
28
}
29
30
31
if (!sess) {
32
ogs_error("No Context");
33
- ogs_pfcp_send_error_message(xact, 0,
34
+ ogs_pfcp_send_error_message(xact,
35
+ OGS_PFCP_SEID_NO_PRESENCE, 0,
36
OGS_PFCP_SESSION_MODIFICATION_RESPONSE_TYPE,
37
OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND, 0);
38
return;
39
40
41
cleanup:
42
ogs_pfcp_sess_clear(&sess->pfcp);
43
- ogs_pfcp_send_error_message(xact, sess ? sess->smf_n4_f_seid.seid : 0,
44
+ ogs_pfcp_send_error_message(xact,
45
+ sess ? OGS_PFCP_SEID_PRESENCE : OGS_PFCP_SEID_NO_PRESENCE,
46
+ sess ? sess->smf_n4_f_seid.seid : 0,
47
OGS_PFCP_SESSION_MODIFICATION_RESPONSE_TYPE,
48
cause_value, offending_ie_value);
49
}
50
51
52
if (!sess) {
53
ogs_error("No Context");
54
- ogs_pfcp_send_error_message(xact, 0,
55
+ ogs_pfcp_send_error_message(xact,
56
+ OGS_PFCP_SEID_NO_PRESENCE, 0,
57
OGS_PFCP_SESSION_DELETION_RESPONSE_TYPE,
58
OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND, 0);
59
return;
60
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/src/upf/pfcp-path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/src/upf/pfcp-path.c
Changed
40
1
2
/*
3
- * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_pfcp_header_t));
11
h.type = OGS_PFCP_SESSION_ESTABLISHMENT_RESPONSE_TYPE;
12
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
13
h.seid = sess->smf_n4_f_seid.seid;
14
15
n4buf = upf_n4_build_session_establishment_response(
16
17
18
memset(&h, 0, sizeof(ogs_pfcp_header_t));
19
h.type = OGS_PFCP_SESSION_MODIFICATION_RESPONSE_TYPE;
20
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
21
h.seid = sess->smf_n4_f_seid.seid;
22
23
n4buf = upf_n4_build_session_modification_response(
24
25
26
memset(&h, 0, sizeof(ogs_pfcp_header_t));
27
h.type = OGS_PFCP_SESSION_DELETION_RESPONSE_TYPE;
28
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
29
h.seid = sess->smf_n4_f_seid.seid;
30
31
n4buf = upf_n4_build_session_deletion_response(h.type, sess);
32
33
34
memset(&h, 0, sizeof(ogs_pfcp_header_t));
35
h.type = OGS_PFCP_SESSION_REPORT_REQUEST_TYPE;
36
+ h.seid_presence = OGS_PFCP_SEID_PRESENCE;
37
h.seid = sess->smf_n4_f_seid.seid;
38
39
xact = ogs_pfcp_xact_local_create(sess->pfcp_node, sess_timeout, sess);
40
open5gs_2.7.0.114.1dc43.202403222026.tar.xz/tests/non3gpp/gtp-path.c -> open5gs_2.7.0.115.a667.202403232026.tar.xz/tests/non3gpp/gtp-path.c
Changed
40
1
2
/*
3
- * Copyright (C) 2019,2020 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
memset(&h, 0, sizeof(ogs_gtp2_header_t));
11
h.type = OGS_GTP2_CREATE_SESSION_REQUEST_TYPE;
12
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
13
h.teid = sess->smf_s2b_c_teid;
14
15
pkbuf = test_s2b_build_create_session_request(h.type, sess, handover_ind);
16
17
18
memset(&h, 0, sizeof(ogs_gtp2_header_t));
19
h.type = OGS_GTP2_DELETE_SESSION_REQUEST_TYPE;
20
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
21
h.teid = sess->smf_s2b_c_teid;
22
23
pkbuf = test_s2b_build_delete_session_request(h.type, sess);
24
25
26
memset(&h, 0, sizeof(ogs_gtp2_header_t));
27
h.type = OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE;
28
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
29
h.teid = sess->smf_s2b_c_teid;
30
31
pkbuf = test_s2b_build_create_bearer_response(h.type, bearer);
32
33
34
memset(&h, 0, sizeof(ogs_gtp2_header_t));
35
h.type = OGS_GTP2_DELETE_BEARER_RESPONSE_TYPE;
36
+ h.teid_presence = OGS_GTP2_TEID_PRESENCE;
37
h.teid = sess->smf_s2b_c_teid;
38
39
pkbuf = test_s2b_build_delete_bearer_response(h.type, bearer);
40