Commit Graph

105 Commits

Author SHA1 Message Date
Andre Puschmann e06e5b8b60 limit maximum allowd RLC SDU size 2018-10-04 14:39:42 +02:00
Andre Puschmann 96815e3a5f fix RLC AM handling of bigger MAC grants
- fix concatenation and header reconstruction
2018-10-03 14:58:24 +02:00
Andre Puschmann 1ba9c4adc1 fix typo 2018-10-03 14:58:24 +02:00
Andre Puschmann 99b10a6eb0 fix various RLC AM issues, where
- (a) no PDU is scheduled for retx after poll_retx timer expired
- (b) we write outside of the PDU buffer when concatenating many SDUs
2018-09-26 16:57:07 +02:00
Andre Puschmann ba87819ff1 retransmit random RLC AM PDU in case tx window is full 2018-09-25 10:46:36 +02:00
Andre Puschmann 891ef59d78 fix RLC AM status pdu packing 2018-09-25 10:46:36 +02:00
Andre Puschmann 34535c7efb fix RLC AM issues reported by clang-tidy 2018-09-25 10:46:36 +02:00
Andre Puschmann d03f5017df fix RLC mode printf and timer access 2018-09-07 14:04:57 +02:00
Andre Puschmann 02e38c7c9f fix stopping of RLC_AM timer and protect access 2018-09-07 13:10:22 +02:00
Andre Puschmann f3eceab242 small re-factor of RLC_AM class (reorder methods) 2018-09-07 13:08:45 +02:00
Andre Puschmann c0899ddda9 refactor RLC AM, add tx/rx subclasses 2018-09-07 10:49:52 +02:00
Andre Puschmann 86f70011d6 print LCID in RLC AM when providing buffer report 2018-08-07 14:56:24 +02:00
Andre Puschmann 3234add1f8 use blocking pool allocate in RLC AM 2018-07-30 14:55:43 +02:00
Andre Puschmann 99964c1054 fix RLC AM issue when building segements that require N_li in header 2018-07-30 14:54:49 +02:00
Andre Puschmann ec9b7e921a fix RLC AM double unlock mutex 2018-07-30 11:52:39 +02:00
Andre Puschmann 22f1487d64 log dropped SDU in RLC as info rather than warning 2018-07-27 11:25:13 +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 b8438e9cc3 extend PDCP interface to allow non-blocking write of SDUs 2018-07-24 15:49:09 +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 005fe87ae9 RLC reestablish to re-enable tx_enabled 2018-07-09 00:26:58 +02:00
Ismael Gomez 4762483396 Fix compilation warnings 2018-07-06 16:38:31 +02:00
Ismael Gomez efea8f4436 Set Dropped to debug level and reduce eNodeB RLC TX size 2018-07-06 15:30:26 +02:00
Ismael Gomez c64e26559e Dropped PDU log level to info 2018-07-05 14:08:23 +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
Ismael Gomez fae5531bcc Correction to commit 2a4a84a578. We don't check for tailroom but for read space 2018-07-05 10:56:32 +02:00
Andre Puschmann 9b9a56e543 fix printf in RLC_AM 2018-07-04 15:35:42 +02:00
Andre Puschmann f7a791866d turn sanity check in RLC_AM into info rather then error 2018-07-04 15:23:05 +02:00
Ismael Gomez 2a4a84a578 Add check for rx_window tailroom 2018-07-04 13:26:57 +02:00
Andre Puschmann fb82e00289 print poll retx timer expired only in debug logs 2018-06-18 18:05:20 +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
Andre Puschmann 75a6fa8e90 check and protect PDUs buffer in handle_data_pdu() 2018-05-13 20:36:10 +02:00
Andre Puschmann 27165b4fe2 Merge branch 'next' into rlc_updates 2018-04-05 12:39:31 +02:00
Andre Puschmann d42316fb68 fix RLC AM reset again to dealloc SDUs 2018-04-04 17:31:33 +02:00
Andre Puschmann 0a33128b7d add check to avoid pushing zero-size SDUs up the stack 2018-04-04 17:27:06 +02:00
Andre Puschmann 518199ba58 fix size calculation when receiving not-start-aligned RLC AM segments 2018-04-04 17:18:13 +02:00
Andre Puschmann 8cfd26ed1e temporary fix for issue where a RLC SDU boundary is not detected properly during reassembly 2018-04-04 17:11:55 +02:00
Andre Puschmann 8a831379c1 fix RLC AM SDU reset 2018-04-04 15:52:36 +02:00
Andre Puschmann 4ea5fe6509 Merge branch 'next' into rlc_updates 2018-03-29 20:59:08 +02:00
Joseph Giovatto 49da57c8a1 Changed log methods to take string literal vs string object
to allow for format checking and save on object copy.
Fixed log format specifier warnings.
2018-03-29 16:59:19 +02:00
Andre Puschmann 4b90852170 add RLC AM FI field helpers 2018-03-28 17:07:10 +02:00
Andre Puschmann 6063888cc5 protect memcpy's in rx sdu reassembly with boundary checks 2018-03-28 16:50:59 +02:00
Andre Puschmann a16aa291e3 protect memcpy's in rx sdu reassembly with boundary checks 2018-03-28 10:45:59 +02:00
Andre Puschmann 938e56fa2c streamline log output in RLC AM/UM 2018-03-08 11:41:21 +01:00
Andre Puschmann add125a01f check expiration of poll_retx_timer and schedule retx if needed 2018-03-06 14:04:17 +01:00
Andre Puschmann 5cfffd11e1 Revert "only reset SDU buffer in RLC AM/UM"
This reverts commit 8d852ddfe5.

This commit was needed because the order in which objects
where destructed on UE exit was such that the byte_buffer was deleted
before RLC_AM dtor was called.
2018-03-04 21:53:06 +01:00
Ismael Gomez 09c5ddb730 Merge branch 'next' into raa 2018-02-21 11:53:36 +01:00
Andre Puschmann 8d852ddfe5 only reset SDU buffer in RLC AM/UM 2018-02-20 17:54:09 +01:00
Andre Puschmann 75f42ac829 add RLC AM destructor 2018-02-16 12:40:07 +01:00
Paul Sutton b698547247 Fix for first RLC tx after handover 2018-02-15 16:39:56 +00:00