42 Commits (8511fca9404ce422e682444aa52a2d572bf7783c)

Author SHA1 Message Date
Pedro Alvarez b7fdcaabc5 Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing. 5 years ago
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 5 years ago
Andre Puschmann f07a9277a0 fix RLC AM issue where an invalid status PDU was generated
happens when very small grant is provided and the status
PDU generation fails because of a too small grant

add extra check to prevent that ACK_SN is also in NACKS list
5 years ago
Andre Puschmann d9577f0e1e suppress type-limit warning issued by some compilers by making var signed
Used to happen with older gcc giving:

"rlc_am.cc:1791:22: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]"
5 years ago
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
5 years ago
Ismael Gomez 8c41625599 Add RLC suspend and resume 6 years ago
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. 6 years ago
Andre Puschmann acbe7fabe4 rlc: fix class member initialization
uninitialized member detected by coverity, now converted all default
initialization to be done in class definition
6 years ago
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
6 years ago
Ismael Gomez f24c0cef8c Use timer interface instead of local boolean to query timer state 6 years ago
Ismael Gomez ade720e032 Add RLC resume procedure 6 years ago
Francisco Paisana 3bedc93ba5 added _t to unique_byte_buffer type 6 years ago
Francisco Paisana f469e2178b replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use 6 years ago
Francisco Paisana 0976ea6f27 created a unique byte buffer that automatically deallocates 6 years ago
Andre Puschmann 4b01a2e4a0 update copyright notice 6 years ago
Andre Puschmann 86232c143e expose RLC tx queue length through config struct 6 years ago
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
6 years ago
Andre Puschmann 96815e3a5f fix RLC AM handling of bigger MAC grants
- fix concatenation and header reconstruction
6 years ago
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.
6 years ago
Andre Puschmann ba87819ff1 retransmit random RLC AM PDU in case tx window is full 6 years ago
Andre Puschmann 34535c7efb fix RLC AM issues reported by clang-tidy 6 years ago
Andre Puschmann c0899ddda9 refactor RLC AM, add tx/rx subclasses 6 years ago
Andre Puschmann 89df8f1582 unify RLC interface for writing SDUs w/ and w/o blocking 7 years ago
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
7 years ago
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
7 years ago
Andre Puschmann 51e093e611 Merge branch 'next' into rlc_updates 7 years ago
Ismael Gomez 040c33497d merged PR#189 and added check for non-empty queue in get size tail 7 years ago
Andre Puschmann 61a24cbd4a Merge branch 'next' into rlc_updates 7 years ago
David Rupprecht 9d71bec7b6 Unified include guards 7 years ago
Andre Puschmann 4b90852170 add RLC AM FI field helpers 7 years ago
Andre Puschmann 75f42ac829 add RLC AM destructor 7 years ago
Andre Puschmann bf26934e13 rlc_am: print error but don't exit on buffer allocation errors 7 years ago
Paul Sutton d1d6cea737 Adding debug helpers 7 years ago
Xavier Arteaga 99ef760b6f More Coverity fixes 7 years ago
Ismael Gomez 408545dab8 X2 (constant NCC) working 7 years ago
Andre Puschmann 7ba8c5b94a fix bug in RLC AM where poll bit was never set if poll_byte and poll_pdu are zero
- In case both poll_pdu and poll_byte are zero a status PDU is requested
  from the other AM entity every N data PDUs
7 years ago
Ismael Gomez 5359c42b46 RLC UM release timer at stop() 7 years ago
Andre Puschmann 7ca0988ea3 refactor RLC to use RAT-agnostic config 8 years ago
Ismael Gomez 8a367bf825 changed srsue namespace to srslte for all common objects 8 years ago
Ismael Gomez e75daee148 renamed include paths for common objects 8 years ago
Andre Puschmann c51c4d2a38 fix compile warnings 8 years ago
Andre Puschmann d079d25b2c rename srslte folder and src subfolder 8 years ago