Sukchan Lee
d82f338246
Fixed alpine stack overflow ( #1911 )
2022-11-27 00:03:56 +09:00
safaorhann
e9aaceee98
fix dropped_dl_traffic_threshold ie.
2022-10-06 10:40:08 +09:00
Bostjan Meglic
87cd34d300
Minor typo fix
2022-09-07 18:01:21 +09:00
Sukchan Lee
9b10d70c77
[NRF] Fixed library load error
2022-08-26 10:57:11 +09:00
Sukchan Lee
444e182288
[PFCP] security vulnerability continued in d99491a
2022-08-16 20:32:42 +09:00
Sukchan Lee
d99491aca5
[PFCP] Fixed security protection
...
Check the length to prevent buffer overflow attacks.
2022-08-12 15:38:40 +09:00
Sukchan Lee
a5010a61ef
Support Discovery Optional Parameter ( #1671 )
...
To support target-nf-instance-id in the discovery,
Discovery optional parameter is implemeted
2022-07-24 15:10:09 +09:00
Sukchan Lee
af4021bff4
[PFCP] Fixed a endianness Apply Action ( #1640 )
2022-07-04 17:30:19 +09:00
Bostjan Meglic
ab11220dcc
[ALL] Fix differences in function parameter names between definition and declaration
2022-07-01 21:38:47 +09:00
Sukchan Lee
ad159d1755
[GTP] Refine error code path without assertion
...
Refer to #1635 , #1620 , #1606 , #1594
2022-06-30 10:53:19 +09:00
Sukchan Lee
6332f10593
Revert "[GTP] context when TEID=0 ( #1620 , #1606 , #1594 )"
...
This reverts commit 0d61f7a7f9
.
2022-06-30 09:11:31 +09:00
Sukchan Lee
051c19b7c8
Changes MAX TLV MORE to 16
...
OGS_MAX_NUM_OF_PDR is 16, but OGS_TLV_MAX_MORE is 8.
To match the size of two macros, increased OGS_TLV_MAX_MORE to 16.
2022-06-29 14:35:01 +09:00
Sukchan Lee
0d61f7a7f9
[GTP] context when TEID=0 ( #1620 , #1606 , #1594 )
2022-06-28 15:32:14 +09:00
Pau Espin
5eaf66262a
[SMF] pfcp: Retrieve sess when response with SEID=0 is received ( #1620 )
...
3GPP TS 29.244 7.2.2.4.2 documents that the peer will set SEID=0 in the
response when we request something for a session not existing at the peer.
If that's the case, we still want to locate the local session which
originated the request, so let's store the local SEID in the xact when
submitting the message, so that we can retrieve the related SEID and
find the session if we receive SEID=0.
2022-06-28 11:19:57 +09:00
Sukchan Lee
df68b231b8
[PFCP] Added DNN/APN in FAR ( #1629 , #1630 )
2022-06-24 20:30:40 +09:00
Sukchan Lee
f4eddf91b5
Set v4/v6 flags in local F-TEID ( #1625 )
2022-06-24 15:16:54 +09:00
Safa Orhan
58a9d31fd8
Apply action ie ( #1601 )
2022-06-13 19:51:40 +09:00
Safa Orhan
0a3746c24d
PR open5gs#1581 ( #1600 )
2022-06-13 19:44:36 +09:00
Sukchan Lee
2aa40ca8c8
[PFCP] Added Data Status IE ( #1582 )
2022-06-12 09:02:59 +09:00
Sukchan Lee
12353178fb
Upgrade PFCP to v16.9.1 ( #1581 )
2022-06-11 23:51:00 +09:00
Sukchan Lee
b1e7477904
[CORE] Improve logging error in PFCP ( #1591 )
2022-06-09 23:36:33 +09:00
Sukchan Lee
828fa23d16
Increase Apply Action size to 2 bytes ( #1581 )
2022-06-06 21:12:18 +09:00
Sukchan Lee
8b3fa5ff9f
Follow-up the contribution #1566 , #1567
2022-05-31 21:44:53 +09:00
Pau Espin
c18e9f32cb
[PGW] Gy+PFCP improvements ( #1555 )
...
* [SMF] Gy,PFCP: Improve {Time,Volume} {Threshold,Quota} handling
* [UPF] Implement URR Usage Report for ValidityTime/TimeQuota/TimeThreshold
* [UPF] Implement Usage report trigger for Volume Quota/Threshold
* [SMF] Set Gy Reporting-Reason based on PFCP Report Trigger
2022-05-24 22:54:30 +09:00
Sukchan Lee
6710c13a44
update it
2022-05-17 21:44:52 +09:00
Sukchan Lee
71572ae563
[PFCP] fixed memcpy ( #1531 )
...
dnn ‘memcpy’ reading 808 bytes from a region of size 128
2022-05-13 18:26:54 +09:00
Sukchan Lee
4d2f7726b9
X2 handover with SGW change ( #1367 , #1459 )
2022-05-12 22:52:36 +09:00
Sukchan Lee
7a9d06097e
[PFCP] fix the unnecessary code ( #1523 )
2022-05-10 22:58:19 +09:00
Pau Espin
3a28ddce37
[PFCP] Fix typo in log line ( #1526 )
2022-05-10 22:40:32 +09:00
Sukchan Lee
de2ecd6400
[GTP2] Fixed handling multi-bearer messages( #1498 )
2022-04-29 21:28:16 +09:00
Sukchan Lee
79de674fd8
[PFCP] F-TEID allocation by SMF ( #1466 )
2022-04-16 14:08:56 +09:00
Pau Espin
e3da7c9934
Rename GTPv2C specifics to gtp2 prefix ( #1485 )
...
In the past only GTPv2C was supported, and had the "gtp" generic prefix.
Later on, GTPv1C support was added, and "gtp1" prefix was used.
Let's move GTPv2C specific bits to have "gtp2" prefix too, and leave
"gtp" prefix for generic stuff among different GTP versions.
2022-04-13 07:07:39 +09:00
Pau Espin
2be12903cb
[SMF] Introduce optional Gy interface support ( #1479 )
...
The use of the Gy interface (SMF acting as CTF towards an OCS node) is
mandated through configuration file. Default value "enable: auto" will
only make use of it in case a Diameter peer announcing support for the
Credit-Control Application is found.
Upon subscriber session creation, and after auth check over Gx, the SMF
will create a Gy session with the OCS and only after that step the SMF
will accept the session back to the subscriber.
The OCS may then grant some traffic volumes/time and ask to be notified
back with updated measurements.
In order to get the measurements, the SMF relies on PFCP URR configured
to the UPF through Session Repoort Request messages.
When closing the subscriber session, the SMF will also terminate the Gy
session at the OCS.
So far only some specifics parts of the Gy interface as well as the PFCP
side are implemented. Those should be enough to at least have
volume/time thresholds granted by the OCS, which then will be able to
track subsriber resource use.
This patch doesn't implement the OCS side of the Gy interface, that's
left as a future exercise. The interface was tested using an OCS
emulator implemented in TTCN-3 [1]
[1] https://cgit.osmocom.org/osmo-ttcn3-hacks/
2022-04-09 08:26:28 +09:00
Sukchan Lee
0b3df3e3db
Revert "Introduce Gy interface ( #1471 )"
...
This reverts commit 106f2729c3
.
2022-04-09 00:45:26 +09:00
Pau Espin
106f2729c3
Introduce Gy interface ( #1471 )
...
TODO:
* Use an event for the report, like SMF_EVT_N4_TIMER?
* Properly set Service identifier in Gy CCR
* SMF: Properly set pkt/octet volumes in Gy CCR
** Update when receiving PFCP Modify Response.
* Figure out best way to require Gy through config file in open5gs-smfd.
* Create a new sess-sm.c which handles smf_sess_t state through
Gx+Gy+PFCP creation, modification and tear down. This way we can do
stuff in parallel, for instance Gx+Gy. It will alsoavoid duplicating
some code paths due to Gy being optional.
2022-04-09 00:08:58 +09:00
Pau Espin
fb8ebcdbea
[UPF] Add initial support for URR Usage Report ( #1476 )
2022-04-08 23:10:42 +09:00
Pau Espin
77f7bb7af7
[PFCP] Use proper IE to signal triggers in Usage Report ( #1472 )
...
The "Report Triggers" is sent SMF->UPF to tell in which situations a
report should be sent.
The "Usage Report Trigger" is sent UPF->SMF to indicate which situation
triggered the report.
2022-04-08 21:12:42 +09:00
Pau Espin
fbfb72c1b7
[PFCP] Support multiple Usage Report IEs in all messages ( #1461 )
...
* [PFCP] Properly check down_data_report inclusion building SessionReportRequest
* [PFCP] Support multiple Usage Report IEs in all messages
2022-03-31 09:43:35 +09:00
Pau Espin
4b8d3a845a
[PFCP] Support associating multiple URRs to a PDR ( #1456 )
...
* [PFCP] Fix trailing whitespace in message generation files
* [PFCP] message gen: Support multiple URR ID IEs in Create PDR group
* [PFCP] Support associating multiple URRs to a PDR
According to 3GPP TS 29.244:
"""
A PDR shall contain:
- zero, one or more URRs, which contains instructions related to traffic measurement and reporting.
"""
2022-03-28 21:56:58 +09:00
Pau Espin
38e2dee17f
[PFCP] Handle Measurement Information in Create/Update URR IEs ( #1453 )
2022-03-26 00:33:32 +09:00
Pau Espin
89636fa8d3
[PFCP] Handle Measurement Information in Create/Update URR IEs ( #1452 )
2022-03-26 00:07:34 +09:00
Pau Espin
cc0d147f5c
Fix trailing whitespace ( #1451 )
2022-03-25 23:35:27 +09:00
Pau Espin
12bac7a917
[PFCP] Avoid requiring optional fields in Update URR IE ( #1449 )
2022-03-25 05:58:40 +09:00
Pau Espin
f060da45d5
[CORE] time: Add APIs to manage NTP 32-bit timestamps ( #1439 )
...
These will be further needed in PFCP in the future, as well as in other
Diameter based interfaces (such as Gy).
Let's put all implementation details in APIs so that devs don't need to
care about those details every time.
2022-03-16 11:25:30 +09:00
Sukchan Lee
bcf53124d5
Improve the socket option configuration ( #1404 )
...
o GTP-C Option (Default)
- so_bindtodevice : NULL
gtpc:
addr: 127.0.0.7
option:
so_bindtodevice: vrf-blue
o GTP-U Option (Default)
- so_bindtodevice : NULL
gtpu:
addr: 127.0.0.7
option:
so_bindtodevice: vrf-blue
o PFCP Option (Default)
- so_bindtodevice : NULL
pfcp:
addr: 127.0.0.7
option:
so_bindtodevice: vrf-blue
o SBI Option (Default)
- tcp_nodelay : true
- so_linger.l_onoff : false
sbi:
addr: 127.0.0.10
option:
tcp_nodelay: false
so_linger:
l_onoff: true
l_linger: 10
o NGAP Option (Default)
- sctp_nodelay : true
- so_linger.l_onoff : false
ngap:
addr: 127.0.0.5
option:
stcp_nodelay: false
so_linger:
l_onoff: true
l_linger: 10
o NGAP SCTP Option (Default)
- spp_hbinterval : 5000 (5secs)
- spp_sackdelay : 200 (200ms)
- srto_initial : 3000 (3secs)
- srto_min : 1000 (1sec)
- srto_max : 5000 (5secs)
- sinit_num_ostreams : 30
- sinit_max_instreams : 65535
- sinit_max_attempts : 4
- sinit_max_init_timeo : 8000(8secs)
ngap:
addr: 127.0.0.5
option:
sctp:
spp_hbinterval : 5000
spp_sackdelay : 200
srto_initial : 3000
srto_min : 1000
srto_max : 5000
sinit_num_ostreams : 30
sinit_max_instreams : 65535
sinit_max_attempts : 4
sinit_max_init_timeo : 8000
2022-03-15 22:03:50 +09:00
Pau Espin
dd5abb79b4
[PFCP] Fix wrong endianess enc of some URR values ( #1433 )
...
* [PFCP] Fix trailing whitespace
* [PFCP] Fix wrong endianess enc of some URR values
u32 tlvs are already converted to big endian automatically. Manually
doing so ends up in double conversion and hence in wrong endianness
being sent over the wire.
Similar issue was also fixed recently in the PFCP decoding path.
Related: https://github.com/open5gs/open5gs/issues/1349
2022-03-15 13:34:22 +09:00
Sukchan Lee
c1fc25958c
Change default to bindtodevice:false
2022-03-08 19:49:16 +09:00
Sukchan Lee
253e2ad98a
[GTP/PFCP] Support VRF ( #1404 )
2022-03-07 22:43:18 +09:00
Pau Espin
7bddc92322
[GTP] Support binding socket to device
...
This is useful, among other possible applications, to make use of VRFs [1],
in this case for GTP-C and GTP-U traffic in the PGW.
The bind_dev field is added to the ogs_socknode_t so that it's easy to
extend its use into lots of other sockets being set up based on config
file information.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/networking/vrf.rst
2022-03-02 20:07:51 +01:00
Pau Espin
d06acc7f37
Fix trailing whitespace ( #1402 )
2022-03-01 17:13:40 +09:00
Pau Espin
b0fc06ab6c
Fix trailing whitespace ( #1381 )
2022-02-22 07:00:06 +09:00
Sukchan Lee
0e1ab26ee5
Check if Source IP address spoofing ( #1354 , #1355 )
2022-02-14 17:34:22 +09:00
Sukchan Lee
acfcbda8fa
[PFCP] remove be32toh() in TLV u32 leaf ( #1349 )
2022-02-04 00:26:27 +09:00
Sukchan Lee
83d56fe40d
[ALL] Fix the memory leak ( #1282 )
2022-01-31 22:58:52 +09:00
Sukchan Lee
866ae78f5e
[NRF] fix the crash for invalid FQDN ( #1333 )
2022-01-22 09:34:38 +09:00
Sukchan Lee
776892e09d
[PFCP] xact: avoid exporting internal ( #1329 )
2022-01-19 20:03:28 +09:00
Sukchan Lee
e4f864c1f5
Change IPv6 Prefix ( #1321 )
2022-01-14 11:53:15 +09:00
Julian Lemmerich
f75e51ca46
changed default ipv6 prefix to 2001:db8:cafe:: ( #1321 )
...
to be compliant with RFC3849
2022-01-14 11:50:27 +09:00
Sukchan Lee
cfd0193bbd
[PCRF] fix the crash in flow->description ( #1313 )
2022-01-12 10:15:36 +09:00
Sukchan Lee
b988e7edce
Use talloc for all memory pool ( #1263 )
2022-01-04 08:29:18 +09:00
Mehmet Hakan Doğan
414c230f00
this commit is made to reflect changes in PR #1289 ( #1293 )
2021-12-17 16:00:05 +09:00
Sukchan Lee
9b40fe25ff
added "usage report" to user plane report ( #1289 )
...
Author: mhkndgn <hakan.dogan@b-ulltech.com>
Date: Thu Dec 16 09:51:49 2021 +0300
2021-12-16 21:52:48 +09:00
Sukchan Lee
fc8c807da2
[SMF] fix the crash during IMS calls ( #1238 )
...
If PFCP is not deactivated, some eNBs send an GTP error indication.
To solve the problem, SMF deactivates the bearer that will be deleted.
2021-11-23 14:19:30 +09:00
Sukchan Lee
bfa34be222
fix the buffer overflow (CVE-2021-41794)
2021-11-15 15:49:58 +09:00
Sukchan Lee
0fb8279e36
VoNR added but not tested!
2021-11-14 21:07:56 +09:00
Sukchan Lee
7567659a29
[UPF] remove link-local ( #1217 )
2021-10-30 22:34:47 +09:00
Sukchan Lee
42c9dce2b7
mistype cachedir in pfcp-tly generator ( #1212 )
2021-10-24 08:40:52 +09:00
Balint Cristian
13bba81227
Minor fixes: instance extraction & python generator ( #1212 )
2021-10-24 08:37:11 +09:00
Mehmet Hakan Doğan
3cb2808ebf
this commit is made to reflect the contribution on pull request #1190 ( #1192 )
2021-10-05 18:11:03 +09:00
Sukchan Lee
013b4dc8e9
update coding style
2021-10-04 22:33:57 +09:00
Sukchan Lee
5e016937c7
Update URR contribution ( #1190 )
2021-10-04 22:28:32 +09:00
Sukchan Lee
13f1b390ae
CVE-2021-41794 from NCC Group by Mark Tedman
...
When connecting to the UPF port for the PFCP protocol (8805) and sending
an association setup request followed by a session establishment request
with a PDI Network Instance set to ‘internet’, it causes a stack corruption
to occur.
So, ogs_fqdn_parse() fixed.
2021-10-01 22:41:03 +09:00
Sukchan Lee
3564fe5c8c
[SMF/UPF] Clarify FALLBACK SUBNET [ #1128 ]
2021-08-14 16:52:53 +09:00
Sukchan Lee
68edcd6438
fix the SMF crash when num of flow > 8 ( #1108 )
2021-08-07 14:23:20 +09:00
Sukchan Lee
acb4db5dd1
Fix the crash when number of flow > 8 ( #1108 )
2021-07-28 14:00:03 +09:00
Sukchan Lee
c6b13be92a
do the finishing touches ( #1108 )
2021-07-27 20:33:46 +09:00
herlesupreeth
0db09f5c25
Fix stash smashing when number of PFs for bearer > 8
2021-07-23 14:22:55 +02:00
Sukchan Lee
4537142929
[EPC] Support ePDG Interface ( #1039 )
2021-06-21 22:36:38 +09:00
Sukchan Lee
780f829962
use 'continue' instead of 'return' ( #1052 )
2021-06-15 11:04:56 +09:00
Spencer Sevilla
449b5b484f
need to return here to prevent segfault ( #1052 )
2021-06-15 11:04:36 +09:00
Sukchan Lee
e31a8474b2
[SMF/UPF] fix the crash bug ( #1034 , #1006 )
2021-06-08 21:14:18 +09:00
Sukchan Lee
118d62d42d
Add more memory log
2021-06-06 22:35:46 +09:00
Sukchan Lee
80a9497afd
[PFCP] Add more error log ( #1012 )
2021-05-30 20:35:30 +09:00
Josh Bailey
caa73e1f5e
Support TAP interfaces, with ARP/ND.
2021-05-28 05:59:03 +00:00
Sukchan Lee
3b19190f56
[AMF] fix crash due to malformed NGAP ( #960 )
2021-05-08 15:09:10 +09:00
Sukchan Lee
793a82020f
[ALL] Init updated for an Invalid IP ( #938 )
2021-04-21 17:24:17 +09:00
Sukchan Lee
d0eec31f5c
upf/sgwu: fix the PDR creation bug ( #860 )
...
When PDR is created without deleting session, there is a bug to create
new PDR.
2021-03-19 10:08:37 +09:00
Sukchan Lee
37e0a714f9
Fixes UE IPv6 BUG ( #808 )
2021-03-15 10:01:55 +09:00
Sukchan Lee
9af4268bab
arch: DB schema Changes ( #796 )
...
- New function : NSSF
- New feature : SMF selection
2021-03-08 21:25:09 +09:00
Sukchan Lee
852756f902
test: Porting FreeBSD
2021-02-08 14:25:40 -05:00
Sukchan Lee
ff5236f3e0
feat: Indirect Data Forwarding in N2-Handover
2021-01-31 23:01:15 -05:00
Sukchan Lee
49a9e58efe
feat: Add N2-Handover
2021-01-28 14:23:54 -05:00
smartVan
060d2a08f5
remove repeated qer in handling create pdr ( #749 )
2021-01-06 23:32:12 -05:00
Sukchan Lee
70a7bac6b2
feat: Add 5G Core Xn Handover ( #726 )
2021-01-03 00:50:59 -05:00
Sukchan Lee
235a041b8d
feat: Add dedicated QoS flow
2020-12-31 21:07:08 -05:00
Sukchan Lee
33edd12335
fix: UPF is not working with Landslide ( #685 )
...
* Flow-Description use 'to assigned' in Gx Interface
* Support SDF Filter ID
* Support F-TEID's Choose
* BAR(Buffering) is added in PFCP session
* Default Apply Action uses NOCP|BUFF
2020-12-03 01:16:57 -05:00
Sukchan Lee
2c2b6dfcaf
Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI
2020-11-26 21:44:37 -05:00
Sukchan Lee
f1a207fd9b
Support VoLTE service in ECM-IDLE
2020-11-07 17:27:12 -05:00
Sukchan Lee
621145d8b0
Add rpath to required shared library #535 , #595
2020-11-03 20:11:30 -05:00
Sukchan Lee
ad85c12513
checking for APN/DNN in case insensitive #617
2020-11-02 11:45:14 -05:00