67 Commits (c26f2b204132f0c0e1bf127d51a58d49949d33b2)

Author SHA1 Message Date
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
Pedro Alvarez 0f4b64f13f lib,rlc: added macros for hex logging that automatically add the rb_name. changed logging to use new macros in multiple places. 3 years ago
Pedro Alvarez b687072815 lib,rlc: added rb_name and logger to rlc_common. Added macros to help making sure bearer name is always included to the log to rlc_common.h. Started using said macros in TM, UM and AM entities. 3 years ago
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 5532c514ba lib,rlc_am_nr: added logging macros to make sure that the RB name is allways logged. 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 90ed04afd1 Fix unitialized header warning on rlc_amd_tx_pdu for ARM. 3 years ago
Pedro Alvarez dface7e4af lib,rlc_am_nr: make sure header is initialized. 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 e3b95ef131 lib,rlc_am_nr: remove unused structure 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 63657ddfe6 Moved retx queue to rlc_am_data_structs, to enable it being re-used in RLC AM NR 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 37f8dba4ac Make sure rlc_am_nr_header_t is initialized. 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
Andre Puschmann 1bec07a64a rlc_um_nr: fix starting/stopping of reassemble timer 3 years ago
Pedro Alvarez f99d6bc224 lib,rlc: changed get_bearer() to get_lcid(). 3 years ago
Pedro Alvarez 3b150e26cb rlc_am_nr: Changed header_t to HeaderType typename in RLC data structs.
Fix issue in clear_pdcp_sdu()
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 aef87d5366 rlc_am_nr: Change rlc_am_base to use unique_ptr to hold rx/tx entities 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