Commit Graph

4024 Commits

Author SHA1 Message Date
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 d7204df896 rlc_am_lte: check rx window first when receiving status PDU
move rx window check up so no actions are taken when receiving
malformed status PDU
2021-06-15 11:01:02 +02:00
Xavier Arteaga 2cd8ba3a1a PDCCH test skips 100PRB for ARM 2021-06-14 20:32:51 +02:00
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
Francisco b093576634 avoid sending UEContextReleaseRequest from Source eNB during S1 Handover. 2021-05-24 17:24:31 +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 60a8ee0af9 multiqueue optimization - use condition_var wait_for() method, use queue try_lock in the consumer side 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
Francisco f705735093 optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks 2021-05-24 17:24:12 +02:00
Andre Puschmann bc3be73364 rlc_am_lte: replace simple sanitfy check with error log with expect
this should help debugging the situation when this happens by
aborting when STOP_ON_WARNING is enabled
2021-05-20 23:19:17 +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 21b3635ae4 rlc_am_lte: refactor retransmit_pdu() to send different SNs
it seems that different SNs should be retransmitted depending
on the actual situation. In case of pollRetx timer expiration,
vt_s - 1 should actually be resent.

This patch prepares the function to accept different SNs but
leaves it to send vt_a by default. The RLC AM test would need
to changed as well to not fail.
2021-05-20 13:41:07 +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
yagoda f90f6f0c7e adding MAC 0 padding support 2021-05-20 10:26:50 +02:00
Xavier Arteaga 8ffbf0ff6d Fix SSB segfault 2021-05-18 18:41:03 +02:00
Xavier Arteaga f9aafd00a7 Added subcarrier spacing parsing from string 2021-05-18 18:41:03 +02:00
Xavier Arteaga b69057b76e Filesource filename to constant 2021-05-18 18:41:03 +02:00
Xavier Arteaga 5eadc06dd4 Intra-frequency miscellanous changes 2021-05-18 18:41:03 +02:00
Xavier Arteaga 7b159563ab Fixes in LTE CRS measurements 2021-05-18 18:41:03 +02:00
Xavier Arteaga 1603580901 Fix NR PSS correlation 2021-05-18 18:41:03 +02:00
Xavier Arteaga 0b3f4e5de0 Improvements in NR cell search 2021-05-18 18:41:03 +02:00
Xavier Arteaga 53b2c6076b Fix UHD subdev specification 2021-05-18 18:41:03 +02:00
Xavier Arteaga 11d925c0b2 Minor SSB fix and changes 2021-05-18 18:41:03 +02:00
Xavier Arteaga c8cb128317 Declare band helper methods as constant 2021-05-18 18:41:03 +02:00
Xavier Arteaga 60015e7ceb Made intra frequency cell search and measurment generic 2021-05-18 18:41:03 +02:00
Xavier Arteaga 648f0af437 Implement SSB search based on correlation 2021-05-18 18:41:03 +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 1488606156 refactor - create s1ap dedicated folder 2021-05-17 15:32:57 +01:00
Andre Puschmann 167200f5cd rrc_bearer_cfg: replace fixed E-RAB to DRB mapping
also make sure we don't assign LCIDs beyond the possible
number.

possible fix for https://github.com/srsran/srsRAN/issues/658

