Commit Graph

16 Commits

Author SHA1 Message Date
Alexander Couzens 2c15342ae7 lib/BSSGP_Emulation: fix removal of items in ClientList
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-13 15:43:24 +02:00
Harald Welte e32ad992af *_Emulation.ttcn: Specify destination when replying on procedure ports
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-06-01 12:00:56 +02:00
Stefan Sperling f82bbb6829 make PCU tests send PS paging requests on BVCI zero
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-05-25 14:26:19 +02:00
Harald Welte edcdd90c49 BSSGP_Emulation: Fix automatic BVC flow control ACK in SGSN role
This code had been intended to be used, but commented out, and
never really been completed or tested.

Change-Id: Iaa573219548f2a6a2eb13408fec65c55f9e88ddb
2018-03-03 22:40:01 +01:00
Harald Welte c27f684998 Gb: avoid warnings about not-running timers
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-03-03 22:40:01 +01:00
Harald Welte 37692d84e9 sgsn: Add user plane GTP testing (GTP->Gb and Gb->GTP)
Change-Id: Ifd62cca8cd9dbcffe4eac957db210ac13b8c633f
2018-02-18 20:23:31 +01:00
Harald Welte 752abbada5 BSSGP_Emulation: Allow clients to send PDU_LLC directly
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-18 19:47:09 +01:00
Harald Welte a2526a85d3 BSSGP_Emulation: Add SNDCP decoding support
Change-Id: Icd2e8feed9173b0a2729b7ee1cfac37a86eca6cf
2018-02-18 19:47:04 +01:00
Harald Welte c7872fa0c0 BSSGP_Emulation: use 'isvalue()' instead of 'isbound()'
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-18 14:06:12 +01:00
Harald Welte d471901f72 BSSGP/LLC: Fix LLCC SAPI for SM
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-18 10:26:36 +01:00
Harald Welte f70997db90 sgsn: Implement TLLI assignment/modification/unassignment
It's important that we implement the proper TLLI handling whenever our
P-TMSI changes.

Change-Id: I5b95b9e49f0a1db9659714c4d01f340fd44fafe8
2018-02-18 10:26:09 +01:00
Harald Welte 5ac3149d99 First actual SGSN test case
Change-Id: Id66ddf8dbe1c5cfa96a087235588ba67763b7f05
2018-02-18 10:12:31 +01:00
Harald Welte 853c0ada1d BSSGP_Emulation: Remove one level of indent (like most other code)
Change-Id: I1d6de5404dbf907f663ec89b1847c6de84d5d858
2018-02-16 20:03:47 +01:00
Harald Welte 96a33b00c9 sgsn: Skeleton of a SGSN test fremwork
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-16 20:03:47 +01:00
Harald Welte e0abc47d32 Migrate Gb (NS/BSSGP) code over to Ericsson NS/BSSGP modules
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-16 18:35:44 +00:00
Harald Welte ecb8f68c0d gprs: Move BSSGP related code to library
Change-Id: I9e13c63cc12c88be82124a8e3ce3c315b7b3a1fa
2018-02-16 18:33:59 +01:00