Commit Graph

4167 Commits

Author SHA1 Message Date
Pau Espin 5f5dbfe7fa DIAMETER_Types: Generate types for 3GPP TS 29.273
The ddf file is added at the end of the list since it depends on tons of
other RFC and 3GGP TS specs, see for instance TS 29.372 Table 8.2.3.0.

Change-Id: I17f7f025ff31d9ce619cd23bfa5f1af282969dbf
2024-03-05 12:52:48 +01:00
Pau Espin 5b28c96469 DIAMETER_Types: Move RFC ddf files earlier in the dependency list of files to generate
A ddf file for TS 29.273 will be added soon to the list, which depends
on several RFCs. Move RFCs earlier in the list since this is a more
generic file than a 3GPP one.

Change-Id: Idcbdfd97332195af05928c81068f6a4779ac306e
2024-03-05 12:50:54 +01:00
Pau Espin b0b5e0ad12 checkpatch.conf: Exclude machine-generated file library/DIAMETER_Types.ttcn from linter
Change-Id: Iff72ddabea41b36d30a7ad87218aa68b1297c35e
2024-03-05 12:21:43 +01:00
Pau Espin 1cb639e6f1 Remove unwanted epdg/ICMP_Types.ttcn
It seems I somehow ended up adding this link file in
bf03d77649 when submitting the patch.
Get rid of it since it is totally undesired.

Change-Id: Iec812841bc474ae423b447707adc520cf4039499
2024-03-05 11:49:47 +01:00
Pau Espin 297333a423 mme, pgw: Fix GTPv2_Emulation setup after recent changes
The fields were added to be used in EPDG_Tests, but they need to be
explicitly set to omit here.

Fixes: 65a7f762ef
Change-Id: I3ed3c185310082f36bbce22817b903232825567c
2024-03-05 11:26:13 +01:00
Pau Espin bf03d77649 epdg: Introduce test TC_mt_ipv4_echo_req
Change-Id: Ie5dc1bd995262f9253cc067c97a82c801b0080e1
2024-03-04 21:47:55 +00:00
Pau Espin e16e928f14 ggsn_tests: Split out generic ICMP(v6) related templates and functions
Change-Id: I53a5da05caeef4cdd59778840a6f4eed489f1b93
2024-03-04 21:47:55 +00:00
Pau Espin a9b65f1ea9 epdg: Introduce test TC_upf_echo_req
Change-Id: I3fd96f212175959cb113d2f6a362c0e77e5ca0d7
2024-03-04 21:47:55 +00:00
Harald Welte 556e4d2dbc various: update expected-results.xml
Change-Id: I21052636bf892e5da86ef736d16035ec324aedbe
2024-03-04 19:09:58 +00:00
Vadim Yanitskiy 03b2fa9ecb stp: check-in expected-results.xml from Jenkins
Change-Id: Id4081af9e9d5b0a95dc2fe7d137778747dc27bd0
2024-03-04 19:09:03 +00:00
Pau Espin 65a7f762ef GTPv2_Emulation: Add support to handle GTPv1-U
Change-Id: I34c744015c09a387cbf736063303bdb61ca4744e
2024-03-04 10:22:31 +00:00
Vadim Yanitskiy f197ed2dfd library/M3UA: support TCP transport, implement desegmentation
Change-Id: If1dcdb185d08a08dc5a06c37d9d6ffe7d6da9325
Related: libosmo-sccp.git I8c76d271472befacbeb998a93bbdc9e8660d9b5d
Related: SYS#5424
2024-03-01 11:57:00 +00:00
Vadim Yanitskiy 020a8fc281 stp/osmo-stp.cfg: tune the logging formatting
Change-Id: Ieafa0599246f40958be6333512b7c41379b38a20
2024-03-01 11:57:00 +00:00
Pau Espin 4b090c95d5 Split GTP_CodecPort/GTP_Templates into C and U variants
The Types are already split in the dependent modules in GTPC_Types and
GTPU_Types.
There's no point in keeping them together in the same file since those 2
protocols are mostly independent.
Furthermore, testsuites using GTPv2C + GTPv1U don't need GTPv1C.

Change-Id: Ic15c9a2e92828cbafb4dda7355ee534107051e2d
2024-03-01 10:28:22 +00:00
Pau Espin 7b2cc9219a epdg: Introduce test TC_s2b_CreateSession_rejected
Related: OS#6371
Change-Id: Ide1df9e359b12094f82e54a7824c83f515aedcc3
2024-03-01 10:28:22 +00:00
Pau Espin 285a2b65ab epdg: Add tests to validate concurrent connections
Change-Id: I842dacda56abe47afb19e951eaae746b5e8d9fe7
2024-03-01 10:28:22 +00:00
Vadim Yanitskiy fdf0206ecc sgsn: osmo-*.cfg: tune logging configuration
Change-Id: I2f2cc69a481709e862d569b0298561b61506dfa7
2024-03-01 08:03:59 +00:00
Vadim Yanitskiy 472f8c0569 sgsn/expected-results.xml: add missing testcases
Change-Id: I09cc32bffde9d9dec59befa181a995e88112b2d2
2024-03-01 08:03:59 +00:00
Vadim Yanitskiy 5cefd81a0b msc/expected-results.xml: add missing testcases
Change-Id: I1604bb955707d0e44bfd08ecd3a28a936731c166
2024-03-01 08:03:59 +00:00
Oliver Smith 9daae3e49b ggsn_tests: f_wait_icmp4: don't shutdown on error
Use setverdict(fail, …) instead of shutting down the test. Otherwise we
don't close the PDP context. This fixes TC_pdp6_act_deact failing if it
runs after a failed TC_pdp4_act_update_teid.

