Commit Graph

2823 Commits

Author SHA1 Message Date
Harald Welte 79ed4b1685 remove deprecated 'logging level all everything' from configs
it has been deprecated in libosmocore.git 2.5 years ago:

commit 7e0686c6b4b456ec4e6e15689694b1bcf96c301f
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date:   Mon Sep 10 20:58:52 2018 +0200

Change-Id: Ieb9e958278e7bb9d5e798f83b70dcb873a25d06d
2021-04-21 16:40:49 +00:00
Pau Espin cc895dfc4d pcu: Introduce test TC_n3103_max_t3169
Related: OS#5033
Change-Id: I90661ce249ff2a2040b9e82688cf413eb65e0c8e
2021-04-21 18:19:47 +02:00
Pau Espin bf8c71f8ac pcu: Fix TC_n3105_max_t3195
The previously request Dummy block was processed later in an unrelated
place of the test, hence making expectations fail.

The condition T_3195.running doesn't really change the logic/behavior,
but removes an annoying warning in log files everytime the alt step is
run.

Change-Id: I4aa25d1220ccbeb8f1870f36651c9d6793a452b1
2021-04-21 18:08:15 +02:00
Harald Welte d73ba5801c ns/gbproxy/sgsn: Update configs to use logging level lnssignal'
In libosmocore I34b8fde2955ecc010d1dcd9512e1bba9211e2c0d we introduced
a new log subsystem; enabel it in the related configs here

Change-Id: Ie3d178e68aa81d5636c87940074cb6582ac2f131
2021-04-21 07:17:38 +00:00
Oliver Smith a25525d38c deps/Makefile: fix checkout logic for branches
Checkout origin/$branch instead of $branch. Otherwise git will just use
the local version of branch and stay at the same commit.

Note that Ia846863eff1734eca469257b9a8d5e653a45e835 changes the lines
which still have "master" to the commit. Fixing this is still useful
however, if a branch name is used in local testing.

Change-Id: If6bd440598d375a9947cb3a4fd88ae5809756e0e
2021-04-21 07:10:53 +00:00
Pau Espin 36ef7fc046 deps/Makefile: Switch branches to related commit hashes
Change-Id: Ia846863eff1734eca469257b9a8d5e653a45e835
2021-04-21 07:08:55 +00:00
Pau Espin 35801c3edc bsc: Introduce test TC_srvcc_eutran_to_geran_ho_out
Related: SYS#5337
Change-Id: Id34924bbf0a5cf08b4b6f5ea56a10cef6b69c877
2021-04-20 16:19:25 +00:00
Pau Espin d004631c82 bsc: Fix tests TC_si2quater_*_earfcns
Update TC_si2quater_*_earfcns test to trigger Tx of SI2quater eutran
neigh list properly, by sending a CommonID with "Last Used E-UTRAN PLMN
ID" IE. This should have been updated in a recent commit (see
below).

Fixes: 841b90daf2
Related: SYS#5337
Change-Id: I3073152475a338b29214393a9b550891d52e1f24
2021-04-20 16:19:25 +00:00
Pau Espin aa45707156 pcu: Fix DATA.ind with SAPI BCCH wrongly txed as PDTCH
This fixes failure of test TC_rim_ran_info_req_single_rep
It probably broke during some infra refactoring of the PCUIF_Components.

Change-Id: Idf9a38280abd6243cc9ef09fc7d033e515c5be15
2021-04-19 18:21:49 +02:00
Pau Espin 02a6d0c489 pcu: Fix typo in variable name
Change-Id: I8233b0b7f425fba4cbea9859a13b6e612cccede2
2021-04-19 17:11:07 +02:00
Pau Espin c08d552544 bsc: Introduce TC_srvcc_eutran_to_geran
Related: SYS#5337
Change-Id: If26cc9241b1b0eb4112f1227427008ece242bb41
2021-04-19 11:38:18 +02:00
Pau Espin 841b90daf2 bsc: Update and add tests checking Last Used EUTRAN PLMN Id
CSFB indicator shouldn't be used as stated in the specs. Rather, BSC
should act based on "Last Used E-UTRAN PLMN Id" found in messages such
as Common Id, or Handover Request/Required.

