Pedro Alvarez
865298f8d5
Moved lib PDCP to its own folder
2021-06-30 18:19:20 +01:00
Pedro Alvarez
171d5727be
Moved lib RLC into it's own folder
2021-06-30 18:19:20 +01:00
Xavier Arteaga
8378c85ec4
Refactored gNb PHY
2021-06-28 00:27:36 +02:00
David Rupprecht
6d5391756c
Refactor build of RLC NR config
2021-06-24 16:52:58 +02:00
Pedro Alvarez
aae266e848
Added configuration option for S1AP SCTP bind port
2021-06-22 11:11:54 +01:00
Xavier Arteaga
cf09044453
Optimised random bit (unpacked) and byte (packed) generator
2021-06-15 12:44:21 +02:00
Andre Puschmann
475c033440
rlc_am_test: extend status PDU test
...
add full test with malformed status PDU
2021-06-15 11:01:02 +02:00
Andre Puschmann
fa7a8fb687
rlc_am_test: add testcase for processing out-of-order status PDUs
2021-06-14 09:43:02 +02:00
Andre Puschmann
d51ee722f6
rlc_am_test: add unit test for ACK_SN is outside rx window
...
the test uses a malformed status PDU from a PCAP and makes
sure the RLC receiver detects such a PDU and raises a warning
2021-06-10 10:44:18 +02:00
Andre Puschmann
46265c5829
rlc_am_data_test: add data PDU unpack test
...
TV captured in PCAP
2021-06-09 14:44:15 +02:00
Andre Puschmann
b379910690
pdu_test: add UL-SCH unpacking test
...
TV captured in PCAPs.
2021-06-09 14:44:15 +02:00
Pedro Alvarez
299d2ee35d
Added interface to make the PDCP notify the RRC of integrity check
...
failures.
2021-06-08 18:52:22 +01:00
Andre Puschmann
a013a2fe05
rlc_stress_test: fix bug when read_pdu was returning -1
2021-06-04 13:23:54 +02:00
Andre Puschmann
c0be8187c8
rlc interface: convert entire read_pdu() interface to return uint32_t
...
we had it returning int but had a bug in using the return value properly,
i.e. handling when -1 was returned in RLC TM.
Thinking about it more, it doesn't make sense to have a negative return
value here anyway. Either the RLC can return a PDU or not. If it can't the
returned lenght is zero.
2021-06-04 13:23:54 +02:00
Francisco
539ca47fe2
lib,bugfix: fix blocking queue unit test. Dtor cannot destroy object while a thread is still pushing data
2021-06-04 13:02:39 +02:00
Andre Puschmann
9612bb0e14
rlc_am_test: fix status PDU test and add extra test for failure signaling
2021-06-03 21:11:47 +02:00
Andre Puschmann
aaffdeb326
rrc,rlc: add method to signal protocol failure to RRC
...
general-purpose method for lower layers to signal protocol
failures to higher layers, i.e. RRC.
In the current case, implement a direct release of the UE (enb) or
a reestablishment (UE).
2021-06-03 21:11:47 +02:00
Andre Puschmann
107f6334dd
compile: fix compilation on 32bit systems that require -latomic
2021-06-03 20:45:02 +02:00
Andre Puschmann
b88f22b9fe
network_utils_test: fix race detected with TSAN
2021-06-01 22:44:12 +02:00
Andre Puschmann
716caafd6c
multiqueue_test: fix race reported by TSAN
2021-06-01 22:44:12 +02:00
Andre Puschmann
c434aac526
rlc_stress_test: include tsan options header
2021-06-01 22:44:12 +02:00
Xavier Arteaga
10a268fdba
Added SNR to phy_dl_test
2021-06-01 08:26:36 +02:00
Francisco
f36f5271d3
timers,feature: make timers thread-safe by using atomic to store timers state.
2021-05-31 23:26:36 +01:00
Andre Puschmann
531acc0a98
rlc_am_test: add check for RLC buffer state return during retx
2021-05-31 09:40:37 +02:00
Pedro Alvarez
c74b2dd633
Fix some warnings in PHY due to array parameter mismatch for a few functions
2021-05-26 22:16:22 +02:00
Francisco
f2a56c9139
simplification of multiqueue design.
...
- the consumer does multi-staged waiting:
1. spins first across all queues in a RR fashion
2. each queue access is done with a try_lock.
3. if the try_lock fails, it increases the number of spins needed
2. if no queue had data, the consumer sleeps for 100 usec.
- no differentiation between queues, in terms of notification features
2021-05-24 17:24:12 +02:00
Francisco
b41aba2a03
fix task scheduler test
2021-05-24 17:24:12 +02:00
Francisco
2d6a878826
change interface to create multiqueue queues
2021-05-24 17:24:12 +02:00
yagoda
9501283c1c
fixing support for extended Cyclic Prefix
...
small cosmetic fixes of CP code
2021-05-20 18:16:15 +02:00
Andre Puschmann
81c1851bbd
rlc_am_test: fix TSAN isses and removing info log when dropping PDU
2021-05-20 13:41:07 +02:00
faluco
6fb81c7619
- Add a mutex with priority inheritance for srslog internal structures.
...
- Replace shared_variable members in log_channel class in favor of atomics.
- Remove the small string optimization in srslog now that we dont allocate anymore.
- Trim some critical sections in srslog.
2021-05-18 09:28:03 +02:00
Francisco
996d8ef74d
multiqueue bugfix for non-blocking pushes when queue is full
2021-05-11 21:27:08 +02:00
Francisco
99abae9e6a
fix multiqueue producer to consumer notification to avoid deadlocks
2021-05-10 15:27:21 +01:00
Francisco
0d800eb8f6
stack, multiqueue - bugfix for multiqueue destruction, and addition of unit test
2021-05-10 15:27:21 +01:00
Francisco
ef9d1b8c13
stack optimization - reduction of contention in multiqueue class
...
With the new design, each queue created in the multiqueue object has its own mutex.
Pushing tasks to separate queues will, therefore, not cause contention.
There will be, however, still contention between the popping thread and the pushing threads.
2021-05-10 15:27:21 +01:00
Francisco
cd51537234
add comment explaining the use case of cached_alloc
2021-05-06 18:06:10 +01:00
Francisco
28847badcf
implementation of custom allocator for memory caching. This allocator may be used for unbounded queues
2021-05-06 18:06:10 +01:00
faluco
aef18f9931
Implement a benchmark for measuring latency in the foreground threads when pushing log entries.
...
This benchmark runs with several threads to test contention.
2021-05-04 09:49:26 +02:00
Xavier Arteaga
fb5dfb3a86
Improved NR unit test
2021-04-28 20:23:52 +02:00
Xavier Arteaga
6c39a5e4ff
Added PDSCH DMRS aditional unpacking
2021-04-28 20:23:52 +02:00
Andre Puschmann
4dd17aee45
rrc/phy/nr: calculate tuning freq of NR carrier from RRC signaling params
...
skip initial tuning to hard-coded NR frequency and use RRC-provided
values to calculate center frequency
2021-04-25 21:05:23 +02:00
AlaiaL
862784ee46
Fixed coverity 369719
2021-04-23 21:22:06 +02:00
AlaiaL
82788ca094
Fixed issues from coverity:
...
- 370233
- 370234
- 370239
- 370240
- 370241
- 370242
- 370243
- 370295
2021-04-23 21:22:06 +02:00
faluco
1ccb62af3d
Apply srsLTE formatting rules to srsLog. They were previously formatted with different rules when the project lived in the external rapo.
2021-04-22 16:35:23 +02:00
Francisco
ff3fc0826b
asn1 fixes and improvements
...
- use const char* instead of std::string in enumerated<>::to_string() to avoid mallocs.
- Remove the use of "typedef", and use "using" keyword instead.
- Fix rrc_nr::setup_release_c<>::to_string() broken linkage.
2021-04-22 10:21:08 +01:00
Francisco
28f787f1de
extend timer handler unit test to check correct time wheel implementation
2021-04-21 10:02:03 +01:00
Francisco
2b572f5376
fix overwrite of timer timeout when it matches previous time wheel position
2021-04-21 10:02:03 +01:00
Francisco
ce47cf5910
fix - re-add log flush to srsran_assert
2021-04-20 16:27:40 +01:00
Francisco
3b78bf3730
bugfix - fix memcheck warnings. move instructions with side effects outside of asserts
2021-04-20 14:01:05 +01:00
David Rupprecht
6b41ae7e8b
Updated PDCP config struct for rat type
2021-04-19 22:23:59 +02:00