Change-Id: Ib31481e79fc81983ae0c36f0512c6b7dba3f28a8
2024-02-29 07:22:05 +00:00
Oliver Smith bbbe05df68 ggsn_tests: fix typo
Change-Id: Iefd1bfead68878553cbfd0f34ea8aaa4bdd40a41
2024-02-29 07:22:05 +00:00
Pau Espin e28f2fbbb2 cosmetic: epdg: Drop extra whitelines
Change-Id: I20cde98340efb41a13d430f8692b3242eb5824be
2024-02-28 19:11:11 +01:00
Pau Espin e1f7a8c324 GSUP_Emulation: Update internal tables to allow 256 sessions
Other Emulations like GTPv2 and DIAMETER already support that number of
sessions. Increase it to the same number in GSUP_Emulation to allow
handling a high amount of concurrent sessions while testing ePDG.

Change-Id: I9ce650140fc372debc85b603a20bbe9ea165c972
2024-02-28 14:15:19 +01:00
Pau Espin 7ae55ea29c Update pcap pkt size to 1520 bytes
I see packets of 1520 bytes in the generated pcap running under the
docker setup. This happens when a lot of IPA concurrent clients send
messages and end up in the same TCP packet due to naggle algorithm.

Change-Id: I362371508ba83acc48376b6ed012a97a59d4b31b
2024-02-28 14:15:19 +01:00
Pau Espin 4ecc808f1d pgw: Introduce test TC_s2b_createSession_v4_apco
Make sure APCO IE is properly handled and answered back.

Change-Id: Ib01fe0512866924a5afc4d6719ceacb0b4b54df2
2024-02-28 12:54:21 +00:00
Pau Espin 518e24b861 pgw: Introduce test TC_s2b_createSession_v4_no_apco
This test allows initial testing of a session creation through the S2b
interface (emulating an ePDG).

