114 Commits (3714548391544b9c94a5a6802c810e3c9bb64c64)

Author SHA1 Message Date
Pedro Alvarez ee06a8893b lib,rlc_am_nr: fix wrong full sdu queue check 3 years ago
Pedro Alvarez 6ff18272e0 lib,rlc_am_nr: added debug_window function 3 years ago
Pedro Alvarez 515f2099be lib,rlc_am_nr: added SN to get pdu poll function. Setting POLL_SN now. 3 years ago
Pedro Alvarez b3edced44a lib,rlc_am_nr: added t_poll_retransmit to tx entity 3 years ago
Robert Falkenberg 4028b26274 lib,rlc_am_nr: add info_state() 3 years ago
Robert Falkenberg d66c76b374 lib,rlc_am_nr: consider size of all pending retx in buffer state 3 years ago
Robert Falkenberg 20201cd89b lib,rlc_am_nr: cosmetic change, add comment 3 years ago
Pedro Alvarez 63877ba209 lib,rlc_am_nr: make sure that tx_buffer_queue size is configurable 3 years ago
Robert Falkenberg ca37eed664 lib,rlc_am_nr: default initialize member in class definition 3 years ago
Robert Falkenberg 48dce0aab0 lib,rlc_am_nr: truncate status PDUs if necessary 3 years ago
Robert Falkenberg 489259dc78 lib,rlc_am_nr: extend status PDU struct with self-contained packed size info
This change refactors the rlc_am_nr_status_pdu_t from a simple
container into a class with integrated counter of the packed size.
As this depends on the SN length, the SN length must be passed
via constructor.
3 years ago
Robert Falkenberg eec4a395d0 lib,rlc_am_nr: status PDU to string prints NACK range 3 years ago
Robert Falkenberg 1a5683c226 lib,rlc_am_nr: add overlap check for segment offsets in rlc_amd_retx and queue 3 years ago
Pedro Alvarez 9d0bbc45b3 lib,rlc_am_nr: added debug window function 3 years ago
Robert Falkenberg dd7bd351b3 lib,rlc_am_nr: fix pack/unpack of NACKs in status PDUs 3 years ago
Robert Falkenberg d8cb4ec700 lib,rlc_am_nr: detect gaps in sequence of received SDU segments
This is required for checks such as
"there is at least one missing byte segment [...] before
the last byte of all received segments of this SDU"
3 years ago
Robert Falkenberg 79e8f7625e lib,rlc_am_nr: fix log msg for AM NR PDU header 3 years ago
Robert Falkenberg 7e13cd0712 lib,rlc_am_nr: rename get_tx_window_size() to get_tx_window_utilization() 3 years ago
Pedro Alvarez 12f440145d lib,rlc_am_nr: changed build_retx_pdu_without_segmentation to pass retx
info by copy. This is to avoid accidently using retx info by reference
after pop'ing the retx from the queue.
3 years ago
Pedro Alvarez b4814bfdc1 lib,rlc_am_nr: added test for polling bit set when retx queue is empty. Fixed lost PDU test now that we correctly set the polling bit. 3 years ago
Pedro Alvarez 1d1e6dd832 lib,rlc_am_nr: added pollBYTE support and a unit test for it 3 years ago
Pedro Alvarez eaa8fff6a0 lib,rlc_am_nr: Passing bool to get_pdu_poll() to differentiate the
behaviour between RETX and non-RETX PDUs.
3 years ago
Robert Falkenberg 5bb6cdec1e lib,rlc_am_nr: use std:vector for nacks in rlc_am_nr_status_pdu_t
- Also create tx_status a member to avoid frequent allocations
for each created PDU.

