Commit Graph

91 Commits

Author SHA1 Message Date
Pedro Alvarez 0cc632988f lib,rlc: tweaked some comments 2022-07-08 12:57:07 +01:00
Pedro Alvarez 7ac7c8673a lib,rlc: Fixed issue where `p` bit was not checked if PDU was outside of
the RX window. This could lead to a data stall, where TX keeps retx'ing
the same PDU to request a status report.
2022-07-08 12:57:07 +01:00
Pedro Alvarez 40f19b0e2c lib,rlc: added check for status report in full rx_window test. 2022-07-08 12:57:07 +01:00
Pedro Alvarez f4ca1848d6 lib,rlc: allow reception of ACK_SN == TX_NEXT+1,
as this can happen when the last segment has not been sent yet.
2022-07-08 12:57:07 +01:00
Pedro Alvarez ede44369f4 lib,rlc: add fix for issue in checking full RLC TX window 2022-07-08 12:57:07 +01:00
Pedro Alvarez dc71048d83 lib,rlc: fixed up test for full rx window 2022-07-08 12:57:07 +01:00
Pedro Alvarez 51ffd91f16 lib,rlc: added unit test that triggers assert when RX window is full 2022-07-08 12:57:07 +01: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
Pedro Alvarez ae8191c46d lib,rlc_am_nr: make sure we check that ACK_SN is not larger than TX_NEXT (after we checked we didn't get an ACK out of order) 2022-05-13 10:27:52 +01:00
Pedro Alvarez 97b66dbc4c lib,rlc_am_nr: fixed mal-formed status report in test. 2022-05-13 10:27:52 +01:00
Pedro Alvarez abc7294316 lib,rlc_am_nr: addded unit test for out of order status report 2022-05-13 10:27:52 +01: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
Pedro Alvarez 283199d54f lib,rlc_am_nr: added unit test for nack ranges without SO 2022-05-09 14:03:25 +01:00
Pedro Alvarez de67d88ca9 lib,rlc_am_nr: fix buffer state checker in rx status report with ranges test 2022-05-09 14:03:25 +01:00
Pedro Alvarez c386d89577 lib,rlc_am_nr: fix nack ranges with so 2022-05-09 14:03:25 +01:00
Pedro Alvarez 855ab8f7fd lib,rlc_am_nr: added unit test to nack ranges 2022-05-09 14:03:25 +01:00
Pedro Alvarez 4d59989f72 lib,rlc_am_nr: fix t-PollRetransmion timer test to work with 18bit SN 2022-04-25 15:49:58 +01:00
Pedro Alvarez abfa113576 lib,rlc_am_nr: fix wrong buffer state calculation for segment RETXes
when SO=0
2022-04-25 15:49:58 +01:00
Pedro Alvarez d7a32a0ea5 lib,rlc_am_nr: sending first SDU segment if t-PollRetransmit expires
instead of full SDU. Adressing test accordingly
2022-04-25 15:49:58 +01:00
Pedro Alvarez 361d3f46e0 lib,rlc_am_nr: starting to fix retx poll expiry test 2022-04-25 15:49:58 +01:00
Pedro Alvarez 2425985ab2 lib,rlc_am_nr: added test for poll retx timer 2022-04-25 15:49:58 +01:00
Robert Falkenberg c16071a3ac lib,rlc_am_nr: extend unit tests to check buffer state 2022-04-25 12:00:31 +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 e0acb7b81c lib,rlc_am_nr: update buffer-state-related unit test 2022-04-25 12:00:31 +02:00
Pedro Alvarez 8a27cdf45a lib,rlc_am_nr: fix incorrectly stopping the t-StatusProhibit 2022-04-23 00:00:16 +01:00
Robert Falkenberg 85c95d94b2 lib,rlc_am_nr_test: add retx test with trimmed status PDU 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 87f22bb294 lib,rlc_am_nr_test: cosmetic change, deleted commented code 2022-04-20 12:17:52 +02:00
Robert Falkenberg 25d7258442 lib,rlc_am_nr_test: comment new tests 2022-04-20 12:17:52 +02:00
Robert Falkenberg 3a874e78af lib,rlc_am_nr_test: fix format string of test delimiter 2022-04-20 12:17:52 +02:00
Robert Falkenberg 69231f000f lib,rlc_am_nr: don't enqueue segment retx if already pending for retx. 2022-04-20 12:17:52 +02:00
Robert Falkenberg 62558d94da lib,rlc_am_nr: fix segmented retx of non-contiguous segments 2022-04-20 12:17:52 +02:00
Robert Falkenberg 697781f024 lib,rlc_am_nr: testcase for NACK duplicate (full PDU) 2022-04-20 12:17:52 +02:00
Robert Falkenberg dd7bd351b3 lib,rlc_am_nr: fix pack/unpack of NACKs in status PDUs 2022-03-31 12:04:43 +02:00
Pedro Alvarez 0ada2adac7 lib,rlc_am_nr: minor fixes to address coments. Re-added comment, deleted useless assignement and fixed incorrect comment 2022-03-25 09:42:10 +00:00
Pedro Alvarez 981983377d lib,rlc_am_nr: fixes for retx_segment test for 18bits after changes for Rx_Highest_Status 2022-03-25 09:42:10 +00:00
Pedro Alvarez 1e0e451174 lib,rlc_am_nr: fixes for retx_segment_test after changes to RX_Highest_Status 2022-03-25 09:42:10 +00:00
Pedro Alvarez f4ff72bff8 lib,rlc_am_nr: fixes for setting the rx_highest_status incorrectly and incorrect status report generation. 2022-03-25 09:42:10 +00:00
Robert Falkenberg bd6e306c94 lib,rlc_am_nr: extend unit tests for 18-bit SN 2022-03-22 10:14:44 +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
Robert Falkenberg 329f3e519b lib,rlc_am_nr: reset do_status flag after sending status PDU
and extend unit test to fail when redundant status PDUs exist.
2022-03-19 07:07:42 +01:00
Pedro Alvarez c023dba175 lib,rlc_am_nr: cleaned up some test names and some comments. 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 47aea19bd3 lib,rlc_am_nr: added test for poll setting in RETXes 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
Robert Falkenberg b52a102021 lib,rlc_am_nr: extend unit tests for 18-bit SNs 2022-03-16 10:57:28 +01:00
Robert Falkenberg 717132e0c3 lib,rlc_am_nr: fix access of unconfigured entity 2022-03-16 10:57:28 +01:00
Robert Falkenberg 11ac8c2529 lib,rlc_am_nr: add support for 18-bit SNs
and first bunch of corresponding unit tests
2022-03-16 10:57:28 +01:00
Robert Falkenberg b6d93577a0 rlc, nr: replace so_end by segment_length 2022-03-09 08:28:46 +01:00
Robert Falkenberg bb7339910f rlc: separate types of rlc_amd_retx_t for LTE and NR 2022-03-09 08:28:46 +01:00