142 Commits (539ca47fe2d1316f81133fee96bfb9cce3ae4059)

Author SHA1 Message Date
Andre Puschmann 4650a620d9 ttcn3: refactor cell search and selection in TTCN3 PHY
- make sure only suitable cells are reported/selected
4 years ago
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
4 years ago
faluco c178e362b8 - Rewrite log management so that a log sink can be swapped for each testcase. 4 years ago
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.
4 years ago
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.
4 years ago
faluco e5a792d508 - Fix unused variable. 4 years ago
faluco cfd3f51931
Import of srslog into srsepc and srsenb. (#1574)
* - Import of srslog into srsepc and srsenb.
* - Removed logger_file and logger_stdout files.
4 years ago
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
5 years ago
Francisco Paisana 5e06430455 removal of stack handler interface 5 years ago
Francisco Paisana 1a9c04bf2f use of task scheduler handle in pdcp 5 years ago
Francisco Paisana 4f5e65781f created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks 5 years ago
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)
5 years ago
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).
...
5 years ago
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.
5 years ago
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
5 years ago
Daniel Willmann 7a25d1d300 Send the RRC_PDU_IND as JSON
Fixes: srslte_ttcn3#13, srslte_ttcn3#15
5 years ago
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
5 years ago
Andre Puschmann bf6ddbe976 ttcn3_drb_interface: use uint8_t and len as tx interface 5 years ago
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
5 years ago
Andre Puschmann 07f22326b4 pass current SS TTI when formatting DRB common IND 5 years ago
Daniel Willmann 8652f75510 Don't try to guess the lcid, use what we got 5 years ago
Daniel Willmann 0b88161b3c Send DRB PDUs as JSON to TTCN3 5 years ago
Daniel Willmann 31f1516d74 Use callback to establish connection before sending PDUs in TestmodeB 5 years ago
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()
5 years ago
Daniel Willmann a3adba0081 Implement DRB establishment and handle rx/tx 5 years ago
Daniel Willmann 999de5f484 ttcn3_helpers: Add function to generate JSON for DRB PDUs 5 years ago
Pedro Alvarez 9c1a7d2cf1 Removed get_bearer_status in PDCP. Renamed get_state/set_state to
get_bearer_state/set_bearer_state.
5 years ago
Daniel Willmann 0e99e2f6eb srsue: Refactor definition to live in its own .cc file 5 years ago
Francisco Paisana b8e6ba02e4 remove warnings related to unused vars and fwd declarations with trivial dtors 5 years ago
Francisco Paisana b506e29b72 removed common ce_typeenum 5 years ago
Xavier Arteaga 58803d1b3e Added UL EARFCN map and UE PHY interface cleanup 5 years ago
Francisco Paisana 6ddedd5972 moved pdu to common mac folder 5 years ago
Francisco Paisana c09f76ed6c unified stack task defer method 5 years ago
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
5 years ago
Andre Puschmann 451bbb20e8 ttcn3_ss: refactor AS security activation and use new timed call 5 years ago
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
5 years ago
Andre Puschmann 84d80f3e32 ss: use factory method to create PDCP config for SRB 5 years ago
Xavier Arteaga 25312e81b4 SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object 5 years ago
Xavier Arteaga cbaba9c0bd Fix RRC and TTCN3 test 5 years ago
Francisco Paisana 30ae2226c1 common interface for stack multiqueue tasks, background tasks and timers 5 years ago
Andre Puschmann 9239bb14a6 ss: store current TTI in DL/UL grant struct
this fixes the TTI log in the PCAP generated by the UE
5 years ago
Andre Puschmann 5267a88d60 ttcn3_ss: remove unneeded NDI reset 5 years ago
Andre Puschmann 562b4ef6c8 ttcn3_ss: add missing timer stepping 5 years ago
Francisco Paisana 344eaf49ec use logmap in the whole enb and ue 5 years ago
Francisco Paisana 82cb6baef0 now the whole ue and enb mac uses the logmap 5 years ago
Francisco Paisana d3f49d0e3c changed interface sync-stack to allow tti jumps > 1 5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
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
5 years ago
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
5 years ago
Xavier Arteaga 76408b195e Rename TX_DELAY and FDD_HARQ_DELAY_MS 5 years ago
Xavier Arteaga e8f9bfc6ba Addition of PRACH TA correction 5 years ago
Pedro Alvarez 96c82b3fc6 Moved PDCP configs to pdcp_config.h. Added `as_security_cfg_t` structure to hold access stratum keys.
Refactored PDCP, RRC and USIM accordingly.
5 years ago
Daniel Willmann 1314b8f653 Implement override_lcid() function in ttcn3_sys_interface
Fixes: TC_7_1_1_1 (#6)
5 years ago
Andre Puschmann e7c10270fa ttcn3_ss: fix security activation for PDCP 5 years ago
Andre Puschmann 5a03eaed2b ss: move timing_info_t to ttcn3_helpers, fix PDCP count handling 5 years ago
Andre Puschmann 72c5b381e4 fix bug when parsing cipher algo config for SS 5 years ago
Andre Puschmann 8a69772ebc rewrite packing of DL PDU in SS
the new algo tries to write more than just one RLC PDU inside a MAC PDU
if this is possible
5 years ago
Andre Puschmann e919c57a32 add handling of FollowOnFlag from tester 5 years ago
Andre Puschmann 89d5876470 add TimingInfo support for remaining SS commands 5 years ago
Francisco Paisana e859d622c7 added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas 5 years ago
Andre Puschmann 81e28aa9dc add basic support for TimingInfo field from tester
this fixes an issue where commands are received out of
order and we are therefore applying configs incorrectly. if
commands include a timinginfo we are now putting the command
on a queue that the SS reads after the start of a new TTI.

the security and cell reconfig commands will be added in another
PR after the AS_security command has been fixed.
5 years ago
Andre Puschmann 55a5947df7 add default init to TTCN3 syssim to prevent segfault when tc_start isn't received 5 years ago
Andre Puschmann 39f2011699 fix issue in SS where Msg4 wouldn't be sent because ConnectionSetup is provided too late 5 years ago
Andre Puschmann b88e877b4c ttcn3: make SS single threaded and use SCTP for test ports
- remove all threading from SS
- use epoll to handle test port connections, signals, and timers
- convert testport interface to SCTP
5 years ago
Francisco Paisana 22f51bb30b made cell select non-blocking using background threads 5 years ago
Andre Puschmann 701e4aa6be fix bug causing segfault when UE wasn't initialized 5 years ago
Andre Puschmann b15cd3fdaa add error handling to TTCN3 socket handlers 5 years ago
Andre Puschmann 42920d508f fix SS debug output 5 years ago
Andre Puschmann 0e337a01c3 fix SRB2 security handling in SS 5 years ago
Andre Puschmann 3d7598a4cb rewrite cell handling in TTCN3 PHY and SS 5 years ago
Andre Puschmann bbacc35e24 move configuration of default logger to main
this prevents the case where a layer requests a new log_filter
before the default logger has been configured
5 years ago
Xavier Arteaga 66bb7d6f82 SRSUE: fix TTCN3 compile 5 years ago
Ismael Gomez 52716f8716 Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
rrc_meas refactor. Need to split commit

Fix typo

Temporal commit

Apply rx_gain_offset to neighbour cell measurements

srsLTE: modify TESTASSERT Macro to follow codeline

SRSUE: prevent RRC from having serving cell in neighbour list

SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release

SRSUE: extend intra-frequency to CA SCell

SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue

SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful

SRSUE: fix compilation issues and Reest SIB indexes

Fixes sync using incorrect cell configuration when search cell does not find a correct cell

Small refactor to remove measurement report triggers always after removing measurement

SRSUE: Removed SIC PSS from UE

SRSUE: fix inter-frequency reestablishment and added more traces

SRSUE: Fix compilation issue
5 years ago
Ismael Gomez cc7dfefa1a
Fix logic for UL HARQ retx causing Msg3 adaptive retx to be identified as a new transmission 5 years ago
Andre Puschmann bc6aa1a166 fixing PDCP call in TTCN3 SS
this fixes an issue introduced in 6ec573987a
5 years ago
Pedro Alvarez 6d4303cd94 Added option to force 32bit compilation (useful for debug). Fixed various warnings when compiling in a 32 bit arch. 5 years ago
Andre Puschmann 476f970ee1 replace FIXME with TODO 5 years ago
Pedro Alvarez c5979f59eb Clang format UE, eNB and lib (#850)
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
5 years ago
Pedro Alvarez e68956bcf6 Adding discard timer timeout to PDCP config. 5 years ago
Pedro Alvarez 2e7ddef038 Continue to add discard_sdu to RLC interfaces. 5 years ago
Xavier Arteaga b48bb0d754 Removed atof, atoll and atoi calls 5 years ago
Pedro Alvarez c6ddada488 Fix compilation issue when enabling TTCN3 5 years ago
Andre Puschmann 2f00fd62ec fix PDCP config in TTCN3 SS 5 years ago
Francisco Paisana 8440126d35 removal of srslte::timers class 5 years ago
Andre Puschmann 44dcfbe5c2 use info_long to print full message rxed on SYS interface 5 years ago
Andre Puschmann 755a0599c4 rework cell list and SIB handling in SS 5 years ago
Andre Puschmann 487fdd5616 ttcn3: split SS interface and protect SS main thread properly
the SS main thread and the provided interaces weren't protecting members
correctly
5 years ago
Andre Puschmann c5f52adfba nas: fix issue in which NAS wouldn't allow to attach once it failed
the main issue was the plmn_selected variable. the solution
was to create a function to enter the deregistered state that resets the variable
and performs all other actions that need to be performed, like clearing
EPS bearers.

The patch also extends the SS to support AT commands to enable/disable
data services and now succesfully passes TC_9_2_2_1_7
5 years ago
Andre Puschmann a166b3c2d9 fix PHY-MAC interface in TTCN3 PHY 5 years ago
Andre Puschmann 08418b17ce fix concurrency issue in TTCN3 PHY 5 years ago
Andre Puschmann db4cc71240 minor changes to TTCN3 dut to make reading logs easier 5 years ago
Andre Puschmann 9e1c46dfb0 add initial TTCN3 code 5 years ago