Francisco
2a009eb340
sched,feature: Enable configuring maximum coderate for SIB allocations
2021-06-14 18:55:51 +01:00
Francisco
6ababf401b
feature,sched: allow setting initial DL CQI in enb.conf
2021-06-14 15:55:23 +01:00
Francisco
e8983b88f0
refactor: use enb_cc_idx instead of ue_cc_idx in mac::ue
2021-06-14 13:18:47 +01: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
19f30aa652
rlc_am_lte: fix handling of out-of-order status PDUs
...
before processing incoming status PDUs we should be checking
if the ACK_SN falls within our current Tx window. If not the PDU
will be dropped.
Without the check we were incorrectly processing the status PDU
and because the sequence number wrap around wasn't working
correctly if ACK_SN is smaller than vt_a we were corrupting
our Tx window.
2021-06-14 09:43:02 +02:00
Xavier Arteaga
8743713bb1
Fix compilation
2021-06-14 09:21:29 +02:00
Xavier Arteaga
676080d6af
Added macro SRSRAN_VEC_SAFE_CMA
2021-06-14 09:21:29 +02:00
Andre Puschmann
b862bbc2e6
rlc_am_lte: add missing mutex to get_status getter
...
fixws race detected with TSAN
2021-06-10 10:44:18 +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
878142843e
rlc_am_lte: add further sanity check when creating status PDU
...
the test verifies that the ACK_SN of a status PDU falls inside the
rx_window of the receiver. If not, than the RLC state has been
corrupted and the status PDU is likely invalid.
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
Xavier Arteaga
6be57dd216
Disable PDCCH false detection for non AVX2 machines
2021-06-09 13:20:01 +02:00
Alejandro Leal Conejos
a51f2a1de4
Fills the value of the number of cpus for the system_metrics_t and
...
initiliaze its value to 0 when executing 2 measures in less than 100 ms.
2021-06-09 09:34:46 +02:00
Pedro Alvarez
a53b321ab8
Release UE upon reception of integrity error.
2021-06-08 18:52:22 +01: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
Xavier Arteaga
939dd1b977
Change struct sync_raster_t to class
2021-06-08 14:55:12 +02:00
Xavier Arteaga
a79d518799
Added SSB search measure/decode file test
2021-06-08 14:55:12 +02:00
Xavier Arteaga
5181a9d64c
Implemented PBCH blind decode
2021-06-08 14:55:12 +02:00
Xavier Arteaga
a7b7f8e78a
Avoid SSB search to have a peak that SSB data is outside buffer
2021-06-08 14:55:12 +02:00
Xavier Arteaga
480f1b14fe
Protect Radio from null phy
2021-06-08 14:55:12 +02:00
Xavier Arteaga
9621cf57c2
Implemented NR SS raster object
2021-06-08 14:55:12 +02:00
Xavier Arteaga
49d857cd17
Refactored decode_tb function
2021-06-08 10:19:24 +02:00
Xavier Arteaga
22b1673b36
Added CRC match function and simplify CRC check
2021-06-08 10:19:24 +02:00
Xavier Arteaga
7846bfccb1
Implemented softbuffer RX CRC reset
2021-06-08 10:19:24 +02:00
David Rupprecht
ff3e7c321d
Added bref function for calc distance til end
2021-06-08 10:14:43 +02:00
Xavier Arteaga
e8f2b3a74c
Add PDCCH decoder correlation check in blind search
2021-06-05 11:08:27 +02:00
Xavier Arteaga
7c78fd2050
Implemented PDCCH DCI message correlation and updated test
2021-06-05 11:08:27 +02:00
Xavier Arteaga
bcd2e59635
PDCCH test global variable cleanup
2021-06-05 11:08:27 +02:00
Francisco
7e77da6a15
mac,optimization: use rnti memory pool to create mac::ue objects
2021-06-04 21:29:13 +01:00
Andre Puschmann
295b5fe8fb
rlc_tm: fix stopping of entity detected with TSAN
2021-06-04 13:23:54 +02: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
Xavier Arteaga
60f294a6a1
Refactor PDCCH encode/decode unit test
2021-06-04 11:13:23 +02:00
Xavier Arteaga
5ddc974beb
Reverted PDCCH threshold
2021-06-04 11:13:23 +02:00
Xavier Arteaga
d46be09663
Increase viterbi default number of iterations
2021-06-04 11:13:23 +02:00
Xavier Arteaga
090022568e
DCI NCCE find considers L and NCCE
2021-06-04 11:13:23 +02:00
Andre Puschmann
a36e0477b8
rlc_am: fix status PDU packing when grant size isn't enough to send full report
...
when a small grant is provided it might not be possible to fit a full status
PDU. This is currently detected while packing the PDU.
In order to avoid sending potentiall contradicting status info to the sending
entity, the fix makes sure to only transmit a small PDU acking what really
has been received so far.
This might not be optimal in terms for retx but will not corrupt any
state.
2021-06-03 21:11:47 +02:00
Andre Puschmann
5838ec4999
rlc_am: revert expect macro back to error log and inform higher layers
...
the incidence really must be handled by the higher layers, i.e. the bearer
needs to be reestablished.
2021-06-03 21:11:47 +02:00
Andre Puschmann
f22f4b4fbd
rlc_am: fix potential stalling in RLC transmitter
...
it turned out that a certain order of events can lead to
a RLC transmitter stalling because even though unacknowledged PDUs
are queued, none of them was actually considered for retx.
This can happen if a pollRetxTimer expires for a SN that, meanwhile,
has already been acknowledged. The positive lead to the deletion of
the SN from the Tx window.
The fix makes sure that when a retx for a unexisting SN is requested,
the sender will consider the next unacknowledged SN instead.
2021-06-03 21:11:47 +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
Francisco
ceaef3523f
sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing
2021-06-03 15:33:38 +01:00
Francisco
486823e5de
sched,bugfix: The PHR handling scheme now considers the number of PRBs of the UL grant that carried the PHR. Before, it was assuming the most conservative scenario of Nprb=1
2021-06-03 15:33:38 +01:00
Francisco
f7aef3ffc1
sched,bugfix: fix nof_retx update when UL HARQs are resumed
2021-06-02 20:21:32 +01:00
Ismael Gomez
5db3030428
Tiny changes
2021-06-02 12:37:36 +02:00
Francisco
89406b07d6
make eNB UL SNR initial value an exponential average alpha configurable
2021-06-02 10:08:34 +01:00
Andre Puschmann
1529379e9e
fec,pbch: remove unused variables
...
unused code that moreover was causing TSAN to complain, e.g.
in the ue_phy_test
2021-06-02 09:36:44 +02:00
Andre Puschmann
7ee38e6255
threads: disable thread attributes when compiled with TSAN
...
TSAN doesn't work well then threads are created with attributes
thar require root rights but the process is run as normal user.
this patch avoid the thread attributes in this case. TSAN isn't going
to be used for production builds.
2021-06-02 09:36:44 +02:00
Andre Puschmann
b88f22b9fe
network_utils_test: fix race detected with TSAN
2021-06-01 22:44:12 +02:00
Andre Puschmann
f823340a95
rf_imp: fix race when stopping gain thread
...
detected with TSAN using benchmark_radio test
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
1ef3cb7e5d
threads: fix race in stopping periodic thread
2021-06-01 22:44:12 +02:00
Andre Puschmann
312b5a241c
mac_pcap_base: fix race detected with 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
Andre Puschmann
1d34aa280f
byte_buffer_queue: make class thread-safe by using atomics
2021-06-01 22:44:12 +02:00
Pedro Alvarez
18e2149d68
Sending Initial Context Setup Response after RRC reconfiguration.
2021-06-01 19:16:16 +01:00
Xavier Arteaga
4f7a94acb6
Fix comment
2021-06-01 16:38:55 +02:00
Xavier Arteaga
d329297151
Implement radio invalid mapping countermeasure
2021-06-01 16:38:55 +02:00
Andre Puschmann
3966065bff
pssch_test: fix newlines in printf
2021-06-01 16:17:11 +02:00
Andre Puschmann
2ace2b47b8
pssch: fix uninitialized value
2021-06-01 16:17:11 +02:00
Xavier Arteaga
bbab2cd9ba
Make PDCCH LLR mean amplitude in function of maximum
2021-06-01 15:04:24 +02:00
Xavier Arteaga
2ca0932d9b
Reviewed LTE noise estimation
2021-06-01 08:26:36 +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
Xavier Arteaga
dddb3ede71
Fix zero parity
2021-05-31 21:30:17 +02:00
Andre Puschmann
50f7fc644b
rlc_am_lte: log event when status prohibit timer expires
2021-05-31 12:40:17 +02:00
Xavier Arteaga
3c93d5ba43
Fix carrier mapping concurrency issue
2021-05-31 10:48:17 +02:00
Xavier Arteaga
235a664120
SRSUE: Removed PUSCH-DMRS/SRS pregeneration methods
2021-05-31 10:48:17 +02:00
Andre Puschmann
531acc0a98
rlc_am_test: add check for RLC buffer state return during retx
2021-05-31 09:40:37 +02:00
Andre Puschmann
3102861ee3
rlc_am_lte: make func param const&
2021-05-31 09:40:37 +02:00
Francisco
0dafe4dd58
fix coderate derivation in PDCCH based on aggregation level
2021-05-28 17:20:08 +02:00
Francisco
a587d20252
allow specification of subset of valid measurement gap offsets in rr.conf
2021-05-28 17:19:30 +02:00
Andre Puschmann
02cceee997
rf_zmq_imp: revert 28399dd876
and fix unit
...
although the manual test with Amarisoft eNB worked fine it seems
the delay is still needed in the default case. Over 50% of the
tests failed in the nightly with:
[zmq] Error: tx time is 0.067 ms in the past (138240 < 139776)
[zmq] Error: tx time is 1.100 ms in the past (184320 < 209664)
While this usleep() should increase the pass likelihood it
still doesn't guarantee error-free runs, so we might need
to revisit it again as some stage.
2021-05-28 09:27:13 +02:00
Andre Puschmann
e7aa484308
rf_zmq_test: remove srsran.h include
2021-05-27 17:26:39 +02:00
Andre Puschmann
bb6a5ebe80
tsan: add TSAN options file to set some default flags and exclude some libs from checks
2021-05-27 17:26:39 +02:00
Andre Puschmann
28399dd876
rf_zmq_imp: remove sleep
2021-05-27 17:26:39 +02:00
Andre Puschmann
574459fd90
rf: remove srsran.h include
2021-05-27 17:26:39 +02:00
Xavier Arteaga
f33731ecd4
Disable irrelevant unit/component test by default
2021-05-27 16:06:17 +02:00
Andre Puschmann
d9a5d3f95a
pcap_base: increase PDU queue length
...
some systems with slower HDD seem to have issues
writing the PDUs to disk. increasing length to see if that helps.
2021-05-27 13:29:00 +02:00
Xavier Arteaga
a245039cf3
Initial NR-PBCH-DMRS integration
2021-05-27 13:08:42 +02:00
Pedro Alvarez
997f7db23a
Small fixes for observer.h missing std::size_t
2021-05-26 22:16:22 +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
Andre Puschmann
c1ad867824
epoll_helper: use std::atomic to protect exit called from different thread
2021-05-26 14:25:38 +02:00
Andre Puschmann
d8b2cfcef8
zmq,ringbuffer: protect concurrent access
...
some issue found through TSAN execution
2021-05-26 14:25:38 +02:00
Andre Puschmann
f1e6a975de
thread_pool: fix concurrent access of state variable
...
the thread workers need access to their current state to exit properly
when they are set to state STOP. However, since the state is kept in
a std::vector for all workers, it seems more appropiate to add a per-thread
running variable rather then mutexing the entire vector.
2021-05-26 14:25:38 +02:00
Xavier Arteaga
48e0fc3c99
Implemented initial PBCH decoder and refactored SSB candidate selection
2021-05-26 14:19:34 +02:00
Xavier Arteaga
de1b25558f
Added PRN sequence apply bit with state
2021-05-26 14:19:34 +02:00
Xavier Arteaga
1f38817b3b
Added random bit vector generator
2021-05-26 14:19:34 +02:00
Xavier Arteaga
bcb91d6173
srsran_vec_sprint_hex returns number of written characters
2021-05-26 14:19:34 +02:00
Xavier Arteaga
3634e96c3e
Added SSB measure test add/put/encode time measure
2021-05-26 14:19:34 +02:00
Xavier Arteaga
0aa5b14145
Initial NR PBCH encoding
2021-05-26 14:19:34 +02:00
Xavier Arteaga
d66dac0ab2
Added bit sequence state apply
2021-05-26 14:19:34 +02:00
Francisco
7076dbfef8
feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs
2021-05-25 21:51:10 +02:00
Francisco
dedd9c09a7
feature, scheduler: Add abitility to set minimum aggregation level in PDCCH, and disable adaptive aggregation level based on target BLER
2021-05-25 21:50:56 +02:00
Francisco
c5029fc266
feature - implement adaptive link adaptation in DL and UL
2021-05-24 19:33:27 +02:00
Francisco
8df6ed07c6
sched small fixes - use 0.930 instead of 0.932 for max coderate. Allow computing mcs/tbs based on max coderate directly. Other small fixes
2021-05-24 17:25:07 +02:00
Francisco
31936c9754
bugfix - printf formatting incorrect in bounded_bitset method
2021-05-24 17:24:50 +02:00