Related: SYS#5337
Related: osmo-bsc.git Change-Id I5d290ac55eca5adde1c33396422f4c10b83c03d5
Change-Id: I7b2e5a3ad24c10e279a7f1c447804100168203ba
2021-04-19 11:38:18 +02:00
Pau Espin ee8cec808a BSSMAP: Support setting LastUsedPLMNId in CommonId msg
Related: SYS#5337
Change-Id: I1b7c7fbe010033e726dde3c68152543a63760ffd
2021-04-19 11:38:18 +02:00
Pau Espin d5ba6cef4f BSSMAP: Update ts_BSSAP_BSSMAP to contain new fields
Depends: titan.ProtocolModules.BSSMAP Change-Id I5103ceb2656a41925a089af5492d0722ca87a5c7
Related: SYS#5337
Change-Id: I9cc4d161fa7083e30d3bf8f10e959d1fe7b86032
2021-04-19 11:34:57 +02:00
Pau Espin 36bd4fa06a Remove CSFB references from RR Chan Release CellSelectionIndicator IE
The IE contains a cell list for the MS to register after the channel
is released. The IE is used in CSFB, but not only in that case: it's
also used in SRVCC.
Hence let's remove the CSFB references since the scope is more wide.

Related: SYS#5337
Change-Id: Ia1eeda98fc21aa92bb2e41b5e4761c5cf6516a7e
2021-04-19 08:49:36 +00:00
Alexander Couzens 60548b1096 ns: TC_sns_bss_change_weight_timeout rework TC to use g_handle_rx_alive
With g_handle_rx_alive the test case doesn't need to use alt{}
as f_ns_exp takes care of the NS_ALIVE.

Related: OS#5036
Change-Id: I45f4392b556912bf60859f354a5687a44e6beeb1
2021-04-19 00:52:33 +02:00
Alexander Couzens a93cc364a8 ns: TC_sns_bss_change_weight_timeout: fix expected SNS_SIZE PDU
Allow to work with IPv4 and IPv6 endpoints and only expected known required
fields (e.g. NSEI and rst_flag).

Related: OS#5036
Change-Id: I60f669d7c8838d460a14c6604c4375a8d47f5149
2021-04-19 00:52:25 +02:00
Vadim Yanitskiy 7dad608cdc BTS_Tests: as_l1_sacch(): make MEAS_VALID flag configurable
Change-Id: I25ce3332671c42014a3dfd5de7ed1df16e73fbf8
Related: SYS#4918
2021-04-16 23:04:44 +00:00
Vadim Yanitskiy cb57c1b137 BTS_Tests: as_l1_sacch(): use values from ConnL1Pars
This would allow a test case to change the indicated values.

Change-Id: If56bf516bc64e695fb58fd42beda01101cdaa954
Related: SYS#4918
2021-04-16 23:04:30 +00:00
Alexander Couzens 4e048c3311 pcu: SNS: TC_sns_so_bvc_reset_unknown_bvci: use g_handle_rx_alive
The g_handle_rx_alive allows ignoring any ALIVE PDUs when
using f_exp_ns().
This improves the stability as the ALIVE and BVC-RESET
can come in any order.

Change-Id: I3b4ab4093b3e5bee7e32fdf6c1de3f692b13a35f
2021-04-12 08:24:33 +00:00
Alexander Couzens 3efa501b0d pcu: SNS: add TC_sns_1c1u_unconfigured_nsvc
There shouldn't any unconfigured NSVC after the configuration phase. The unconfigured
NSVC is used in the SNS configuration phase and must be removed when the configuration
is done and the NSVC is included in the configuration.

Related: SYS#5416
Change-Id: Iac6c8966aafd1cb2fab515de091e94607eb7c040
2021-04-06 15:57:51 +02:00
Alexander Couzens 8094254ff9 pcu: PCU_Tests_NS: add support for vty
Allow to use the vty by test cases. f_init_vty(id) must be called
before using the vty.

Related: SYS#5416
Change-Id: Ib2011babb123e1e1bb576e72b9bfbda90dce2df7
2021-04-06 15:57:51 +02:00
Harald Welte 7079ce89cb gbproxy: Update config for IP BSS to use SNS
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-01 21:27:33 +02:00
Harald Welte a4abe20d62 NS_Emulation: Implement minimal PCU-side SNS functionality
Using this code, we can run a TTCN3 test using NS_Emulation in
IP-SNS mode.  It only covers the most basic cases but works for simple
scenarios.

