Francisco
6d9709fe54
adt - make circular buffer work with types without default ctor
2021-03-23 17:28:35 +00:00
Francisco
ef5329bec0
adt - extend circular map unit test to test the container with move-only types
2021-03-23 17:28:35 +00:00
faluco
e8395c7474
- Implement a pool to store dyn arg store objects in srslog to avoid allocations when passing arguments to the backend.
...
- Use string views inside the log formatters to avoid allocations.
- Avoid a std::string when using fmt::vsprintf, instead favour fmt::vprintf.
2021-03-23 14:55:34 +01:00
Andre Puschmann
1a0891df51
all: check return value of make_byte_buffer() and handle them safely
2021-03-23 14:31:15 +01:00
Francisco
b5692037a2
created macros for assertions and warnings. The assert macro prints the whole callstack on crash. The warning macro can just log a warning or call an assertion fail depending on the cmake flag STOP_ON_WARNING
2021-03-23 10:49:28 +00:00
Pedro Alvarez
d91119baf6
RLC discard ( #2515 )
...
* Added ability to discard to dyn_block_queue
* Change way of keeping track of SDUs
* Check nullptr in poping callback. Starting to check for nullptr in RLC read_pdu.
* Adding RLC discard tests
* Clearing PDCP info when RLC discard happens
* Read SDUs until they are no longer nullptr
* Changed discard_if to use template argument
2021-03-22 16:51:32 +00:00
Francisco
0d5038dd34
fix wrong lib linking in cmaker
2021-03-22 14:58:25 +00:00
Francisco
88f5add1fb
adt - fix circular map erase function and added extra asserts
2021-03-22 14:58:25 +00:00
Francisco
4869b14de3
application of new circular map to mac::ue_db
2021-03-22 14:58:25 +00:00
Francisco
98d0637ded
adt addition - implemented reusable circular map
2021-03-22 14:58:25 +00:00
Codebot
4523ee6087
rename srsLTE to srsRAN
2021-03-21 21:47:01 +01:00
David Rupprecht
ad3a3af490
Adding more info into pcap test
2021-03-19 17:55:13 +01:00
faluco
358c4de0bd
Fix a valgrind issue in a unit test in log_channel_test where the buffer was not being null terminated.
2021-03-18 10:29:54 +01:00
Andre Puschmann
3e07767f28
rlc_stress_test: set maxRetx for AM to 32 by default
...
since the tests are random we sometimes hit the maxRetx threshold
with 8 retx allowed that made the unit test fail.
increase threshold to lower the likelihood for this to happen.
2021-03-16 15:47:38 +01:00
faluco
e43f555fc0
- Provide a fast path for logging pre-formatted strings that are small and fit in 64 bytes without any allocations.
...
- Use this new feature in the tracer.
2021-03-16 11:20:01 +01:00
Pedro Alvarez
f02694dd3e
PDCP status report: Fix issue in keeping track of Rx'ed COUNTs after eNB reestablishment. Fixed issue in logic that limits the size of the rx_counts info vector.
2021-03-12 13:47:20 +00:00
Pedro Alvarez
d2ef541957
Changed the structure to store rx_counts info to std::vector, to reduce
...
memory allocations.
Update the rx_count_info queue if the queue size is too large.
2021-03-12 13:47:20 +00:00
Pedro Alvarez
3f79cd6281
Changed generation of status report to use rx_counts instead of
...
undeliverd_sdus_queue. Added a queue to store information about
rx_counts received.
Added unit test for when the SNs wrap-around in status report genaration
2021-03-12 13:47:20 +00:00
Francisco
3e9f93eb8a
refactor - remove old log_filter and logmap libraries from the codebase
2021-03-11 20:10:54 +00:00
Francisco
7dcb703d06
adt lib,bugfix - fix bounded_bitset resize to clear bits outside of mask correctly
2021-03-11 15:18:16 +00:00
faluco
173dcdd421
- Import latest srslog version.
...
- Remove string allocs in some log lines in radio.cc.
Add new tracing buffer capcity options into srsenb and srsue.
Add missing file.
2021-03-10 16:27:33 +01:00
Andre Puschmann
20cbc48f90
rlc_am_lte: refactor PDCP/RLC interface to use fix sized data structure
...
this patch replaces the std::vector type used in the interface between
PDCP and RLC to signal delivery status between both layers. The new
data type is a configurable but fixed-size vector.
The RLC AM doesn't need to dynamically allocate the vector for every SN but
uses the tx_window for storage.
2021-03-09 21:56:33 +01:00
Francisco
20e341d0a1
mac,bugfix - fixed formatting of MAC and scheduler user-defined types
2021-03-09 16:23:08 +00:00
Francisco
5a1bf28fe1
optimization - minimization of number of std::string allocations for logging
2021-03-09 16:23:08 +00:00
Francisco
1ffc4cef86
rlc am,optimization - change helper log methods to avoid mallocs
2021-03-09 16:23:08 +00:00
Francisco
d77b6e1d9c
sched,optimization,refactor - use of custom formatter that avoids mallocs for getting bitmasks strings in hex and binary formats
2021-03-09 16:23:08 +00:00
Francisco
f0ed1e06a8
documentation,bugfix - added documentation to new blocking queues, changed class names, and removed blocking pushes from the critical path
2021-03-08 14:49:14 +01:00
Francisco
d1236fd62f
stack,optimization - replaced previous block_queue design for new bounded queue in several places in the enb
2021-03-08 14:49:14 +01:00
Francisco
0ba93d274f
converted byte_buffer_queue to use new circular buffer-based queue to avoid mallocs
2021-03-08 14:49:14 +01:00
Francisco
822e26b63f
implemented circular buffer-based queue
2021-03-08 14:49:14 +01:00
Andre Puschmann
83f24fbf77
rlc_am_test: fix max_retx test
...
the test should only check the correct signaling of the maxretx
to the upper layer.
2021-03-06 20:55:08 +01:00
Andre Puschmann
9f627911df
rlc_am_{control}_test: extend status PDU test
2021-03-05 19:46:00 +01:00
Andre Puschmann
fa23be4d6d
rlc_stress_test: fix SDU generation
...
the PDCP SN was used to fill the SDU with data. But since
the max value isn't devisable by 256 it didn't always increment
correctly. Use a normal byte now that wraps correctly.
2021-03-05 19:46:00 +01:00
Andre Puschmann
5e345df439
rlc_stress_test: make pedantic operation the default
...
among cleaning up the the stress test, it does:
* remove optional pedantic flag and make it the default to catch resegmentation issues
* use random SDU and MAC grant size the default
* use factory functions to create RLC configs (make maxretx configurable)
* remove reestablishment and print error when maxRetx is triggered
* fix NR PCAP usage and removes PCAP ifdef
2021-03-05 15:47:30 +01:00
Andre Puschmann
1a59f2d5ba
rlc_am_test: extend header reconstruction test
...
this patch adds various new test cases generated from
rlc_stress_test to test header reconstruction.
2021-03-05 15:47:30 +01:00
Pedro Alvarez
7b23a83306
Fixup tests to consider wrap-around in status report
2021-03-04 11:22:53 +01:00
Pedro Alvarez
c4e9516561
Fix issue when LMS wraps-around and FMS doesn't in PDCP status report. Fix incorrect update of FMS on clear_sdu. Adding unit test to LMS wrap-around.
2021-03-04 11:22:53 +01:00
David Rupprecht
894e4d3501
Added mac pcap network class that dumps the packets to a udp network sink
2021-03-03 09:50:15 +01:00
David Rupprecht
5a95cbdfae
Disable rat assignment in pcap class
2021-03-03 09:50:15 +01:00
Xavier Arteaga
1e55d68b55
Removed set RNTI from API
2021-03-01 15:30:33 +01:00
Pedro Alvarez
4011714664
Fix errors in RLC stress tests due to PDCP SN wrap-around
2021-03-01 10:20:17 +00:00
Francisco
4b09507c19
remove srslte.h includes from upper layers
2021-02-26 16:44:57 +01:00
Francisco
b329e25bbb
move ue phy interfaces to separate interfaces header file
2021-02-26 16:44:57 +01:00
Francisco
b8bd869d0f
move ue rlc interfaces to separate interfaces header file
2021-02-26 16:44:57 +01:00
Francisco
a988351f46
move ue pdcp interfaces to separate interfaces header file
2021-02-26 16:44:57 +01:00
Francisco
ea04104e8e
move ue gw interfaces to separate interfaces header file
2021-02-26 16:44:57 +01:00
Francisco
f610a7b83d
Change background worker pool to become a global variable
...
Allocate rrc::ue objects in batches in the background worker pool
2021-02-25 15:56:40 +01:00
Andre Puschmann
c0a1b0efa3
rlc_am_test: add TC to check RLC AM drops PDU if max retx have been reached
2021-02-24 21:57:56 +01:00
David Rupprecht
fc9d5befda
Remove header test case
2021-02-24 20:23:54 +01:00
Andre Puschmann
5e93a6f5bd
rlc_um_nr_pdu_test: add 12bit SN unpack test
2021-02-24 20:23:54 +01:00