srsLTE/srsenb
Andre Puschmann a7911f0dab pdcp,rlc: refactor SDU queueing policy
this patch refactors the SDU queuing and dropping policy of the RLC and PDCP layer.
the previous design had issues when packets have been generated at a higher
rate above the PDCP than they could be consumed below the RLC.

When the RLC SDU queues were full, we allowed two policies, one to block on the write
and the other to drop the SDU. Both options are not ideal because they either
lead to a blocking stack thread or to lost PDCP PDUs.

To avoid this, this patch makes the following changes:

* PDCP monitors RLC's SDU queue and drops packets on its north-bound SAP if queues are full
  * a new method sdu_queue_is_full() has been added to the RLC interface for PDCP
* remove blocking write from pdcp and rlc write_sdu() interface
  * all writes into queues need to be non-blocking
  * if Tx queues are overflowing, SDUs are dropped above PDCP, not RLC
* log warning if RLC still needs to drop SDUs
  * this case should be avoided with the monitoring mechanism
2020-07-13 17:05:28 +02:00
..
hdr pdcp,rlc: refactor SDU queueing policy 2020-07-13 17:05:28 +02:00
src pdcp,rlc: refactor SDU queueing policy 2020-07-13 17:05:28 +02:00
test removal of stack handler interface 2020-07-13 11:19:25 +01:00
CMakeLists.txt Updated copyright 2020-03-16 11:26:06 +01:00
drb.conf.example Changed default DRB config QCI 9 to AM 2018-06-13 16:43:48 +02:00
enb.conf.example srsENB: Derive inactivity timeout from T310 and T311 and N310. 2020-06-26 12:19:57 +01:00
rr.conf.example Use all CQI/SR resources by default 2020-04-30 15:52:39 +02:00
sib.conf.example multiqueue: add option to create queue with non-default capacity 2020-06-12 21:37:10 +02:00
sib.conf.mbsfn.example fix sib.conf.mbsfn.example defaults 2019-01-21 17:28:44 +00:00