Change-Id: Id1fb0fcb7a497a9614e82beb8a2c64b5af88150d
2021-04-01 21:27:33 +02:00
Harald Welte 424ec5211c SGSN: Some initial SNS tests for IP-SNS in OsmoSGSN
Change-Id: I821d998704756fa30278f41d0371051db9d3fc58
2021-04-01 21:27:33 +02:00
Harald Welte 7ef6d10145 ggsn: Fix TC_pdp4_act_deact_with_single_dns()
In TC_pdp4_act_deact_with_single_dns we activate, deactivate and then
re-activate a PDP context. Hoewver, we re-use the same variable and
don't reset the state in between.  This results in the second PDP CTX
activation to include an end-user-address (static IP allocation), which
OsmoGGSN doesn't implement.

Before osmo-ggsn Change-Id Iac8868438655fe4e5e07d167d7dbd6273dbb7678,
the test passed as osmo-ggsn simply ignored the requested static address.
After that change, we reject static addresses and hence the test starts
to fail.

Change-Id: I1b1869bc2cee39c8fddd8fa63f48bdaa6a65e462
Related: OS#5097
2021-04-01 21:27:33 +02:00
Harald Welte b5688f26ed gbproxy: Verify BVC FSM state during bring-up
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-04-01 18:25:31 +02:00
Harald Welte 8396096c1c CTRL_Adapter: Add function to obtain FSM instance state
This can be useful to verify expectations about the state of FSMs
in the IUT.

Change-Id: I33afc2e73be06e23147b5ac0b0fd3b9003935444
2021-04-01 18:25:31 +02:00
Vadim Yanitskiy 94bbe99796 BTS_Tests: refactor and fix TC_pcu_socket_connect_multi
The expectations of this test case were wrong.  The IUT would first
accept() an additional connection and then close() it immediately.
Since there may be other messages, like TIME.ind and DATA.ind, the
'alt' statement would not match successful connection result, and
instead would unblock the flow due to timeout.

The titan.TestPorts.UNIX_DOMAIN_SOCKETasp had to be changed [1] to
send UD_connect_result with ERROR if recv() returns zero or a negative.

[1] https://github.com/eclipse/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/pull/4

Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c
2021-04-01 15:34:39 +00:00
Harald Welte 572b0179ae Make f_{block,unblock}_ptp_bvc_from_pcu handle multiple SGSNs
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-30 13:25:29 +02:00
Harald Welte b1cc0b24d3 gbproxy: Generalize as_count_bvc_block() into as_count_bvc_sts()
... and while add it, add as_count_bvc_unblock() based on it.

Related: OS#4968
Change-Id: I33ceace527d6a0cd816fb4e042fdcffd8f0dd23f
2021-03-30 13:25:29 +02:00
Harald Welte c771bfbe36 NS_Emulation: Use endpoint list for SNS-CONFIG payload
We used to have no distinction between endpoints and NSVCs, meaning
that we could not have more than one NSVC per endpoint, which in turn
meant it was ok to iterate the list of NSVCs for generating the
endpoint lists in the SNS-CONFIG payload.

With Change-Id I05a50b966b8ce93497372ca403d40fd383dd35f7 we remove that
constraint and introduce an actual local IP endpoint list.  Let's use
that one for SNS-CONFIG.

Change-Id: Ifa91510430a017fa29592a3d5fa2a3697d29c9da
2021-03-29 22:58:49 +02:00
Harald Welte ad32071825 NS_Emulation: Use the "endpoint" mode of NS_Provider_IPL4
Thew newly-introduced "endpoint" mode of NS_Provider_IPL4 allows us
to have multiple NS-VC within one endpoint.  NS_CT takes care of
creating the NS_Provider_IPL4 components on-the-fly, and then
associating the per-NSVC components with it.

For the user nothing changes, other than that he can now configure
multiple NSVCs with identical local IP + port, which was not possible
before.

Change-Id: Id7360f17e528706e8145d33a14550789d50cded9
2021-03-29 22:58:46 +02:00
Harald Welte 4bef0ddf9b NS_Provider_IPL4: Implement new "endpoint" mode
This adds a new, optional "endpoint" mode to the IPL4 provider,
where we remove the constraint of "one NSVC per provider", which
in turn is a pre-requirement for real IP-SNS support with full
mesh of NS-VCs.

This code doesn't introduce any users of this "endpoint" mode yet.

Change-Id: I05a50b966b8ce93497372ca403d40fd383dd35f7
2021-03-29 22:58:26 +02:00
Pau Espin 73c5d37846 pcu: Adapt N3101_MAX verification expectations
There's some offset between Tx and Rx path, so we need to account for
differences counting and finding out USF blocks didn't arrive.

