364 Commits (a142192d4e8f7d50c36c13234ed58db923a78c0a)

Author SHA1 Message Date
Andre Puschmann 3102861ee3 rlc_am_lte: make func param const& 4 years ago
Francisco a587d20252 allow specification of subset of valid measurement gap offsets in rr.conf 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 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 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 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 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
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
yagoda f90f6f0c7e adding MAC 0 padding support 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 1603580901 Fix NR PSS correlation 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 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 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 751b6858b3 Added CSI-RS resource set measurements 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 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
Andre Puschmann 598594c51a all: bunch of pass by const& changes suggested by LGTM 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 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
Xavier Arteaga b6fa82bf9a Fix more static analysis warnings 4 years ago
Xavier Arteaga 290541993e Fix debug compilation 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
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
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 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
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
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
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 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
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 53e41a165c Revert zeros around DC REs in NR PDSCH 4 years ago
Xavier Arteaga 1c1d7e2447 Revert "Review soft demodulator zero check"
This reverts commit b8a9a7fc70.
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
Xavier Arteaga 8ffced7e88 NR PHY logging minor corrections 4 years ago
Xavier Arteaga abfc1da921 Multiple NR-PUSCH fixes 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 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