aboutsummaryrefslogtreecommitdiffstats
path: root/sgsn
AgeCommit message (Collapse)AuthorFilesLines
2021-02-16sgsn: Fix regression regarding g_pars.bssgp.cell_id[] array overflowHarald Welte1-1/+3
This was introduced in I7d859fd710dba96eb9b46c428243281183e1be12 and caused Iu related TTCN3 tests to fail with: SGSN_Tests.ttcn:771 Dynamic test case error: Index overflow in a value of type @SGSN_Tests.BssgpCellIds: The index is 3, but the value has only 3 elements. Change-Id: Iaae0015f5e7c7eabc426add91b5de1b63bf6d9f6
2021-02-16sgsn: Introduce tests for several cell change related scenariosPau Espin Pedrol1-7/+151
Test TC_cell_change_different_ci_data provides test case for fix in osmo-sgsn.git Change-Id I2c14e1d65575f54212924f7c5f0a2f4c1b76ec81 Related: SYS#4909 Change-Id: I2158685bf817d4bf064bb4d2ef5aa96ca252fe21
2021-02-12sgsn: Fix f_process_attach_accept on ran_index != 0Pau Espin Pedrol1-6/+8
Change-Id: I7d859fd710dba96eb9b46c428243281183e1be12
2021-02-12sgsn: Fix f_cellid_to_RAIPau Espin Pedrol1-2/+2
Change-Id: I4f6d609119b4a9e211fb1b285e4fc3e42d8ebdb6
2021-01-28sgsn: change configuration to the new NS2Alexander Couzens2-5/+3
Change the whole vty configuration for NS to be more flexible and support more setups. Old configurations are invalid. For further information see: https://osmocom.org/projects/libosmocore/wiki/Network_service_(NS) Depends-on: If5bd6b86e130772e6c93d640b0c637985416136d (osmo-sgsn) Change-Id: I37d010bc4ae553c30feb2ebd2be66d23b96bf42a
2021-01-20NS_Emulation: Respect data_weight==0 or signalling_weight==0Harald Welte1-3/+9
* allow configuration of signalling + data weight for each NS-VC * advertise per-NSVC signalling/data weight in SNS-CONFIG * keep track of unblocked NS-VCS separately for data / signalling * transmit BVCI=0 traffic only over signalling NS-VC * transmit BVCI>0 traffic only over data NS-VC * accept incoming BVCI=0 traffic only if signalling_weight > 0 * accept incoming BVCI>0 traffic only if data_weight > 0 Related: OS#4953 Change-Id: I9798e639b4bc8658482945970775b012b5840779
2021-01-17RAW_NS: rework NS connection to use NS_ProviderAlexander Couzens3-11/+10
Previous RAW_NS only supported NS over UDP because it handled the UDP connection on it's own. Because of this there was no cleanup function for the tests because no virtual component were started. Using the new NS_Provider allows to use the same tests over UDP and FR with no changes. Change-Id: I8a3b6c72798a75f434f54229fdbfc802cd13967e
2021-01-14update expected-results.xmlAlexander Couzens1-1/+7
Change-Id: Ib4399aa488afd917e3eda5e79d56ea3797ef7c78
2021-01-05SGSN_Tests: test RIM message passingPhilipp Maier1-0/+90
Add a testcase to test if RIM messages can be passed on the SGSN back and forth. Related: SYS#5103 Change-Id: If0ab08dcdc28819740cc07fd4dc1fea47ba10843 Related: SYS#5103
2020-12-10sgsn+pcu: Port suspend/resume cases to new BSSGP_CT:GLOBAL portHarald Welte1-6/+9
For 12+ days, suspend/resume related SGSN + PCU TTCN3 tets have been failing. It was the introduction of the BSSGP_CT:GLOBAL test port in I40d973d80709f5d56f59247e8647b52754f09bc8 + I805372f3024a0ec2491a24422e02c0bc6dc669d2 which caused the related PDUs now to no longer show up where they used to. Change-Id: I1977302fef4868dc1c330bc6f48f6a6608949393 Closes: OS#4902
2020-11-16BSSGP_Emulation: Allow a "CreateCb" to handle unknown inbound TLLIHarald Welte1-3/+6
The existing BSSGP Code assumed that the TLLIs were always known "a priori" by the test case. With the newly-introduced create_cb, the user can provide a function to handle any incoming messages for an unknown TLLL. The default handler behaves like before: fail + terminate. Change-Id: Ice0e145f5a6518ff79547dd851042b7965f38e00
2020-11-12NS_Emulation: Support multiple NS-VC within one NSE (NS-VCG)Harald Welte2-48/+72
This is something we need to simulate more complex scenarios, particularly in the context of frame relay. Change-Id: If1220852785853f8a5d8de183d5053ddd6ccb958
2020-10-09BSSGP_Emulation: Support multiple PTP-BVC within one EntityHarald Welte1-45/+81
The existing BSSGP_Emulation is built around the assumption that every instance of BSSGP_Emulation only servers one signaling-BVC and one PTP-BVC. While this is true for osmo-pcu at this point (BTS-colocated PCU), other BSS/PCU implementations differ. In general, there can always be any number of PTP BVC (one per cell) next to the signaling BVC (one per BSS). Let's represent this in BSSGP_Emulation so we can create more comprehensive tests. Change-Id: I7e30b4c4e188518a574e082962fba457b3a97ce3
2020-10-04regen-makefile.sh: Put libraries in LINUX_LIBS, not LDFLAGSHarald Welte1-1/+1
Additional libraries to be linked should be in LINUX_LIBS (appended at the end of the linker command), not part of LDFLAGS (prepended to the beginning of the linker command). On binutils 2.35.1 / Debian unstable, without this patch, I get /usr/bin/ld: IPL4asp_PT.so: undefined reference to `sctp_bindx' /usr/bin/ld: IPL4asp_PT.so: undefined reference to `sctp_connectx' which is resolved by this patch Change-Id: I8a339076f445e3c650e407ae982c7c2dc4a760b2
2020-10-03NS_Emulation: Add [optional] support for FrameRelay transportHarald Welte1-1/+1
This adds a NS_Provider_FR which interfaces between FrameRelay_Emulation and NS_Emulation. Include support for it only if enabled at compile time to avoid pulling in a dependency on the FrameRelay stack for every user of NS_Emulation. Change-Id: I42ca811d23e383e362d2527c8ff2c916a62a5b42
2020-09-27NS_Emulation: Prepare NSConfiguration for non-IP providersHarald Welte2-24/+48
NSConfiguration currently contains parameters relevant only for IP based transport. Move IP/UDP parameters into a sub-structure in anticipation of Frame Relay support. Change-Id: I6904520d8c2f546327029777d68b1907611a8cf5
2020-09-25SGSN: introduce NS testsAlexander Couzens4-3/+62
Similiar to the PCU_Tests_NS introduce SGSN_Tests_NS. Change-Id: Ib2bffbb110961474928f35d212cb492d4b6fdee0
2020-09-25SGSN_Tests.cfg: fixup renaming remote_proto -> address familyAlexander Couzens1-3/+3
In an old version of the PCUIF version 10 this field was named remote_proto but got renamed into address_family before it was merged. Change-Id: Ia49169afe2db2503e99b62bb55639b2aeea546f2
2020-09-18sgsn: update expected-results.xmlAlexander Couzens1-1/+5
Change-Id: Ic06dc761508addd0e2ca85d0cd9f996f13cf84fb
2020-09-18sgsn/SGSN_Tests.cfg: also run Iu testsAlexander Couzens1-0/+1
Change-Id: Ia6ee4b2776cfbb9295334617d8c201c21d1663f7
2020-09-18{PCU,SGSN}: Add missing address_family field in NSConfigurationHarald Welte1-0/+3
Change-Id: If63a96ec7ad28e87ff8bd18bf189d9395dda9c0d
2020-09-17NS_Emulation: remove dependency on PCUIF_TypesAlexander Couzens1-0/+3
The dependency of PCUIF_Types creates also a dependency on Replace the PCU_AddrType by an unix like address family defined in the Osmocom_Types to reduce the dependency. Change-Id: I0b4fda96accef401ffc009010f9f5621583fd6dd
2020-09-17Don't map NS_Emulation_CT:NSCP anymoreHarald Welte1-2/+0
NS_Emulation_CT:NSCP used to be a NS_CODEC_PT, which is a translation port on top of the IPL4asp. Such ports need to be mapped to a system port at start-up. However, in I4d0b7ad0ed9447a038dd3eeee2b975146d10fba0 we introduced a new underlying component called NS_Provider. Hence, NSCP is actually connected to that underlying component, and no longer mapped. The corresponding change in pcu/SGSN_Components.ttcn and sgsn/SGSN_Tests.ttcn has unfortunately been missed in the above-mentioned change. Fix that. Change-Id: I4c085210e6021e38a38ebc052ec3d9b345638cd2
2020-09-17NS_Emulation: Introduce NS_Provider underneath NS_EmulationHarald Welte1-1/+1
This is a step to prepare the NS_Emulation for operating on top of Frame Relay, not just UDP/IP. We replace the NS_CodecPort (mapping to a IPL4asp) with a newly introduced NS_Provider_CT, specifically a NS_Provider_IPL4_CT. This change removes any IP specific bits from NS_Emulation and moves it into the newly-created NS_ProvideR_IPL4. Change-Id: I4d0b7ad0ed9447a038dd3eeee2b975146d10fba0
2020-09-13BSSGP_Emulation: Make L3 (SM/GMM) decoding a compile-time optionHarald Welte2-2/+2
This allows us to build low-level tests that don't require all of L3. Change-Id: I7ef7e93e2cd1d37e7e4a62947ca8dfde30d93b95
2020-09-13move some key types from GSM_RR_Types to GSM_TypesHarald Welte1-0/+1
This in turn means Osmocom_Gb_Types doesn't need to depend on GSM_RR_Types anymore, which is particularly ugly as the latter now depends on RLCMAC_*, creating a long chain of dependencies. Change-Id: I8c8da7709695ff0023f71b3999291e2515b22e46
2020-09-11library/PCUIF_Types: version 10: support IPv6 NSVC addrAlexander Couzens1-1/+1
Change-Id: I13b03c380edc2dc609c5e4053462a3cd6f78ce72 Tweaked-By: Vadim Yanitskiy <vyanitskiy@sysmocom.de> Related: SYS#4915
2020-06-18sgsn: Add series of tests on suspend/resume and paging behaviorHarald Welte1-0/+163
Let's test whether paging is triggered after T3314 expiration, as well as suspend and explicit and implicit resume work as expected Change-Id: I83b7a453958e30dfc727ba3140168217c209833f Related: OS#4616
2020-06-18sgsn: Allow f_gtpu_xceive_mt() to verify non-forwarding caseHarald Welte1-2/+13
In some scenarios we do not expect a PDU from GTP to show up on the Gb side. Let's add support for this. Change-Id: Ia9fde1d433657c920ee1ec4d41004f4544ceb346 Related: OS#4616
2020-06-18sgsn: Add functions for BSSGP suspend + resume procedureHarald Welte1-0/+40
Change-Id: Ib1e370e2c5fe774029f459ef991fb9ac777f5631 Related: OS#4616
2020-06-18sgsn: Add BSSGP_SIG port to ConnHdlrHarald Welte1-0/+3
So far, the ConnHdlr components were only able to exchange BSSGP PDUs on the PTP BVC, but not on the SIGNALING BVC. For this, we need to actually connect to the BSSGP_SP_SIG that BSSGP_Emulation provides. Change-Id: I4482a24e4808ac2fe04401224f628606d8207416 Related: OS#4616
2020-06-18sgsn: Fix comment [cosmetic]Harald Welte1-1/+1
Change-Id: I320bce9af64edf0cfb6f600d9a4c19b73153c805
2020-05-19update expected resultsNeels Hofmeyr1-1/+10
Change-Id: I37014274ee97f09985c31966e7cc9122fe11a856
2020-05-18library/IPA: split t_ASP_IPA_EVT_UD into send / receive templatesVadim Yanitskiy1-1/+1
Change-Id: Ib5494bff3f9aa0ac396b729c326e7b4a64c5a5dd
2020-04-29Split templates in RLCMAC_{CSN1_}Types into their own _Templates filePau Espin Pedrol1-1/+1
RLCMAC blocks have a lot of fields and we will potentially require lots of different templates, as well as functions to handle related structs. Change-Id: I9c6597178168aa3848b21930f33be698dd2ce545
2020-03-28library/GSM_RR_Types: do not duplicate Mobile Identity recordsVadim Yanitskiy1-5/+5
All the records related to Mobile Identity IE (see 3GPP TS 24.008, section 10.5.1.4) are defined in [1], so there is no real need to dumplicate them. Moreover, most of the related templates in library/L3_Templates.ttcn are based on these records. [1] titan.ProtocolModules.MobileL3_v13.4.0/src/MobileL3_CommonIE_Types.ttcn Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced
2020-01-28SGSN_Tests_Iu: Enable Iu tests that made the SGSN crashDaniel Willmann1-3/+2
Depends: osmo-sgsn I3fc614da6ba137e871ee0fe86ca22b6a4a354dd2 Change-Id: I96851c7c06c8f95ad280a275c2b83d825f0c88cb Related: OS#3727
2020-01-28SGSN_Tests: Wait for RAU Accept after receiving SecurityModeCmdDaniel Willmann1-0/+1
We don't want to pass the test or return from this function before receiving a RAU accept. With Iu we expect a Security Mode Command/Complete before the routing area is updated, but we do want to wait for the actual RAU Accept or fail when receiving a RAU Reject. Change-Id: Id89e2c6dae8cbdb5e8dee1c92960dc3346590a95 Related: OS#3727
2020-01-28SGSN_Tests: Only call f_bssgp_client_llgmm_assign for Gb RANDaniel Willmann1-1/+3
Calling this function with Iu RAN (ran_index > 2) does not work because BSSGP_PROC[ran_index] doesn't exist. Change-Id: Ieef654e3886759a40763ece3903de9127ba8d9c6 Related: OS#3727
2019-11-23sgsn: Introduce test TC_attach_req_id_req_ra_updatePau Espin Pedrol2-1/+41
The scenario in this test triggers a crash in osmo-sgsn fixed by osmo-sgsn.git I64fa5cf1b427d3abb99e553e584897261a827ce6. With that osmo-sgsn patch applied, the process doesn't crash anymore but the test still fails due to an XID message being sent with a new yet-not-seen-by-ttcn3 TLLI and as a result TTCN3 BSSGP_Emulation fails: BSSGP_Emulation.ttcn:390 setverdict(fail): none -> fail reason: "Couldn't find Component for TLLI 'FE791757'O", new component reason: "Couldn't find Component for TLLI 'FE791757'O" Other than that, the test runs fine. It still needs to be clarified whether the new TLLI sent by osmo-sgsn is expected and test needs to be fixed, or whether it's an sgsn bug. Related: OS#3957, OS#4245 Change-Id: Id5554a91a8bda712e282c5a3e9e30fb0ca1ec0e8
2019-11-15Update README.md of several TTCN3 test suitesPau Espin Pedrol1-1/+7
Some stuff was wrong and some was missing after new features being implemented in tests over time. Change-Id: I7a279592a68ffc76408a8e728e76151534265cc0
2019-10-08sgsn: delay f_gmm_attach() by 50msAlexander Couzens1-0/+8
Packets sent by f_gmm_attach() might take too long via layers to reach the SGSN. The GMM_ATTACH_COMPL in f_gmm_attach() took soo long, that it arrived after packets, which has been sent after calling f_gmm_attach(). This behaviour was found in TC hlr_location_cancel_request_update(). Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5
2019-09-16Require to receive RANAP_CommonId after RANAP_SecurityModeCompleteAlexander Couzens1-0/+2
The SGSN will send a CommonId after it has sent SecurityModeComplete to support paging coordination in the RNC. Change-Id: I82a05cab2aeea25eec699f726b2f5c4b3eef7560
2019-09-16sgsn: replace variable bssgp with ran_indexAlexander Couzens2-15/+15
Since bssgp also been used for Iu connection, rename the variable to ran_index. Be consistent and use the same variable name everywhere. Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8
2019-09-16sgsn: replace variable gb_idx with ran_indexAlexander Couzens2-55/+55
Since gb_idx also been used for Iu connection, rename the variable to ran_index. Be consistent and use the same variable name everywhere. Change-Id: Ia119feee6a442c76dc337e75c07f4a385cd5e1df
2019-09-16sgsn: replace variable gb_index with ran_indexAlexander Couzens1-7/+7
Since gb_index also been used for Iu connection, rename the variable to ran_index. Be consistent and use the same variable name everywhere. Change-Id: I06b0c6184daeb886e8bd28d50bf18909d9244dc6
2019-09-16sgsn: replace variable bssgp_index with ran_indexAlexander Couzens1-10/+10
Since bssgp_index also been used for Iu connection, rename the variable to ran_index. Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307
2019-09-16sgsn: TC_attach_check_complete_resend: Expect LU sent to HLRPau Espin Pedrol1-0/+2
SGSN is expected to submit an LU after initial GMM Auth Change-Id: Ie2e8f5b9740c7429f5f0bf28e35707a61f23b565
2019-09-12sgsn: add TC_geran_attach_iu_rauAlexander Couzens1-1/+26
MS <-> SGSN: Successful Attach over Geran MS <-> SGSN: Routing Area Update over Iu The test case will crash the SGSN and is not included in the default run. Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef
2019-09-11sgsn: add TC_iu_attach_geran_rauAlexander Couzens1-0/+23
MS <-> SGSN: Attach over Iu MS <-> SGSN: Routing Area Update over Geran The tess case will crash the SGSN and is not included in the default run. Change-Id: Ie043639638a640a2041324fc910964385a41c77d