You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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
4 years ago
..
CMakeLists.txt changed to a label filtering approach for ctest 4 years ago
pdcp_base_test.h pdcp,rlc: refactor SDU queueing policy 4 years ago
pdcp_lte_test.h pdcp,rlc: refactor SDU queueing policy 4 years ago
pdcp_lte_test_rx.cc created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks 4 years ago
pdcp_nr_test.h pdcp,rlc: refactor SDU queueing policy 4 years ago
pdcp_nr_test_discard_sdu.cc pdcp,rlc: refactor SDU queueing policy 4 years ago
pdcp_nr_test_rx.cc created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks 4 years ago
pdcp_nr_test_tx.cc pdcp,rlc: refactor SDU queueing policy 4 years ago
rlc_am_control_test.cc rlc_am: refactor control test 4 years ago
rlc_am_data_test.cc Updated copyright 5 years ago
rlc_am_nr_pdu_test.cc corrected mac_nr_pdu includes 5 years ago
rlc_am_test.cc rlc: extend RLC metrics 4 years ago
rlc_common_test.cc remove asn1 namespace from srsue files 5 years ago
rlc_stress_test.cc rlc: extend RLC metrics 4 years ago
rlc_test_common.h Updated copyright 5 years ago
rlc_um_data_test.cc Updated copyright 5 years ago
rlc_um_nr_pdu_test.cc corrected mac_nr_pdu includes 5 years ago
rlc_um_nr_test.cc corrected mac_nr_pdu includes 5 years ago
rlc_um_test.cc rlc_um: add dedicated unit test for the PDU packing bug 4 years ago