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
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
4 years ago
Andre Puschmann
d8b2cfcef8
zmq,ringbuffer: protect concurrent access
...
some issue found through TSAN execution
4 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.
4 years ago
Xavier Arteaga
48e0fc3c99
Implemented initial PBCH decoder and refactored SSB candidate selection
4 years ago
Xavier Arteaga
de1b25558f
Added PRN sequence apply bit with state
4 years ago
Xavier Arteaga
1f38817b3b
Added random bit vector generator
4 years ago
Xavier Arteaga
bcb91d6173
srsran_vec_sprint_hex returns number of written characters
4 years ago
Xavier Arteaga
3634e96c3e
Added SSB measure test add/put/encode time measure
4 years ago
Xavier Arteaga
0aa5b14145
Initial NR PBCH encoding
4 years ago
Xavier Arteaga
d66dac0ab2
Added bit sequence state apply
4 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
Francisco
31936c9754
bugfix - printf formatting incorrect in bounded_bitset method
4 years ago
Francisco
b093576634
avoid sending UEContextReleaseRequest from Source eNB during S1 Handover.
4 years ago
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
4 years ago
Francisco
60a8ee0af9
multiqueue optimization - use condition_var wait_for() method, use queue try_lock in the consumer side
4 years ago
Francisco
b41aba2a03
fix task scheduler test
4 years ago
Francisco
2d6a878826
change interface to create multiqueue queues
4 years ago
Francisco
f705735093
optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks
4 years ago
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
4 years ago
yagoda
9501283c1c
fixing support for extended Cyclic Prefix
...
small cosmetic fixes of CP code
4 years ago
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.
4 years ago
Andre Puschmann
81c1851bbd
rlc_am_test: fix TSAN isses and removing info log when dropping PDU
4 years ago
yagoda
f90f6f0c7e
adding MAC 0 padding support
4 years ago
Xavier Arteaga
8ffbf0ff6d
Fix SSB segfault
4 years ago
Xavier Arteaga
f9aafd00a7
Added subcarrier spacing parsing from string
4 years ago
Xavier Arteaga
b69057b76e
Filesource filename to constant
4 years ago
Xavier Arteaga
5eadc06dd4
Intra-frequency miscellanous changes
4 years ago
Xavier Arteaga
7b159563ab
Fixes in LTE CRS measurements
4 years ago
Xavier Arteaga
1603580901
Fix NR PSS correlation
4 years ago
Xavier Arteaga
0b3f4e5de0
Improvements in NR cell search
4 years ago
Xavier Arteaga
53b2c6076b
Fix UHD subdev specification
4 years ago
Xavier Arteaga
11d925c0b2
Minor SSB fix and changes
4 years ago
Xavier Arteaga
c8cb128317
Declare band helper methods as constant
4 years ago
Xavier Arteaga
60015e7ceb
Made intra frequency cell search and measurment generic
4 years ago
Xavier Arteaga
648f0af437
Implement SSB search based on correlation
4 years ago
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.
4 years ago
Francisco
1488606156
refactor - create s1ap dedicated folder
4 years ago
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>
4 years ago
Francisco
fa34aaa16e
ensure the DL mask count is reduced enough to fit required bytes
4 years ago
Francisco
485c6ee129
subband CQI feature - add K parameter in sched_interface::ue_cfg_t and update it from RRC
4 years ago
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
4 years ago
Francisco
a841b7580e
fix deadlock caused by non-notification of multiqueue consumer side
4 years ago
Xavier Arteaga
9e1a85afe8
Fix NR SCH Nref calculation
4 years ago
Xavier Arteaga
0ecb3a7220
Modify NR PHY info messages
4 years ago
Xavier Arteaga
91030c5824
Fix procedure for MCS table selection
4 years ago
Xavier Arteaga
b02a0d3db9
Added RNTI type short string
4 years ago
Xavier Arteaga
08ec1d0df9
Changed srsLTE to srsRAN
4 years ago
Xavier Arteaga
a57336d64f
Integrate periodic SSB measurement in SRSUE and fix related defects
4 years ago
Xavier Arteaga
5e41e99f08
Added NR symbol offset helper function
4 years ago
Xavier Arteaga
7450232b3e
Added more NR band related helpers
4 years ago
Xavier Arteaga
758fd3c1ba
Implemented initial NR cell search
4 years ago
Xavier Arteaga
2f9c7e1345
Avoid cexpf in srsran_vec_apply_cfo_simd
4 years ago
Xavier Arteaga
90c42bc9c3
Fix resampler stack overflow
4 years ago
Xavier Arteaga
9517b78c03
Fix resampler and improved unit test
4 years ago
Francisco
996d8ef74d
multiqueue bugfix for non-blocking pushes when queue is full
4 years ago
Francisco
99abae9e6a
fix multiqueue producer to consumer notification to avoid deadlocks
4 years ago
Francisco
0d800eb8f6
stack, multiqueue - bugfix for multiqueue destruction, and addition of unit test
4 years ago
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.
4 years ago
Francisco
d574afcd33
cleanup of multiqueue unused methods, and made queue_handle move semantics correct
4 years ago
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.
4 years ago
Xavier Arteaga
d9586015f5
SSB related minor aesthetical corrections
4 years ago
Xavier Arteaga
60d1708b80
Initial SSB measurement implementation
4 years ago
Xavier Arteaga
5c31f4335f
Initial SSB module header file
4 years ago
Xavier Arteaga
3f078cdc24
Added SSB related constants
4 years ago
Francisco
b54bb35343
use rnti_map_t in scheduler
4 years ago
Xavier Arteaga
1396c2a1e2
Mulpiple CSI measurement fixes. Channel and sync metrics from CSI measurements
4 years ago
Xavier Arteaga
fd0d804321
Added macro for calculating the squared absolute value of a complex variable
4 years ago
Xavier Arteaga
e68c822505
NR Added CSI measurement channel processing
4 years ago
Xavier Arteaga
c51ff0c9f9
Added safe exponential moving average filter
4 years ago
Francisco
c5396155ad
set default gtpu tunnel close timeout to infinity
4 years ago
Francisco
15484e9472
rrc - make t304 configurable via rr.conf
4 years ago
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
4 years ago
Francisco
cd51537234
add comment explaining the use case of cached_alloc
4 years ago
Francisco
28847badcf
implementation of custom allocator for memory caching. This allocator may be used for unbounded queues
4 years ago
David Rupprecht
c117b563c9
Initial commit for ngap in enb
4 years ago
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.
4 years ago
Francisco
5818488b27
change enb max_nof_ues config parameter to nof_prealloc_ues
4 years ago
Xavier Arteaga
de9158eeaf
Enable NR RRC MCS table selection
4 years ago
Xavier Arteaga
eef3fac863
Improved float XOR readability
4 years ago
Xavier Arteaga
751b6858b3
Added CSI-RS resource set measurements
4 years ago
Xavier Arteaga
3b919b4f6c
Minor aestheics change
4 years ago
Xavier Arteaga
243ad05dfa
Added on the fly sequence apply in float
4 years ago
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.
4 years ago
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
4 years ago
Xavier Arteaga
318f064ff4
Multiple NR SCH fixes
4 years ago
Xavier Arteaga
b8e0164f7f
Multiple fix NR PHY procedures
4 years ago
Xavier Arteaga
a8e181971c
Refactored PHY NR procedures for supporting DCI formats 0_1 and 1_1
4 years ago
Andre Puschmann
bbea3dd6a1
byte_buffer: fix compilation when buffer pool log is enabled
4 years ago
Francisco
5cecb40410
rlc,bugfix - increase pdcp sn notification ack list maximum size
4 years ago
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
4 years ago
Andre Puschmann
598594c51a
all: bunch of pass by const& changes suggested by LGTM
4 years ago
Francisco
7ced0e73eb
rlc,bugfix - avoid accessing the PDCP info of RLC segments when the PDCP has already discarded the respective PDCP SN.
4 years ago
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
4 years ago
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.
4 years ago
Xavier Arteaga
949ce965c7
Fix SCH NR CRC check
4 years ago
Xavier Arteaga
fb5dfb3a86
Improved NR unit test
4 years ago
Xavier Arteaga
28170c92a9
Multiple NR SCH fixes
4 years ago
Xavier Arteaga
efb8da69d8
Cleaned DCI NR info string
4 years ago
Xavier Arteaga
8cb3e92ab3
Added LDPC flooded early stop
4 years ago
Xavier Arteaga
033661182a
Aded SF len macro for NR
4 years ago
Xavier Arteaga
6c39a5e4ff
Added PDSCH DMRS aditional unpacking
4 years ago
Xavier Arteaga
334b308c35
Fix DCI NR configuration from main configuration
4 years ago
Xavier Arteaga
86ad0446e1
Added NR PDSCH and PUSCH resource allocating flattening
4 years ago
Xavier Arteaga
892aea8219
Fix coverity warnings under lib/src/phy/utils
4 years ago
Xavier Arteaga
87cf3cf2e5
Fix coverity warnings under lib/src/phy/phch
4 years ago
Francisco
3f64b94a0f
increase asn1 variable length field intermediate buffer, to support longer UE Radio Capabilities messages
4 years ago
David Rupprecht
bde30bb9be
Added tests for band helper
4 years ago
Andre Puschmann
937c4ff3c3
demod_soft: removed unused NEON code
...
clang complained about unused code, so remove it of course.
4 years ago
Xavier Arteaga
71226e89df
Minor dereference check
4 years ago
Xavier Arteaga
b6fa82bf9a
Fix more static analysis warnings
4 years ago
Xavier Arteaga
290541993e
Fix debug compilation
4 years ago
Xavier Arteaga
efd6c569b8
Fix some static analisys warnings under lib/src/phy/fec
4 years ago
David Rupprecht
fafa03f7c8
Extended the band helper table
4 years ago
Francisco
3c4512cdd2
demote assert to expect check in circular stack pool destruction, when a leak is detected
4 years ago
Xavier Arteaga
217f3cb416
SRSENB: select highest with/without SR correlation PUCCH result
4 years ago
Andre Puschmann
ada6c71b5a
rf_soapy: fix logic to print warning when Lime is used with short sample rates
...
previously the warning was printed when a Lime was connected to the PC.
Now all connected devices are printed but the warning is only
shown if the selected device is the Lime.
4 years ago
faluco
aa3309157b
Fixed polar encoder and decoder initialization failure for ARM. Initialization unconditionally used x86 SIMD routines instead of getting disabled for ARM compilations.
4 years ago
faluco
d9e5f4ccc7
Replace a couple of inline functions in demod_soft with macros to allow constant propagation. The vgetq_lane_sX builtin expects a constant instead of a variable.
4 years ago
Francisco Paisana
d39183419c
Separate TPC PUSCH and PUCCH target SINR ( #2740 )
...
* separate target pusch and pucch sinr configurations in tpc class and rr.conf
4 years ago
Francisco
38bf895efa
fix asn1 compilation issue
4 years ago
Francisco
86dac9c823
several coverity high and medium impact fixes
4 years ago
Xavier Arteaga
9a4fcb605b
Reviewed UHD Tx FSM
4 years ago
Xavier Arteaga
3413f29cc8
Fix channel interpolator for 4 ports
4 years ago
Andre Puschmann
03e1277b0b
rf_soapy_imp: fix lowercase to detect Lime
4 years ago
Andre Puschmann
b569e81299
rf_soapy_imp: fix LTE sample rate info check
...
only print if Lime is substring in dev args, so don't print with blade
4 years ago
Andre Puschmann
f76cd5ef83
backward: fix compile error on aarch64
4 years ago
Andre Puschmann
0826b86cec
srsue: remove NR DL freq and ARFCN option
...
not required anymore as all NR carrier tuning is done
through RRC signaling
4 years ago
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
4 years ago
Andre Puschmann
6e79ae67aa
ldpc/polar: add casts to avoid possible variable overflow before assignment
4 years ago
Andre Puschmann
92d4e6e746
adt/common: remove const from return type
...
reported by LGTM https://lgtm.com/projects/g/srsLTE/srsLTE/rev/pr-9ae46cae260b6b8137b34b9423bf1477bd6b5c42
4 years ago
Andre Puschmann
ff53d2b8b8
all: set of trivial changes reported by LGTM
...
mainly fixmes, unused/empty code, etc.
4 years ago
AlaiaL
0535473895
Fixes coverity 369570
4 years ago
AlaiaL
6332490cae
Fixes coverity 369581
4 years ago
AlaiaL
385b12a33a
Fixes coverity 369620
4 years ago
AlaiaL
23f0bd4d4f
Fixed coverity 369716
4 years ago
AlaiaL
862784ee46
Fixed coverity 369719
4 years ago
AlaiaL
82788ca094
Fixed issues from coverity:
...
- 370233
- 370234
- 370239
- 370240
- 370241
- 370242
- 370243
- 370295
4 years ago
herlesupreeth
0f06ec0d9c
Add feature to provide custom GTP-U (S1) address to be advertised inside S1AP messages
...
This feature is useful in scenarios where eNB is behind a NAT and EPC on public cloud
Since eNB's GTP-U can only bind to IP address visible in it's host (usually a private IP beind a NAT), it advertises the same to UE in S1AP message
resulting in traffic from EPC to eNB (DL traffic) not able to reach eNB. This commit solves this issue by providing a means to advertise a different IP address than the one GTP-U UDP socket is bound to.
This IP is usually advertised in InitialContextSetupResponse and E-RABSetupResponse.
In order to make use of this feature, use the following parameter in enb.conf
Example:
gtp_advertise_addr = 213.61.141.82
4 years ago
herlesupreeth
aff9091ad3
Make use of RF device passed as argument
4 years ago
herlesupreeth
00a7d3a4cd
Add option to provide RF device to use for cell search
4 years ago
Matan Perelman
7ee52dc676
srsUE: Add option to filter N_id_2 / PSS to configuration
4 years ago
David Rupprecht
102a943171
Fixed naming srsLTE to srsRAN
4 years ago
faluco
1ccb62af3d
Apply srsLTE formatting rules to srsLog. They were previously formatted with different rules when the project lived in the external rapo.
4 years ago
Xavier Arteaga
873f375ecc
Make NR DCI test more exhaustive and fix issues
4 years ago
Xavier Arteaga
ab6a5ef17a
Added NR DCI conversion to string for formats 1_0 and 1_1
4 years ago
Xavier Arteaga
bccfa8d875
Added NR DCI packing/unpacking format 1_1
4 years ago
Xavier Arteaga
11b9990224
Added NR DCI packing/unpacking format 0_1
4 years ago
faluco
0afd59a5a0
Replace a string with a const char * in the rlc to_string.
4 years ago
Francisco
289559af82
asn1 fix - fix choice access correct type assert
4 years ago
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.
4 years ago
David Rupprecht
98914dab6a
Allow pdcp lte entity to use 18 bit SN
4 years ago
faluco
7df308c756
Remove two mallocs in the stack:
...
1) Extend the small buffer to 64bytes for the move_callback class.
2) Replace a std::map for a fixed size circular map in sched_time_pf.
4 years ago
Francisco
28f787f1de
extend timer handler unit test to check correct time wheel implementation
4 years ago
Francisco
2b572f5376
fix overwrite of timer timeout when it matches previous time wheel position
4 years ago
Xavier Arteaga
407903e0d6
SRSUE: refactor carrier setting for accepting a dynamic carrier configuration
4 years ago
Xavier Arteaga
47523935f6
Minor NR RRC fixes
4 years ago
Francisco
ce47cf5910
fix - re-add log flush to srsran_assert
4 years ago
Francisco
63913ff2b2
remove uneeded assert condition. change pdcp log when notified pdcp pdu doesnt exist to info.
4 years ago
Francisco
9efb959471
bugfix, scheduler - fix bit counter specializations for 32 and 64 bits.
4 years ago
Francisco
6137e4569b
fix srsran_assert definition when asserts are disabled
4 years ago
Francisco
3b78bf3730
bugfix - fix memcheck warnings. move instructions with side effects outside of asserts
4 years ago
David Rupprecht
a064e85c54
rename common lte header
4 years ago
David Rupprecht
81ad72b0ff
Refactor srb and drb handling
4 years ago
David Rupprecht
91ff8a2e6d
Add rrc_nr to rlc init function
4 years ago
David Rupprecht
6b41ae7e8b
Updated PDCP config struct for rat type
4 years ago
Xavier Arteaga
77b6b60b82
Fix rach_cfg.nof_groupA_preambles
4 years ago
Xavier Arteaga
aadbe6d880
Normalise NR PUSCH to maximum Tx power
4 years ago
Xavier Arteaga
53e41a165c
Revert zeros around DC REs in NR PDSCH
4 years ago
Xavier Arteaga
93c3dc1cb1
Revert "Demodulator sets LLR to zero for 0.0 symbols"
...
This reverts commit 1a6e5cdee5
.
4 years ago
Xavier Arteaga
1c1d7e2447
Revert "Review soft demodulator zero check"
...
This reverts commit b8a9a7fc70
.
4 years ago
Xavier Arteaga
0999b271ba
Added RFNOC based LO frequency offset
4 years ago
Francisco
ac375f07d9
add precompiler guards to restrict builtin use to gcc and clang
4 years ago
Francisco
22024ac35d
implemented bounded_bitset::find_lowest(...) for both reverse and non-reverse bit ordering. Applied this method to UL scheduling search for PRB intervals
4 years ago
Francisco
3f15fc2811
implemented bounded_bitset::find_first(...)
4 years ago
David Rupprecht
db9dd85783
Parse carrier config in NR RRC reconfig
4 years ago
David Rupprecht
f42d4dbc28
Refactored carrier config
4 years ago
Andre Puschmann
9009c3439c
rlc_um_nr: convert log entries to info if they are expected
...
dropping a PDU and not being able to build a PDU if the
grant is too small is expected and should therefore not cause a log warning.
4 years ago
Andre Puschmann
936bebcfd7
rrc_nr_utils: fix extraction of HARQ processes from ASN1 reconfig
4 years ago
Xavier Arteaga
53b38fccf9
Fix compile and other
4 years ago
Xavier Arteaga
ed0929b46d
NR PHY logging minor corrections
4 years ago
Xavier Arteaga
8ffced7e88
NR PHY logging minor corrections
4 years ago
Xavier Arteaga
abfc1da921
Multiple NR-PUSCH fixes
4 years ago
Xavier Arteaga
7e06e789d5
Fic NR UCI in the info string
4 years ago
Xavier Arteaga
01ce0718be
NR-PUSCH RE mapping correction and NR-SCH detailed grant information
4 years ago
David Rupprecht
bfe2ad98ef
Added parsing for NR DL HARQ cfg
4 years ago
Andre Puschmann
b9ae064338
mac_nr: add DL HARQ
...
this commit adds a complete DL HARQ entity to the MAC of the UE.
It also refactors demux into an own class and adapts the PHY-MAC
interface to use the new MAC capabilities.
4 years ago
Francisco
e3e4564a7e
fix inconsistency in use of invalid_sn and status_report_sn throughout rlc am code
4 years ago
Francisco
c3ec28002b
refactor - integration of segment list in rlc_amd_tx_pdu and pdcp_pdu_info classes
4 years ago
Francisco
7f0083a985
implementation of intrusive list abstract classes to be used in RLC for lists of segments
4 years ago
Francisco
b06f16891d
use of a single array-based pool of RLC AM PDU segments to build data PDUs, while
...
avoiding any allocations.
Each segment stores its own PDCP SN and RLC SN and has two pointers,
one for the next segment of the same RLC PDU, and another for the next segment
of the same PDCP PDU.
4 years ago
faluco
e1752c0878
Replace the queue in thread pool in favour of a static circular buffer to avoid allocations.
4 years ago
David Rupprecht
1cbd1c9d26
Deleted hardcoded phy config
4 years ago
David Rupprecht
fe8727050b
Added new rrc_nr to phy flattening functions and fixes
4 years ago
Ismael Gomez
635db8dde1
Initialize metrics in hub
4 years ago
Xavier Arteaga
e4e3456d76
Refactored PDSCH/PUSCH decoder for LDPC early stopping
4 years ago
Xavier Arteaga
6c5e28bc19
Optimised AVX512 LDPC decoder hard decision
4 years ago
Xavier Arteaga
422d479852
Added CRC match function and optimised byte packing
4 years ago
Xavier Arteaga
5aa7f9dd8b
Condensed LDPC Decoder config arguments into an structure and unified common decoder code
4 years ago
Francisco
1f1233782f
timers - fix old gcc compilation issue. Changed free list to intrusive list.
4 years ago
Francisco
e37968410e
simplification of timers handler design, relying solely on one time wheel.
4 years ago
Francisco
60896e30b5
implementation of time wheel-based timer handler, using a circular array and intrusive list
4 years ago
Ismael Gomez
77b11b82ac
Release UE if no activity in DRB ( #2658 )
...
* Count user activity with DRB only and SRBs for initial procedures. Add counter to release user after max KO in UL.
4 years ago
Francisco
4838cd2f5e
implement cell measurement bandwidth feature
4 years ago
Francisco
14d32db92f
implement Handover direct forwarding path availability configuration feature
4 years ago
faluco
582ad5f6de
Replace the std::stack member in the buffer_pool class for a vector to avoid reallocs.
4 years ago
Francisco
b8fa1d1b61
fix rrc mobility test
4 years ago
Francisco
66988ffd32
s1ap - simplified erab setup procedure. Handle correctly the failure to setup causes
4 years ago
Francisco
f401683960
s1ap - simplified erab modify procedure
4 years ago
Francisco
76978f0d14
s1ap - simplified erab release procedure
4 years ago
Francisco
c5fc543516
s1ap - handling of ts1 reloc overall timer.
4 years ago
Xavier Arteaga
faa6d01e9d
Fix RFNOC compilation
4 years ago
Xavier Arteaga
c82f609085
Fix b200mini external clock
4 years ago
Andre Puschmann
44baea6666
mac_nr: add UL HARQ
...
this patch adds a basic UL HARQ entity for NR.
The patch also updates some interfaces between MAC/RA/HARQ,
i.e. get_temp_crnti().
It also adds a Msg3 unit test.
4 years ago
Andre Puschmann
b7146c41b2
nr: add NDI for PUSCH grant to sch cfg struct
4 years ago
faluco
a474a0f293
SRSLOG: Avoid calling unordered_map::emplace if element already exists since it will allocate even if the insertion is not going to take place.
4 years ago
Xavier Arteaga
80f5c82b53
Fix formatter test
4 years ago
Xavier Arteaga
7823bfc28c
Fix append NR to loggers for NR components
4 years ago
Francisco
c2a99a8112
handover - support for handover cancellation causes, check for E-RAB QoS requirements, cancellation of handover if E-RABs are not supported in the target eNB
4 years ago
faluco
daad20c9d4
Disable copy and move operations for dyn_node_pool.
4 years ago
faluco
a2f6e13138
Add a tag to the string memory pool in fmt to discriminate between pool vs heap allocated buffers. Heap allocated buffers are used as a fallback mechanism when the buffer runs out of space.
4 years ago
faluco
0465f6badd
Implement a pool in FMT to avoid allocating heap memory when passing a char* to the backend, usually when formatting a %s argument.
...
Previously since a char* can have any length, this was managed by FMT by converting it into a std::string.
Now we store it into a configurable size node that can store a fixed size string, otherwise it falls back to std::string.
4 years ago
Xavier Arteaga
2f453b43ba
Initial NR PHY interface
4 years ago
Francisco
d2c404b166
handover - setup s1ap cause in case of handover failure at the target enb
4 years ago
Francisco
49bd895e29
s1ap - handle invalid or repeated erab ids in s1ap erab release command
4 years ago
Francisco
7842e3bff3
s1ap - add unit test to check correct handling of invalid E-RAB ids in modification request. Fix s1ap in order for the test to pass
4 years ago
Francisco
985846e3bd
s1ap - set multiple erab ids cause in replay when s1ap erab modify request has repeated ids.
4 years ago
David Rupprecht
5a3a2a6d6f
Added functions for adding phr and tag config
4 years ago
Andre Puschmann
48537f3fe7
pdcp,rlc: increase number of PDCP SDUs for notification from RLC
...
the current value of 256 limits the number of PDCP SDUs that can be
notified from RLC. The limit is quickly hit when too many SDUs
are in flight. This can cause unwanted log entries and weird PDCP
behaviour.
the patch increases the value to 1024, which still can be too few if
many smaller SDUs are traveling.
The patch also set the log level to warning to quicker spot
misconfigs in logs.
Fixes #2616
4 years ago
Xavier Arteaga
2f8ea05132
SRSUE: Add periodic CQI R10 parsing
4 years ago
Andre Puschmann
c9da21c9bb
mac_nr: add error handling when unpacking SCH MAC PDU
...
* only handle PDU if unpacking was successfull
* add TC unpacking with malformed PDU
4 years ago
Xavier Arteaga
e989e62c52
Fix NR PDCCH DMRS test
4 years ago
Xavier Arteaga
b8a9a7fc70
Review soft demodulator zero check
4 years ago
Xavier Arteaga
dd26c6a90e
Added more comments for better understanding in NR PDCCH DMRS
4 years ago
Xavier Arteaga
17a3c76540
Fix NR TDD pattern configuration
4 years ago
Xavier Arteaga
c84e73541d
Offset FFT window for UE DL NR
4 years ago
Xavier Arteaga
f799ab6f94
Fix NR UL RV selection
4 years ago
Xavier Arteaga
42dcff45b2
Improve PDCCH NR detection
4 years ago
Xavier Arteaga
1a6e5cdee5
Demodulator sets LLR to zero for 0.0 symbols
4 years ago
Xavier Arteaga
3889f1369f
Added partial NR time resource mapping tables
4 years ago
Xavier Arteaga
de187d4c88
Fix copy-past issue in srsran_vec_apply_cfo_simd
4 years ago
Xavier Arteaga
2e3c00aa97
NR PDSCH zeroes RE around the DC. Added delay and CFO emulation to phy_dl_nr_test
4 years ago
Xavier Arteaga
667cc0b552
NR PDSCH/PUSCH DMRS estimation precompensates Synch error and CFO before interpolation
4 years ago
Francisco
685c971dc2
fix recursive call to get rb name
4 years ago
Francisco
f7a8b8bf94
separate drb srb ids into separate enum types
4 years ago
Francisco
21718af3b6
avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type
4 years ago
Francisco
437db3af03
forbid allocations when dispatching task to thread pool
4 years ago
Andre Puschmann
b991b07167
rlc: add length check for RLC PDU generation
...
makes sure that RLC doesn't generate a PDU larger than
the provided grant size
4 years ago
Andre Puschmann
8024bf7820
mux_nr: improve logging when building UL MAC PDU
4 years ago
Andre Puschmann
9950278a12
nr,mac_sch_pdu,mux: fix packing of MAC subPDUs with 16bit L field
...
the created RLC PDU was too large to fit inside the MAC grant
because only the header room for the short L field was used.
The patch determines the correct size before passing the opportunity to RLC.
It also improves logging in error case by using the MAC logger instead of
stderr/stdout when error occurs.
4 years ago
Francisco
ff8a43f6b0
avoid allocation of dl_sched_list and ul_sched_t by converting a std::vector to bounded_vector
4 years ago
Francisco
f1c67f5b2b
pool - avoid concurrent batch allocations in background threads
4 years ago
Francisco
75e9700de0
rlc - usage of memory pool to allocate RLC bearers
4 years ago
Francisco
71f1f1b556
enb - log warning when rnti-specific memory block is full
4 years ago
Francisco
a890a22ccd
enb - rnti memory pool now fallbacks to new/delete if rnti-specific memory block is full
4 years ago
Francisco
a780a6a7b6
fix obj pool interface
4 years ago
Francisco
60d5c6df7b
implementation of memory pool with individual memory blocks per UE that get accessed via their rnti
4 years ago
Andre Puschmann
db496df1e6
mac_nr: add support for periodic BSR reporting
...
building on the previous refactor this patch now adds support
for peridoic BSR reporting (using short BSR). It furthermore does
the following changes:
* add BSR packing
* add proc_bsr_nr unit test
* move mac_nr test code into test folder under src (needs to be done with other test code too)
4 years ago
Andre Puschmann
6dd8c21073
mac_sch_pdu_nr: add unpacking of TA CE in DL-SCH
...
also add basic test to verify correct unpacking
4 years ago
Francisco
dc763b5045
rlc am - fix bugs in buffered_pdcp_pdu_list
...
The count and container elements were not being correctly updated in the events
of SN overwrite, clear(), clear_pdcp_sdu(sn) of sn that doesnt exist
4 years ago
Francisco
ebbb74e639
rlc am - use of circular_map container in RLC AM window
...
The window elements are not being correctly cleaned up when clear() is called
or when overwritten by newer SN. Furthermore, the window count member is not being
correctly updated when the insertion of a newer SN overwrites the previous one.
I used the circular_map container to avoid this sort of bugs
4 years ago
David Rupprecht
82c9636156
Refactor pdcp ctor seperate the configure function
4 years ago
David Rupprecht
56e947bf27
Added functionality for releasing a NR bearer
4 years ago
David Rupprecht
cc6d8128ad
Added gw interface if it is running
4 years ago
David Rupprecht
7a481c40ab
Added mac prach nr proc error handling
4 years ago
David Rupprecht
f9ea02b6bf
Added functions for rrc reestablishing procedure if nr reconfig failes
4 years ago
Xavier Arteaga
58a9ef6e7f
Minor NR PHY tweaks and aesthetic
4 years ago
Xavier Arteaga
991c6e7016
Refactored NR HARQ-ACK feedback enqueue
4 years ago
Xavier Arteaga
bd11b66b6c
Fix unitialised NR PHY arguments
4 years ago
Xavier Arteaga
22239b29c5
Disable smoothing filter for NR PDCCH DMRS
4 years ago
Xavier Arteaga
9f54c6ae6d
Fix NR PUCCH info string and memory leak
4 years ago
Francisco
b7d4a72ea1
adt - fix circular map clear() and erase(it) functions
4 years ago
Andre Puschmann
0fdcea2924
rlc_am: count every segment retx as a full retx for this SN
...
previously we were only counting retx if we retx the start of a segment.
this could lead to unwanted behaviour, i.e., not counting retx
correctly and thus not triggering the maxretx attempt, if the receive
always sends NACKs with a SO_start.
The RLC spec is not clear on how this should be handled correctly but
IMHO using an integer number of retx is reasonable, even for segments
that might be retransmitted more often.
The alternative of using a fractional retx counter that may be increamented
proportional to the segment size that is retx is another alternative
but considered too complex to implement (and test correctly).
4 years ago
Andre Puschmann
c74661ae95
rlc_am: add log message when received NACK SN is already on retx queue
4 years ago
Francisco
d02cc51e33
use mutex or atomic in running flag to signal the interruption of a thread
4 years ago
Xavier Arteaga
49731ab5a1
Initial NR-DCI refactor
...
Added NR DCI 1_1 size
Several DCI NR fixes
4 years ago
Xavier Arteaga
01990c2e1d
SRSUE: Add PHY-MAC SR related interfaces
4 years ago
Xavier Arteaga
64acf03158
Fix sch_nr_test
4 years ago
Xavier Arteaga
1dcd75a6c7
Ignore CRC for RV!=0 in phy_dl_nr_test
4 years ago
Xavier Arteaga
3504bfcf5a
Fix NR-SCH test
4 years ago
Xavier Arteaga
39e97cbcf4
Fix unbounded memory access
4 years ago
Xavier Arteaga
29c6adad93
Avoid unused LDPC memory in AVX2 decoder
4 years ago
Xavier Arteaga
392a8cc1b6
Fix LDPC RM number of useful iterations
4 years ago
Xavier Arteaga
3568f633c3
Use LDPC RM number of useful LLR and rename functions
4 years ago
Xavier Arteaga
ecd2c1cdcc
Improved LDPC decoded performance and other NR aesthetical changes
4 years ago
Francisco
cdf72248f3
Reimplement batch-based background object/memory pool
...
Main changes:
- addition of pool utilities
- The node size/alignment and batch allocation threshold are now runtime arguments
- object pool and memory pool are not anymore based on the same class.
The object pool cannot use intrusive free list because it would overwrite the object
memory
4 years ago