Commit Graph

152 Commits

Author SHA1 Message Date
Francisco Paisana d3f49d0e3c changed interface sync-stack to allow tti jumps > 1 2020-03-19 16:47:55 +00:00
Xavier Arteaga e832769ae6 Updated copyright 2020-03-16 11:26:06 +01:00
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 2020-02-28 11:33:26 +00:00
Francisco Paisana c29f08d8d5 refactored si acquisition procedure to use stack timers. Also created an interface that is going to be used for the task/timer handling 2020-02-20 20:48:36 +01:00
Francisco Paisana 22f51bb30b made cell select non-blocking using background threads 2020-02-18 09:47:33 +01:00
Andre Puschmann 9720449cbb fixing RRC measurement test after logmap refactor 2020-02-03 12:51:46 +01:00
Xavier Arteaga f8294fb9df SRSUE: RRC measurements refactor and more fixes 2020-02-03 12:51:46 +01:00
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
2020-02-03 12:51:46 +01:00
Francisco Paisana ea777d92e8 applied new logmap class to nas 2020-01-29 14:20:43 +00:00
Francisco Paisana 5ae3afd2b8 created cbit_ref for unpacking const buffers 2020-01-23 12:22:19 +00:00
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
2019-12-16 16:04:22 +01:00
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 2019-10-23 19:33:25 +01:00
Francisco Paisana b254bdbb93 typedefed the proc_result_t<void> to become proc_state_t 2019-10-23 18:19:25 +02:00
Francisco Paisana f2d88e5a5b simplified NAS rrc connection request procedure
move non-type-specific methods of proc_t to its base class.
procedure state machine was simplified via a future-type. Now procedures dont get stuck until the user reads the procedure outcome.
made the NAS procedures more event trigger/reaction-based.
2019-10-23 18:19:25 +02:00
Andre Puschmann 891a66a2e5 make the establishment cause a paramter when sending a connection request
needed to signal a mo_sig establishment cause after a RLF
2019-10-18 16:38:55 +02:00
Francisco Paisana e94755c471 revert nas_test fix 2019-10-18 12:36:17 +02:00
Francisco Paisana 9bcb268421 added for-range loop and bool decay checks to clang-tidy. Applied some of the recommendations of clang-tidy to nas.cc 2019-10-18 12:36:17 +02:00
Andre Puschmann 4d688bce98 fixing nas test 2019-10-16 10:35:24 +02:00
Pedro Alvarez 004db4a067 Applied clang-format to zuc_support PR. 2019-09-10 13:46:21 +02:00
David Rupprecht 4ff70b6008 reconfigured test case for eia sec matching 2019-09-10 13:46:21 +02:00
David Rupprecht 06ac8143a4 NAS test working again due to replayed sec caps mismatch 2019-09-10 13:46:21 +02:00
Francisco Paisana c9d3b61038 added resumable procedures to make RRC and NAS non-blocking 2019-08-08 10:56:54 +02:00
Pedro Alvarez 1944bf9a80 Continue to split pdcp_entity_lte and pdcp_entity_nr. Compiling now. 2019-07-30 15:01:50 +02:00
Andre Puschmann 2e9a981a8a fix home plmn extraction for PCSC USIM module 2019-07-19 18:16:58 +02:00
Francisco Paisana bb0dbf0f1c created a asn1 utils with helper functions and types related to the asn1. These types/functions will help isolate the rrc_asn1 lib from most of the layers, reducing this way the compile times, and leading to better isolation. This will also make the transition to NR smoother. I removed the asn1 types from the NAS and USIM interface so far. 2019-07-05 10:44:15 +02:00
Andre Puschmann 58763fb714 stack: move initialization of log object into ctor
this fixes the issue when the stack is torn down if, for example,
the radio couldn't be loaded correctly. it will hence call stop() on all stack
components which are not initialzized yet, and logging therefore doesn't work.
the log object is know during contruction time and therefore can be passed
in as soon as possible.
2019-06-27 14:51:33 +02:00
Francisco Paisana 8f8d9f3f30 applied changes in the stack internal method naming 2019-06-21 13:01:41 +02:00
Francisco Paisana ce29ed545d moved mac thread to the stack. Protect the interface of the stack with PHY and gateway via a queue of tasks 2019-06-21 13:01:41 +02:00
Francisco Paisana 46d298fd9a formatting 2019-06-20 15:26:52 +02:00
Francisco Paisana 10a56e2a84 moved GW out of the UE stack. This is important to keep concurrency out of the stack once it becomes single-threaded 2019-06-20 15:26:52 +02:00
Andre Puschmann 2b7b4d0e7e remove hard-coded LCID for dedicated bearer in GW 2019-06-07 21:40:03 +02:00
Pedro Alvarez 7a184a8cd8 Added log to tft_packet_filter. 2019-06-07 21:40:03 +02:00
Pedro Alvarez 39f5b03674 Removed empty line. Changed comment. Removed unused variables. 2019-06-07 21:40:03 +02:00
Pedro Alvarez 2723aa9b12 Added EPS bearer id to apply_tft interface. Sending packets to the correct LCID if they match the packet filter. 2019-06-07 21:40:03 +02:00
Pedro Alvarez 684ee2834e Starting to add ToS field checking to tft_packet_filter. 2019-06-07 21:40:03 +02:00
Pedro Alvarez 40dd3e332c Added logic and test to match IPv4 local address 2019-06-07 21:40:03 +02:00
Pedro Alvarez 0f6c55023b Adding logic and testing for single remote port matching. 2019-06-07 21:40:03 +02:00
Pedro Alvarez 326aef4431 Added match logic for local UDP port. Starting to add logic for remote UDP port. 2019-06-07 21:40:03 +02:00
Pedro Alvarez ccf404f12b Fix in getting filter information for local port. 2019-06-07 21:40:03 +02:00
Pedro Alvarez ede5f3318b Remove test function that is no longer used. 2019-06-07 21:40:03 +02:00
Pedro Alvarez 190a0ff37e Adding test to unpacking of the packet filters. 2019-06-07 21:40:03 +02:00
Pedro Alvarez a7e0a0624b Starting to add interface apply_traffic_flow_template between NAS and GW. 2019-06-07 21:40:03 +02:00
Pedro Alvarez d3761ccee5 Added some basic test of NAS activate dedicated EPS bearer context request handling. 2019-06-07 21:40:03 +02:00
Pedro Alvarez d67d18cc6b Removing deplicated error codes. 2019-06-07 13:51:56 +02:00
Andre Puschmann 3f613d7183 nas/gw/rrc: make LCID for DRB dynamic
- add interface to RRC to allow NAS to query the DRB for a given
  EPS bearer id
