Commit Graph

186 Commits

Author SHA1 Message Date
Pau Espin 835fd300f8 pcu: Start PCUIF related components as alive-type
This should prevent following race conditions at shutdown:
"""
131 - Terminating component type PCUIF_Components.RAW_PCU_BTS_CT.
...
PCUIF_Components.ttcn:642 Dynamic test case error: Sending data on the connection of port BTS to 131:PCUIF failed. (Broken pipe)
"""

Change-Id: I17b2cfed2edbea7427e608380059bb1b422ca600
2022-02-24 11:47:43 +00:00
Pau Espin e5fe6e7527 pcu: Fix race condition in TC_t3141
The test was expecting to always receive at least 1 DL packet with
USF_UNUSED, but since we implemented idle blocks in PCUIF that may not
always be the case anymore. If the TBF is freed in between last
requested block and next one, there may be no TBF and hence no MS
listening on the TS, so PCU will optimize and send an idle block.

Change-Id: Ia301c01a3f5c3fd0b11d8f20e39061aa7abc6127
2022-02-24 11:47:43 +00:00
Pau Espin 1538c3b616 pcu: Drop mp_osmo_pcu_newer_than_0_9_0
osmo-pcu 1.0.0 was released, so we can drop references to older osmo-pcu
versions.

Change-Id: Ife37fc92c5b1ebf7e87b66c136ae900f44861510
2021-11-16 19:22:07 +01:00
Pau Espin 59aa109194 pcu: Introduce test TC_ul_tbf_reestablish_with_pkt_dl_ack_nack
Change-Id: I2058862cf11d0027b040eb6d9c0a27524df593b5
2021-11-16 11:32:55 +01:00
Pau Espin e8a9444356 pcu: Introduce test TC_t3172_*
Related: OS#3928
Change-Id: I3f4368c99b00453b471c3d741fecb8864ecdc628
2021-11-16 11:32:25 +01:00
Pau Espin 209dc7d4e1 pcu: No need to set t3142 in TC_ratectr_all_available_allocated
That's a copy-paste artefact from another test.

Change-Id: Ib0ec4a9bb4f48330ab5ced94fe6b705a9fc69603
2021-11-15 17:07:35 +00:00
Pau Espin 6eb4d25ba0 pcu: Introduce test TC_ratectr_all_available_allocated
Related: SYS#4878
Change-Id: Ide1254954b5cf02a19e190b19d06c7aaeedb6ede
2021-11-15 12:51:45 +01:00
Pau Espin 907ba20f37 pcu: Fix race condition in TC_n3101_max_t3169 and TC_n3103_max_t3169
I cannot reproduce the issue in my local system with docker, probabluy
due to different performance from jenkins builder. It triggers almost
every time in jenkins nightly TTCN3 PCU_tests though.
A similar fix was already introduced recently for TC_n3105_max_t3195
since PCU started submitting empty (idle) blocks when there's no TBF
listening on that PDCH. We need to update the test to account for that,
since our TTCN3 timers are not necessarily exactly matching the one at
the PCU side.

Change-Id: Ia5344df15c612c70a6cdd7bb6f12dc7524a23bf4
2021-11-15 11:15:12 +01:00
Pau Espin 518e82faf9 pcu: Introduce as_ms_rx_ignore_empty helper
It will be further used in follow-up patches.

Change-Id: I3c80ba4b8d229fa4a75dfd04abb7c5aae26e221c
2021-11-15 11:13:11 +01:00
Pau Espin 023330db64 pcu: Improve counter validation
Validate some new counters recently added in osmo-pcu.

