Pedro Alvarez
b0581ae5ae
lib,rlc_am_nr: removed ugly hack to get last element of list. Renamed current_sdu to sdu_under_segmentation.
3 years ago
Pedro Alvarez
bd8c7f7c57
lib,rlc_am_nr: added max_hdr and min_hdr variables, that are configured based on SN length. Replaced magic numbers with said variables.
3 years ago
Pedro Alvarez
f60259afb9
lib,rlc_am_nr: fixed multiple typos and deleted useless comments
3 years ago
Pedro Alvarez
9e6b852834
lib,rlc_am_nr: Added handle_full_sdu() and handle_segment_sdu() functions. Reduced duplicate code in handling SDU segments.
3 years ago
Pedro Alvarez
8afea13d9a
lib,rlc_am_nr: added initial logic to support receiving PDU segments.
3 years ago
Pedro Alvarez
aae1d9ad10
lib,rlc_am_nr: changed rlc_amd_nr_tx_sdu to use std::list to store
...
segment infomation. Segment infomation incluses, SO and payload length.
3 years ago
Pedro Alvarez
76c33c78a9
lib,rlc_am_nr: starting to add test for segmentation. Starting to add functions for creating new segments and segment continuation.
3 years ago
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.
3 years ago
Pedro Alvarez
b425316936
lib,rlc_am_nr: fixed tx_mod_base_nr(). Added unit test for inside_tx_window().
3 years ago
Pedro Alvarez
ab8577ff43
lib,rlc_am_nr: switched back to unsigned rx_mod_base. Removed if that is always true.
3 years ago
Pedro Alvarez
fea7828d3e
lib,rlc_am_nr: added struct to hold state variables. This is consistent
...
with TX and makes it easier to make getter/setters.
3 years ago
Pedro Alvarez
bca9ef2454
lib,rlc_am_nr: made mod_nr configurable
3 years ago
Pedro Alvarez
665aea599c
lib,rlc_am_nr: made sure that the return of rx_mod_base and tx_mod_base is signed by changing from a macro to an class method.
3 years ago
Pedro Alvarez
7460a9db69
lib,rlc_am_nr: check whether we exced nof_bytes in retx. changed build_retx_pdu API to receive unique_byte_buffer by ref.
3 years ago
Pedro Alvarez
47340f37a2
lib,rlc_am_nr: fix TS version in comments
3 years ago
Pedro Alvarez
b497d773ce
lib,rlc_am_nr: Fixed some metrics calculation. Added more precise metrics checking to unit tests
3 years ago
Pedro Alvarez
b794593469
lib,rlc_am_nr: added processing of ACKs from status report
3 years ago
Pedro Alvarez
ec93cc7238
rlc_am_nr: added logic to retx NACK'ed PDU.
3 years ago
Pedro Alvarez
473a45aae0
rlc_am_nr: fix buffer status calculation for retxs
3 years ago
Pedro Alvarez
4c02407d3e
Change the update of rx_next and rx_highest_status.
3 years ago
Pedro Alvarez
3f000f0472
Adding t_reassembly to RLC AM NR
3 years ago
Pedro Alvarez
9e4631ee24
Added NR specific config struct for RLC AM. Added status prohibit timer.
3 years ago
Pedro Alvarez
8ff545c423
Added RLC AM NR config structure. Added helpers to create RLC AM NR configs. Made it possible to create RLC AM NR entites in rlc.cc
3 years ago
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.
3 years ago
Pedro Alvarez
2d29e4005c
Starting to generate RLC NR status report.
...
Starting to check if status pdu generation is correct.
3 years ago
Pedro Alvarez
123ac16653
rlc_am_nr: fixed issue with pointers from rx entity to tx entity
3 years ago
Pedro Alvarez
f99e841421
Changed using a rlc_am_lte and rlc_am_nr entity, to a single rlc_am entity.
3 years ago
Pedro Alvarez
eefedcfccd
rlc_am_nr: renamed rlc_am_base to just rlc_am
3 years ago
Pedro Alvarez
debb4a0c6b
Refactored RLC AM segment pool for re-use in both LTE and NR
...
Moved RLC AMD PDU definitions from rlc_am_lte.h to rlc_common.h to make them re-usable in both RLC LTE and RLC NR
3 years ago
Pedro Alvarez
54be15e7a6
Moved write pdu to rlc_am_base::rlc_am_base_rx
3 years ago
Pedro Alvarez
476f9e1156
Changed logger initialization in RLC AM entities
3 years ago
Pedro Alvarez
022c51493b
Refactored RLC AM NR/LTE Rx and Tx entities to use a rlc_am_base_rx/tx class.
...
This was done to make it easier to share entity specific code between LTE and NR.
This removes the previously used templates.
3 years ago
Pedro Alvarez
b15f63f32f
Added an RLC AM base class to avoid code duplication in the RLC AM NR entity.
...
This class is based on a template that receives as argument the
rlc_am_*_tx/rx entities, so that those are different for LTE and NR.
Moved code from rlc_am_lte/nr entities so that they use the new base class.
3 years ago
Pedro Alvarez
d528d8af4c
Added initial skeleton for RLC AM NR entity
3 years ago
Pedro Alvarez
2bb249bf09
Moved RLC AM LTE and NR packing functions to their own file.
3 years ago
Pedro Alvarez
171d5727be
Moved lib RLC into it's own folder
3 years ago