- extend interface for NAS to setup GW to also pass LCID of bearer
- in NAS, use this new interface to pass actual LCID of the default
  DRB when creating the TUN device
2019-06-05 20:50:52 +02:00
Andre Puschmann 34bf738501 nas: add test for dedicated EPS bearer handling 2019-05-30 13:05:02 +02:00
Andre Puschmann 65f50cd7ba introduce new UE layer design
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
2019-05-17 17:46:28 +02:00
Andre Puschmann 3a6dd9b164 move UE RRC into own folder 2019-05-17 17:25:50 +02:00
Francisco Paisana 3bedc93ba5 added _t to unique_byte_buffer type 2019-05-16 12:35:01 +02:00
Francisco Paisana f469e2178b replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use 2019-05-16 12:35:01 +02:00
Andre Puschmann 4b01a2e4a0 update copyright notice 2019-04-29 09:20:02 +02:00
Ismael Gomez 7780b1aba5 add tdd/ca support 2019-04-25 20:57:58 +02:00
Andre Puschmann 0aef6f8d4a fix various uninitialized variables 2019-02-10 09:08:06 +01:00
Andre Puschmann c8f8c16d50
make EIA and EEA algorithms configurable (#323)
this patch allows to configure the EIA and EEA algorithms
the UE uses and announces during attach. They can
be specified as a comma-separated list.

The patch also removes a dedicated NAS config class and uses
the default nas_args_t type for this. There was a full
duplication of members before.

The patch also converts nas_args_t and usim_args_t into a class
with a default constructor that initialize all booleans.
2019-02-08 22:37:16 +01:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +01:00
Andre Puschmann 8326299ec5 fix uninitialized variables 2019-01-15 16:34:41 +01:00
Andre Puschmann d6196ba234 simplify RRC-NAS interface and only have msg as param (RRC selects LCID) 2018-12-10 17:48:52 +01:00
Andre Puschmann f7bdfdc3a8 in NAS test, use real GW class in attach test 2018-11-15 10:48:47 +01:00
Pedro Alvarez 5c29dba741 Changed Interface between NAS and GW to avoid the GW start function being called twice in IPv4v6 mode. 2018-10-26 11:42:27 +02:00
Pedro Alvarez ac1c300126 Adding the ability to set the interface local link IPv6 address. 2018-10-26 11:42:27 +02:00
Andre Puschmann 3ebf4792de fix missing length reset in NAS test 2018-10-10 16:01:51 +02:00
Andre Puschmann 4a68d0777b fix NAS tests
- Modifications needed after only accepting NAS messages whose integrity check passes
- Turns off loading a (possibly) existing NAS ctxt
- Modifies some test vectors such that they have a zero MAC and counter 0
2018-09-26 10:16:11 +02:00
Pedro Alvarez f301bb6373 Merging next into op_vs_opc and resolving conflicts. 2018-06-26 11:36:40 +01:00
Pedro Alvarez 25aafa1f63 Fixing the USIM test. 2018-06-26 10:49:46 +01:00
Pedro Alvarez 4eb9d1abac Revert "fix USIM test by replacing OP with OPc"
This reverts commit 16b2172e36.
2018-06-19 18:11:26 +01:00
Andre Puschmann 16b2172e36 fix USIM test by replacing OP with OPc 2018-06-13 17:44:34 +02:00
Paul Sutton 2f73b52419 Fixing and disabling faulty tests - asserts only failing in debug 2018-06-12 18:31:37 +01:00
Andre Puschmann 9ce3be974a Merge branch 'next' into embms_merge_final 2018-05-15 22:32:56 +02:00
yagoda 12c9f50ba9 adding upper layer embms support to the UE 2018-05-15 17:20:51 +02:00
Andre Puschmann a30ad8952c fix indent and simplify auth request packing 2018-05-15 12:40:29 +02:00
Andre Puschmann d0457211ad adding support for CHAP auth 2018-05-15 12:40:29 +02:00
Andre Puschmann 4dc2951d59 perform initial attach with ESM info transfer 2018-05-15 12:40:29 +02:00
Andre Puschmann d7d6bd1a78 fix IMSI reading from SIM 2018-05-15 12:40:29 +02:00
Andre Puschmann 3fe6dad323 adding hard SIM card support using PCSC 2018-05-15 12:40:29 +02:00
Ismael Gomez 4ffee4326b Fix memory leaks in unit tests 2018-05-03 17:36:39 +02:00
Andre Puschmann 8df9f46e13 fix NAS and NAS test 2018-04-26 13:21:13 +02:00
Ismael Gomez edd9cbf4dc Merge branch 'next' into sync_states 2018-04-10 09:35:21 +02:00
David Rupprecht 06d4559294 Change include path absolut to project dir 2018-04-01 18:08:24 +02:00
Ismael Gomez b3be54b274 Attach and paging ok. Reselection on IDLE not working 2018-03-21 10:46:24 +01:00
Ismael Gomez f88f465c97 Refactored NAS/RRC/PHY cell_search/selection procedures 2018-03-19 14:14:51 +01:00
Ismael Gomez be7dc37e7c Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-03-06 22:20:46 +01:00
Ismael Gomez 13efa740e8 Changed logic in RRC/NAS/PHY for cell/plmn search to avoid stucking in IDLE 2018-03-06 22:20:38 +01:00
Andre Puschmann b5421301af fix mem leak in NAS test 2018-03-06 18:45:31 +01:00
Pedro Alvarez e4b1525982 Removed AMF from USIM configuration. AMF is exctracted from the authentication request now. 2018-02-01 14:08:16 +00:00
Andre Puschmann f5f9963807 fix NAS test PDU contents 2018-01-08 15:25:51 +01:00
Andre Puschmann 93053701a4 fix and enable NAS test 2018-01-08 10:47:20 +01:00
Paul Sutton d34ce74419 NAS security context file tidy-up, usim_test minor edit 2017-11-28 13:01:38 +00:00
Andre Puschmann d562a70261 fix USIM test 2017-11-23 21:55:49 +01:00
Ismael Gomez a51b6b09dd Merged with next. Attach successful 2017-09-01 19:32:57 +02:00
Andre Puschmann 8dbabb2834 rework bearer/LCID handling
This is a larger patch that reworks the LCID handling throughout the
code.

- It first moves the RB/LCID mapping out of common.h into the RRC object
  because different RATs may have different mappings.
- It adds a interface to RRC that other objects like RLC/PDCP/etc. may
  use to get the bearer name of a specific LCID.
- The patch also introduces a PDCP config class.
2017-07-04 17:48:39 +02:00
Ismael Gomez 93ff9294f5 Merge branch 'next' into mobility 2017-06-23 16:34:16 +02:00
Ismael Gomez 6037a2f2bd changed logger classes 2017-06-23 16:29:46 +02:00
Ismael Gomez 4b5cbafdb5 upgraded to new code restruct 2017-06-21 18:29:17 +02:00
Ismael Gomez fc6a38cad1 removed more unused libraries in ue binary 2017-06-07 10:57:20 +02:00
Ismael Gomez 5e030dc805 renamed SRSUE_ constants to SRSLTE_ 2017-06-06 20:34:09 +02:00
Ismael Gomez d05b03e43a added buffer pool function call name debug feature 2017-06-06 20:04:19 +02:00
Ismael Gomez 8a367bf825 changed srsue namespace to srslte for all common objects 2017-06-01 12:25:42 +02:00
Ismael Gomez e75daee148 renamed include paths for common objects 2017-05-31 23:39:17 +02:00
Andre Puschmann 1d1916d6e0 Merge branch 'restruct_update' into restruct_update_paul 2017-05-31 16:21:18 +02:00
Andre Puschmann c51c4d2a38 fix compile warnings 2017-05-31 13:45:01 +02:00