Related: SYS#4878
Change-Id: I98e340053c91abdbf28c6e9641190bc78df35eff
2021-11-08 18:42:31 +00:00
Pau Espin d658f345f6 pcu: Introduce test TC_ul_tbf_reestablish_with_pkt_resource_req_n3105_max
Change-Id: I3a50445c707430900c78623c7093ff7eb1f3ed95
2021-10-20 13:35:04 +00:00
Pau Espin 332aba85b0 pcu: Adapt tests to pass with new idle blocks from PCU
Depends: osmo-pcu.git Ife718eeed2af011479c03099ea109518f04567bc
Change-Id: I6e96a7569640695ccfaa94b471384fa301bccd62
2021-10-20 13:35:04 +00:00
Pau Espin 376045711a pcu: Add missing test TC_ul_tbf_reestablish_with_pkt_resource_req in control()
Fixes: cdbe90306b
Change-Id: I1c0bd188ec972e6224c980bf96d7f6da1de98fbc
2021-10-15 14:36:29 +02:00
Oliver Smith f04762d48d pcu: add TC_stat_pdch_avail_occ_ms_not_known_*
Add two new tests to verify occupied and available PDCH stats if MS is
not known by the PCU.

Related: SYS#4878
Change-Id: Id21d4056a21b73ff612956700d2056d838eb54f8
2021-09-17 16:59:32 +02:00
Oliver Smith 4b2a89f308 pcu: TC_stat_pdch_avail_occ: test gprs/egprs stats
Extend the test to verify that TTCN3.bts.0.pdch.occupied.gprs and
TTCN3.bts.0.pdch.occupied.egprs work as expected. These new stats are
needed for performance measurements in 3GPP TS 52.402 § B.2.1.54-55.

Related: SYS#4878
Depends: osmo-pcu I0c0a1121b4ae5f031782e7e63a0c28eb0b6c8b42
Change-Id: Ia98de17187810acb2e1b327c37beab79a0c211b8
2021-09-17 08:03:03 +00:00
Oliver Smith edcded2d81 pcu: TC_stat_pdch_avail_occ: enable 4 TRX
Enable multiple TRX to verify that counters work as expected if the
allocator spreads TBFs over multiple TRX.

Related: SYS#4878
Change-Id: Ibde5be120e893fcecceb72a888483d5a6bb8ce50
2021-09-17 08:03:03 +00:00
Pau Espin f28fd080fc pcu: Support Neighbor Address Resolution over PCUIF
New versions of osmo-pcu support Neighbor Address Resolution over this
interface, and deprecated the old CTRL interface.
Let's use it by default while still keeping support for the old one for
a while to avoid breakage of existing deployments.

Tests run to validate:
* Old osmo-pcu still passes tests using CTRL interface
* New osmo-pcu (with new iface support) still passes tests using CTRL
  interface
* New osmo-pcu (with new iface support) passes tests using new iface

Related: SYS#4971
Change-Id: I05f1aabc64fc5bc4740b0d8afd8990b485eacd50
2021-09-14 09:11:14 +00:00
Oliver Smith 72d0c693ab Cosmetic: pcu: fix GprsMS count comment
Related: SYS#4878
Change-Id: Ic11abb330eccf8572a95ddb7e7c59c57b018a713
2021-09-08 10:04:15 +02:00
Oliver Smith 3d174882ba pcu: add TC_stat_pdch_avail_occ
Test new stats bts.N.pdch.available/occupied, which count available
PDCHs (3GPP TS 52.402 § B.2.1.38) as well as occupied PDCHs
(§ B.2.1.42-44).

Related: SYS#4878
Related: osmo-pcu I74760a68ee055510a79e80854ec7bf1521669119
Change-Id: I607b4729740159c161af824317f9fc04878eb13d
2021-09-06 09:11:30 +00:00
Pau Espin 3aa61c66fa pcu: Introduce test TC_pdch_energy_saving
Related: SYS#4919
Related: OS#4772
Change-Id: Icf5cc467ecabe3fcbf86e0f4caf497669b76fb42
2021-08-31 10:10:29 +00:00
Oliver Smith e1a77c4c59 pcu: add test TC_paging_pch_timeout
Related: SYS#4878
Change-Id: I8a8a912908f42d16dc04e2abe8ee4117f08bc672
2021-08-15 17:21:48 +00:00
Oliver Smith fbd3931051 pcu: f_tc_paging_ps_from_sgsn: move init/shutdown
Prepare to use this shared function in a new test with additional
commands between init, the function and shutdown.