Change-Id: I868e7d24c8bdc9b85797f8fe4f9ee1bc5a3d1adb
2021-03-29 14:23:05 +02:00
Pau Espin 4ceb61c063 pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs
Also change a bit expectations, since it can actually happen that DL
blocks for GPRS-only MS never signal USF for itself, which is
still fine.

Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203
2021-03-29 14:22:40 +02:00
Vadim Yanitskiy 216021a35e BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4,two_nsvc}
This commit fixes a regression introduced in [1]

Change-Id: I107039f1ff44ae8c41d690f5f293ed136c17586b
Fixes: [1] Ia9f366ca1fdad700a90ca3367e43523f7bac39a1
2021-03-24 15:51:40 +01:00
Harald Welte 6a414c8001 RAW_NS: Ignore NS-UNITDATA while waiting for NS-ALIVE in oneshot mode
Change-Id: Id2738b055f860b4eee57d445944e0861b34151be
2021-03-24 00:57:29 +01:00
Vadim Yanitskiy ec9e981c74 BTS_Tests: do not connect to PCUIF socket if not used
The PCUIF connection involves a lot of frequent messages, such as
the TIME.ind and since recently DATA.ind with len=0.  As a result,
the test suite logs are getting unreadable due to lots of coding
warnings and port queueing notifications.

This change is aimed to improve the situation a bit, by establishing
the PCUIF connection only for those test cases which actually use it.

Side effects:

  * TC_pcu_socket_verify_info_ind becomes reliable, because the
    PCUIF establishment is done after the RSL bootstrapping;

  * TC_pcu_socket_connect_multi starts to fail, because it used
    to pass due to timeout, since not all messages are handled
    in the 'alt' statement.

Change-Id: I09ccb65ce94a41ffdad4e93da650c3f32d422af4
Related: OS#5083
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy c1981b7a5b BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/
Change-Id: Ic95c46426ed3ac9ead645037059190fead181b31
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy e2a50a88ac BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind
Change-Id: Id11094774d737a545a2cce389059d7e527219573
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy 204fe621ed library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message'
PCUIFv9 compatibility has been dropped in [1], so now we can tell
TITAN's RAW codec what kind of padding to expect in received
messages and to append to encoded messages.  This eliminates
thousands of warnings about unhandled tail octets.

Change-Id: Id5ab587f7984a91f3603efc5d427aa4cb4fa6757
Related: [1] Ia9f366ca1fdad700a90ca3367e43523f7bac39a1
Related: OS#5083
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy 1da1fefb73 library/PCUIF_Types: get rid of version 9 compatibility glue
Change-Id: Ia9f366ca1fdad700a90ca3367e43523f7bac39a1
Related: OS#5083
2021-03-23 13:41:09 +00:00
Harald Welte 22deecc8ea RAW_NS: don't expect hard-coded number of NSVC/endpoints in SNS-SIZE
Change-Id: I5d567582db18be0f875e8e2ba380a04a1a838350
2021-03-23 13:14:21 +01:00
Harald Welte 093a69b3a6 pcu: sync configs with docker-playground
Change-Id: I41f6ebd63e5e551184f0863cd388c373ab0a1130
2021-03-23 13:14:21 +01:00
Alexander Couzens 6c723fb7b4 ns: SNS: add testcase to test change_weight retries
Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b
2021-03-20 16:41:42 +01:00
Alexander Couzens d5ac510648 ns: SNS: add bss change weight testcase
Do a normal SNS configuration. Afterwards the BSS will change
the weights of the endpoints

Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a
2021-03-20 16:41:01 +01:00
Harald Welte 09e04ba648 sgsn: sync config files with those from docker-playground.git
Change-Id: Ice00a0a4d00629e30b4fec029353d590eba8877f
2021-03-20 15:41:36 +01:00
Harald Welte d5836dca12 sgsn: Avoid race condition in TC_suspend_rau()
In f_routing_area_update() we are sending a RAU Complete to the SGSN
and then immediately afterwards send a GTP-U from the simulated
GGSN to the SGSN.  That GTP might reach the SGSN faster than the
RAU Complete, resulting in a test failure.

Change-Id: Ic489e0857115cf24965e413a39918edc5a8f44f8
2021-03-20 15:40:00 +01:00
Vadim Yanitskiy 1317faa7fc bts/osmo-bts.cfg: enable GSMTAP Um frame logging
Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c
2021-03-19 13:09:52 +01:00