263 Commits (218f1362541a03434a7ead4c1fab66a84fc3aa3b)

Author SHA1 Message Date
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
Andre Puschmann 8e8fab027b refactor RLC base class
- add rwlock
- put RLC entities into map
- general cleanup
7 years ago
Andre Puschmann 800eea888f fix PDCP security config 7 years ago
Andre Puschmann 47a8b1343f add rwlock to PDCP 7 years ago
Andre Puschmann 93c11e4416 turn PDCP array into map 7 years ago
Andre Puschmann 291d80119c fix conflicts after merging 7 years ago
Ismael Gomez 3cb9f51460 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 7 years ago
Ismael Gomez b6f84c2a1f Fix reestablish UM 7 years ago
Ismael Gomez a0d4650c2c Fix reestablish UM 7 years ago
Andre Puschmann a9b023258c refactor RLC UM to have separate tx/rx objects 7 years ago
Ismael Gomez 3122d8e959 RLC reestablish to re-enable tx_enabled 7 years ago
Ismael Gomez 1a7e746a06 Minor cleanup 7 years ago
Ismael Gomez 9690125882 Minor cleanup 7 years ago
Ismael Gomez 005fe87ae9 RLC reestablish to re-enable tx_enabled 7 years ago
Ismael Gomez 4762483396 Fix compilation warnings 7 years ago
Ismael Gomez 2da9787907 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 7 years ago
Ismael Gomez efea8f4436 Set Dropped to debug level and reduce eNodeB RLC TX size 7 years ago
Pedro Alvarez b460ece601 Merge branch 'mbms_tun' into next 7 years ago
Ismael Gomez 85a7daa09d Move RLC buffer size to common 7 years ago
Ismael Gomez 19ac35d933 Increased RLC UL buffer size 7 years ago
Ismael Gomez c64e26559e Dropped PDU log level to info 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
Ismael Gomez fae5531bcc Correction to commit 2a4a84a578. We don't check for tailroom but for read space 7 years ago
Andre Puschmann 9b9a56e543 fix printf in RLC_AM 7 years ago
Andre Puschmann f7a791866d turn sanity check in RLC_AM into info rather then error 7 years ago
Ismael Gomez 2a4a84a578 Add check for rx_window tailroom 7 years ago
Pedro Alvarez 0e135adc6f Starting to change gtpu_read_header and gtpu_write_header to lib. 7 years ago
Andre Puschmann fb82e00289 print poll retx timer expired only in debug logs 7 years ago
Ismael Gomez d1fa61527f Fix reordering timer release screen print 7 years ago
Paul Sutton f8f1fdf5ee Fix for SRB0 PDCP config settings 7 years ago
Andre Puschmann 3eceeca72f set SDU pointer to null after UM reset 7 years ago
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 7 years ago
yagoda 65f2747a8e removing mch handler in rlc, fixing embms autostart 7 years ago
yagoda 0ae22e0822 fixing scheduling issues for mbms 7 years ago
Andre Puschmann f554308632 fix warnings and remove debug output 7 years ago
Andre Puschmann bfec4d701b add eMBMS traffic to DL metrics 7 years ago
Andre Puschmann 2fb0dc62a0 refactor config for multicast RLC bearers 7 years ago
yagoda e4c3f0bc30 adding mbms-gw and mch generation tables 7 years ago
yagoda 49c3578f64 introducing embms support in common upper layer functions 7 years ago
Andre Puschmann 541a045079 revert 0ac31cf4af
- but protect memcpy to detect misalignment when reassembling SDU
7 years ago
Ismael Gomez 0ac31cf4af Use memmove in reassemble_rx_sdu UM since overlapping memory sometimes 7 years ago
Andre Puschmann 75a6fa8e90 check and protect PDUs buffer in handle_data_pdu() 7 years ago
Andre Puschmann 51e093e611 Merge branch 'next' into rlc_updates 7 years ago
Ismael Gomez ba40a4de84 Add checks for when RLC TM queue is corrupted and reset it 7 years ago
Andre Puschmann 05696a5ca7 Merge branch 'next' into rlc_updates 7 years ago
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.
7 years ago
Andre Puschmann fbc373e13c fix bug in RLC UM where lost start segments where not detected 7 years ago
Paul Sutton 5def5fd736 Adding check for invalid PDCP rx PDUs 7 years ago
Andre Puschmann d63b3e0376 add TM support to rlc_stress_test 7 years ago
Andre Puschmann a2f6166365 Merge branch 'next' into rlc_updates 7 years ago
Ismael Gomez 6ac39ee1a9 Do not block in RLC TM read queue 7 years ago
Andre Puschmann 27165b4fe2 Merge branch 'next' into rlc_updates 7 years ago
Andre Puschmann d42316fb68 fix RLC AM reset again to dealloc SDUs 7 years ago
Andre Puschmann 0a33128b7d add check to avoid pushing zero-size SDUs up the stack 7 years ago
Andre Puschmann 518199ba58 fix size calculation when receiving not-start-aligned RLC AM segments 7 years ago
Andre Puschmann 8cfd26ed1e temporary fix for issue where a RLC SDU boundary is not detected properly during reassembly 7 years ago
Andre Puschmann 8a831379c1 fix RLC AM SDU reset 7 years ago
Andre Puschmann 4ea5fe6509 Merge branch 'next' into rlc_updates 7 years ago
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.
7 years ago
Andre Puschmann 4b90852170 add RLC AM FI field helpers 7 years ago
Andre Puschmann 6063888cc5 protect memcpy's in rx sdu reassembly with boundary checks 7 years ago
Andre Puschmann a16aa291e3 protect memcpy's in rx sdu reassembly with boundary checks 7 years ago
Andre Puschmann 4ad02545b3 fix printing issue in UM 7 years ago
Andre Puschmann 938e56fa2c streamline log output in RLC AM/UM 7 years ago
Andre Puschmann 4575a9e610 add further checks for pool allocate return in srsENB and RLC UM/TM 7 years ago
Andre Puschmann add125a01f check expiration of poll_retx_timer and schedule retx if needed 7 years ago
Ismael Gomez 390a463d9f Check for PDU allocation and add warnings 7 years ago
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.
7 years ago
Ismael Gomez 09c5ddb730 Merge branch 'next' into raa 7 years ago
Andre Puschmann 8d852ddfe5 only reset SDU buffer in RLC AM/UM 7 years ago
Andre Puschmann 1be93d4682 add RLC UM destructor 7 years ago
Andre Puschmann 75f42ac829 add RLC AM destructor 7 years ago
Paul Sutton b698547247 Fix for first RLC tx after handover 7 years ago
Paul Sutton 81d8e7f70d Fix memory leak 7 years ago
Paul Sutton e18cb5ba5b Fixing RLC AM tests, adding extra check for segment handling 7 years ago
Paul Sutton 4cf79c1ead Initial fix for segment handling in RLC AM 7 years ago
Paul Sutton 59e425608f Better fix for buffer size issue 7 years ago
Andre Puschmann ccfb9314bc fix various coverity bugs 7 years ago
Andre Puschmann ef19b5f051 rlc_am: revert PDU len changes to pass tests again 7 years ago
Andre Puschmann ddfd114865 rlc_am: disable debug prints 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
Andre Puschmann 0c03b84a29 Revert "rlc_am: request status PDU if tx window is half full"
This reverts commit 897db045bb.
7 years ago
Andre Puschmann bde37de866 rlc_am: fix bug where PDU was erased from tx_window too early 7 years ago
Andre Puschmann bfb3155da6 rlc_am: don't build new PDUs if tx window is full 7 years ago
Andre Puschmann fe069073f0 rlc_am: directly add lower edge of tx window in case of a retx 7 years ago
Andre Puschmann 7fde6e4933 rlc_am: fix conditions for resetting re-ordering timer 7 years ago
Andre Puschmann bebf062fee rlc_am: count poll_pdu and poll_byte during retransmission (and segements) 7 years ago
Andre Puschmann 9c3418d010 rlc_am: add extra brackets to macro 7 years ago
Andre Puschmann fa7d5bd40e rlc_am: retransmit first outstanding PDU in case the tx_window is full to avoid stalling 7 years ago
Andre Puschmann 897db045bb rlc_am: request status PDU if tx window is half full
The idea behind this condition is to prevent pushing more and
more data PDU on the tx_queue without getting feedback from the
receiver about it's state.
7 years ago
Andre Puschmann d9c5567e55 rlc_am: request status PDU if needed when sending PDU segments 7 years ago
Andre Puschmann afe6219d4b rlc_am: move check for special SO_end field outside of if and adjust length accordingly 7 years ago
Andre Puschmann 4e5f7f6ffa rlc_am: flush retx queue after rx'ing status PDU to avoid unordered SNs 7 years ago
Ismael Gomez c64c618194 Fix typo in previous commit and remove printf 7 years ago
Ismael Gomez 8f2db5feb8 Fix as per psutton review of pull request #147 7 years ago
Ismael Gomez 0d65c48105 When RLC retx queue is empty, do not error and transmit a new tx 7 years ago
Ismael Gomez ffb076b2c5 Buffer is deallocated for tx_window but tx_window object is not removed from map. Next time is accessed buffer is null. 7 years ago
Andre Puschmann 8e1aa0edd8 temporary mod to print RLC config in warning mode 7 years ago
Xavier Arteaga 99ef760b6f More Coverity fixes 7 years ago
Ismael Gomez c0bbf6c5ae Removed PDCP thread 7 years ago
Ismael Gomez 8418c74a2d Fixes RLC small grant issue in eNodeB and non-adaptive retx 7 years ago
Andre Puschmann 34d4017479 check if active state before stopping pdcp entity 7 years ago
Pedro Alvarez be7cde7639 Merge branch 'next' into epc, to include RLC AM fix. 7 years ago
Andre Puschmann cf5ed07cdb Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 7 years ago
Paul Sutton e0ad960fd7 Reporting +1 in buffer state from RLC AM to avoid eNB issues with 1-byte packets 7 years ago
Andre Puschmann 74138071db move radio bearer definition to RRC 7 years ago
Andre Puschmann 5fdce71710 remove explicit use of RB id's in PDCP 7 years ago
Pedro Alvarez 042552491b Merging next into epc branch. 7 years ago
Pedro Alvarez c838758db2 Added downlink IP tunnel. Downlink user plane packets reach the UE. 7 years ago
Ismael Gomez 3607ac6154 Merge branch 'crypto' into mobility_crypto 7 years ago
Paul Sutton 324ba02481 Fix for PDCP EEA1 7 years ago
Ismael Gomez cfb059f0c2 Restart rx_counter for SRB in PDCP when restablishing 7 years ago
Ismael Gomez 5c31800ccb Fixed HO with ciphering 7 years ago
Ismael Gomez 9a255b477a Merge branch 'crypto' into mobility_crypto 7 years ago
Paul Sutton 1a323770c9 Added support for AS ciphering 7 years ago
Paul Sutton 84724d2ab1 NAS-plane encryption working (thanks to David Rupprecht) 7 years ago
Ismael Gomez d428760b20 Merge branch 'next' into mobility 7 years ago
Ismael Gomez 408545dab8 X2 (constant NCC) working 7 years ago
Paul Sutton 38ab9921f8 Undoing unnecessary RLC fix 7 years ago
Paul Sutton 10bc2ee8a1 Fix for RLC AM polling condition 7 years ago
Ismael Gomez 4eb5ee5c58 Removed console debugging messages 7 years ago
Ismael Gomez 05973790ba Add checks for existence of retx buffer and remove from queue if not 7 years ago
Ismael Gomez e983987563 Check retx.sn exists in tx_window in required buffer size 7 years ago
Ismael Gomez a992fcf607 Fix concurrent access segfault in RLC AM 7 years ago
Ismael Gomez d615dc9ec9 Added missing deallocation in RLC UM in case of too small pdu 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
Paul Sutton ac8cbcaaea 1-byte PDU fix for RLC AM 7 years ago
Paul Sutton 49a105baed Fix for tests, minor fix for RLC UM 7 years ago
Ismael Gomez 494802ba9b Fixed bug in RLC UM when TX large number of segments in a PDU 7 years ago
Ismael Gomez c2c637e06a Fixed out-of-bounds checking in rlc_um resegmentation 7 years ago
Ismael Gomez f064b83183 Added buffer overflow check in RLC UM reassemble 7 years ago
Ismael Gomez 6556941e6d simplified MAC timers. Unified mac and upper timers in same background task 7 years ago
Ismael Gomez 5359c42b46 RLC UM release timer at stop() 7 years ago
Ismael Gomez 68b1782c86 Fixed Paging and reattachment in new state machine. Moved GW to srsue 7 years ago
Ismael Gomez f0d9b333b2 Improved stability when UE reattaches 7 years ago
Ismael Gomez a51b6b09dd Merged with next. Attach successful 7 years ago
Ismael Gomez e5feec1934 Temporal commit before merge. Changed sequence objects to avoid reallocating memory. new NAS/RRC working with initial attachment 7 years ago
Ismael Gomez 5fed766806 fixed UE not reattaching after paging 7 years ago
Ismael Gomez 639227557f fixing small conflicts 8 years ago
Andre Puschmann 266f1b08fb rlc_am: print LCID in buffer status msg 8 years ago
Andre Puschmann 1e3b5f553e fix printf argument 8 years ago
Andre Puschmann 8030778809 fix PDCP initialization in eNB 8 years ago
Andre Puschmann 7ca0988ea3 refactor RLC to use RAT-agnostic config 8 years ago
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.
8 years ago
Andre Puschmann 60da04ef58 make LCID of GW object a parameter 8 years ago
Paul Sutton 89cc50c7c4 Deallocating buffers for ACKed RLC tx PDUs 8 years ago
Paul Sutton cec7b95d45 Fix for race condition, fix for window size checks 8 years ago
Ismael Gomez 4b5cbafdb5 upgraded to new code restruct 8 years ago
Paul Sutton f1152276f1 Fix for uninitialised bool 8 years ago