Related: SYS#4878
Change-Id: I6fd523c7f5ab496b3356cf896a8ceaf9b6e874d2
2021-08-15 17:21:48 +00:00
Oliver Smith 36d95d8502 pcu: test counter bts.0.pch.requests
Related: SYS#4878
Change-Id: I366b5c699708a69ca0e9d8c74319a241a46ed842
2021-08-10 10:38:12 +00:00
Oliver Smith 61b4e73379 pcu: test counter pcu.sgsn.0.rx_paging_ps
Related: SYS#4878
Depends: docker-playground 22c6ef9e6ba9c368dc058319662ff95ccbab8063
Change-Id: I20398eed7f462940bcd3d6354d1cd4d47329b74f
2021-08-10 10:38:12 +00:00
Vadim Yanitskiy 866f870b7a PCU_Tests: new test case TC_ta_ul_ack_nack_first_block()
In a busy network, there can be a significant delay between resource
allocation (Packet Uplink Assignment above) and the actual time when
the MS is allowed to transmit the first Uplink data block.

Verify Timing Advance value indicated in Packet Uplink ACK/NACK message
sent in response to the first Uplink block after resource allocation.

Change-Id: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf
2021-06-04 21:05:01 +00:00
Pau Espin 1451f9f860 pcu: Introduce test TC_t3141
Change-Id: I5f30e93de4a109d60577394da4e00a15ab23d1d6
Related: OS#1940
2021-05-18 19:04:09 +00:00
Pau Espin 436e2bdb4c pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran
Related: SYS#5314
Change-Id: I87f3daba1521d2dc8eed78ffdc6de5744484ba7a
2021-05-17 20:33:00 +00:00
Pau Espin 93ae4527bf pcu: TC_n3103_max_t3169: Send TLLI in UL blocks
Otherwise MS is not behaving correctly and newer versions of PCU (more
strict checking TLLI and behaving better) may not accept it and make the
test fail.

Related: OS#1940
Change-Id: I2efa5ce97bf2c82727efcbdebdc0a0b686664e12
2021-05-13 18:03:24 +00:00
Pau Espin a5cee4c8e6 f_TC_egprs_pkt_chan_req_reject: Validate WaitIndication in ImmAssRej
Related: OS#3928
Change-Id: Id277f11b411d7b18e3a0445e0c76cbd107c6857d
2021-04-27 10:28:11 +02:00
Pau Espin 8f56ecd65c pcu: Drop test TC_t3169
This test was added a long time ago to test what used to be the previous
early implementation of T3169, which didn't follow specs as per TS
44.060.
Since recently, osmo-pcu supports tracking UL PDCH blocks and hence
properly implementing N3101 and N3101, finally also implementing T3169
correctly.
The counters N3101/3 and timer T3169 are already being tested in
following tests:
TC_n3101_max_t3169
TC_n3103_max_t3169

Since osmo-pcu I2cec531e2633281b88f69ba065c0105580c81076, time-based
T3169 is dropped and TC_t3169 doesn't pass anymore, since it had wrong
expectancies (because it's not sending RTS to osmo-pcu, hence not
triggering USF/RRBP N3101/3 timeouts).

Change-Id: I023fb406f1df6e67e16982cb11dc1fcb6fb9b544
2021-04-27 10:28:11 +02:00
Pau Espin dee557059b pcu: Take into account TbfStartingTime
New versions of osmo-pcu will validate the Pkt Resource Request is sent
on the correct FN, so we must send first UL block exactly when
requested.

Change-Id: I6dad0f3167ace8d4a763fed971db94f32faf6ced
2021-04-27 10:28:06 +02: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
Pau Espin 02a6d0c489 pcu: Fix typo in variable name
Change-Id: I8233b0b7f425fba4cbea9859a13b6e612cccede2
2021-04-19 17:11:07 +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 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
Pau Espin f30fa1d24d pcu: Introduce test TC_n3101_max_t3169
This test currently fails to pass in master osmo-pcu (and latest) due to
T3169 not being implemented exactly as per specs (due to limitations in
detecting lost UL blocks with assigned USF).

