aboutsummaryrefslogtreecommitdiffstats
path: root/library/BSSGP_Emulation.ttcn
AgeCommit message (Collapse)AuthorFilesLines
2019-09-02BSSGP_Emulation: add BssgpDecodeDepthOliver Smith1-14/+29
Make the decoding level (BSSGP, LLC, SNDCP, L3) configurable, so the existing PCU tests, that expect messages only decoded to the BSSGP level, can pass again. Move the SNDCP decoding in f_dec_bssgp above the L3 decoding, so f_dec_bssgp goes through the layers in the reverse order of f_send_bssgp_dec. I have verified, that all testsuites using the BSSGP Emulation (SGSN, PCU, PCU-SNS) are still working with this patch. Related: OS#4180 Fixes: 955aa94504510139a12d223071cf49ef90788a3d ("BSSGP_Emulation: Abandon "BssgpDecoded" intermediate structure") Change-Id: I8f76385528c1de98c557cee451c0e0dfd182b605
2019-08-30BSSGP_Emulation: as_unblocked: fix SIG broadcastOliver Smith1-1/+1
I am not aware that this caused breakage anywhere. But from reading the patch, this is a regression that needs to be fixed. Fixes: 955aa94504510139a12d223071cf49ef90788a3d ("BSSGP_Emulation: Abandon "BssgpDecoded" intermediate structure") Change-Id: I36a9a4d61be52a4d86ac1cbf6e6976cf01cff7c6
2019-08-18BSSGP_Emulation: Abandon "BssgpDecoded" intermediate structureHarald Welte1-49/+26
It originally seemed like a great idea to define a custom record which aggregates the decoded BSSGP, LLC, L3 and/or SNDCP and passes it to the individual ConnHdlr. However, particularly with testcase interoperability for IuPS in mind, this seems bogus. Also, we never really took advantage of this. Let's now decode as far as we can decode any PDU, and then send the decoded version of that PDU via the ports between the BSSGP_Emulation and the ConnHdlr component. Change-Id: I8c1082880902dd9a04935945f0293895f4d0c53a
2019-05-27cosmetic: Update copyright statement, license notice and SPDXHarald Welte1-0/+10
Some of our files didn't have a copyright notice at all, let's add it. Also, update the notices in other files and ensure a SPDX identifier is present in all but the most trivial files. Change-Id: If7fa19ce484b415bc645e39b3d0d666b44b5f0fd
2019-05-11BSSGP_Emulation: More/improved commentsHarald Welte1-1/+3
Change-Id: I04250667a498f3f00d4fbb4cd22a4f7b71e2bba1
2019-05-10BSSGP_Emulation: Implement LLC sending also for SGSN-roleHarald Welte1-1/+8
We used to support sending of LLC messages only for the MS role, where we generated BSSGP UL UNITDATA. Let's also support the SGSN role, where we have to generate BSSGP DL UNITDATA Change-Id: If86f4b7c9e7c3c799c274f37a350dec4a788f124
2019-05-10BSSGP_Emulation: Pass uplink L3 to BSSGP Uplink UnitdataHarald Welte1-0/+8
Change-Id: I71c19cd0f11927eb70667210a4ba1ee5873fd534
2019-05-10BSSGP_Emulation: Fix transmission of MT L3 in LLC/BSSGPHarald Welte1-1/+1
it seems that some part of the code was commented out, breaking the path where a ConnHdlr is sending a L3 MT message. Change-Id: Ie652598292f2fbd2e1e0c4aa679ff0d68d78c88c
2019-03-27BSSGP_Emulation: Handle incoming BVCI=0 messagesHarald Welte1-1/+21
Like BVCI=PTP, the BVCI=0 messages must be dispatched by their TLLI, but using the BSSGP_SP_SIG port instead of BSSGP_SP. Change-Id: Ic456d43ec07600162991698ec3d75d36785b2fb8
2018-08-14BSSGP_Emulation: dont fail when removing a non-exitent clientAlexander Couzens1-2/+2
On multiple BSSGP tests the IMSI might not anymore registered to the first BSSGP Change-Id: Ibad8971e5acc2691da29cf7fa394d1d58eea79a4
2018-08-14BSSGP_Emulation: remove unused BSSGP_SP.receive(PDU_L3_MS_SGSN)Alexander Couzens1-8/+0
As the llc is handled outside, this function is not anymore needed Change-Id: Ib910dec4a54e155573c162a70731f20cbf1e9c5d
2018-08-14BSSGP_Emulation: move LLC layer out of BSSGPAlexander Couzens1-2/+10
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-14BSSGP_Emulation: add type record LLC_EntitiesAlexander Couzens1-0/+2
In prepartion of moving the LLC layer out of the BSSGP Change-Id: I1a8c6a608c84a984e542510482bbfc5394ae6658
2018-08-14BSSGP_Emulation.ttcn: extend BSSGP_Client_CT to hold 3 instances of BSSGPAlexander Couzens1-6/+6
Change-Id: Ibd7abba826a08b582361e9c255e9c44185e14067
2018-07-24library: Ensure setverdict(fail) is followed by mtc.stopDaniel Willmann1-10/+9
This will prevent subsequent failures from overwriting the verdict so we can easily see the root cause of the test failure. Using testcase.stop instead for errors internal to our test infrastructure to mark them as test errors instead of failed. Change-Id: Idc6819aaf0b01e70c38fad828dd44dcec6bdd778
2018-06-13lib/BSSGP_Emulation: fix removal of items in ClientListAlexander Couzens1-2/+8
Previous the old entries aren't removed. This only had an impact if two different f_TC_* were using the same imsi. When the second function tried to remove the Client again from the ClientList, the BSSGP_Emulation failed. Change-Id: I71103e8f8c5f18e8ebadc057cd62d85affd7ca8c
2018-06-01*_Emulation.ttcn: Specify destination when replying on procedure portsHarald Welte1-3/+3
procedure ports (like message ports) require us to specify the destination of a message ("reply") in case it is connected 1:N and not just 1:1. This didn't show up as a problem so far, as we typically only had one component talking to those procedure ports at any given point in time. Change-Id: I696ec67080815348bb95e43ecbbf262e533e39a3
2018-05-25make PCU tests send PS paging requests on BVCI zeroStefan Sperling1-1/+7
osmo-pcu discards PAGING-PS messages unless received on the signalling BVCI 0. The BVCI value must be set to zero both in the NS header and the BSSGP header. Create new ports between the PCU_Test components which the TC_paging test case can use to ensure that both layers send frames with BVCI value of zero. This does not make PCU_Tests.tc_paging work yet, however the PS paging request is now processed by osmo-pcu rather than discarded. Change-Id: I0437123b04b7320a4f690f0646578c57abf6bc87 Related: OS#2404
2018-03-03BSSGP_Emulation: Fix automatic BVC flow control ACK in SGSN roleHarald Welte1-5/+6
This code had been intended to be used, but commented out, and never really been completed or tested. Change-Id: Iaa573219548f2a6a2eb13408fec65c55f9e88ddb
2018-03-03Gb: avoid warnings about not-running timersHarald Welte1-2/+2
If we have T.timeout clause in an alt/altstep, we should put [T.running] as guard expression to avoid warnings about matching on timers never started - at least for timers where this is a valid situation. Change-Id: I96db5c288e0b9c47539cccab8ae7a886d0b9fff3
2018-02-18sgsn: Add user plane GTP testing (GTP->Gb and Gb->GTP)Harald Welte1-0/+9
Change-Id: Ifd62cca8cd9dbcffe4eac957db210ac13b8c633f
2018-02-18BSSGP_Emulation: Allow clients to send PDU_LLC directlyHarald Welte1-1/+9
If a client is sending a PDU_LLC on the BSSGP port, we will encode it and wrap it in BSSGP before sending it down the stack towards the IUT, just like we're doing with L3 PDUs already so far. Change-Id: Ie3385dbb9aee793bdbd006376a69e0a551b23c3c
2018-02-18BSSGP_Emulation: Add SNDCP decoding supportHarald Welte1-5/+25
Change-Id: Icd2e8feed9173b0a2729b7ee1cfac37a86eca6cf
2018-02-18BSSGP_Emulation: use 'isvalue()' instead of 'isbound()'Harald Welte1-9/+9
This seems to be a bug in TITAN 6.1.0: isbound() on a bound-value still returns false. isvalue() however returns true if the variable is bound, while still returning false if it is not. Change-Id: If6e9ea970a90470a98a33e50ea5cff0fd1781719
2018-02-18BSSGP/LLC: Fix LLCC SAPI for SMHarald Welte1-2/+2
While in TS 24.007 there is a separate L3 SAPI for GMM and SM, this only applies to messages sent over LAPDm, and not LLC. In LLC, both GMM and SM are sent via the same LLGMM LLC-SAPI. Change-Id: I7814c952cd7f6032222b190d396aaa0570571bfc
2018-02-18sgsn: Implement TLLI assignment/modification/unassignmentHarald Welte1-4/+35
It's important that we implement the proper TLLI handling whenever our P-TMSI changes. Change-Id: I5b95b9e49f0a1db9659714c4d01f340fd44fafe8
2018-02-18First actual SGSN test caseHarald Welte1-90/+482
Change-Id: Id66ddf8dbe1c5cfa96a087235588ba67763b7f05
2018-02-16BSSGP_Emulation: Remove one level of indent (like most other code)Harald Welte1-216/+219
Change-Id: I1d6de5404dbf907f663ec89b1847c6de84d5d858
2018-02-16sgsn: Skeleton of a SGSN test fremworkHarald Welte1-2/+6
Based on the exsting NS/BSSGP emulation as well as the VTY, GSUP and CTRL implementations, we are now building a test framework skeleton for osmo-sgsn. Change-Id: Icce90f9d8a680c7a523163e2c0bc03d12ff857e2
2018-02-16Migrate Gb (NS/BSSGP) code over to Ericsson NS/BSSGP modulesHarald Welte1-24/+26
When we started out, Ericsson hadn't released yet their NS and BSSGP modules. Let's port our logic over to their encoder/decoders, as they are more complete (but less regular / more difficult to use). Change-Id: Icbc4f5d24f3419f99c9a4805f836bddd2849f492
2018-02-16gprs: Move BSSGP related code to libraryHarald Welte1-0/+247
Change-Id: I9e13c63cc12c88be82124a8e3ce3c315b7b3a1fa