A follow-up test will be added to test the APCO IE (feature which
open5gs-smfd still doesn't support).

Change-Id: I38e469edf0e00feca5a648035b64645e2c905937
2024-02-28 12:54:21 +00:00
Vadim Yanitskiy 4199a701c3 msc/MSC_Tests.cfg: remove commented out testcase list
Change-Id: I573b55e235ebb093b1166c1fe78feaa4f296ce8c
2024-02-28 15:30:10 +07:00
Pau Espin 355a133048 PGW_Tests: refactor/improve several parameters to accomodate for different GTPv2C interfaces
So far we were only testing s5/s8 interface, but we'll want to test s2b
soon.
This commit is a mixture of refactorings and code improvements as a step
towards testing S2b interface.

Change-Id: I22b3e18d02ca828e2ea43bde2e0a602db236cf50
2024-02-23 17:44:17 +01:00
Pau Espin f29258602e epdg: Make sure PCO is forwarded from strongswan to PGW and back
Related: OS#6369
Change-Id: Ie01d6e88b3ccc55fecc97c2ba75bb31bba5b9ef7
2024-02-22 20:12:37 +01:00
Pau Espin cacd707fbf GTPv2_Templates: Allow specifying APCO IE in CreateSessionReq/Resp
Change-Id: I860a9424d6109434a953b1aa39d1fa6035fc7e94
2024-02-22 20:12:04 +01:00
Pau Espin ce1d3cb08c gsup: Add PCO IE
This commit adds a new file PCO_Types.ttcn which allows generically
encoding decoding PCOs.

Change-Id: I9a1ae74712d6e8e0cd524ccd7fc2529b1a15dd97
2024-02-21 20:00:24 +01:00
Pau Espin 78598b51ed epdg: Validate assigned PDP Address and APN
Change-Id: I440a7379c6dab5448d4c57c498ad9d086d0c456b
2024-02-14 19:23:59 +01:00
Pau Espin 24b0859e4c epdg: Fix FTEID interface in CreateSessionResponse
Change-Id: If7ce6580c4690473d9c34ca58f704c8ff535f166
2024-02-09 18:48:53 +01:00
Pau Espin 8586b2675a epdg: Fix UsernMame being NAI instead of IMSI in S6b AAR
Change-Id: Ifa5b262db40b649c6dfe7b5ac43098208b3e8300
2024-02-09 18:12:21 +01:00
Pau Espin df00c4fe94 epdg: Fix instance in CreateSession Re S2b-U PGW F-TEID IE
According to 3GPP TS 29.274 Table 7.2.2-1, instance=1.

Change-Id: If0e2425e0a64e528990bfd589b858d0955a4677a
2024-02-08 19:23:14 +01:00
Pau Espin b351cd6e20 epdg: Fix instance in CreateSession Resp BearerCtx S2b-U PGW F-TEID IE
According to 3GPP TS 29.274 Table 7.2.2-2, instance=4.

Change-Id: Ie60605f39b4c43f186aee67f966708a1efe70412
2024-02-08 18:21:22 +01:00
Pau Espin c2cfd550db epdg: Add PDP-Info IE to GSUP Auth Info Req
Strongswan already has this information during first IKE_AUTH message,
see 3GPP TS 24.302 7.2.2.1.

Change-Id: I42e4dc4bbcef969aae5867dbb103f8a5db157c89
2024-02-07 17:53:24 +01:00
Pau Espin 14abac5302 epdg: Introduce test TC_ho_lte_to_wifi
This test emulates a UE doing handover to ePDG, when it may create extra
dedicated bearers.

Change-Id: Ibdfeda1fa5d7016b1952d64b306cd501cb33f61b
2024-02-07 16:36:35 +00:00
Pau Espin cbe6eba269 epdg: Expect GSUP CancelLocationReq as consequence of DeleteBearerReq
Change-Id: Ibc37a9ef53315edab18f7b97a55cf504a40a4bf1
2024-02-07 16:36:35 +00:00
Pau Espin af8ba5823b epdg: Avoid tx PurgeMS before doing handover in TC_ho_wifi_to_lte
Change-Id: Ic6db92c79e055bc98d502620930ab36e9a4fd4fd
2024-02-07 16:36:35 +00:00
Vadim Yanitskiy 090759a297 library/L1CTL_Types: add definition of L1CTL_GPRS_UL_BLOCK_CNF
Change-Id: I772bb0ace0efbc7e7fe788fd49218fe398097943
Related: osmocom-bb.git I56e0b5631c7446390adbfc5664e56f56ebb88cc1
2024-02-05 21:43:05 +07:00
Pau Espin 4944a5cee6 epdg: Test UE-initiated Detach Procedure
Related: OS#6333
Change-Id: I19114c69119e42622f323378dd356217d107cb32
2024-01-31 19:27:55 +01:00
Pau Espin a518d05e9b GSUP: Fix spare and pdp_type_org fields swapped in PDPAddress IE
A recent commit added records to separate 2 binary octets into known
fields, but 2 fields filling 1 byte were actually written swapped. Fix
it now.

Fixes: 7b7a1e8ed1
Change-Id: I884bddb0e1e5f1cfc5615c11d6c7d602d0df9224
2024-01-30 12:35:35 +01:00
Pau Espin 1cbbf9edb6 NS_Emulation: expect altstep timeout entry only if timer is running
Should fix the following log message:
NS_Emulation.ttcnpp:784 Timeout operation on timer Tns_alive failed: The timer is not started.

Change-Id: If1fae965659f73fde2508b0e9158099025fa65f2
2024-01-30 11:15:48 +01:00
Pau Espin f7926c070a BSSGP_Emulation: expect altstep timeout entry only if timer is running
Should fix the following log message:
BSSGP_Emulation.ttcnpp:1118 Timeout operation on timer g_T1 failed: The timer is not started.

Change-Id: Id7d1b76a6bc1fc2f0f4896c59673c01293b526e9
2024-01-30 11:12:47 +01:00
Pau Espin c119ba0171 epdg: expect AAA_server tx SAR against HSS upon AA on s6B interface
The AAA-Server informs the HSS when the session is created at the PGW.

Change-Id: I1b81f1a2225f54d0f8f679e53d87f342feb495be
2024-01-29 11:55:54 +01:00
Pau Espin cff72f8d16 ggsn: Validate IPCP identifier in answer matches the one in the request
Related: https://github.com/open5gs/open5gs/pull/2920
Related: SYS#6582
Change-Id: I0e0cefaeb303b4e284173011231170554e225561
2024-01-26 16:59:09 +01:00
Pau Espin 867b13025b DIAMETER: Split Gy and Gx messages to their own TS files
Those interfaces reuse messages from other Diameter RFCs, but changing
the contents of the messages, eg some Mandatory fields like
Service-Context-Id which are mandatory in RFC5006, doesn't even appear
in Gx CCR in TS 29.212.

Keeping them well separated helps in avoiding confusion on users fo the
messages.

Change-Id: Ibe0d5f263813d5083e020c942283f214983162b4
2024-01-24 16:14:30 +01:00
Pau Espin a6b0c1c128 GSUP: Fix build of IEs in f_gen_tr_ies(), add PdpInfo(Compl) IEs to it
The previous conditions "isvalue()" were wrong. Passing an array of
templates to isvalue() returns false, which is unexpected here.

Change-Id: Iaad47b1ec7e2a7477fa554df9caeb866ffa594eb
2024-01-23 11:21:42 +01:00
Pau Espin c63fa8ee87 GSUP: Fix missing and wrongly sorted IEs in ts_GSUP_IE_PdpInfo
Sort them to follow libosmocore implementation.

Change-Id: I65e586187d7230f122644c101f8467becae6e204
2024-01-23 11:21:37 +01:00