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
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
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
Robert Falkenberg
60c3d79f47
rlc, nr: complete packing of status PDUs with 18bit SNs
2022-03-01 20:44:39 +01:00
Robert Falkenberg
034aa6a6d4
rlc, nr: inform upper layer when max retransmissions is exceeded
2022-02-28 16:37:44 +01:00
Pedro Alvarez
e6d976d115
lib,rlc_am_nr: fixed stack smashing bug that happened when too many NACKs were present in the status report
2022-02-22 21:14:15 +00:00
Pedro Alvarez
ddbd857867
lib,rlc_am_nr: make sure that the RB name is logged when logging the header and status PDUs in NR
2022-02-22 21:14:15 +00:00
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
2022-02-16 13:23:32 +00:00
Pedro Alvarez
634c9ea3af
lib,rlc_am_nr: starting to order segments to be able to receive them out-of-order
2022-02-16 13:23:32 +00:00
Pedro Alvarez
76c33c78a9
lib,rlc_am_nr: starting to add test for segmentation. Starting to add functions for creating new segments and segment continuation.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
3e5b064a08
lib,rlc_am_nr: starting to add build_sdu_segment() function.
...
Also adding write_header function that receives as argument uint8_t* so
we can write the header straight to the payload.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
90ed04afd1
Fix unitialized header warning on rlc_amd_tx_pdu for ARM.
2021-11-24 21:23:23 +00:00
Pedro Alvarez
dface7e4af
lib,rlc_am_nr: make sure header is initialized.
2021-11-23 20:29:02 +00:00
Pedro Alvarez
e3b95ef131
lib,rlc_am_nr: remove unused structure
2021-11-22 17:42:52 +00:00
Pedro Alvarez
4c02407d3e
Change the update of rx_next and rx_highest_status.
2021-11-22 17:42:52 +00:00
Pedro Alvarez
3f000f0472
Adding t_reassembly to RLC AM NR
2021-11-22 17:42:52 +00:00
Pedro Alvarez
37f8dba4ac
Make sure rlc_am_nr_header_t is initialized.
2021-11-19 16:05:03 +00:00
Pedro Alvarez
8ae4d379aa
RLC AM NR: Added some logging functions to better debug the state and the received headers. Added initial handling of data pdu. Updating rx_next and rx_status_highest now.
2021-11-17 10:50:35 +00:00
Pedro Alvarez
2d29e4005c
Starting to generate RLC NR status report.
...
Starting to check if status pdu generation is correct.
2021-11-17 10:50:35 +00:00
Pedro Alvarez
d528d8af4c
Added initial skeleton for RLC AM NR entity
2021-11-04 16:12:07 +00:00
Pedro Alvarez
2bb249bf09
Moved RLC AM LTE and NR packing functions to their own file.
2021-11-04 16:12:07 +00:00