Commit Graph

40 Commits

Author SHA1 Message Date
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 2019-10-23 19:33:25 +01:00
Francisco Paisana 67d6a25194 Moving mac timers to stack timers (#638)
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.

* moved timers out of the UE MAC
2019-09-04 15:28:09 +02:00
Andre Puschmann e42449532b fix wrong namespace definition in various places 2019-08-07 15:32:49 +02:00
Ismael Gomez 8c41625599 Add RLC suspend and resume 2019-07-12 13:08:42 +02:00
Francisco Paisana 58e2e51044 removed rlc_interfaces. The rlc_cnfg types are now part of the rrc_interface_types. Removed implicit RB initialization in the RLC. 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 415d3418b6 reorganized enb to mirror ue director/class structure with a stack class 2019-06-07 15:41:56 +02:00
Andre Puschmann e8d6236975 remove init for all RLC TM/UM/AM
- all RLC entities are now initialized during contruction
- there is no need to check for, e.g., existance of timers, during
  runtime
- there is also no need to call re-init during resume
- timers are freed in dtor
2019-06-06 14:34:25 +02:00
Ismael Gomez ade720e032 Add RLC resume procedure 2019-06-06 14:34:25 +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
Francisco Paisana 0976ea6f27 created a unique byte buffer that automatically deallocates 2019-05-16 12:35:01 +02:00
Andre Puschmann 4b01a2e4a0 update copyright notice 2019-04-29 09:20:02 +02:00
Andre Puschmann 86232c143e expose RLC tx queue length through config struct 2019-02-01 17:11:55 +01:00
Andre Puschmann c3441046c9 simplify RLC buffer status query procedures
- add a simple and low-overhead has_data() method to check whether
  an RLC entity has data to transmit or not
- use this method for all calls that are actually not interested
  in the amount of data to send
- use the more expensive get_buffer_state() for all cases where
  the actual size of the buffer is of importance
2018-12-10 17:48:52 +01:00
Andre Puschmann b71dab87f1 add function to query if RLC bearer exists (the implementation) 2018-11-02 21:46:03 +01:00
Andre Puschmann 86e02921f0 fix regression in RLC base introduced during refactor causing eMBMS to fail 2018-09-25 14:04:06 +02:00
Andre Puschmann 34535c7efb fix RLC AM issues reported by clang-tidy 2018-09-25 10:46:36 +02:00
Andre Puschmann 184539b87d add LCID change API to UE interface, add method to reestablish single RLC bearer 2018-09-18 15:09:24 +02:00
Andre Puschmann 10bc01a7ae add API to change LCID of RLC bearers 2018-09-17 13:11:03 +02:00
Andre Puschmann 91492b87ef add del_bearer for RLC/PDCP 2018-08-06 13:17:51 +02:00
Andre Puschmann 6a2dc8677b remove obsolete header 2018-07-24 16:44:40 +02:00
Andre Puschmann b8438e9cc3 extend PDCP interface to allow non-blocking write of SDUs 2018-07-24 15:49:09 +02:00
Andre Puschmann 8e8fab027b refactor RLC base class
- add rwlock
- put RLC entities into map
- general cleanup
2018-07-23 15:42:54 +02:00
Ismael Gomez 589e569ce9
Changes on srsENB mutexing logic to fix general race condition and deadlock issues (#229)
* fixed some issues with the UL scheduling

* Hack to fix UL scheduler

* minor fix

* Cleaned up code and fixed issue with the update_allocation function

* fixed the console printing in the enb

* log/console fix

* fixed the log print

* added a normalization factor

* RLC: entity uses dynamic instances. Simplified stop/reset/reestablish procedure. Added non-blocking interface

* Limit decimals in metrics stdout

* Changed mutexes to rwlock in RLC/RRC/MAC/PDCP to fix race conditions when removing users

* Fix deadlock bug for MIMO

* Remove headers

* Fix missing unlock causing overflows

* Do not decrease CQI when PUCCH (this is a temporal fix, requires to reduce the maximum MCS)

* Fix mutex unlock in worker

* Configurable RLC tx buffer. Default to 512 for enodeb

* Check NULL SDU in write_sdu()

* Protect RLC objects and tx_queue from being destroyed while using it

* Remove superfluous code

* Disable SIB logging

* Fix block_queue for enb
2018-07-05 11:00:19 +02:00
yagoda 49c3578f64 introducing embms support in common upper layer functions 2018-05-15 16:57:23 +02:00
Ismael Gomez 62787bdd41 Remove unused include 2018-04-26 12:46:17 +02:00
David Rupprecht 9d71bec7b6 Unified include guards 2018-03-31 19:04:04 +02:00
Paul Sutton 60b059f3cc Adding RLC AM stress test 2018-02-07 21:59:50 +00:00
Ismael Gomez 5c31800ccb Fixed HO with ciphering 2017-12-02 22:43:35 +01:00
Ismael Gomez 9a255b477a Merge branch 'crypto' into mobility_crypto 2017-12-02 12:23:05 +01:00
Paul Sutton 84724d2ab1 NAS-plane encryption working (thanks to David Rupprecht) 2017-11-30 17:09:12 +00:00
Ismael Gomez 408545dab8 X2 (constant NCC) working 2017-11-23 19:46:34 +01:00
Ismael Gomez 5fed766806 fixed UE not reattaching after paging 2017-08-22 15:06:51 +02:00
Andre Puschmann 7ca0988ea3 refactor RLC to use RAT-agnostic config 2017-07-04 18:29:49 +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 5e030dc805 renamed SRSUE_ constants to SRSLTE_ 2017-06-06 20:34:09 +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 d079d25b2c rename srslte folder and src subfolder 2017-05-30 13:05:04 +02:00