Related: OS#5033
Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d
2021-03-05 15:06:49 +01:00
Pau Espin 14ca7e3398 pcu: Introduce test TC_n3105_max_t3195
Related: OS#3928
Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060
2021-03-05 15:04:50 +01:00
Pau Espin 84a8c3c3dd pcu: Introduce tests to validate X2301 and T3191
They are tested together since anyway in order to reach T3191 we need to
go through X2301 (IDLE TBF timeout).

Related: OS#3928
Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e
2021-03-05 15:04:47 +01:00
Pau Espin Pedrol 90fdfed829 pcu: Introduce test TC_dl_no_ack_retrans_imm_ass
Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f
2021-03-04 12:43:25 +01:00
Pau Espin Pedrol ddd6c3f656 pcu: f_TC_mo_ping_pong_2phase_access(): Fix race condition
Sometimes the DL data may arrive too late to PCU and it may be requested
to tx before it arrives, hence the PCU will in that case schedule and
transmit a UL ACK/NACK instead of the expected DL data.

Change-Id: Iaee546e2021e86ca6da19ab73cc8d283a827a665
2021-03-03 14:38:53 +00:00
Pau Espin Pedrol fdbce84e7a pcu: f_TC_mo_ping_pong_2phase_access(): Drop sending TLLI after 2nd phase
There's no need to send the TLLI after 2nd phase access.

Change-Id: Id8230f8eebf0a3e1468b84f802c6704a19eb97d5
2021-03-03 14:38:53 +00:00
Pau Espin 76de166a56 PCUIF: Fix naming of counters in InfoInd
Change-Id: Ieb26020e0f18169f19322963e23358b6ca254545
2021-03-01 17:42:45 +01:00
Vadim Yanitskiy 37f3333fcf PCU_Tests: make use of GprsMS in TC_ta_idle_dl_tbf_ass()
Change-Id: Ife9cea132f47c528702e653ac061fa3851090a24
2021-02-21 01:39:57 +01:00
Pau Espin 1303577b72 pcu: Introduce test TC_nacc_outbound_pkt_cell_chg_notif_nonassigned_dl_tbf
Triggers osmo-pcu assert in nacc_fsm.c due to scheduler not checking if
tbf has TFI assigned before deciding to transmit NACC related messages.

Related: osmo-pcu.git Change-Id I72b2dff28aacdb04909c098c94834ff79f55b31d
Related: SYS#4909
Change-Id: Id293e41e6b4380f2794007779ad430544bbe578a
2021-02-18 17:41:21 +01:00
Pau Espin Pedrol 179ddef0f1 pcu: Introduce several tests TC_nacc_outbound_pkt_cell_chg_notif_twice*
These tests verify the NACC FSM adapts to MS restarting the NACC
procedure at any point when it selects for another tgt cell.

Related: SYS#4909
Change-Id: I42908a00f8d076e3559efde298a739d6b26d090e
2021-02-13 08:20:20 +00:00
Pau Espin Pedrol 0d6ebb7f2c pcu: Introduce several tests TC_nacc_outbound_pkt_cell_chg_notif_dup*
These tests verify retransmission of duplicated Pkt Cell Change
Notification messages are ignored once the NACC procedure is already
ongoig.

Related: SYS#4909
Change-Id: Ib83eacfab7a73a2a51ab08801ff1c00c0058057c
2021-02-13 08:20:20 +00:00
Pau Espin Pedrol 6cb71cc2e0 pcu: Convert f_handle_pkt_neighbor_cell_data impl to use alt statements
Change-Id: Iac9306cdcf16d9eaa750f6ca10f0c9df6f2c7453
2021-02-13 08:20:20 +00:00
Pau Espin Pedrol d4ed360dbf pcu: Introduce tests checking Pkt Cell Chg Notif different msg retrans
Tests verify MS retransmitting a Pkt cell Chg Notif with different
target cell (hence a different NACC procedure) will be handled correctly
if PCU state was in the middle of handling a different NACC request.

Related: SYS#4909

Change-Id: I68c749aaabe9fe8272fc43045be09a46852359e5
2021-02-12 14:40:54 +00:00