aboutsummaryrefslogtreecommitdiffstats
path: root/gbproxy
AgeCommit message (Collapse)AuthorFilesLines
2023-05-09gbproxy: Reduce timeout to fix flaky testDaniel Willmann1-1/+1
The individual timeouts in TC_BVC_bringup_conflicting add up to almost 15.0s (the Tguard timeout) which causes the test to sometimes fail. Decrease the time waiting for all BVCs to be unblocked from 10s to 5s, in reality this should be plenty time. Change-Id: I620ce90f9e6b54cc94b4d36ac123f43d8d809f47
2023-04-15cosmetic: gbproxy: fix missing closing parenthesis in log lineHarald Welte1-1/+1
Change-Id: I4f2b5ef048ccd03d5ac2f448ef14691ece3200d2
2023-02-08Update UIT version expectancies after Osmocom CNI release 202302Pau Espin Pedrol1-8/+4
Change-Id: Iec06390a1de9391ab573e66f9bd3421f4a627c6d
2022-11-24{sgsn,gbproxy}: do not link non-existent TCCConversion.hhVadim Yanitskiy1-1/+1
Change-Id: If1a3b0bac7438aa49faa905c8879d096248edfb7
2022-10-21{ns,sgsn,gbproxy}: gen_links.sh: do not link unused modulesVadim Yanitskiy3-7/+2
Change-Id: I8fddd010e2a3ce88c892887fc571ae54d84e931f
2022-08-12update various expected-results.xmlNeels Hofmeyr1-3/+3
Change-Id: I850b79526145307246bca40c70ed8e4d586d8c68
2021-12-15Use alive-type components for "infrastructure" componentsHarald Welte1-4/+4
According to feedback received from TITAN developers in https://www.eclipse.org/forums/index.php?t=msg&th=1106652&goto=1848616&#msg_1848616 the use of alive-type components has the following advantage: > Also the DTE during the shutdown can be avoided to use alive type > components. The test ports of the alive components are not > disconnected/unmapped when the component finished only when killed or > the MTC terminated. So the idea of this patch is to use alive-type components for all the underlying infrastructure, such as the *_Emulation_CT starting from M3UA to SCCP and further up the stack. This way, only the MTC and the highest level of components (such as ConnHdlr) remain as normal components. The hope is that using more alive-type components in the lower protocol layer emulations will reduce the probability of DTE during shutdown if some message is received during the component shutdown after the MTC has completed. Change-Id: I61d791d6d1bfe9226aabbe223baafc5f8f6d4f04
2021-12-08gbproxy: Test BVC bringup with conflicting BVCsDaniel Willmann1-0/+115
Different pcus try to establish the same BVC. Ensure that all the other BVCs still remain functional. Change-Id: I46eb0205b4c86b5f1bdc241ef0b2e12135c028e4
2021-11-30gbproxy: Update expected-results.xmlDaniel Willmann1-37/+10
Change-Id: Id987d1c8e4a901ff9397f0e58072bc039de4e030
2021-11-30gbproxy: Add flush_ll test without new bvciDaniel Willmann1-6/+39
Depends: Ic33d08992ea84af006d133db6aec508a7b7c7f28 (osmo-ttcn3-hacks) Change-Id: I9af6f0829bf10031b86e587529b86706fea3a413 Related: OS#5332
2021-10-13regen_makefile.sh: set executable name explicitlyOliver Smith1-1/+3
Set the executable name in each regen_makefile.sh explicitly with -e, instead of having it set indirectly from the first .ttcn file. Make it consistent by placing the name on top of each of these files. Fix for warning: ttcn3_makefilegen: warning: File `BSC_Tests.ttcn' was given more than once for the Makefile. Related: OS#5252 Change-Id: I5ed03f8f3ed905483620dc7bae33b617bbb8507f
2021-10-12regen_makefile.sh: files/flags in separate linesOliver Smith1-3/+28
Make all regen_makefile.sh more readable and diff friendly by moving each entry in FILES and CPPFLAGS_TTCN3 into separate lines. Order entries alphabetically. Related: OS#5252 Change-Id: I6b6866eb9f6ec6232e4ae434517457a4c8c1c050
2021-09-27gbproxy: Check SGSN-orignated BVC RESET if BSS BVC is goneDaniel Willmann1-0/+52
IF the BSS-BVC is gone gbproxy blocks the BVC towards the SGSN (this is the only thing it can do since there is no BVC-REMOVE). If the SGSN ever decides to reset that BVC the gbproxy should not ACK it, but instead consider the BVCI unknown. Change-Id: Ic57b39a77adf71abda99ef8af7da1592e2225a0d Related: SYS#5628, OS#5236
2021-08-02gbproxy: Fix race condition checking for unblocked BVCDaniel Willmann1-0/+4
It sometimes happens that the ttcn3 test checks the BVC FSM state before the gbproxy had time to process the BVC_RESET_ACK from the "SGSN". It then reports the state WAIT_RESET_ACK which will fail the test. Introduce a small wait to give the gbproxy some more time. Change-Id: Ic31b2188195c5d76b2d5aac9fa1f0b4efa5ca8b2
2021-07-06Fix TC_ms_reg_enqDaniel Willmann1-1/+1
In the pooling case it is not clear where the message will be forwarded to so allow reception on any SGSN. Change-Id: I6669ed0b49e9f278f16a67dc05ae208884ee535e Related: OS#4472
2021-07-05update expected-results.xml filesNeels Hofmeyr1-1/+56
Change-Id: Idcf764cd2d251210bb123d2a5ea782cda0d670b7
2021-06-15RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interfaceAlexander Couzens1-1/+1
RAW_NS used previous a single TTCN3 port for a single UDP port (source/listen side). This has the limitation that only a single NSVC could be tested for a local UDP port. However SNS tests require multiple NSVCs over a single UDP port. NS_Provider_IPL4 already supports multiple NSVCs for the NS_Emulation. Extend the support in NS_Provider_IPL4 to also allow RAW_NS to use multiple NSVCs. Related: OS#5036 Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976
2021-05-28gbproxy: Test routing if an SGSN in a pool is downDaniel Willmann2-3/+53
If an SGSN in a pool is down we expect the messages to instead be sent to a different SGSN in the pool. That SGSN will not necessarily know what to do with those messages, but it should )implicitly) detach that UE so that it can reattach at the new SGSN. Otherwise UEs on a failed SGSN would simply stop working as the messages would never be forwarded anywhere. This test also adjusts the NS timers so the failed NSVCs are detected faster. Change-Id: I46a6b8082441843f428a7681566228e5de375bcb Related: OS#4952
2021-05-07gbproxy: Introduce test TC_rim_from_eutranPau Espin Pedrol1-0/+47
Related: SYS#5314 Change-Id: Idd760ef9ede08a155752a5bee5b8d8f9dfa440da
2021-04-21ns/gbproxy/sgsn: Update configs to use logging level lnssignal'Harald Welte1-0/+1
In libosmocore I34b8fde2955ecc010d1dcd9512e1bba9211e2c0d we introduced a new log subsystem; enabel it in the related configs here Change-Id: Ie3d178e68aa81d5636c87940074cb6582ac2f131
2021-04-01gbproxy: Update config for IP BSS to use SNSHarald Welte2-9/+13
This reflects the more realistic use cases: IP-SNS is used on the BSS side, where osmo-gbproxy then behaves in SGSN role. Change-Id: I90bd101096979b170c38fa2a80abb80d296c4d2e
2021-04-01gbproxy: Verify BVC FSM state during bring-upHarald Welte1-1/+33
This adds IUT fsm state instrospection via the CTRL interface. docker-playground will need to set "mp_gbproxy_ip" in its configs. Change-Id: I272e43b9be8ba53d8a815e8ab099c939f63413a7
2021-03-30Make f_{block,unblock}_ptp_bvc_from_pcu handle multiple SGSNsHarald Welte1-2/+9
Those tests predated SGSN pooling support and needed to update their assumptions to also cover other SGSNs in the pool. We could come up with more complex, auto-scaling mechanisms to handle different numbers of SGSNs, but that would make the code quite unreadable, as it means we cannot use interleave but have to dynamically activate altsteps for counting. I went for the simpler approach instead. Change-Id: I8c3ec4e00b78cff40ac72bc857161fa7abc352b0 Related: OS#4968
2021-03-30gbproxy: Generalize as_count_bvc_block() into as_count_bvc_sts()Harald Welte1-2/+14
... and while add it, add as_count_bvc_unblock() based on it. Related: OS#4968 Change-Id: I33ceace527d6a0cd816fb4e042fdcffd8f0dd23f
2021-02-19gbproxy: update sns configuration to use ip-sns-bindAlexander Couzens2-0/+4
With libosmocore commit the SNS configuration requires a ip-sns-bind vty configuration to define the binds which should be use. Related: SYS#5354 Depends-on: I9ab8092bf286e7d90e92f5702a5404425e959c84 (libosmocore) Change-Id: If86fe463199bc5089db80a0dcc01f9e94e23e9b9
2021-02-13gbproxy: Fix configuration (ip-sns syntax)Harald Welte1-2/+2
It's sad that this config file has again been forgotten. Change-Id: Ic9184669f6459c44fbb81e05b54028eca1b54db5 Related: SYS#5354
2021-02-11gbproxy: Increase timeouts for dl/ul unitdata testsDaniel Willmann1-2/+2
These tests run quite some time and I had issues with timeouts locally. Change-Id: Id99ffa14bf6bcb584688c410feb9163a4f0fb492
2021-02-11gbproxy: Fix TC_dl_unitdata test failure introduced by 6ee0126971Daniel Willmann1-1/+1
This commit used a send template (ts) to match a received BSSGP PDU which doesn't work due to some differences in the length field. Use tr_BSSGP_IMSI again and change the template restrictions so it compiles. Fixes: 6ee0126971c83fd60658761263af559a482f13d9 Change-Id: I85676e96f8d32a9d2c7deadc1d66707b6b8697d0
2021-02-10GBProxy_Tests: fix TC_rim_info_pcu2pcuPhilipp Maier1-10/+22
The testcase TC_rim_info_pcu2pcu calls a function f_TC_rim_info_pcu2pcu() which doesn't use the templates from Osmocom_Gb_Types.ttcn as intended. This eventually lets the altstep in f_rim_pcu2pcu() run into a timeout since the templates never match. Change-Id: I281dc53bb5dd7be86edc9db185618252ff1b9a21 Related: SYS#5103
2021-02-10gbproxy: Fix ip-sns VTY configDaniel Willmann1-2/+2
Change-Id: Ia826ec4b5045360c1b37826f86f03bdccaf63360 Related: SYS#5354 Depends: Ida979f3b9daa5f7280a629441e4006a7635653b0 (libosmocore.git)
2021-02-08Osmocom_Gb_Types: Fix tons of template restriction warningsPau Espin Pedrol1-7/+7
Change-Id: I3da153ce5e83b231501e74b958fcac9f10c00849
2021-02-04gbproxy: fix config filesHarald Welte2-2/+4
It seems only docker config files were updated, while the local ones have been forgotten in recent changes. We have to find a proper solution for this :/ Change-Id: I26e900617bb87983912d8440376a7449f318e737
2021-02-04Move "ro_integer" to Osmocom_TypesHarald Welte1-13/+0
We don't need several re-definitions of a "record of integer" type, plus associated helper functions. Let's move that to the shared Osmocom_Types.ttcn Change-Id: I6a68ab8180a40b93c540db9cb80941c39c2fb549
2021-01-30GBProxy_Tests: fix TC_rim_* testsPhilipp Maier1-73/+157
The TC_rim tests do not use the RIM templates from Osmocom_Gb_Types as intended. Change-Id: Ie484f288aa0515ef4df4a3cf7f8a347a3f3cf587 Related: SYS#5103
2021-01-30fr + gbproxy: Start to use AF_PACKET ENOBUFS work-aroundHarald Welte1-0/+1
If send() on AF_PACKET returns ENOBUFS, usleep for 2ms and re-try until it succeeds. Change-Id: Id7bdd2c690eae3bec1df7634944cd73f0bf0b29a Closes: OS#5343
2021-01-29gbproxy: Use Misc_Helpers.f_shutdown() whenever applicableHarald Welte1-56/+43
This should avoid some of the "known" races during shut-down Change-Id: I4fdd47e9c5887597dca89580f856ddc6cd8f54f1
2021-01-26gbproxy: Increemnt many timeouts from 1s to 2s.Harald Welte1-8/+8
Sending a message [even over a real or simulated E1 line] should always be less than 1s end-to-end. But just to see if increasing the timeouts to 2s will result in less test failures, let's change from 1s to 2s. Change-Id: Iebb43283ad7c267c6ed7f49989ec453be38956a9
2021-01-21gbproxy: Fix pooling expectations of TC_bvc_reset_*_from_bssDaniel Willmann1-16/+61
With pooling enabled these tests now need to verify that the reset/block is propagated to all SGSNs in the pool. Change-Id: I34ed4bffce564dbaf08f9388bd5247351dd0725e Fixes: OS#4964
2021-01-20gbproxy: Use separate NS-VC for data / signalling on SGSN sideHarald Welte1-2/+28
As we know, many production deployments have SGSN architectures with clear control / user plane split. In such situations, IP-SNS of the SGSN informs us of two (classes of) IP endpoints: some that have control_weight > 0 and data_weight 0 some that have control_weight 0 and data_weight > 0 Let's adjust the GBProxy_Tests.ttcn to use such a configuration for each of the two simulated SGSNs. Change-Id: If0e404bdf2c30a5e18748695608611be83f61109 Closes: OS#4953
2021-01-20NS_Emulation: Respect data_weight==0 or signalling_weight==0Harald Welte1-5/+16
* 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-18gbproxy: Change logging settingsHarald Welte1-0/+10
Change-Id: Ib153cfdb337ea0d748aa18e2b8eb16db01d79edd
2021-01-18gbproxy: Move different network elements to different IPsHarald Welte3-49/+7
* SGSN0: 127.0.0.10 * SGSN1: 127.0.0.11 * PCU0: 127.0.1.1 * PCU1: 127.0.2.1 * PCU3: 127.0.3.1 Change-Id: I1762bfc237e679ee21d0446596f2c4f56f735a9d
2021-01-18gbproxy: Use g_parse.sgsn_idx for pagingDaniel Willmann1-11/+11
The ConnHdlr test stores the sgsn_idx in g_pars. Use that in the paging tests to the correct SGSN pages the MS. This commit fixes what 4332044c missed and is required for the ptp paging reject test to pass. Change-Id: Id85ffa57af943ae98c0f022b261ec24d557c236d Related: OS#4951
2021-01-17gbproxy: Add test cases for STATUS handlingHarald Welte1-0/+240
We expect the uplink BSSGP status to be routed based in the inner/contained downlink PDU - and vice-versa. Change-Id: If2ddd158346a3da340f1c673354196f3872c4f67 Related: OS#4951
2021-01-17gbproxy: Add tests for RADIO-STATUS with TMSI and IMSI instead of TLLIHarald Welte1-0/+79
Change-Id: Ib3b052a12227a8f55cf063e5168b56f97b9a8f9b Related: OS#4954 Related: OS#4951
2021-01-17gbproxy: Print log line for every ConnHdlr we startHarald Welte1-0/+2
Change-Id: I43e0ffb1b8be4f85a55ab1ed24fcf9d3b60a4d60
2021-01-17gbproxy: Add suite of RIM testsHarald Welte1-0/+327
They all fail with current gbproxy master as it doesn't yet implement routing of RIM messages. Related: OS#4896 Change-Id: I0fec6fd4a5a6559f596b9006ae437323da6f05d7
2021-01-17gbproxy: Use g_parse.sgsn_idx for pagingDaniel Willmann1-8/+8
The ConnHdlr test stores the sgsn_idx in g_pars. Use that in the paging tests to the correct SGSN pages the MS. This is required for the paging reject test to pass. Change-Id: I34cfc047b36cd6c139a78a7f171a9a99cc974a79 Related: OS#4951
2021-01-17gbproxy: Use provided sgsn_idx in f_send_paging_ps_exp_multi()Daniel Willmann1-1/+1
Change-Id: I89ca4232e71d98936adfc521312b92cba7ef867f Related: OS#4951
2021-01-17remove unused NS_CodecPort.ttcn/NS_CodecPort_CtrlFunctAlexander Couzens2-2/+2
Change-Id: If885353ec8947309fc7d3ad780448cfc7402e1a4