Andre Puschmann
973de8f78d
ttcn3_dut: block OS signals before starting log backend
...
this prevents the backend thread from handling the signals. they
are only handled by epoll running in the main thread.
this fixes #1713
2020-09-14 21:20:00 +02:00
faluco
c178e362b8
- Rewrite log management so that a log sink can be swapped for each testcase.
2020-09-10 17:14:51 +02:00
Ismael Gomez
4c1d3ef7e8
Fix implementation of Random Access problem ( #1689 )
...
* Fix implementation of Random Access problem
* Apply AS activated condition on RLF before calling Reestablishment
2020-09-04 13:13:42 +02:00
Ismael Gomez
f49fbd6d02
Fix the order of HO/reest measurement actions ( #1696 )
2020-09-04 12:18:12 +02:00
Andre Puschmann
92d76a5eb6
mac_test: update tests involving BSR handling
...
* split existing BSR test into dedicated test for short, long, and trunc
BSR tests
* update MAC tests that include packing UL BSR.
(After checking TS 36.321 again it seems we have reported old UL buffer states)
2020-09-03 15:00:36 +02:00
Ismael Gomez
54eed11e1d
Refactor decision for extended CSI/SRS
2020-09-03 10:45:06 +02:00
Francisco Paisana
92221eb780
update of rrc_interface_mac to remove signal from mac to rrc that RA failed in case of handover failure
2020-08-29 20:06:08 +01:00
Andre Puschmann
641a4a5e79
mac_test: fix compilation if PCAP write is enabled
2020-08-27 23:46:28 +02:00
Daniel Willmann
7d0ae71f17
ttcn3_sys_interface: Handle initial cell attenuation
...
When new Cells are added they can have an attenuation configured
directly. Honor that setting.
2020-08-27 19:18:47 +02:00
Ismael Gomez
72cc4e0ca5
Stop ContentionResolutionTimer on RA error. Updated test
2020-08-27 10:04:42 +02:00
Francisco Paisana
75b204bc52
fix phy ctrl call to cell selection observers
2020-08-24 22:10:32 +01:00
Francisco Paisana
834c0b3929
integrated new observer pattern into phy controller fsm
2020-08-24 22:10:32 +01:00
Francisco Paisana
48dd436d86
integrated observer pattern into rrc phy ctrl fsm
2020-08-24 22:10:32 +01:00
Andre Puschmann
5e40bfe72c
mac_pdu: unpack and print BSR index as well as BSR value in bytes
...
before the BSR was extracted but the actual index (between 0 and 63)
was not stored but directly converted into bytes.
for log parsing and debugging it is easier to follow the index
value. this patch therefore adds both values to the log message
and extends the API accordingly.
2020-08-21 12:03:07 +02:00
faluco
e5a792d508
- Fix unused variable.
2020-07-31 13:13:15 +02:00
faluco
cfd3f51931
Import of srslog into srsepc and srsenb. ( #1574 )
...
* - Import of srslog into srsepc and srsenb.
* - Removed logger_file and logger_stdout files.
2020-07-30 19:17:23 +02:00
Andre Puschmann
9550bd3ef8
rlc: revisit interface for MAC and RRC
...
* add locked and unlocked version of has_data() since one is
called from stack and one from PHY threads
* add comments in each interface section as to why locking
is required or not
* remove RLC rwlock when not required
* move calls only used by RRC to RRC section
2020-07-21 11:56:43 +02:00
Pedro Alvarez
c686e6cea1
SRSUE: Set SCell configuration is unlocking ( #1544 )
2020-07-20 19:30:25 +02:00
Ismael Gomez
443dee7035
Changes in Cell Selection Procedure ( #1557 )
...
* Fixes RRC cell reselection procedure
2020-07-17 17:05:19 +02:00
Francisco Paisana
4fb8011a6d
updated phy controller to use task scheduler
2020-07-14 13:33:50 +01:00
Francisco Paisana
9c5471b094
more ergonomic event callback
2020-07-14 13:33:50 +01:00
Francisco Paisana
58a9610efa
use of stack event loop to propagate cell search and selection results
2020-07-14 13:33:50 +01:00
Francisco Paisana
d48a45976e
moved cell selection/search complete event signalling out of phy_controller
2020-07-14 13:33:50 +01:00
Francisco Paisana
48138b5281
removal of phy cell selection procedure as it now it is replaced by phy controller
2020-07-14 13:33:50 +01:00
Francisco Paisana
489969722e
implemented phy controller FSM to perform cell selection & search. The controller also tracks the phy sync state
2020-07-14 13:33:50 +01:00
Andre Puschmann
a7911f0dab
pdcp,rlc: refactor SDU queueing policy
...
this patch refactors the SDU queuing and dropping policy of the RLC and PDCP layer.
the previous design had issues when packets have been generated at a higher
rate above the PDCP than they could be consumed below the RLC.
When the RLC SDU queues were full, we allowed two policies, one to block on the write
and the other to drop the SDU. Both options are not ideal because they either
lead to a blocking stack thread or to lost PDCP PDUs.
To avoid this, this patch makes the following changes:
* PDCP monitors RLC's SDU queue and drops packets on its north-bound SAP if queues are full
* a new method sdu_queue_is_full() has been added to the RLC interface for PDCP
* remove blocking write from pdcp and rlc write_sdu() interface
* all writes into queues need to be non-blocking
* if Tx queues are overflowing, SDUs are dropped above PDCP, not RLC
* log warning if RLC still needs to drop SDUs
* this case should be avoided with the monitoring mechanism
2020-07-13 17:05:28 +02:00
Francisco Paisana
5e06430455
removal of stack handler interface
2020-07-13 11:19:25 +01:00
Francisco Paisana
7c364070ee
creation of task scheduler interface for classes/functions running outside the main control thread
2020-07-13 11:19:25 +01:00
Francisco Paisana
1a9c04bf2f
use of task scheduler handle in pdcp
2020-07-13 11:19:25 +01:00
Francisco Paisana
4f5e65781f
created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks
2020-07-13 11:19:25 +01:00
Pedro Alvarez
528777fa29
Added sleep to avoid nas test concurrency issue.
2020-07-09 13:58:51 +01:00
Francisco Paisana
510687766f
added comments in rrc cell select test
2020-07-03 14:00:14 +01:00
Francisco Paisana
c6f422d23e
improved cell selection test in srsue::rrc
2020-07-03 14:00:14 +01:00
Andre Puschmann
218fa5cf55
ttcn3_dut: fix bug in DUT
...
reducing the sync queue len to 1 caused an issue when the
PHY was locking the mutex while trying to push a TTI event
on the stack.
instead of signaling the new TTI within the PHY, we now do it outside
in the DUT (after releasing the PHY mutex)
2020-07-02 17:39:43 +02:00
Francisco Paisana
84f34bc736
changed to a label filtering approach for ctest
2020-07-02 15:56:59 +01:00
Francisco Paisana
ebb8f18000
set some extra tests with the prefix "long_"
2020-07-02 15:56:59 +01:00
Francisco Paisana
c6323478d2
remove unecessary sleeps in mac test, and add long_ prefix in long tests
2020-07-02 15:56:59 +01:00
Andre Puschmann
a5c0f96fa7
srsue: limit sync queue length to 1 for ZMQ radio
...
apply same change that we've done on the eNB also on the UE
to avoid the PHY processing TTIs faster than the stack.
Without that, we see lots of those in the logs:
...
08:39:17.580325 [STCK] [W] Detected slow task processing (sync_queue_len=7).
...
2020-06-30 10:36:01 +02:00
Andre Puschmann
c15b2ec810
ttcn3_dut: always create timer when enabling TESTMODE B
...
create timer but dont yet set it. this avoid adding multiple
checks if the timer var is actually initialized.
2020-06-30 10:31:52 +02:00
Andre Puschmann
63f1ea1bec
ttcn3: streamline DRB and SRB Tx interface
...
use the same tx interface with const uint8_t* and length byte instead of std::string
2020-06-29 13:45:42 +02:00
Daniel Willmann
7a25d1d300
Send the RRC_PDU_IND as JSON
...
Fixes: srslte_ttcn3#13, srslte_ttcn3#15
2020-06-29 13:45:42 +02:00
Andre Puschmann
2c5e159420
ttcn3_drb_interface: remove use of GetArray()
...
unfortunately, the rapidjson version shipped with Ubuntu 16.04
doesn't support the GetArray() API so we need to use
normal iterator to loop over the array
2020-06-23 12:12:58 +02:00
Andre Puschmann
bf6ddbe976
ttcn3_drb_interface: use uint8_t and len as tx interface
2020-06-23 12:12:58 +02:00
Andre Puschmann
7f47edf67f
fix issue where PDCP SDU was not going through UE stack to SS
...
this cause the PDCP echo reply not to appear in MAC/PCAP
2020-06-23 12:12:58 +02:00
Andre Puschmann
07f22326b4
pass current SS TTI when formatting DRB common IND
2020-06-23 12:12:58 +02:00
Daniel Willmann
8652f75510
Don't try to guess the lcid, use what we got
2020-06-23 12:12:58 +02:00
Daniel Willmann
0b88161b3c
Send DRB PDUs as JSON to TTCN3
2020-06-23 12:12:58 +02:00
Daniel Willmann
31f1516d74
Use callback to establish connection before sending PDUs in TestmodeB
2020-06-23 12:12:58 +02:00
Daniel Willmann
9aa441f8b6
ttcn3_ue::timer_expired(): Loop through the correct queue
...
Fixes a segfault when a NULL pdu is passed to loop_back_pdu_with_tft()
2020-06-23 12:12:58 +02:00
Daniel Willmann
a3adba0081
Implement DRB establishment and handle rx/tx
2020-06-23 12:12:58 +02:00
Daniel Willmann
999de5f484
ttcn3_helpers: Add function to generate JSON for DRB PDUs
2020-06-23 12:12:58 +02:00
Pedro Alvarez
9c1a7d2cf1
Removed get_bearer_status in PDCP. Renamed get_state/set_state to
...
get_bearer_state/set_bearer_state.
2020-06-18 12:13:57 +01:00
Xavier Arteaga
e0e8405285
SRSUE: initial scell sync
...
SRSUE: SCell Synch feedbacks delay
SRSUE: Implemented SCell Radio offset correction
2020-06-18 09:51:51 +02:00
Xavier Arteaga
f04cf2090a
Integrates number of samples in radio buffer
...
Fix minor issue
Radio: Fix minor bug and add unit test
2020-06-16 11:00:51 +02:00
Xavier Arteaga
de230826b9
Added string helper for removing spaces and parsing list
...
Fix
Fix string parser
2020-06-16 11:00:51 +02:00
Xavier Arteaga
89b24b54e5
Refactored radio class for acommodating multiple RF devices
2020-06-16 11:00:51 +02:00
Daniel Willmann
0e99e2f6eb
srsue: Refactor definition to live in its own .cc file
2020-06-02 10:05:38 +02:00
Xavier Arteaga
e605a6f367
UE PHY test disabled due to unstable behaviour
2020-05-12 15:56:23 +02:00
Xavier Arteaga
0d2b3eb55d
Removed ue_phy_test log overload
2020-05-12 15:56:23 +02:00
Xavier Arteaga
2d8bd0692a
SRSUE: fix and enable UE PHY test
2020-05-12 15:56:23 +02:00
Francisco Paisana
38f848ecdf
fix type name deducing for clang
2020-04-27 22:19:08 +01:00
Francisco Paisana
b8e6ba02e4
remove warnings related to unused vars and fwd declarations with trivial dtors
2020-04-27 22:19:08 +01:00
Francisco Paisana
b506e29b72
removed common ce_typeenum
2020-04-24 11:55:53 +01:00
Xavier Arteaga
58803d1b3e
Added UL EARFCN map and UE PHY interface cleanup
2020-04-23 09:00:45 +02:00
Xavier Arteaga
77d5dedddc
Fix LGTM warnings and recommendations
2020-04-22 18:01:43 +02:00
Francisco Paisana
6ddedd5972
moved pdu to common mac folder
2020-04-22 10:06:08 +01:00
Xavier Arteaga
e6792cf9b7
Refactored OFDM and added half CP window offset in UL Demodulator
2020-04-20 16:10:27 +02:00
Francisco Paisana
c09f76ed6c
unified stack task defer method
2020-04-10 22:30:59 +01:00
Andre Puschmann
d35c9e2b89
nas: add support ot UE test loop mode B
...
extend GW-NAS interface to signal test mode activation.
The method is a noop in the normal GW but is implemented in
the TTCN3 DUT according to TS 36.509 for Mode B
2020-04-10 21:18:43 +02:00
Andre Puschmann
451bbb20e8
ttcn3_ss: refactor AS security activation and use new timed call
2020-04-09 10:55:13 +02:00
Andre Puschmann
54a99d3f66
ttcn3_dut: add basic DRB handler skeleton
...
the handler is currently just listening on the designated port
and prints the received JSON string
2020-04-04 22:52:18 +02:00
Andre Puschmann
84d80f3e32
ss: use factory method to create PDCP config for SRB
2020-04-03 22:22:04 +02:00
Xavier Arteaga
9a2b0b7cc7
Standard vector allocation uses vector library
2020-04-02 20:49:58 +02:00
Xavier Arteaga
25312e81b4
SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object
2020-04-02 13:52:23 +02:00
Xavier Arteaga
cbaba9c0bd
Fix RRC and TTCN3 test
2020-04-02 13:52:23 +02:00
Francisco Paisana
30ae2226c1
common interface for stack multiqueue tasks, background tasks and timers
2020-03-31 13:42:06 +01:00
Andre Puschmann
94c6034339
nas: rename start_attach_request to start_attach_proc
...
this is to better differentiate from "send_attach_request" that
only packs and send the actual attach request message. The
entire attach procedure may include PLMN search, etc.
2020-03-30 11:23:40 +02:00
Andre Puschmann
9239bb14a6
ss: store current TTI in DL/UL grant struct
...
this fixes the TTI log in the PCAP generated by the UE
2020-03-30 11:23:40 +02:00
Andre Puschmann
5267a88d60
ttcn3_ss: remove unneeded NDI reset
2020-03-29 22:36:33 +02:00
Andre Puschmann
562b4ef6c8
ttcn3_ss: add missing timer stepping
2020-03-28 21:24:13 +01:00
Francisco Paisana
344eaf49ec
use logmap in the whole enb and ue
2020-03-25 15:50:30 +00:00
Francisco Paisana
c7741f368f
update rrc_meas_test
2020-03-24 12:28:12 +00:00
Andre Puschmann
b9a2217355
fix uninit vars reported by Coverity
2020-03-24 09:47:07 +01:00
Xavier Arteaga
5e6828c3a0
SRSUE: fix add/mod meas object
2020-03-24 08:13:44 +01:00
Francisco Paisana
70c2510c25
simplified mac_test step interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
e91a7ea513
removed stack-mac interface dedicated methods. We use now the task dispatch methods instead
2020-03-22 11:50:58 +00:00
Francisco Paisana
de03c96c3b
mac::process_pdus now uses the stack task dispatch interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
7f6bde59fc
move write_pdu_pcch and write_pdu_bcch_bch to stack thread
2020-03-22 11:50:58 +00:00
Francisco Paisana
de3c28e52d
added task dispatch capabilities to stack interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
46a1be3e76
updated mac-rlc interface to use unique_byte_buffer
2020-03-22 11:50:58 +00:00
Francisco Paisana
82cb6baef0
now the whole ue and enb mac uses the logmap
2020-03-20 11:32:03 +00:00
Francisco Paisana
45bc123967
remove manual tti counters from the rrc
2020-03-19 21:52:53 +00:00
Francisco Paisana
138347b6b5
nas using stack timers
2020-03-19 21:52:53 +00:00
Francisco Paisana
d3f49d0e3c
changed interface sync-stack to allow tti jumps > 1
2020-03-19 16:47:55 +00:00
Andre Puschmann
cf9306abdb
fix UE CSV metrics header typo
2020-03-17 16:14:14 +01:00
Xavier Arteaga
e832769ae6
Updated copyright
2020-03-16 11:26:06 +01:00
Daniel Willmann
3a804e23fa
ttcn3_sys_interface: Parse SIBs even when "StaticCellInfo" is missing
...
The test TC_9_2_1_1_1 sends a Cell->AddOrReconfigure->Basic message
without a "StaticCellInfo" member. This is used to change SIB1 of
the cell and simulate a different PLMN/TAC in the test.
handle_request_cell_basic() ignored the json message if "StaticCellInfo"
is missing which results in the SIB not being updated (PLMN stays as
00102 for example).
With this patch the SIBs after the json are now parsed even if there
"StaticCellInfo" is missing. A confirmation of the json is not sent
because the test does not seem to expect one in that case.
Related: TC_9_2_1_1_1
2020-03-15 18:27:51 +01:00
Daniel Willmann
bc4e4ff97b
ttcn3_ip_sock_interface.h: Don't respond to UDP/ICMP Close
...
A close request should not be responded to with a ctrl_cnf
2020-03-15 18:27:51 +01:00
Ismael Gomez
e8b8c9922e
Add RF per-channel frequency band constraints ( #1026 )
2020-03-12 23:06:09 +01:00
Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
2020-03-11 21:16:36 +01:00