Co-authored-by: herlesupreeth <herlesupreeth@gmail.com>
Co-authored-by: Francisco <francisco.paisana@softwareradiosystems.com>
2021-05-17 15:17:27 +02:00
Francisco fa34aaa16e ensure the DL mask count is reduced enough to fit required bytes 2021-05-14 19:58:03 +01:00
Francisco 485c6ee129 subband CQI feature - add K parameter in sched_interface::ue_cfg_t and update it from RRC 2021-05-14 19:58:03 +01:00
Francisco 84ad6dd8ee Integrated new sched_dl_cqi class in sched_ue_cell
- extend sched_dl_cqi interface to allow getting tti when cqi was last updated
- extend sched_dl_cqi to quickly get average cqi across the whole bandwidth
2021-05-14 19:58:03 +01:00
Francisco a841b7580e fix deadlock caused by non-notification of multiqueue consumer side 2021-05-13 16:48:17 +01:00
Xavier Arteaga 9e1a85afe8 Fix NR SCH Nref calculation 2021-05-13 08:45:42 +02:00
Xavier Arteaga 0ecb3a7220 Modify NR PHY info messages 2021-05-13 08:45:42 +02:00
Xavier Arteaga 91030c5824 Fix procedure for MCS table selection 2021-05-13 08:45:42 +02:00
Xavier Arteaga b02a0d3db9 Added RNTI type short string 2021-05-13 08:45:42 +02:00
Xavier Arteaga 08ec1d0df9 Changed srsLTE to srsRAN 2021-05-13 07:55:46 +02:00
Xavier Arteaga a57336d64f Integrate periodic SSB measurement in SRSUE and fix related defects 2021-05-13 07:55:46 +02:00
Xavier Arteaga 5e41e99f08 Added NR symbol offset helper function 2021-05-13 07:55:46 +02:00
Xavier Arteaga 7450232b3e Added more NR band related helpers 2021-05-13 07:55:46 +02:00
Xavier Arteaga 758fd3c1ba Implemented initial NR cell search 2021-05-13 07:55:46 +02:00
Xavier Arteaga 2f9c7e1345 Avoid cexpf in srsran_vec_apply_cfo_simd 2021-05-13 07:55:46 +02:00
Xavier Arteaga 90c42bc9c3 Fix resampler stack overflow 2021-05-12 17:13:09 +02:00
Xavier Arteaga 9517b78c03 Fix resampler and improved unit test 2021-05-12 17:13:09 +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 d947e259c9 stack optimization - optimization of the multiqueue
avoid notifying the consumer side of the multiqueue of a new pushed object, if the
multiqueue already knows that the queue is not empty.
2021-05-10 15:27:21 +01:00
Francisco d574afcd33 cleanup of multiqueue unused methods, and made queue_handle move semantics correct 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
Xavier Arteaga d9586015f5 SSB related minor aesthetical corrections 2021-05-10 15:32:46 +02:00
Xavier Arteaga 60d1708b80 Initial SSB measurement implementation 2021-05-10 15:32:46 +02:00
Xavier Arteaga 5c31f4335f Initial SSB module header file 2021-05-10 15:32:46 +02:00
Xavier Arteaga 3f078cdc24 Added SSB related constants 2021-05-10 15:32:46 +02:00
Francisco b54bb35343 use rnti_map_t in scheduler 2021-05-07 10:58:04 +01:00
Xavier Arteaga 1396c2a1e2 Mulpiple CSI measurement fixes. Channel and sync metrics from CSI measurements 2021-05-07 09:43:11 +02:00
Xavier Arteaga fd0d804321 Added macro for calculating the squared absolute value of a complex variable 2021-05-07 09:43:11 +02:00
Xavier Arteaga e68c822505 NR Added CSI measurement channel processing 2021-05-07 09:43:11 +02:00
Xavier Arteaga c51ff0c9f9 Added safe exponential moving average filter 2021-05-07 09:43:11 +02:00
Francisco c5396155ad set default gtpu tunnel close timeout to infinity 2021-05-06 18:07:20 +01:00
Francisco 15484e9472 rrc - make t304 configurable via rr.conf 2021-05-06 18:07:20 +01:00
Francisco c6b9c12ba2 gtpu, feature - added the ability to configure gtpu indirect tunnel timeout value. This parameter is useful in the case that the end marker is not received 2021-05-06 18:07:20 +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
David Rupprecht c117b563c9 Initial commit for ngap in enb 2021-05-05 13:54:57 +02:00
Francisco 7bee75e126 update description of srsenb --expert.nof_prealloc_ues config parameter, and added a comment in header file explaining the use of such parameter. 2021-05-04 17:52:47 +01:00
Francisco 5818488b27 change enb max_nof_ues config parameter to nof_prealloc_ues 2021-05-04 17:52:47 +01:00
Xavier Arteaga de9158eeaf Enable NR RRC MCS table selection 2021-05-04 11:30:13 +02:00
Xavier Arteaga eef3fac863 Improved float XOR readability 2021-05-04 09:56:52 +02:00
Xavier Arteaga 751b6858b3 Added CSI-RS resource set measurements 2021-05-04 09:56:52 +02:00
Xavier Arteaga 3b919b4f6c Minor aestheics change 2021-05-04 09:56:52 +02:00
Xavier Arteaga 243ad05dfa Added on the fly sequence apply in float 2021-05-04 09:56:52 +02: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
Francisco 01eace2631 rrc paging mechanism improvements
- moved paging record handling to separate class
- parallel access to pending pcch messages by phy workers based on TTI and without common lock
- asn1 pcch message packing now takes place in stack thread, to avoid real-time issues
2021-05-03 15:58:21 +01:00
Xavier Arteaga 318f064ff4 Multiple NR SCH fixes 2021-05-03 16:15:45 +02:00
Xavier Arteaga b8e0164f7f Multiple fix NR PHY procedures 2021-05-03 16:15:45 +02:00
Xavier Arteaga a8e181971c Refactored PHY NR procedures for supporting DCI formats 0_1 and 1_1 2021-05-03 16:15:45 +02:00
Andre Puschmann bbea3dd6a1 byte_buffer: fix compilation when buffer pool log is enabled 2021-05-03 12:42:38 +02:00
Francisco 5cecb40410 rlc,bugfix - increase pdcp sn notification ack list maximum size 2021-04-29 15:41:00 +02:00
Francisco ad1a0eb2ac rlc,fix - Add PDCP PDUs to undelivered_sdu_info_queue when the PDUs are popped from the tx_sdu_queue, rather than they are pushed to.
- This simplifies the sdu discard
- This also fixes an existing race condition
2021-04-29 15:41:00 +02:00
Andre Puschmann 598594c51a all: bunch of pass by const& changes suggested by LGTM 2021-04-29 10:00:09 +02:00
Francisco 7ced0e73eb rlc,bugfix - avoid accessing the PDCP info of RLC segments when the PDCP has already discarded the respective PDCP SN. 2021-04-28 21:15:00 +02:00
Andre Puschmann 597729ac53 rlc: always remove PDCP SNs from undelivered queue
if RLC PDUs with certain PDCP SNs were already in flight
when their discard timer at PDCP expires, they weren't
remove from the undelivered_sdu_info_queue causing
indesired log entries like:

