Commit Graph

420 Commits

Author SHA1 Message Date
Andre Puschmann db224335a7 add MUX step function for PBR counting 2019-06-26 17:57:25 +02:00
Andre Puschmann da35f41dd5 rework MAC logical channel prioritization 2019-06-26 17:57:25 +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 62eb96366c moved gw metrics out of stack_metrics_t 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
Xavier Arteaga c7be984819 sync.h uses lock_guard for mutex 2019-06-19 11:49:55 +02:00
Xavier Arteaga cd036d8760 SRSUE: proc_ra.h/.cc use C++11 mutex 2019-06-19 11:49:55 +02:00
Xavier Arteaga 5d87aece0f SRSUE: mac.h/.cc mutexes changed to C++11 and set initial values 2019-06-19 11:49:55 +02:00
Xavier Arteaga 9068280896 SRSUE: Sync.h/.cc mutexes changed to C++11 std::mutex and fixed attributes initialisation 2019-06-19 11:49:55 +02:00
Xavier Arteaga 810ce0358e SRSUE: removed CLang tidy warnings in phy.h and phy.cc except unused. Use smaer pointers for workers. 2019-06-19 11:49:55 +02:00
Andre Puschmann 01679dbc8d rearrange class members to make sure logs get destructed after stack components 2019-06-18 20:50:23 +02:00
Andre Puschmann ad2b5d7635 pcsc: fix uninitialized variable and class dtor 2019-06-18 20:50:23 +02:00
Xavier Arteaga 1f4cf8121b SRSUE: Initial UL channel simulator 2019-06-11 12:06:11 +02:00
Xavier Arteaga ad9808c2aa SRSUE: SCell include files rearange 2019-06-11 10:34:49 +02:00
Xavier Arteaga ceac7a02c8 SRSUE: moved sync SCell classes in new namespace 2019-06-11 10:34:49 +02:00
Pedro Alvarez 6d05265d92 Adding mutex to protect the tft_filter map. 2019-06-07 21:40:03 +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 e2ca02bbe4 Starting to add match methods to tft_packet_filter 2019-06-07 21:40:03 +02:00
Pedro Alvarez 272e40a60d Started to add a lookup in the gw to see if there is a match in the packet filter. 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 a8eaf16881 Starting to add a structure for 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
Francisco Paisana 415d3418b6 reorganized enb to mirror ue director/class structure with a stack class 2019-06-07 15:41:56 +02:00
Pedro Alvarez d67d18cc6b Removing deplicated error codes. 2019-06-07 13:51:56 +02:00
Ismael Gomez c2e9817f41 Possible solution to RLC Reestablishment 2019-06-06 14:34:25 +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 b2a35f6b5a nas: add parser and sender for modify EPS bearer context messages 2019-06-05 17:41:46 +02:00
Andre Puschmann dcb04c6461 turn usim object into a unique_ptr 2019-06-05 17:41:46 +02:00
Ismael Gomez 4ce8d84339 Restored force frequency 2019-06-05 15:29:48 +02:00
Andre Puschmann 0e95867f13 remove task dispatcher class 2019-06-03 15:03:20 +02:00
Xavier Arteaga 9c84f8e3fd SRSLTE: Added Uniform Random vector generator; Delay channel test; Fixed Delay channel SEGFAULT; SRSUE channel unique pointer; 2019-05-30 13:07:23 +02:00
Xavier Arteaga 9ab2b2de81 SRSUE: Created delay channel emulator and added fading to the UE 2019-05-30 13:07:23 +02:00
Andre Puschmann 3f90230d1a nas: add EPS bearer map 2019-05-30 13:05:02 +02:00
Andre Puschmann 1ec5a4d4ed add NAS metrics struct and move NAS states into common header 2019-05-30 13:05:02 +02:00
Andre Puschmann 1c749ad559 add basic handling for deactivating eps bearer 2019-05-30 13:05:02 +02:00
Andre Puschmann 0bd30343bb fix packing of dedicated bearer context accept 2019-05-30 13:05:02 +02:00
Andre Puschmann 5451fb6007 nas: add basic handling for dedicated bearer and UE testmode messages 2019-05-30 13:05:02 +02:00
Andre Puschmann 7de9f39fcc nas: move sending of attach complete message in extra function 2019-05-29 10:42:45 +02:00
Xavier Arteaga bb663a69b8 SRSUE RRC: Cleaned Reestablishment code 2019-05-27 12:37:52 +02:00
Xavier Arteaga e5084801a2 SRSUE RRC: refactored reestablishment procedure for executing Cell selection during T311 without blocking RRC 2019-05-27 12:37:52 +02:00
Andre Puschmann af8564e376 add ue_lte_phy_base and move logger out of UE class 2019-05-22 11:40:23 +02:00
Xavier Arteaga 0b6efb657e SRSUE: CA can be performed without requiring clock synchronization between RF devices. Added Asynchronous SCell Synch metrics to console trace 2019-05-20 13:16:38 +02:00
Xavier Arteaga 080b4a327c SRSUE: Refactored asynchronous cell and ue_radio. CA Fixed. 2019-05-17 18:13:51 +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 f4aa03154d change queue read and other functions apis 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
Francisco Paisana 0976ea6f27 created a unique byte buffer that automatically deallocates 2019-05-16 12:35:01 +02:00
Andre Puschmann dc9df36a24 remove unused radio_multi code 2019-05-16 12:30:26 +02:00
Andre Puschmann 76f93df8b6 fix uninitialized vars in demux 2019-05-03 11:17:16 +02:00
Andre Puschmann f46b582c79 fix default initialization of PHY params in RCC
- this commit splits the reconfiguration of the PHY params
- two functions only update the default params (for config
  dedicated and config common)
