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