Commit Graph

156 Commits

Author SHA1 Message Date
Codebot 38a520b3c2 Merge branch 'next' into agpl_next 2022-07-24 21:12:22 +00:00
Pedro Alvarez b001d6c10e lib,rlc_am_lte: fix checkers for the TX window full 2022-07-21 11:26:30 +01:00
Codebot b5c994dd79 Merge branch 'next' into agpl_next 2022-07-17 21:12:22 +00:00
Pedro Alvarez dc71048d83 lib,rlc: fixed up test for full rx window 2022-07-08 12:57:07 +01:00
Pedro Alvarez b7ec529ff2 lib,rlc: allow ACK_SN be one over the end of the RX window. 2022-07-08 12:57:07 +01:00
Codebot ac06cf7453 Merge branch 'next' into agpl_next 2022-06-12 21:12:20 +00:00
Robert Falkenberg a11291eb08 lib,rlc_am_nr: fix handling of NACK ranges with SO reaching SDU edge
This changes the handling of NACK ranges with segment offset (SO),
where either so_start or so_end reach the edge of a full SDU.
That SDU is then NACK'ed as a whole, rather than as a segment
from 0 to 0xFFFF.
Otherwise, the search for segments will fail if said SDU was
initially sent as a whole (without segmentation).
2022-06-06 11:27:52 +02:00
Codebot 49554c2c46 Merge branch 'next' into agpl_next 2022-05-22 21:12:28 +00:00
Codebot e79aa61a9a Merge branch 'next' into agpl_next 2022-05-15 21:14:43 +00:00
Pedro Alvarez 6d55560256 lib,rlc_am_nr: check if ACK SN is within rx_window. Stop
t-PollRetransmit only if status report is not ignored
2022-05-13 10:27:52 +01:00
Pedro Alvarez c457132570 lib,rlc_am_nr: avoid if that would always be true when checking the
out-of-order ACK. Check ACK_SN instead of stop SN with Tx_Next_Ack
2022-05-13 10:27:52 +01:00
Robert Falkenberg 0c24e9c55f lib,rlc_am_nr: clean retx_queue of ACK'ed SDUs 2022-05-13 06:49:13 +02:00
Robert Falkenberg 95480297f4 lib,rlc_am_nr: unit test removal of ACK'ed SDUs from retx queue 2022-05-13 06:49:13 +02:00
Robert Falkenberg ebbecbe27c lib,rlc_am_nr: cosmetic change -- clang format 2022-05-10 14:02:39 +02:00
Robert Falkenberg 9a34d4d81b lib,rlc_am_nr: unit tests for NACK merging 2022-05-10 14:02:39 +02:00
Robert Falkenberg ecc995bd4b lib,rlc_am_nr: merge NACKs across SN overflows 2022-05-10 14:02:39 +02:00
Robert Falkenberg e9156d4ba2 lib,rlc_am_nr: status PDU creation supports NACK range 2022-05-10 14:02:39 +02:00
Pedro Alvarez 444783e2f2 lib,rlc_am_nr: added handling of nack ranges at RX 2022-05-09 14:03:25 +01:00
Codebot f2dff0b7a0 Merge branch 'next' into agpl_next 2022-05-04 16:21:18 +00:00
Pedro Alvarez 840aac7fda lic,rlc_am_nr: removed stop_no_lock(), it is not necessasry 2022-04-29 09:54:49 +01:00
Pedro Alvarez ea532cbf41 lib,rlc_am_nr: added stop() method to RX entity 2022-04-29 09:54:49 +01:00
Pedro Alvarez 2f8fd7a483 lib,rlc_am_nr: add stop() method to TX entity 2022-04-29 09:54:49 +01:00
Codebot 4d2b5b8eda Adding AGPL copyright to new files 2022-04-29 07:28:44 +00:00
Codebot 9211ad7d51 Merge branch 'next' into agpl_next 2022-04-29 07:28:41 +00:00
Andre Puschmann 70eaec21e2 all: fix uninitialized variables detected by coverity 2022-04-28 15:42:08 +02:00
Pedro Alvarez ee06a8893b lib,rlc_am_nr: fix wrong full sdu queue check 2022-04-26 22:01:47 +02:00
Codebot 123f766935 Merge branch 'next' into agpl_next 2022-04-26 08:28:16 +00:00
Pedro Alvarez 6ff18272e0 lib,rlc_am_nr: added debug_window function 2022-04-25 15:49:58 +01:00
Pedro Alvarez 515f2099be lib,rlc_am_nr: added SN to get pdu poll function. Setting POLL_SN now. 2022-04-25 15:49:58 +01:00
Pedro Alvarez b3edced44a lib,rlc_am_nr: added t_poll_retransmit to tx entity 2022-04-25 15:49:58 +01:00
Robert Falkenberg 4028b26274 lib,rlc_am_nr: add info_state() 2022-04-25 12:19:37 +02:00
Robert Falkenberg d66c76b374 lib,rlc_am_nr: consider size of all pending retx in buffer state 2022-04-25 12:00:31 +02:00
Robert Falkenberg 20201cd89b lib,rlc_am_nr: cosmetic change, add comment 2022-04-25 12:00:31 +02:00
Pedro Alvarez 63877ba209 lib,rlc_am_nr: make sure that tx_buffer_queue size is configurable 2022-04-22 22:05:03 +01:00
Robert Falkenberg ca37eed664 lib,rlc_am_nr: default initialize member in class definition 2022-04-21 06:54:43 +02:00
Robert Falkenberg 48dce0aab0 lib,rlc_am_nr: truncate status PDUs if necessary 2022-04-21 06:54:43 +02:00
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.
2022-04-21 06:54:43 +02:00
Robert Falkenberg eec4a395d0 lib,rlc_am_nr: status PDU to string prints NACK range 2022-04-21 06:54:43 +02:00
Robert Falkenberg 1a5683c226 lib,rlc_am_nr: add overlap check for segment offsets in rlc_amd_retx and queue 2022-04-20 12:17:52 +02:00
Pedro Alvarez 9d0bbc45b3 lib,rlc_am_nr: added debug window function 2022-04-12 14:43:44 +01:00
Robert Falkenberg dd7bd351b3 lib,rlc_am_nr: fix pack/unpack of NACKs in status PDUs 2022-03-31 12:04:43 +02:00
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"
2022-03-30 17:16:21 +02:00
Robert Falkenberg 79e8f7625e lib,rlc_am_nr: fix log msg for AM NR PDU header 2022-03-23 14:58:09 +01:00
Robert Falkenberg 7e13cd0712 lib,rlc_am_nr: rename get_tx_window_size() to get_tx_window_utilization() 2022-03-21 15:23:21 +01:00
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.
2022-03-17 13:54:56 +00:00
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. 2022-03-17 13:54:56 +00:00
Pedro Alvarez 1d1e6dd832 lib,rlc_am_nr: added pollBYTE support and a unit test for it 2022-03-17 13:54:56 +00:00
Pedro Alvarez eaa8fff6a0 lib,rlc_am_nr: Passing bool to get_pdu_poll() to differentiate the
behaviour between RETX and non-RETX PDUs.
2022-03-17 13:54:56 +00:00
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.
2022-03-16 10:57:28 +01:00
Robert Falkenberg 0cf052e31d lib,rlc_am_nr: replace hard-coded WINDOWS_SIZE 2022-03-16 10:57:28 +01:00