Commit Graph

37 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
Andre Puschmann c99d5077c8 add RLC UM NR transmitter 2019-09-20 16:33:25 +02: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 acbe7fabe4 rlc: fix class member initialization
uninitialized member detected by coverity, now converted all default
initialization to be done in class definition
2019-06-14 11:26:19 +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
Andre Puschmann 4b01a2e4a0 update copyright notice 2019-04-29 09:20:02 +02:00
Andre Puschmann e84d26ae4e fix RLC UM reestablishment 2019-03-01 11:01:58 +01: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 6ca0d4494a do not transmit new PDUs after calling stop 2018-10-09 21:17:36 +02:00
Andre Puschmann e06e5b8b60 limit maximum allowd RLC SDU size 2018-10-04 14:39:42 +02:00
Andre Puschmann a6d9181881 fix RLC UM issue with very large MAC grants 2018-10-03 14:58:24 +02:00
Andre Puschmann 22b4396c39 increase default tx_queue length for RLC UM and AM
- With the current default tx queue length (16 SDUs) the BSR reported by the UE
  is too low if the size of the SDU is relativly small (e.g. 100 B).
  This effectivly causes the eNB to only allocate a small grant
  to the UE and thus reduces the UL throughput for small SDUs.
2018-09-25 12:33:25 +02:00
Andre Puschmann 89df8f1582 unify RLC interface for writing SDUs w/ and w/o blocking 2018-07-25 16:08:07 +02:00
Andre Puschmann 27d3d697df refactor RLC part#2
- move metrics into entities
- make configure interface return true/false on success/failure
- add own srslte mode type
2018-07-23 17:30:32 +02:00
Ismael Gomez 3cb9f51460 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-07-12 18:12:32 +02:00
Andre Puschmann a9b023258c refactor RLC UM to have separate tx/rx objects 2018-07-12 16:13:03 +02:00
Ismael Gomez 005fe87ae9 RLC reestablish to re-enable tx_enabled 2018-07-09 00:26:58 +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 65f2747a8e removing mch handler in rlc, fixing embms autostart 2018-05-20 19:24:44 +02:00
Andre Puschmann 2fb0dc62a0 refactor config for multicast RLC bearers 2018-05-15 22:23:21 +02:00
yagoda 49c3578f64 introducing embms support in common upper layer functions 2018-05-15 16:57:23 +02:00
Ismael Gomez 040c33497d merged PR#189 and added check for non-empty queue in get size tail 2018-05-10 21:32:32 -05:00
David Rupprecht 9d71bec7b6 Unified include guards 2018-03-31 19:04:04 +02:00
Andre Puschmann 1be93d4682 add RLC UM destructor 2018-02-16 21:32:21 +01:00
Ismael Gomez 6556941e6d simplified MAC timers. Unified mac and upper timers in same background task 2017-09-19 17:51:35 +02:00
Ismael Gomez 5359c42b46 RLC UM release timer at stop() 2017-09-19 15:15:25 +02:00
Andre Puschmann 7ca0988ea3 refactor RLC to use RAT-agnostic config 2017-07-04 18:29:49 +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