summaryrefslogtreecommitdiffstats
path: root/sgsn
AgeCommit message (Collapse)AuthorFilesLines
2019-03-27NS_Emulation: Add minimal support for SGSN-side SNS handlingHarald Welte1-3/+9
Change-Id: I1edf739d6fd39478f662a28a7d9334ca51c270a3
2019-01-23update expected resultsNeels Hofmeyr1-7/+2
Change-Id: Idacaf8343bed4a37878eacdf338c4d5eb46bf7a7
2018-10-24Add Misc_Helpers.ttcn to centralize TTCN3 shutdown handlingDaniel Willmann1-1/+1
This function can now be called from anywhere to try and safely shutdown a testcase. It is not optimal as we can't call "all component.stop" from outside the mtc, but without any proper and orderly shutdown handling of all our emulation components I believe this is the best we can do. To use it: import from Misc_Helpers all; in your module and then call Misc_Helpers.f_shutdown(__BFILE__, __LINE__); You can also pass the function a verdict and a message and it will take care of calling setverdict, but beware of the following: While setverdict would accept any number of arguments as log message and convert them to a log string f_shutdown expects one charstring. It's possible to use the log2str function to use the log arguments in setverdict for f_shutdown, for example setverdict(fail, "Template didn't match: ", tmpl_foo); would become Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Template didn't match: ", tmpl_foo)); Change-Id: I84d1aa6732f6b748d2bfdeac8f6309023717f267
2018-10-03sgsn: update expected-resultsAlexander Couzens1-32/+13
Change-Id: Ie08fb0b5a94728640f65f56430a217b51aea3dde
2018-09-14sgsn: implement TC_attach_usim_resyncAlexander Couzens1-0/+131
Test the UMTS AKA resync procedure with USIMs. MS -> SGSN: Attach Request MS <- SGSN: Identity Request IMSI MS -> SGSN: Identity Response IMSI MS <- SGSN: Identity Request IMEI MS -> SGSN: Identity Response IMEI HLR<- SGSN: SAI Request HLR-> SGSN: SAI Response MS <- SGSN: Auth Request MS -> SGSN: Auth Failure (with AUTS) HLR<- SGSN: SAI Request (with AUTS & RAND) HLR-> SGSN: SAI Response (new key material) MS <- SGSN: Auth Request (new key material) MS -> SGSN: Auth Response MS <- SGSN: Attach Accept MS -> SGSN: Attach Complete Change-Id: I52a8dc45bb67d4ca9f3efade278d3308bb0da73d
2018-09-06update expected resultsNeels Hofmeyr1-9/+27
Change-Id: I32c29e62ca317937db771f8fb1540bb1fe9da2ab
2018-09-04sgsn: add TC_attach_gmm_attach_req_while_gmm_attachAlexander Couzens1-0/+73
Testing the corner case of receiving an Attach Request while not (yet) sent an Attach Accept. MS -> SGSN: Attach Request IMSI MS <- SGSN: Identity Request IMSI (optional) MS -> SGSN: Identity Response IMSI (optional) MS <- SGSN: Identity Request IMEI MS -> SGSN: Attach Request (2nd) MS <- SGSN: Identity Response IMEI MS <- SGSN: Attach Accept MS -> SGSN: Attach Complete Change-Id: I0bac50dc5a72ba8f9010b05bcb98aa7ff0b81cf6
2018-09-04sgsn: rework TC_attach_closed_add_vty to be executed in a single BSSGP_ConnHldrAlexander Couzens1-6/+13
When stopping and starting BSSGP_ConnHdlr multiple times, there are Port connecting problems. Using a single iteration of BSSGP_ConnHldr.start() works around this problem. Change-Id: I8e5ae832f3908a172b9beb6d936074b806e0c799
2018-09-04sgsn: fix TC_attach_check_complete_resendAlexander Couzens1-1/+4
TC_attach_check_complete_resend tests if the SGSN sends out the SGSN Attach Accept multiple times. If the MS disappear, there is no need for a ATTACH REJECT. Change-Id: I3fa5c100b8389e184acf1e71e2792e5474c22dec
2018-09-04sgsn: increase the timeout of some TCAlexander Couzens1-7/+7
Because of multiple BSSGP connections, the tests need more time to complete. Change-Id: I12baf4b2425d0d862755d03d16127b18968e28f2
2018-09-04sgsn: use vty cmd `reset sgsn state`.Alexander Couzens1-1/+2
Cleans most of the sgsn state. Depends on the SGSN commit I92096f3f6ea49e75676e30e9921d00210bac5382. Change-Id: Idff3de6f1b8f5cb503edc5c6256ce2bf7ec7aaa2
2018-09-04sgsn: introduce TC_attach_rau_a_bAlexander Couzens1-0/+34
MS <-> SGSN: Successful Attach MS -> SGSN: Routing Area _a_ Update Request MS <- SGSN: Routing Area _a_ Update Accept MS -> SGSN: Routing Area _b_ Update Request MS <- SGSN: Routing Area _b_ Update Accept MS -> SGSN: Detach (PowerOff) Change-Id: Ie636778628c216e315bd6f5bc11e0e5bd9c218a5
2018-09-04sgsn: add optional bssgp index for f_upd_ptmsi_and_tlli ↵Alexander Couzens1-10/+10
f_bssgp_client_llgmm_assign f_process_rau_accept f_process_rau_accept can send the RAU Complete over the correct BSSGP Change-Id: Ib9a65f0d09d3689911843a1b40e2a4114710e5b5
2018-08-28sgsn: don't re-use the same NS for all 3 BSSGPAlexander Couzens2-14/+27
Create for every BSSGP a new NS instance. Change-Id: I3448fe837eaa8efab65dccc32bacaaacd73a2f09
2018-08-14BSSGP_Emulation: move LLC layer out of BSSGPAlexander Couzens1-33/+44
The LLC layer needs to be accessed by the SGSN tests in order to do multi-BSSGP tests. Otherwise the sgsn will see LLC frame with wrong sequence numbers and drop them. Change-Id: Ie9e9d7da0a78a96f4f431c9085b9e273a39535f1
2018-08-14sgsn: add f_cellid_to_RAI()Alexander Couzens1-0/+16
Returns a RoutingAreaIdentificationV from GbInstance. This will be useful when using multiple BSSGP and the g_pars.ra field is not the needed ra. Change-Id: Ide96213ab2f210590b86deaf370486c8a0a78058
2018-08-14sgsn: introduce TC_attach_rau_a_a()Alexander Couzens1-0/+31
MS <-> SGSN: Successful Attach MS -> SGSN: Routing Area Update Request MS <- SGSN: Routing Area Update Accept MS -> SGSN: Routing Area Update Request MS <- SGSN: Routing Area Update Accept MS -> SGSN: Detach (PowerOff) Change-Id: Id76b4792c07816bcbe5e965f23c2b526df0923c3
2018-08-14sgsn: introduce f_routing_area_update()Alexander Couzens1-14/+21
Will be used by future RAU tests Change-Id: I4064e013f73319f24bb893a9047c8b9eb7d6aac2
2018-08-14sgsn: create 3 instances of BSSGP at the same timeAlexander Couzens1-56/+65
Allows to use different BSSGP connection within a single test. Change-Id: I01d7f264a0a52e248d6e754485c807266c0b14bf
2018-08-14BSSGP_Emulation.ttcn: extend BSSGP_Client_CT to hold 3 instances of BSSGPAlexander Couzens1-91/+91
Change-Id: Ibd7abba826a08b582361e9c255e9c44185e14067
2018-08-13NS_Emulation: support multiple instances at the same timeAlexander Couzens2-7/+16
The NS_Emulation has configuration values hardcoded or bound to module parameters which prevents multiple instances. Replace the module parameter based configuration with configuration given when starting the NS_Emaulation. Change-Id: I9128f9ad5c372779c38799269393137ba52576cd
2018-08-09sgsn: fill g_gb configs for the remaining Gb interfacesAlexander Couzens1-0/+26
When testing with multiple Routing Areas, multiple Gb interface are required. Change-Id: I7f56618110f04d99b1b43e69d89167e384b61a34
2018-08-07sgsn: f_pdp_ctx_deact_mt: rework test behaviour to workaround shutdown problemsAlexander Couzens1-1/+10
When introducing multiple BSSGP instances, this tests has problem when shutting down the test. Change-Id: I0cd1adf072f8ba40343e51e41f23a1de6a2bd62c
2018-07-27detect VTY TELNET port connection failures (attempt #2)Stefan Sperling1-0/+1
Pass the CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT parameter to the TELNET port by default. This allows tests to make progress into an error handling path if they are started while the osmo-* program they want to connect on VTY is not running. Observed with osmo-ggsn tests, where if the one test runs into a VTY connection failure the subsequent test would get stuck forever in a map() call on the VTY TELNET port. Teach the function f_vty_wait_for_prompt() about connection reports by the TELNET module. We may now receive an integer which represents the socket file descriptor for the telnet connection. This case was not handled by the previous change made in commit cb111b21aba1d5881da1a1d3f19754cbd15b3779. As a result, BSC tests started failing with "VTY Timeout for prompt" because the alt-statement in f_vty_wait_for_prompt() would not progress past the integer sitting on the VTY port's receive queue. Change-Id: I56925f93af6c55e93f3f417099db135744da6a40 Related: OS#3149
2018-07-27Revert "detect VTY TELNET port connection failures in TTCN3 tests"Neels Hofmeyr1-1/+0
With this patch, I see all ttcn3-bsc-tests failing with "Verdict: fail reason: VTY Timeout for prompt" This reverts commit cb111b21aba1d5881da1a1d3f19754cbd15b3779. Change-Id: I215d7ab5eee75cf6d3afaac760af64356c943140
2018-07-27detect VTY TELNET port connection failures in TTCN3 testsStefan Sperling1-0/+1
Pass the CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT parameter to the TELNET port by default. This allows tests to make progress into an error handling path if they are started while the osmo-* program they want to connect on VTY is not running. Observed with osmo-ggsn tests, where if the one test runs into a VTY connection failure the subsequent test would get stuck forever in a map() call on the VTY TELNET port. Change-Id: I9acf7793d5d68aec6d087cff254a10d8b673dab1 Related: OS#3149
2018-07-24Stop tests after failuresDaniel Willmann1-8/+24
Call mtc.stop after setverdict(fail), add reasons to most failures and fail with verdict error for internal errors. Change-Id: I9b618235939fa41160b9be6677b121963d3ec857
2018-07-21sgsn: Add test to verify GPRS ctx deact caused by GTP ErrorIndPau Espin Pedrol2-7/+33
Change-Id: I40e877f4126e62a731b071ae1d6d855fed210433
2018-07-21sgsn: Remove uneeded f_gtpu_send in f_gtpu_xceive_moPau Espin Pedrol1-1/+1
It's not needed for the functionality/scenario of f_gtpu_xceive_mo. It probably was left in when creating it from f_gtpu_xceive_mo. Change-Id: Ide226f8501c4598e2bfaa5f1ea62c3ff20807ce4
2018-07-21sgsn: Add Test to verify Recovery procedure during CreatePdpRespPau Espin Pedrol2-8/+56
Change-Id: Ic81b854967492194367b7ce8a667c29c777791bf
2018-07-21sgsn: Add Test to verify timer t3395Pau Espin Pedrol2-1/+39
Change-Id: I9ec0863603692045b0d8da376e65080150066173
2018-07-16sgsn: Fix TC_attach_pdp_act_user_deact_mtPau Espin Pedrol2-8/+3
Expect to receive a TearDown Indicator. Change-Id: I37dafb5e93ac06b3bd9cab2c06aa3735a8429f2f
2018-07-13sgsn: Add test to verify restart_ctr during echo req/reply.Pau Espin Pedrol2-1/+55
Currently test doesn't fully work because it doesn't match the PDP CTX DEL REQ correctly. Change-Id: I1dcb250dba2079c14b857c0b89a02ac21d1c591f
2018-07-13sgsn: f_pdp_ctx_deact_mt: force teardown to avoid sgsn ignoring msgPau Espin Pedrol1-1/+1
According to """ If a GSN receives a Delete PDP context without a Teardown In dicator or with a Teardown Indicator with value set to "0" and only that PDP context is active for a PDN connection, then the GSN shall ignore the message. """ Change-Id: Id5d4774d719685631e4b467dff833ae886c90145
2018-06-14Add README.md file for several suitesPau Espin Pedrol1-0/+18
Content grabbed from [1] and converted to markdown as it's more probable to have it displayed correctly on popular git repo hosting platforms. Syntax for embedded graphviz taken from [2]. [1] http://git.gnumonks.org/laforge-slides/plain/2018/osmodevcon2018-ttcn3_test_suites/osmodevcon2018-ttcn3_test_suites.adoc [2] https://github.com/stlehmann/markdown-graphviz Change-Id: I9aad03e605569e9613665a7585d60bf308bcb54f
2018-06-14sgsn: add TC_attach_check_complete_resend()Alexander Couzens1-0/+37
MS -> SGSN: Attach Request IMSI MS <- SGSN: Identity Request * MS -> SGSN: Identity Response * MS <- SGSN: Attach Complete 5x Change-Id: I9bbbda01f3c41a2f8acf13042d6bcc86f18d74ce
2018-06-14sgsn: f_TC_attach_closed_foreign: fail on recv an Attach AcceptAlexander Couzens1-0/+3
The test expect a reject. Recv an attach accept should fail then. Change-Id: I8a4ae6aaaa71dabb1d8a2ee7585e624b962a3500
2018-06-14sgsn: add TC_attach_closed_add_vtyAlexander Couzens1-0/+55
Check acl policy closed. VTY-> SGSN: policy close MS -> SGSN: Attach Request MS <- SGSN: Identity Request IMSI MS -> SGSN: Identity Response IMSI MS <- SGSN: Attach Reject VTY-> SGSN: policy imsi-acl add IMSI MS -> SGSN: Attach Request MS <- SGSN: Identity Request IMSI MS -> SGSN: Identity Response IMSI MS <- SGSN: Identity Request IMEI MS -> SGSN: Identity Response IMEI MS <- SGSN: Attach Accept Change-Id: I1832c339a9d54c0038433ad44e292031a8905e20
2018-06-12sgsn: add TC_attach_check_subscriber_listAlexander Couzens1-0/+22
MS <-> SGSN: Attach VTY -> SGSN: Check if MS is in subscriber cache Change-Id: If19073ef4a5b1e2219bd5184ae30d55ffb71844a
2018-06-12sgsn: TC_hlr_location_cancel_request_update: remove superflous Update ↵Alexander Couzens1-1/+0
Location Response There shouldn't be any update location pending Change-Id: I94b9307311a8095065212e1820cacc6cd2be0a3a
2018-06-12sgsn: add TC_attach_detach_check_subscriber_listAlexander Couzens1-1/+20
MS <-> SGSN: Attach MS -> SGSN: Detach Req (Power off) VTY -> SGSN: Check if MS is NOT in subscriber cache Change-Id: I0956d54760f19ca556fa0d16ea4c5b96ac13f2fa
2018-06-12sgsn: add TC_attach_no_imsi_responseAlexander Couzens1-0/+48
Ignores Identity Request IMSI. MS -> SGSN: Attach Request TMSI (unknown) MS <- SGSN: Identity Request IMEI (optional) MS -> SGSN: Identity Response IMEI (optional) MS <- SGSN: Identity Request IMSI MS -x SGSN: no response MS <- SGSN: re-send: Identity Request IMSI 4x MS <- SGSN: Attach Reject Change-Id: I4f41d59cfe6b0168b5e0874082fd700b56a7f0da
2018-06-12sgsn: add TC_attach_no_imei_responseAlexander Couzens1-0/+45
Ignores Identity Request IMEI. MS -> SGSN: Attach Request IMSI MS <- SGSN: Identity Request IMSI (optional) MS -> SGSN: Identity Response IMSI (optional) MS <- SGSN: Identity Request IMEI MS -x SGSN: no response MS <- SGSN: re-send: Identity Request IMEI 4x MS <- SGSN: Attach Reject Change-Id: Ie50c75e62e31e01c5b17969fb067664e44fd68a5
2018-06-12sgsn: TC_hlr_location_cancel_*: 5 seconds timeout is to shortAlexander Couzens1-3/+3
These tests failed on jenkins. Change-Id: I56a62e70763b7c331fc528cd7e4064a5ec9f2a04
2018-06-12SGSN: fix spaces/tabs in ↵Alexander Couzens1-2/+2
TC_hlr_location_cancel_request_unknown_subscriber_{withdraw,update} Fixes: 6c47f294954f ("SGSN: add TC_hlr_location_cancel_request_unknown_subscriber_{withdraw,update}") Change-Id: I5074dadf53ec75a9c709b28ff324e23fdcd13bfa
2018-06-12*.default: change logging filemask from ERROR | WARNING to += PARALLEL | ↵Alexander Couzens1-5/+5
VERDICTOP PARALLEL | VERDICTOP will log when the port is dying or when other components will change to fail. This helped to find a timeout in the SGSN tests where a function call message timed out. Change-Id: I770ac964dc37e2752e7d35e493f707b091c739b0
2018-06-07update expected results: bsc, sgsnNeels Hofmeyr1-6/+15
Change-Id: Icc8bb648b3c79b2e29450ca38dd95bad1d2d09aa
2018-05-29SGSN: add TC_hlr_location_cancel_request_updateAlexander Couzens1-0/+41
MS <-> SGSN: GMM Attach HLR -> SGSN: Cancel Location Request HLR <- SGSN: Cancel Location Ack Change-Id: I5d3a818eb0a4eb3b0d4bd7bd88874bd2ac6adb11
2018-05-26SGSN: add TC_hlr_location_cancel_request_unknown_subscriber_{withdraw,update}Alexander Couzens1-0/+49
Cancel Location using an unknown IMSI. HLR -> SGSN: Cancel Location Request HLR <- SGSN: Cancel Location Error Change-Id: Iad90c3cc25d72b9ab40e358fe60aa6f62163f146
2018-05-26SGSN: add TC_hlr_location_cancel_requestAlexander Couzens1-0/+32
MS <-> SGSN: GMM Attach HLR -> SGSN: Cancel Location Request HLR <- SGSN: Cancel Location Ack MS <- SGSN: Detach Request SGSN-> MS: Detach Complete Change-Id: Id5d6b018a5a4389eefa8f5d950324aab91709f5a