path: root/library
AgeCommit message (Collapse)AuthorFilesLines
2021-02-04NS_Emulation: Don't respond to NS-STATUS with NS-STATUSHarald Welte1-0/+4
Change-Id: Id9544ed1a7686fe113c4f6671e482bffc84bd2cc
2021-02-03BSSGP_Emulation: Support up to 64 BVCs with 64 users eachHarald Welte1-2/+2
Increase this from the previous limit of 16 BVC with 16 users each Change-Id: I8abca1c020d0ba4b89a6045e99d3a9eb7bcc4648
2021-02-03NS_Emulation: Handle NS_PROV_LINK_STATUS_DOWNHarald Welte2-0/+8
This happens e.g. if FrameRelay detects a "service affecting condition", i.e. the link is considered dead. Change-Id: I7409079f5e2b77cc08ccc93d1b0baa72720cefb8
2021-01-30GBProxy_Tests: fix TC_rim_* testsPhilipp Maier1-0/+96
The TC_rim tests do not use the RIM templates from Osmocom_Gb_Types as intended. Change-Id: Ie484f288aa0515ef4df4a3cf7f8a347a3f3cf587 Related: SYS#5103
2021-01-30CTRL_Adapter: Keep server alive after first client disconnectsPau Espin Pedrol1-1/+2
It can be expected from CTRL clients to connect and disconnect several times as several commands are sent, so let's by default enable it (only user of this CTRL servcer in PCU_Tests needs it). Change-Id: Idddc27671d1b823dfbc62bcf7be673e51b574d63
2021-01-30IPA_Emulation: Support keeping server alive after first client disconnectsPau Espin Pedrol1-2/+9
Change-Id: I4c133a889df0a5a060b5c52a1ca40fa9b8695c2e
2021-01-30CTRL_Adapter: Add function f_ipa_ctrl_wait_link_downPau Espin Pedrol1-0/+14
Change-Id: Ia9f08dae76774925de8a08c7e313965280cb51b0
2021-01-30pcu: Introduce test TC_nacc_outbound_successPau Espin Pedrol1-0/+12
Related: SYS#4909 Change-Id: I951db4af731e5a7c207f0f407dd78d166e2d3d26
2021-01-30library/Osmocom_VTY_Functions: make VTY prompt timeout configurableVadim Yanitskiy1-2/+3
Change-Id: Iadec95446b98d9767d08a841fa1c28f8c71c5eea
2021-01-30library/Osmocom_VTY_Functions: cosmetic: coding style changesVadim Yanitskiy1-25/+26
Change-Id: Idccdf6fcbda2d020d2263ea1440ea1c5d9ea0e45
2021-01-29Osmocom_Gb_types: add minimum requred tr_ templates for RAN INFPhilipp Maier1-1/+111
When testing the serving BSS part of the RIM application in osmo-pcu, we will need receiving templates that allow us to verify the response (RAN INFORMATION) rim container. Change-Id: I964d7504f3c4aeaa4ce537316b3140e8b893003d Related: SYS#5103
2021-01-29rlcmac: introduce initial support for NACC related messagesPau Espin Pedrol2-7/+163
Change-Id: I4d2f123479c34e6afffe0bc8d91409e6b0529a62
2021-01-25Introduce NS test casesAlexander Couzens2-0/+17
Related: SYS#5208 Change-Id: Ic619a374b88879d3116f8f28afb14401c3e3192b
2021-01-25NS_Emulation: Add CTRL port to administratively disable a NS-VCHarald Welte1-2/+66
This feature is useful in simulating intermittent or permanent transport network outage by simply halting processing of all rx+tx in the specified NS-VC until it is administratively re-enabled. Change-Id: I742ecf01de15e3edbf0719371f0217a5739b7c8e RelateD: OS#4521
2021-01-20NS_Emulation: Respect data_weight==0 or signalling_weight==0Harald Welte2-18/+105
* 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-18NS_Emulation: Move SNS handling from NS-VC to NS-VCGHarald Welte2-77/+159
We need to move the IP-SNS handling up one layer, as only the NS-VCG knows all the other NS-VCs, and after the SNS-CONFIG-ACK, we must mark all of our NS-VCs as alive and start the alive procedure. Related: OS#4953 Change-Id: Ie0f4342a0346952d7c50ac36900148e311d4c782
2021-01-18NS_Emulation: Dynamically compute list of v4/v6 endpoints in SNS-CONFIGHarald Welte1-3/+40
Don't hard-code the assumption that we only have a single IP[v4] endpoint. Related: OS#4953 Change-Id: I43fe5810b95ebbc9f848856803ac2c71f80d74f3
2021-01-18Osmocom_Types: fix formatting of log line (missing ", ")Harald Welte1-1/+1
Change-Id: If4555cd2902e056b32e835daa741ee84b346b922
2021-01-17gbproxy: Add test cases for STATUS handlingHarald Welte1-3/+3
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-17BSGSP_Emulation: Route STATUS to GLOBAL port for both SIG and PTPHarald Welte1-2/+14
Change-Id: I6573562c0e7638f153798ee178c7c69d07c26756 Related: OS#4951
2021-01-17Osmocom_Gb_Types: Extend RADIO-STATUS templatesHarald Welte1-8/+43
RADIO-STATUS can occur with TLLI, but also with P-TMSI or IMSI. Update our templates accordingly while keeping backwards compatibility. Related: OS#4951 Change-Id: I1119e50e457b02d52e7c2c26a8b8039bf2118296
2021-01-17BSSGP_Emulation: f_bssgp_get_tlli(): TLLI is optional in RADIO-STATUSHarald Welte1-1/+2
We must not dereference the TLLI IE unconditionally Related: OS#4951 Change-Id: I463b25f5395127d155727d785eb7795ac0165fac
2021-01-17remove unused NS_CodecPort.ttcn/NS_CodecPort_CtrlFunctAlexander Couzens3-161/+0
Change-Id: If885353ec8947309fc7d3ad780448cfc7402e1a4
2021-01-17RAW_NS: rework NS connection to use NS_ProviderAlexander Couzens1-67/+89
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-16Osmocom_Gb_Types: Add templates for various BSSGP PDU typesHarald Welte1-0/+204
Related: OS#4951 Change-Id: I89044bf8e736cc1997dff1a550b3e194f8ac1b9d
2021-01-16Osmocom_Gb_Types: Add 3GPP spec chapters; unify formattingHarald Welte1-11/+21
Change-Id: I9c3e5458ba7637a1e85f7bb3b32e16a90fad7bc5
2021-01-16gbproxy: Move away from random TLLIHarald Welte1-0/+19
We used to generate a random TLLI for each ConnHldr. Instead, use a deterministic function to generate the P-TMSI (just like we do for the IMSI) and derive a local TLLI from that P-TMSI. Related: OS#4472, SYS#5002 Change-Id: Ic1eaa1d298fe998ca97432769953bfc5a5333ae4
2021-01-16Add f_gen_tmsi() to generate a TMSI similar to f_gen_{imsi,imei}()Harald Welte1-0/+15
... and start to use it from BSC_Tests.ttcn Related: OS#4472, SYS#5002 Change-Id: Iacba62bb740374c28cbcf50d54ba1814c5b4e1c2
2021-01-11rlcmac: Add template to match receival of Dl Ctrl messagePau Espin Pedrol1-0/+13
Change-Id: Ifd16e8129b4440542b82a47749df1547a061ae88
2021-01-11library: Add templates to initialize CellId, RAI, LAIPau Espin Pedrol2-0/+13
Change-Id: Ie9d86e1b651dff279e7d50a4282bf14fbed5bb76
2021-01-11NS_Emulation: remove unused variable resAlexander Couzens1-2/+0
Change-Id: I5cc25ccb8e0d169b6f85e597fda47fdd2130aa70
2021-01-11NS_Provider_IPL4: fix typo in commentAlexander Couzens1-1/+1
Change-Id: Ieed010a15675b105807bc8c55bb0977fcb6aa7f3
2021-01-07CTRL: Introduce support to run osmocom CTRL serverPau Espin Pedrol2-13/+51
Change-Id: I37db9962f51baf2c63bd58ec47ec89f773d7a255
2021-01-07CTRL: Fix tr_CtrlMsgGet containing invalid value in val fieldPau Espin Pedrol1-1/+1
"val" field is not used in GET commands and is hence set to omit by TTCN3 decoder. Change-Id: If1a273a2be71040eaea2189a0aeaf737adf848e5
2021-01-05Osmocom_Gb_types: add RIM templatesPhilipp Maier1-0/+806
The template set we use for testing the GB (BSSGB) interface on osmo-sgsn and osmo-pcu lacks templates to generate RIM (ran information management) messages. The records and unions are already specified in BSSGP_Types.ttcn, we just need to form templates in order to be able to use them. Change-Id: Ic495e0bb6ceb2b65cbc7c3da7ee519a013aede55 Related: SYS#5103
2020-12-21NS_Emulation.ttcnpp: complete SGSN emulation with SNSAlexander Couzens1-8/+6
The emulation of an SGSN with SNS was incomplete. The SNS procedure was completed. However the NSVCs didn't moved into an unblocked state. Also sending a NS_ALIVE at the beginning is wrong. Change-Id: I54c2d9d5b34d791be354298171d04180a9b263c3
2020-12-16PCU_Tests_SNS: improve SGSN originated BVC-RESETsAlexander Couzens1-4/+11
The BVC-RESETs are a little bit more complicated. The PCU will send a BVC-RESET after the NSE become available. Ensure the RESET is received and ignored so there is no race condition if both sides send a BVC-RESET at the same time. The test case TC_sns_1c1u_so_bvc_reset is still failing because the PCU can't handle BVC-RESETs properly (both PTP and signalling). Change-Id: Id681749d75073c1d50a4b0a2e86f0a2dd0955b45
2020-12-10sgsn+pcu: Port suspend/resume cases to new BSSGP_CT:GLOBAL portHarald Welte1-0/+1
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-12-10gbproxy: Add test for FLOW-CONTROL-MS procedure (TC_fc_ms)Harald Welte1-0/+102
Change-Id: Ie087ee8e8adfb963d21f35c60628214d4297250d Closes: SYS#5210
2020-12-09bssgp: Introduce "GLOBAL" port for PTP BVCHarald Welte1-8/+24
There are some messages/procedures on a PTP BVC which are not related to one specific TLLI, but affect the whole PTP BVC. First and foremost that is the FLOW-CONTROL-BVC. Let's check if the user is interested in handling those internally (by connecting to the GLOBAL port). If not, fall back to acknowledging all incoing FC-BVC and ignoring all ACKs. Related: OS#4891 Change-Id: Ib80a6a522dbcb33fd0e7bd31a73ef28fdc636f57
2020-12-09bssgp: rename tr_GLOBAL to tr_GLOBAL_SIGHarald Welte1-3/+3
... to indicate this is about the signaling BVC only. Change-Id: I646db452c89842465902b5167c9c86de51df1241
2020-12-09Osmocom_Gb_Types: Fix t_BVC_FC_BVC_ACK() TAG IE lengthHarald Welte1-1/+1
Change-Id: Ib9a09fea85110a4f0966c07d911e37234aa06391
2020-12-08BSSGP_Emulation: Add RIM port to BSSGP_CTHarald Welte1-0/+20
This port is used for sending/receiving RIM related BSSGP messages. It exists once per BSSGP_CT Component (i.e. once per NSE), as RIM is global for the entire NSE. Change-Id: I04511df5dffbfe19faabf22014acc72b7673b7d6
2020-12-07NS_Emulation: Tolerate late NS-BLOCK-ACK / NS-UNBLOCK-ACKHarald Welte1-0/+6
Particularly in case both sides initiate a BLOCK or UNBLOCK procedure at almost the same time, it can happen thet we're already in BLOCKED state and receive a late BLOCK-ACK or in UNBLOCKED state and receive a late UNBLOCK-ACK. Let's just silently discard them instaed of generating NS-STATUS which may confuse the peer. Change-Id: I2e5b934e1cf6c6cf982d5ab1dbb32e8920b91071
2020-11-30add f_vty_cfg_bts(), f_vty_cfg_msc()Neels Hofmeyr1-0/+8
These allow passing N vty configurations on the bts / msc node without requiring subsequent 'exit'. As an example, use f_vty_cfg_msc() in BSC_Tests.ttcn AMR config. Change-Id: I9f3e485f692acb3d2a7620e9b454b372651be78e
2020-11-30add f_vty_config3(), to run N commands on a sub-nodeNeels Hofmeyr1-3/+9
f_vty_config2() makes it convenient to enter a specific vty node without needing to send 'exit'/'end' explicitly. However, to pass multiple commands on the same node, the VTY would enter and exit the node for each call of f_vty_config2(). The new f_vty_config3() also allows multiple commands to be run on that same node without intermediate exiting. Change-Id: If969ac645aa82e5a36245d974de2a251633de111
2020-11-28gbproxy: Introduce TC_overloadHarald Welte2-1/+33
When the SGSN is sending an OVERLOAD message, we expect that to propagate down to every BSS on the other side. Change-Id: Ic61fabd9c633bcb3f256fe7aa5834e66cc66a4fb
2020-11-28gbproxy: Introduce TC_llc_discardedHarald Welte1-1/+1
This tests the LLC-DISCARDED message, which relates to a BVCI but is itself sent on BVCI=0. We expect it transparently passes from BSS to SGSN. Change-Id: I98d02d6fa68bddf15b732d06dab00e91e72995d1
2020-11-28gbproxy: Test for SGSN-INVOKE-TRACEHarald Welte2-2/+55
Change-Id: I1e46e5c403712eb7972c57e6b6f6eb0850b96ae3
2020-11-27BSSGP_Emulation: reo-rder altsteps of per-NSE componentHarald Welte1-25/+66
the existing ordering of altsteps unfortunately caused some receive clauses never to be hit, as they are only in the default altstep, while more generic receive clauses are already in the state-specific altsteps. Let's introduce an as_allstate_pre() and an as_allstate_post() to solve this ordering problem. Change-Id: Icc4da95833557931d6685826fb30bdc60bf460c1