08:08:52.455280 [RLC    ] [W] PDCP_SN=2103 already marked as undelivered

when the SN was sent again (after wrap around).

The patch makes sure to always try to delete the PDCP SN
from the queue. It should fix (at least partly) #2560
2021-04-28 21:15:00 +02:00
Andre Puschmann 20075f6f33 rf_uhd_generic: fix segfault when accessing device tree
for some reasons the dev tree isn't available on the X310
with UHD4 and the code never checked the return value, causing
a segfault with that combo.
2021-04-28 20:24:17 +02:00
Xavier Arteaga 949ce965c7 Fix SCH NR CRC check 2021-04-28 20:23:52 +02:00
Xavier Arteaga fb5dfb3a86 Improved NR unit test 2021-04-28 20:23:52 +02:00
Xavier Arteaga 28170c92a9 Multiple NR SCH fixes 2021-04-28 20:23:52 +02:00
Xavier Arteaga efb8da69d8 Cleaned DCI NR info string 2021-04-28 20:23:52 +02:00
Xavier Arteaga 8cb3e92ab3 Added LDPC flooded early stop 2021-04-28 20:23:52 +02:00
Xavier Arteaga 033661182a Aded SF len macro for NR 2021-04-28 20:23:52 +02:00
Xavier Arteaga 6c39a5e4ff Added PDSCH DMRS aditional unpacking 2021-04-28 20:23:52 +02:00
Xavier Arteaga 334b308c35 Fix DCI NR configuration from main configuration 2021-04-28 20:23:52 +02:00
Xavier Arteaga 86ad0446e1 Added NR PDSCH and PUSCH resource allocating flattening 2021-04-28 20:23:52 +02:00
Xavier Arteaga 892aea8219 Fix coverity warnings under lib/src/phy/utils 2021-04-28 16:53:44 +02:00
Xavier Arteaga 87cf3cf2e5 Fix coverity warnings under lib/src/phy/phch 2021-04-28 16:53:44 +02:00
Francisco 3f64b94a0f increase asn1 variable length field intermediate buffer, to support longer UE Radio Capabilities messages 2021-04-28 16:01:22 +02:00
David Rupprecht bde30bb9be Added tests for band helper 2021-04-28 12:43:58 +02:00
Andre Puschmann 937c4ff3c3 demod_soft: removed unused NEON code
clang complained about unused code, so remove it of course.
2021-04-28 12:42:44 +02:00
Xavier Arteaga 71226e89df Minor dereference check 2021-04-28 10:28:09 +02:00