Andre Puschmann
fa7a8fb687
rlc_am_test: add testcase for processing out-of-order status PDUs
3 years ago
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.
3 years ago
Xavier Arteaga
8743713bb1
Fix compilation
3 years ago
Xavier Arteaga
676080d6af
Added macro SRSRAN_VEC_SAFE_CMA
3 years ago
Codebot
20f62def63
Adding AGPL copyright to new files
3 years ago
Codebot
d9cb5d01ff
Merge branch 'next' into agpl_next
3 years ago
Andre Puschmann
b862bbc2e6
rlc_am_lte: add missing mutex to get_status getter
...
fixws race detected with TSAN
3 years ago
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
3 years ago
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.
3 years ago
Andre Puschmann
46265c5829
rlc_am_data_test: add data PDU unpack test
...
TV captured in PCAP
3 years ago
Andre Puschmann
b379910690
pdu_test: add UL-SCH unpacking test
...
TV captured in PCAPs.
3 years ago
Xavier Arteaga
6be57dd216
Disable PDCCH false detection for non AVX2 machines
3 years ago
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.
3 years ago
Pedro Alvarez
a53b321ab8
Release UE upon reception of integrity error.
3 years ago
Pedro Alvarez
299d2ee35d
Added interface to make the PDCP notify the RRC of integrity check
...
failures.
3 years ago
Xavier Arteaga
939dd1b977
Change struct sync_raster_t to class
3 years ago
Xavier Arteaga
a79d518799
Added SSB search measure/decode file test
3 years ago
Xavier Arteaga
5181a9d64c
Implemented PBCH blind decode
3 years ago
Xavier Arteaga
a7b7f8e78a
Avoid SSB search to have a peak that SSB data is outside buffer
3 years ago
Xavier Arteaga
480f1b14fe
Protect Radio from null phy
3 years ago
Xavier Arteaga
9621cf57c2
Implemented NR SS raster object
3 years ago
Xavier Arteaga
49d857cd17
Refactored decode_tb function
3 years ago
Xavier Arteaga
22b1673b36
Added CRC match function and simplify CRC check
3 years ago
Xavier Arteaga
7846bfccb1
Implemented softbuffer RX CRC reset
3 years ago
David Rupprecht
ff3e7c321d
Added bref function for calc distance til end
3 years ago
Codebot
6d280cbcc8
Adding AGPL copyright to new files
3 years ago
Codebot
73a61b884e
Merge branch 'next' into agpl_next
3 years ago
Xavier Arteaga
e8f2b3a74c
Add PDCCH decoder correlation check in blind search
3 years ago
Xavier Arteaga
7c78fd2050
Implemented PDCCH DCI message correlation and updated test
3 years ago
Xavier Arteaga
bcd2e59635
PDCCH test global variable cleanup
3 years ago
Francisco
7e77da6a15
mac,optimization: use rnti memory pool to create mac::ue objects
3 years ago
Andre Puschmann
295b5fe8fb
rlc_tm: fix stopping of entity detected with TSAN
3 years ago
Andre Puschmann
a013a2fe05
rlc_stress_test: fix bug when read_pdu was returning -1
3 years ago
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.
3 years ago
Francisco
539ca47fe2
lib,bugfix: fix blocking queue unit test. Dtor cannot destroy object while a thread is still pushing data
3 years ago
Xavier Arteaga
60f294a6a1
Refactor PDCCH encode/decode unit test
3 years ago
Xavier Arteaga
5ddc974beb
Reverted PDCCH threshold
3 years ago
Xavier Arteaga
d46be09663
Increase viterbi default number of iterations
3 years ago
Xavier Arteaga
090022568e
DCI NCCE find considers L and NCCE
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
Andre Puschmann
9612bb0e14
rlc_am_test: fix status PDU test and add extra test for failure signaling
3 years ago
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).
3 years ago
Andre Puschmann
107f6334dd
compile: fix compilation on 32bit systems that require -latomic
3 years ago
Francisco
ceaef3523f
sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing
3 years ago
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
3 years ago
Francisco
f7aef3ffc1
sched,bugfix: fix nof_retx update when UL HARQs are resumed
3 years ago
Ismael Gomez
5db3030428
Tiny changes
3 years ago
Francisco
89406b07d6
make eNB UL SNR initial value an exponential average alpha configurable
3 years ago
Andre Puschmann
1529379e9e
fec,pbch: remove unused variables
...
unused code that moreover was causing TSAN to complain, e.g.
in the ue_phy_test
3 years ago
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.
3 years ago
Andre Puschmann
b88f22b9fe
network_utils_test: fix race detected with TSAN
3 years ago
Andre Puschmann
f823340a95
rf_imp: fix race when stopping gain thread
...
detected with TSAN using benchmark_radio test
3 years ago
Andre Puschmann
716caafd6c
multiqueue_test: fix race reported by TSAN
3 years ago
Andre Puschmann
1ef3cb7e5d
threads: fix race in stopping periodic thread
3 years ago
Andre Puschmann
312b5a241c
mac_pcap_base: fix race detected with TSAN
3 years ago
Andre Puschmann
c434aac526
rlc_stress_test: include tsan options header
3 years ago
Andre Puschmann
1d34aa280f
byte_buffer_queue: make class thread-safe by using atomics
3 years ago
Pedro Alvarez
18e2149d68
Sending Initial Context Setup Response after RRC reconfiguration.
3 years ago
Xavier Arteaga
4f7a94acb6
Fix comment
3 years ago
Xavier Arteaga
d329297151
Implement radio invalid mapping countermeasure
3 years ago
Andre Puschmann
3966065bff
pssch_test: fix newlines in printf
3 years ago
Andre Puschmann
2ace2b47b8
pssch: fix uninitialized value
3 years ago
Xavier Arteaga
bbab2cd9ba
Make PDCCH LLR mean amplitude in function of maximum
3 years ago
Xavier Arteaga
2ca0932d9b
Reviewed LTE noise estimation
3 years ago
Xavier Arteaga
10a268fdba
Added SNR to phy_dl_test
3 years ago
Francisco
f36f5271d3
timers,feature: make timers thread-safe by using atomic to store timers state.
3 years ago
Xavier Arteaga
dddb3ede71
Fix zero parity
3 years ago
Andre Puschmann
50f7fc644b
rlc_am_lte: log event when status prohibit timer expires
3 years ago
Xavier Arteaga
3c93d5ba43
Fix carrier mapping concurrency issue
3 years ago
Xavier Arteaga
235a664120
SRSUE: Removed PUSCH-DMRS/SRS pregeneration methods
3 years ago
Andre Puschmann
531acc0a98
rlc_am_test: add check for RLC buffer state return during retx
3 years ago
Andre Puschmann
3102861ee3
rlc_am_lte: make func param const&
3 years ago
Francisco
0dafe4dd58
fix coderate derivation in PDCCH based on aggregation level
3 years ago
Francisco
a587d20252
allow specification of subset of valid measurement gap offsets in rr.conf
3 years ago
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.
3 years ago
Andre Puschmann
e7aa484308
rf_zmq_test: remove srsran.h include
3 years ago
Andre Puschmann
bb6a5ebe80
tsan: add TSAN options file to set some default flags and exclude some libs from checks
3 years ago
Andre Puschmann
28399dd876
rf_zmq_imp: remove sleep
3 years ago
Andre Puschmann
574459fd90
rf: remove srsran.h include
3 years ago
Xavier Arteaga
f33731ecd4
Disable irrelevant unit/component test by default
3 years ago
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.
3 years ago
Xavier Arteaga
a245039cf3
Initial NR-PBCH-DMRS integration
3 years ago
Pedro Alvarez
997f7db23a
Small fixes for observer.h missing std::size_t
3 years ago
Pedro Alvarez
c74b2dd633
Fix some warnings in PHY due to array parameter mismatch for a few functions
3 years ago
Andre Puschmann
c1ad867824
epoll_helper: use std::atomic to protect exit called from different thread
3 years ago
Andre Puschmann
d8b2cfcef8
zmq,ringbuffer: protect concurrent access
...
some issue found through TSAN execution
3 years ago
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.
3 years ago
Xavier Arteaga
48e0fc3c99
Implemented initial PBCH decoder and refactored SSB candidate selection
3 years ago
Xavier Arteaga
de1b25558f
Added PRN sequence apply bit with state
3 years ago
Xavier Arteaga
1f38817b3b
Added random bit vector generator
3 years ago
Xavier Arteaga
bcb91d6173
srsran_vec_sprint_hex returns number of written characters
3 years ago
Xavier Arteaga
3634e96c3e
Added SSB measure test add/put/encode time measure
3 years ago
Xavier Arteaga
0aa5b14145
Initial NR PBCH encoding
3 years ago
Xavier Arteaga
d66dac0ab2
Added bit sequence state apply
3 years ago
Francisco
7076dbfef8
feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs
4 years ago
Francisco
dedd9c09a7
feature, scheduler: Add abitility to set minimum aggregation level in PDCCH, and disable adaptive aggregation level based on target BLER
4 years ago
Francisco
c5029fc266
feature - implement adaptive link adaptation in DL and UL
4 years ago
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
4 years ago