- one function only updates the current parameters when a new
  config is given (i.e. after rrc reconfig)
2019-05-02 21:01:26 +02:00
Xavier Arteaga b037fb8e51 Added minimal UE synch tweak and fix 2019-04-30 15:06:05 +02:00
Xavier Arteaga a1a797589a Added UE synchronization error metric (hard-coded disabled by default) 2019-04-30 15:02:08 +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 d8814a05f0 use stack-allocated messages for tx/rx'ing RRC messages (cherry-picked) 2019-03-19 11:31:10 +01:00
Andre Puschmann 3702a6660e fix compilation for gcc 4.x 2019-03-11 14:39:47 +01:00
Andre Puschmann 1cc6ae3c60 enable c++11 support 2019-03-11 13:31:43 +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
Xavier Arteaga c782ef2aa5 Solved unitialised values in UE (up to prach) and free 2019-01-22 12:23:57 +01:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +01:00
Andre Puschmann 3f63663a31 add mutex to csv metrics
this fixes and issue when closing the csv that left
half a new line in buffer
2019-01-10 12:35:45 +01:00
Andre Puschmann d34ecaaa5e adding RI to DL metrics 2019-01-10 12:35:38 +01:00
Joseph Giovatto af6de04806 added dl_earfcn_list to ue config
dl_earfcn_list = 2100,2200,3400
2018-12-17 12:14:49 +01:00
Andre Puschmann 463b00d82d check sys_info_change flag in paging message 2018-12-13 10:54:51 +01:00
Andre Puschmann d7ab2b8d66 add stop_timers function to RRC and call it in rrc::stop()
- this solves an issue with shutting down RRC when the UE
  just sent a connection request (and activated timer T300)
  and stop was called.
2018-12-10 17:48:52 +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 c9857fe4ad add handler for EMM status message 2018-12-10 17:48:52 +01:00
Pedro Alvarez e3d7ccd7e1 Changed the way UL NAS count is obtained to generate K_enb in the UE. Incrementing UL NAS count on integrity protected dettach request. 2018-11-30 21:42:43 +01:00
Pedro Alvarez dc727a192b Changing way UL NAS count is used to generate the K_enb. 2018-11-30 21:42:43 +01:00
Andre Puschmann db910cb84b add CSV metrics for eNB 2018-11-20 12:15:04 +01:00
Andre Puschmann 0571720105 make LCID for UL_DCCH configurable 2018-10-26 13:11:10 +02:00
Andre Puschmann 1ed225a10b add getter for IPv4 and IPv6 addresses 2018-10-26 13:09:03 +02: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 685898b323 Starting to add IPv4v6 support to the UE. Added function to get auto-generated link-local IPv6 address. 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
Pedro Alvarez 25108e2e2b Added configuration options to UE for IPv6 PDN. Starting to send PDN connectivity requesting IPv6. 2018-10-26 11:42:27 +02:00
Pedro Alvarez 3cddad79cc Adding ability to configure names of TUN interfaces. (#277)
* added config option for tun dev names vs fixed names added config option for M1-U interface addr

* Added options to sgi_mb tun name.

* Added some comments to mbms.conf.example

* Added some comments to example configs to explain the new values.
2018-10-05 11:12:31 +02:00
Andre Puschmann 0380c83175 remove RF device calibration settings from UE/eNB config
- this remove RF calibration parameters that were an extra
  section in the eNB/UE config but were hardly used (only old bladeRF)
- a better way to pass those parameter would be through the
  device args in the normal rf config section
2018-10-01 21:59:07 +02:00
Ismael Gomez cfb3a43aed Lower priority of workers 2018-09-26 14:30:39 +02:00
Andre Puschmann d981f129e0 Merge branch 'master' into next 2018-09-20 12:54:05 +02:00
Andre Puschmann 1fab8e6702 fix reset of NAS counters after receiving security mode command
- reported by cpetersgit
- reset only needed after receiving initial security mode command
2018-09-20 12:16:44 +02:00
Andre Puschmann f458d58527 fixed handling of UE indentity request 2018-09-20 11:55:42 +02:00
Joseph Giovatto 2dddfa2aac added ability to track tput per bearer (#233)
added mac_metrics for ul/dl harq retex counts
2018-09-20 11:22:22 +02:00
Ismael Gomez 6a791f1416 Change TX mutex to semaphores (mutex implementation was violating lock ownership requirement) 2018-09-06 15:22:37 +02:00
Ismael Gomez 327002a6cb Fix NCC=1 HO in second round 2018-08-22 10:57:26 +02:00
Ismael Gomez aaeec591b6 Fix race condition in phy recv 2018-08-14 19:50:03 +02:00
Ismael Gomez e1870963c7 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-08-10 22:22:07 +02:00
Ismael Gomez 9cd725de21 Trigger measurement only for cells in MeasObj not the discovered ones 2018-08-10 22:21:07 +02:00
Andre Puschmann 06c9a3f07f add network initiated detach 2018-08-07 15:32:40 +02:00
Andre Puschmann 40aef76745 fix logging when removing DRB 2018-08-06 21:09:36 +02:00
Andre Puschmann 3b8371d090 add detach support (for switch off) 2018-08-06 11:10:12 +02:00
Andre Puschmann eb30d86d44 process RRC PDUs in RRC thread 2018-07-23 17:49:26 +02:00
Andre Puschmann bd59d72b9f set RRC args by-value 2018-07-13 13:16:56 +02:00
Ismael Gomez 2d5cdc4f35 Add log to pool deallocate 2018-07-12 18:13:27 +02:00