Commit Graph

254 Commits

Author SHA1 Message Date
Andre Puschmann 03bd63d9ab rename RLC AM class to RLC AM LTE 2019-11-15 16:02:37 +01:00
Andre Puschmann 2d126371f6 adopt PDCP NR to use new timer class 2019-11-07 14:12:08 +01:00
Pedro Alvarez 9998b3e857 Small white space fix and clang-format on pdcp_nr_test.h 2019-11-07 14:12:08 +01:00
Pedro Alvarez 900d535baa Added test for reception of duplicated packets 2019-11-07 14:12:08 +01:00
Pedro Alvarez 347e10d967 Adding test for reception of duplicate packets. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 3614c1004e Fixed issue in test with out-of-order packets. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 7542e5a936 Continue to change PDCP test to support timeouts. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 6265325e20 Starting to change test to also run the clock. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 8511fca940 Clang-formated to prepare for PR 2019-11-07 14:12:08 +01:00
Pedro Alvarez d3a07fdd38 Added check for overflow at RX. Adding more tests. 2019-11-07 14:12:08 +01:00
Pedro Alvarez eb1470621a Added function to generate vector of PDUs 2019-11-07 14:12:08 +01:00
Pedro Alvarez ed24544a63 Added debug print for out of order, wraparound and duplicate RX PDUs. Adding a helper function to help generate a vector of test PDUs 2019-11-07 14:12:08 +01:00
Pedro Alvarez a191eb6606 Fixed up some PDCP tx tests. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 2752e3cff5 Starting to stop tx'ing packets if TX_NEXT overflows. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 62230c6ab9 Starting to have overflow protection in PDCP NR tx 2019-11-07 14:12:08 +01:00
Pedro Alvarez f872c1b55a Added test for PDCP COUNT wraparound. (Needs to be changed, COUNT wraparound is not allowed.) 2019-11-07 14:12:08 +01:00
Pedro Alvarez f29dd3c5de Added test for reordering at COUNT wraparound. Failing at the moment (as expected). 2019-11-07 14:12:08 +01:00
Pedro Alvarez 1d56fa6308 Improved speed of tests for COUNT wraparound, by setting the PDCP initial state. 2019-11-07 14:12:08 +01:00
Pedro Alvarez ffc26a702d Changed the name of more PDUs 2019-11-07 14:12:08 +01:00
Pedro Alvarez cb0466bce7 Starting to change the expected pdus name. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 49e0e3a24a Added helper function to generate expected PDUs 2019-11-07 14:12:08 +01:00
Pedro Alvarez 39943367ab Starting to add the ability to tweak the initial state of the PDCP NR state, so that the tests of counter wraparound don't take hours. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 517ce8a220 Added test to test out of order COUNT wraparoung. Added setters to help with the testers. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 727436ec0b Added helper function to compare two packets. Making generic function to test out of order packets. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 43c68fe78b Sarting to add test for out of order wrap-around. 2019-11-07 14:12:08 +01:00
Pedro Alvarez ceea761ca4 Added append_bytes method to byte_buffer_t class. Continue to reduce boilerplate. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 59bc2baf3f Continue to reduce boiler plate 2019-11-07 14:12:08 +01:00
Pedro Alvarez df7a020e5f removing some boiler plate 2019-11-07 14:12:08 +01:00
Pedro Alvarez 977238a79c Added pdcp_nr_test.h to reduce boiler code in the pdcp_nr_test.cc 2019-11-07 14:12:08 +01:00
Pedro Alvarez 837ca9e07e Changed name of helper class 2019-11-07 14:12:08 +01:00
Pedro Alvarez be090768c9 Making helper class to reduce boilerplate in PDCP NR tests. 2019-11-07 14:12:08 +01:00
Pedro Alvarez b7fdcaabc5 Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 45d298507b Starting to move pdcp configs to rrc_interface_types. Starting to add test for reorder timeout. 2019-11-07 14:12:08 +01:00
Pedro Alvarez f06e1af4e0 Added test for receiving out of order NR PDCP packets 2019-11-07 14:12:08 +01:00
Pedro Alvarez ff15ed5018 Starting to add timers to the NR PDCP. 2019-11-07 14:12:08 +01:00
Andre Puschmann f4a0bebe1f fix handling of invalid MAC LCIDs 2019-10-31 21:43:27 +01:00
Andre Puschmann aa9733eb59 add packing for CCCH over UL-SCH for MAC NR 2019-10-31 21:43:27 +01:00
Francisco Paisana 9ae5563331 fixed timer issue with setting the duration. Setting the duration cannot reset the on-going timer run 2019-10-23 19:33:25 +01:00
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 2019-10-23 19:33:25 +01:00
Francisco Paisana 5953d5ef96 fixed some potential bug related to timer getting stopped, but signaling that it expired 2019-10-23 19:25:48 +01:00
Francisco Paisana 551192705e allow for pre-reservation of timers vector and priority queue 2019-10-23 19:25:48 +01:00
Francisco Paisana 50a1c9d557 addressed potential overflow, and extended timer test to check if ordering is working correctly 2019-10-23 19:25:48 +01:00
Francisco Paisana 349646a9da created a new class for timers. It uses a priority queue to avoid incrementing all timers every tti (step_all() went from O(N) to O(1)), and that is not bounded in number of timers. Not being bounded will be useful for layers that require one or more timers per UE 2019-10-23 19:25:48 +01:00
Francisco Paisana f2d88e5a5b simplified NAS rrc connection request procedure
move non-type-specific methods of proc_t to its base class.
procedure state machine was simplified via a future-type. Now procedures dont get stuck until the user reads the procedure outcome.
made the NAS procedures more event trigger/reaction-based.
2019-10-23 18:19:25 +02:00
Francisco Paisana 8864787f59 added the continuation functionality to procedures via the "then()" method. 2019-10-23 18:19:25 +02:00
Francisco Paisana c1be118d1d new wrapper-based design for stack procedures. Removes extra base class, gets rid of spurious copies/moves during the pop(), and allows the use of a non-default ctor() 2019-10-23 18:19:25 +02:00
Andre Puschmann 89889d6df5 add packing and unpacking test for MAC PDU only containing padding bytes 2019-10-11 17:35:52 +02:00
Andre Puschmann f07a9277a0 fix RLC AM issue where an invalid status PDU was generated
happens when very small grant is provided and the status
PDU generation fails because of a too small grant

add extra check to prevent that ACK_SN is also in NACKS list
2019-10-04 16:29:03 +02:00
Francisco Paisana a2f1998350 fix issue with thread pool shut down 2019-10-04 10:24:21 +02:00
Francisco Paisana 3f1fad3f4e bug fix: avoid renaming thread in worker ctor 2019-10-04 10:24:21 +02:00