Commit Graph

68 Commits

Author SHA1 Message Date
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 c49dddc09a fix RLC UM bug and enable Rx after reestablishment 2019-02-22 09:51:59 +01:00
Andre Puschmann 86232c143e expose RLC tx queue length through config struct 2019-02-01 17:11:55 +01:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +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 aebea06f15 fix RLC UM timer expiration after stopping entity 2018-10-09 21:18:14 +02:00
Andre Puschmann 42747edb54 fix issue where successfully rx'ed SDU was not detected 2018-10-09 21:17:47 +02:00
Andre Puschmann 6ca0d4494a do not transmit new PDUs after calling stop 2018-10-09 21:17:36 +02:00
Andre Puschmann 580ce3e298 add extra length check for RLC UM 2018-10-05 15:00:49 +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 3d4e90029c fix RLC UM issue when dropping PDU that is neither start nor end aligned 2018-09-21 10:29:41 +02:00
Andre Puschmann c0899ddda9 refactor RLC AM, add tx/rx subclasses 2018-09-07 10:49:52 +02:00
Andre Puschmann 24cde06e32 fix UM config printout during init 2018-09-07 10:49:52 +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 3950629a75 remove obsolete RLC_MODE struct and move existing one to rlc_interface.h 2018-07-25 16:06:42 +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
Andre Puschmann 291d80119c fix conflicts after merging 2018-07-13 12:42:54 +02:00
Ismael Gomez 3cb9f51460 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-07-12 18:12:32 +02:00
Ismael Gomez b6f84c2a1f Fix reestablish UM 2018-07-12 18:08:36 +02:00
Andre Puschmann a9b023258c refactor RLC UM to have separate tx/rx objects 2018-07-12 16:13:03 +02:00
Ismael Gomez 9690125882 Minor cleanup 2018-07-11 15:42:51 +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 d1fa61527f Fix reordering timer release screen print 2018-06-06 20:33:47 -07:00
Andre Puschmann 3eceeca72f set SDU pointer to null after UM reset 2018-05-25 12:33:33 +02:00
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 2018-05-22 10:39:05 +02:00
yagoda 65f2747a8e removing mch handler in rlc, fixing embms autostart 2018-05-20 19:24:44 +02:00
yagoda 0ae22e0822 fixing scheduling issues for mbms 2018-05-17 20:20:20 +02:00
Andre Puschmann 2fb0dc62a0 refactor config for multicast RLC bearers 2018-05-15 22:23:21 +02:00
yagoda e4c3f0bc30 adding mbms-gw and mch generation tables 2018-05-15 17:27:10 +02:00
yagoda 49c3578f64 introducing embms support in common upper layer functions 2018-05-15 16:57:23 +02:00
Andre Puschmann 541a045079 revert 0ac31cf4af
- but protect memcpy to detect misalignment when reassembling SDU
2018-05-15 15:39:23 +02:00
Ismael Gomez 0ac31cf4af Use memmove in reassemble_rx_sdu UM since overlapping memory sometimes 2018-05-14 16:07:08 +02:00
Andre Puschmann 7064d6a9ed increase tx_queue size for RLC UM to match the max SN if 5bits are used
- This prevents some of the tests from blocking if too many SDUs are pushed
  down.
2018-05-04 12:09:45 +02:00
Andre Puschmann fbc373e13c fix bug in RLC UM where lost start segments where not detected 2018-05-04 12:08:56 +02:00
Andre Puschmann 4ad02545b3 fix printing issue in UM 2018-03-26 13:10:38 +02:00
Andre Puschmann 938e56fa2c streamline log output in RLC AM/UM 2018-03-08 11:41:21 +01:00
Andre Puschmann 4575a9e610 add further checks for pool allocate return in srsENB and RLC UM/TM 2018-03-06 15:20:23 +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
Andre Puschmann 8d852ddfe5 only reset SDU buffer in RLC AM/UM 2018-02-20 17:54:09 +01:00
Andre Puschmann 1be93d4682 add RLC UM destructor 2018-02-16 21:32:21 +01:00
Andre Puschmann 8e1aa0edd8 temporary mod to print RLC config in warning mode 2018-02-01 15:44:58 +01:00
Xavier Arteaga 99ef760b6f More Coverity fixes 2018-01-31 16:49:14 +01:00