- Remove unused member nack_range from rlc_am_nr_status_pdu_t.
3 years ago
Robert Falkenberg 0cf052e31d lib,rlc_am_nr: replace hard-coded WINDOWS_SIZE 3 years ago
Robert Falkenberg 80e23624f8 lib,rlc_am_nr: extract function am_window_size() 3 years ago
Robert Falkenberg 47c1845cdc lib,rlc_am_nr: add pdu_retx_queue_base, rlc_ringbuffer_base as interfaces
that are independent from templated capacity.
3 years ago
Robert Falkenberg 11ac8c2529 lib,rlc_am_nr: add support for 18-bit SNs
and first bunch of corresponding unit tests
3 years ago
Robert Falkenberg b6d93577a0 rlc, nr: replace so_end by segment_length 3 years ago
Robert Falkenberg bb7339910f rlc: separate types of rlc_amd_retx_t for LTE and NR 3 years ago
Robert Falkenberg 60c3d79f47 rlc, nr: complete packing of status PDUs with 18bit SNs 3 years ago
Robert Falkenberg f7515e98cf rlc, nr: add pack/unpack of nack_range in status PDUs 3 years ago
Robert Falkenberg 0fb6420e8b rlc, nr: avoid multi increments of SDU's retx_count within one status message 3 years ago
Robert Falkenberg 511ad9ed25 rlc, nr: Increment retx_count for segments 3 years ago
Robert Falkenberg 034aa6a6d4 rlc, nr: inform upper layer when max retransmissions is exceeded 3 years ago
Robert Falkenberg 95ebc06ec1 rlc: implement SDU discard for AM+UM in NR+LTE
- Implemented in common base classes
- Added locking
3 years ago
Robert Falkenberg 9b44d13471 rlc, nr: notify PDCP about fully acked SDUs 3 years ago
Pedro Alvarez e6d976d115 lib,rlc_am_nr: fixed stack smashing bug that happened when too many NACKs were present in the status report 3 years ago
Pedro Alvarez ddbd857867 lib,rlc_am_nr: make sure that the RB name is logged when logging the header and status PDUs in NR 3 years ago
Pedro Alvarez c8d15135c6 lib,rlc_am_nr: addressing reveier comments:
* made some methods const
  * changed from TESTASSERT to TESTASSERT_EQ
  * fix up comment
  * removed superfulous if
  * used typedef for list of segments received
  * added unit test for is_retx_required()
  * added unit test for malformed status PDU
3 years ago
Pedro Alvarez 634c9ea3af lib,rlc_am_nr: starting to order segments to be able to receive them out-of-order 3 years ago
Pedro Alvarez 832d650574 lib,rlc_am_nr: remove unused variables. Fixed up some comments. 3 years ago
Pedro Alvarez 9bb3b1f18f lib,rlc_am_nr: remove unused code after re-factor 3 years ago
Pedro Alvarez 5e8b7b5ebe lib,rlc_am_nr: re-factored code for retx'ing with and without segmentation. 3 years ago
Pedro Alvarez 38e4c47f34 lib,rlc_am_nr: added current SO to keep track of the SO for the next RETX. 3 years ago
Pedro Alvarez 65d5df8b6e lib,rlc_am_nr: Continue to add functionality to provide segments of retx'es. Started to add function to re-segment already existing SDU segment 3 years ago
Pedro Alvarez e4a72de342 lib,rlc_am_nr: refactored build_pdu helpers to receive the payload pointer for consistency. Added function to segment retx. Added some comments to build PDU helper functions. 3 years ago
Pedro Alvarez b1a33a07a1 lib,rlc_am_nr: starting to add test for segmenting retx. Changed sdu under segmentation to only hold the SN. The actual SDU already exists in the pdu stored in the tx_window. 3 years ago
Pedro Alvarez 9bd368e0a9 lib,rlc: changed back status and header logging helpers to log directly. Make sure RB name is automatically logged. 3 years ago
Pedro Alvarez b53da22eb1 lib,rlc: changed return of string helper functions from char* to std::string to avoid UB 3 years ago
Pedro Alvarez e157806db2 lib,rlc_am_lte: removed RB_NAME macro. changed status and data pdu logging helpers to return C strings. Using new logging macros to make sure that RB name is included when logging status and amd pdus. 3 years ago