Andre Puschmann
483a216bd5
ue,stack: refactor handling of radio bearears in UE stack
...
this is a rather large commit that is hard to split because
it touches quite a few components.
It's a preparation patch for adding NR split bearers in the next
step.
We realized that managing RLC and PDCP bearers for both NR and LTE
in the same entity doesn't work. This is because we use the LCID
as a key for all accesses. With NR dual connectivity however we
can have the same LCID active at the same time for both LTE and NR
carriers.
The patch solves that by creating a dedicated NR instance for RLC/PDCP
in the stack. But then the question arises for UL traffic on, e.g. LCID 4
what PDCP instance the GW should use for pushing SDUs. It doesnt' know
that. And in fact it doesn't need to. It just needs to know EPS
bearer IDs. So the next change was to remove the knowledge of what
LCIDs are from the GW. Make is agnostic and only work on EPS bearer IDs.
The handling and mapping between EPS bearer IDs and LCIDs for LTE
or NR (mainly PDCP for pushing data) is done in the Stack because
it has access to both.
The NAS also has a EPS bearer map but only knows about default and
dedicated bearers. It doesn't know on which logical channels they
are transmitted.
4 years ago
Andre Puschmann
a4b2a065ff
pdcp: reword warning when dropping PDU
4 years ago
Andre Puschmann
7113e55d53
rlc: refactor RLC entity to use smart pointers for holding bearers
...
this patch mainly modernizes the bearer creation to use smart pointers.
that allows to simplify the error handling.
ue_stack is changed to match new interface. This commit compiles
but doesn't work.
4 years ago
David Rupprecht
6d5391756c
Refactor build of RLC NR config
4 years ago
David Rupprecht
d1d8500ce5
Add testcase for reconfiguration
4 years ago
David Rupprecht
ec19919246
Fix NGAP valgrind test
4 years ago
Xavier Arteaga
eb7980f2b3
Initial UE synchronization for NR
4 years ago
Pedro Alvarez
4d13906760
Increase logging level of MAC mismatches to warning in PDCP
4 years ago
Andre Puschmann
e1fb58d76e
rlc_um: reduce log level for message handling lost PDUs
...
when a lost PDU is detected a warning will be logged. In theory
this could be info as well but a warning may help to detect issues
in tests. The same event causes multiple other warnings to be logged,
which is very spammy. The patch reduces the log level for
those messages to info.
4 years ago
Pedro Alvarez
aae266e848
Added configuration option for S1AP SCTP bind port
4 years ago
David Rupprecht
85d7a851fb
Added 5G NAS PCAP support
4 years ago
Francisco
78acf81cf0
bugfix,sched: avoid instability in TPCs around PHR~0
4 years ago
Xavier Arteaga
b1e4720721
SRSUE/SRSENB: added tx_enable flag in worker_end
4 years ago
Xavier Arteaga
027201d457
SRSUE/SRSENB: Refactor NR workers to generalise lower PHY
4 years ago
Andre Puschmann
83bf5dcd49
rlc_am_lte: reduce time holding Tx mutex when processing status PDUs
...
the patch is a re-implementation of the customer-specific optimization
we did in order to reduce the time the RLC holds the Tx mutex when
processing an incoming status PDU.
The patch makes sure to never operate on a raw mutex but instead
uses the deadlock-avoiding RAII lock.
4 years ago
Ismael Gomez
5aa5a8e997
Revert UE changes
4 years ago
Ismael Gomez
e35a0d72fa
Revert UE changes
4 years ago
Ismael Gomez
dd9889e07c
Add carrier index to uplink PCAP captures
4 years ago
Bedran Karakoc
c280ac5ad6
Introducing extended NGAP functionality
...
Remove unused logger for now in ngap::ue to pass tests
4 years ago
Francisco
5a82a63bb5
bugfix,srsenb: fix intraenb handover softbuffer allocation during handover
4 years ago
Xavier Arteaga
cf09044453
Optimised random bit (unpacked) and byte (packed) generator
4 years ago
Xavier Arteaga
d2a19c3043
SCH minimum number of iterations to 2 to reduce systematic false alarm probability
4 years ago
Xavier Arteaga
ef4c978d72
Optimized byte random generator
4 years ago
Andre Puschmann
475c033440
rlc_am_test: extend status PDU test
...
add full test with malformed status PDU
4 years ago
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
4 years ago
Xavier Arteaga
2cd8ba3a1a
PDCCH test skips 100PRB for ARM
4 years ago
Francisco
2a009eb340
sched,feature: Enable configuring maximum coderate for SIB allocations
4 years ago
Francisco
6ababf401b
feature,sched: allow setting initial DL CQI in enb.conf
4 years ago
Francisco
e8983b88f0
refactor: use enb_cc_idx instead of ue_cc_idx in mac::ue
4 years ago
Andre Puschmann
fa7a8fb687
rlc_am_test: add testcase for processing out-of-order status PDUs
4 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.
4 years ago
Xavier Arteaga
8743713bb1
Fix compilation
4 years ago
Xavier Arteaga
676080d6af
Added macro SRSRAN_VEC_SAFE_CMA
4 years ago
Andre Puschmann
b862bbc2e6
rlc_am_lte: add missing mutex to get_status getter
...
fixws race detected with TSAN
4 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
4 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.
4 years ago
Andre Puschmann
46265c5829
rlc_am_data_test: add data PDU unpack test
...
TV captured in PCAP
4 years ago
Andre Puschmann
b379910690
pdu_test: add UL-SCH unpacking test
...
TV captured in PCAPs.
4 years ago
Xavier Arteaga
6be57dd216
Disable PDCCH false detection for non AVX2 machines
4 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.
4 years ago
Pedro Alvarez
a53b321ab8
Release UE upon reception of integrity error.
4 years ago
Pedro Alvarez
299d2ee35d
Added interface to make the PDCP notify the RRC of integrity check
...
failures.
4 years ago
Xavier Arteaga
939dd1b977
Change struct sync_raster_t to class
4 years ago
Xavier Arteaga
a79d518799
Added SSB search measure/decode file test
4 years ago
Xavier Arteaga
5181a9d64c
Implemented PBCH blind decode
4 years ago
Xavier Arteaga
a7b7f8e78a
Avoid SSB search to have a peak that SSB data is outside buffer
4 years ago
Xavier Arteaga
480f1b14fe
Protect Radio from null phy
4 years ago
Xavier Arteaga
9621cf57c2
Implemented NR SS raster object
4 years ago
Xavier Arteaga
49d857cd17
Refactored decode_tb function
4 years ago
Xavier Arteaga
22b1673b36
Added CRC match function and simplify CRC check
4 years ago
Xavier Arteaga
7846bfccb1
Implemented softbuffer RX CRC reset
4 years ago
David Rupprecht
ff3e7c321d
Added bref function for calc distance til end
4 years ago
Xavier Arteaga
e8f2b3a74c
Add PDCCH decoder correlation check in blind search
4 years ago
Xavier Arteaga
7c78fd2050
Implemented PDCCH DCI message correlation and updated test
4 years ago
Xavier Arteaga
bcd2e59635
PDCCH test global variable cleanup
4 years ago
Francisco
7e77da6a15
mac,optimization: use rnti memory pool to create mac::ue objects
4 years ago
Andre Puschmann
295b5fe8fb
rlc_tm: fix stopping of entity detected with TSAN
4 years ago
Andre Puschmann
a013a2fe05
rlc_stress_test: fix bug when read_pdu was returning -1
4 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.
4 years ago
Francisco
539ca47fe2
lib,bugfix: fix blocking queue unit test. Dtor cannot destroy object while a thread is still pushing data
4 years ago
Xavier Arteaga
60f294a6a1
Refactor PDCCH encode/decode unit test
4 years ago
Xavier Arteaga
5ddc974beb
Reverted PDCCH threshold
4 years ago
Xavier Arteaga
d46be09663
Increase viterbi default number of iterations
4 years ago
Xavier Arteaga
090022568e
DCI NCCE find considers L and NCCE
4 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.
4 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.
4 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.
4 years ago
Andre Puschmann
9612bb0e14
rlc_am_test: fix status PDU test and add extra test for failure signaling
4 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).
4 years ago
Andre Puschmann
107f6334dd
compile: fix compilation on 32bit systems that require -latomic
4 years ago
Francisco
ceaef3523f
sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing
4 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
4 years ago
Francisco
f7aef3ffc1
sched,bugfix: fix nof_retx update when UL HARQs are resumed
4 years ago
Ismael Gomez
5db3030428
Tiny changes
4 years ago
Francisco
89406b07d6
make eNB UL SNR initial value an exponential average alpha configurable
4 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
4 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.
4 years ago
Andre Puschmann
b88f22b9fe
network_utils_test: fix race detected with TSAN
4 years ago
Andre Puschmann
f823340a95
rf_imp: fix race when stopping gain thread
...
detected with TSAN using benchmark_radio test
4 years ago
Andre Puschmann
716caafd6c
multiqueue_test: fix race reported by TSAN
4 years ago
Andre Puschmann
1ef3cb7e5d
threads: fix race in stopping periodic thread
4 years ago
Andre Puschmann
312b5a241c
mac_pcap_base: fix race detected with TSAN
4 years ago
Andre Puschmann
c434aac526
rlc_stress_test: include tsan options header
4 years ago
Andre Puschmann
1d34aa280f
byte_buffer_queue: make class thread-safe by using atomics
4 years ago
Pedro Alvarez
18e2149d68
Sending Initial Context Setup Response after RRC reconfiguration.
4 years ago
Xavier Arteaga
4f7a94acb6
Fix comment
4 years ago
Xavier Arteaga
d329297151
Implement radio invalid mapping countermeasure
4 years ago
Andre Puschmann
3966065bff
pssch_test: fix newlines in printf
4 years ago
Andre Puschmann
2ace2b47b8
pssch: fix uninitialized value
4 years ago
Xavier Arteaga
bbab2cd9ba
Make PDCCH LLR mean amplitude in function of maximum
4 years ago
Xavier Arteaga
2ca0932d9b
Reviewed LTE noise estimation
4 years ago
Xavier Arteaga
10a268fdba
Added SNR to phy_dl_test
4 years ago
Francisco
f36f5271d3
timers,feature: make timers thread-safe by using atomic to store timers state.
4 years ago
Xavier Arteaga
dddb3ede71
Fix zero parity
4 years ago
Andre Puschmann
50f7fc644b
rlc_am_lte: log event when status prohibit timer expires
4 years ago
Xavier Arteaga
3c93d5ba43
Fix carrier mapping concurrency issue
4 years ago
Xavier Arteaga
235a664120
SRSUE: Removed PUSCH-DMRS/SRS pregeneration methods
4 years ago
Andre Puschmann
531acc0a98
rlc_am_test: add check for RLC buffer state return during retx
4 years ago
Andre Puschmann
3102861ee3
rlc_am_lte: make func param const&
4 years ago
Francisco
0dafe4dd58
fix coderate derivation in PDCCH based on aggregation level
4 years ago
Francisco
a587d20252
allow specification of subset of valid measurement gap offsets in rr.conf
4 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.
4 years ago
Andre Puschmann
e7aa484308
rf_zmq_test: remove srsran.h include
4 years ago
Andre Puschmann
bb6a5ebe80
tsan: add TSAN options file to set some default flags and exclude some libs from checks
4 years ago
Andre Puschmann
28399dd876
rf_zmq_imp: remove sleep
4 years ago
Andre Puschmann
574459fd90
rf: remove srsran.h include
4 years ago
Xavier Arteaga
f33731ecd4
Disable irrelevant unit/component test by default
4 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.
4 years ago
Xavier Arteaga
a245039cf3
Initial NR-PBCH-DMRS integration
4 years ago
Pedro Alvarez
997f7db23a
Small fixes for observer.h missing std::size_t
4 years ago
Pedro Alvarez
c74b2dd633
Fix some warnings in PHY due to array parameter mismatch for a few functions
4 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