Xavier Arteaga
e3bd92d87c
Fix SSB pattern in UE
2021-10-04 10:28:34 +02:00
Xavier Arteaga
8f90ee847a
Refactor carrier frequency from PHY and fix OFDM phase compensation
2021-10-04 10:28:34 +02:00
Xavier Arteaga
1aa65bd10c
HOTFIX: force DFT wisdom save at exit
2021-10-01 18:06:37 +02:00
Fabian Eckermann
2d0be77660
Add helper functions for abs freq point a.
2021-09-29 16:03:44 +02:00
faluco
fa351cd285
Rename functions that contain the unsafe word to nolock.
...
The term "unsafe" does not clearly state that the function is not locking the shared date and it sounds "dangerous", so use a more explicit term.
2021-09-27 13:26:21 +02:00
faluco
6c91a824e2
Whitelist the TSAN lock order inversion issue in srsenb::mac::rlc_buffer_state.
2021-09-24 14:27:37 +02:00
Xavier Arteaga
0324806d6c
Packed NR TDD config in duplex configuration and created test case for FDD
2021-09-21 18:11:16 +02:00
faluco
d2f09a8d3c
Fix a nasty data race in the ue_bearer_manager class. The underlying std::map member was being accessed concurrently potentially corrupting memory.
2021-09-17 11:34:28 +02:00
Andre Puschmann
b127327684
enb,s1ap: print filename when writing S1AP PCAP
2021-09-16 15:25:46 +02:00
David Rupprecht
e8a464228d
Cleaned string helpers
2021-09-16 15:24:32 +02:00
Andre Puschmann
07019a5bd6
nr: refactor DL/UL frequency deriviation
...
* add separate DL/UL freq point a in NR carrier struct
* use freqInfoDL/freqInfoUL to get freq point a
* simplify carrier tuning logic
2021-09-13 10:27:16 +02:00
Andre Puschmann
d26a7e0350
band_helper: add helper to derive DL/UL freq from abs_freq_point
...
calculate DL and UL freq in carrier struct based on given values
2021-09-13 10:27:16 +02:00
Andre Puschmann
69619d725a
band_helper: add helper to derive UL ARFCN from DL ARFCN
2021-09-13 10:27:16 +02:00
faluco
934802d23c
Report the SIB9 home enb name in the enb sector start/sector stop events.
2021-09-07 16:36:56 +02:00
faluco
d168536bc4
Add a new program option to control how ASN1 messages get printed into the enb JSON report file.
2021-09-07 16:36:56 +02:00
faluco
df6ae7b0e0
- Implement new enb events:
...
* ho_command
* connection_resume
* rlf_detected
- Rename rlf_report event to "rlf_report".
2021-09-07 16:36:56 +02:00
faluco
8a3586dfbf
Include a ASN1 json representation for RRC enb events.
2021-09-07 16:36:56 +02:00
David Rupprecht
a9a23214b0
Added more 5G security kdfs
...
Added new 5G SIM functions
Added const parameters for security functions
2021-09-07 11:06:56 +02:00
David Rupprecht
a645d74eaf
USIM functions for res star
...
Added gen_res_star in security.h
Added USIM interfaces for res star
Added RES star test case
2021-09-07 11:06:56 +02:00
David Rupprecht
bce6b5cc0f
Added kdf common
...
Use kdf functions in 5G KDF
Moved EPS KDF function to new KDF structure
2021-09-07 11:06:56 +02:00
David Rupprecht
15eaef21e2
Update test f12345 function
...
Moved XOR functions to lib
Added testcase for KDF
Minor liblte_security updates
2021-09-07 11:06:56 +02:00
Francisco Paisana
227ae97bcb
workaround gcc4.8 issue with inability to derive move ctor noexcept specifier
2021-09-03 12:06:17 +02:00
Francisco Paisana
f4df55c245
stack lte: separate bearer manager into two classes, one for the ue and one for the enb
2021-09-03 12:06:17 +02:00
Francisco Paisana
2ade4628ca
stack lte: create an gtpu-pdcp adapter class that correctly converts lcids to eps bearers and vice-versa
2021-09-02 17:12:04 +02:00
Francisco Paisana
4b2f079581
gtpu: renamed lcid to eps_bearer_id as parte of the refactor of gtpu to use eps_bearer_ids
2021-09-02 17:12:04 +02:00
Andre Puschmann
db8b710442
bearer_manager: move to lib folder and extend for multiple users
...
prepare bearer manager to be used by eNB which requires
to support multiple RNTIs
2021-09-02 17:12:04 +02:00
Francisco Paisana
020bec025e
sched: created class common to LTE and NR for ue buffer status management
2021-09-01 20:08:11 +02:00
Francisco Paisana
da4b7e4f80
sched,nr: fix sched RAR NR test; update test assert macros
2021-08-26 12:09:11 +02:00
Xavier Arteaga
e07263ee26
Added band helper for getting band from ARFCN
2021-08-26 09:34:43 +02:00
Francisco Paisana
f518861ebc
fix location of support/ folder. Created macros for ASSERT_EQ and ASSERT_NEQ
2021-08-23 16:47:54 +02:00
Francisco Paisana
599fc978a5
improvement of srsran_assert design, with specializations to enable/disable assertions based on compile flags other than ASSERTS_ENABLED. Creation of the support/ folder
2021-08-23 16:47:54 +02:00
Xavier Arteaga
98f29961bc
Fix old GCC compilation
2021-08-03 10:46:13 +02:00
Xavier Arteaga
956c4f8266
Added PHY NR test TDD FR1.15-1 pattern
2021-08-03 10:46:13 +02:00
Xavier Arteaga
dfa323df6b
Added 20MHz default configuration
2021-08-03 10:46:13 +02:00
Xavier Arteaga
1b50758bd5
Initial NZP-CSI default configuration from TS38.101-4
2021-08-03 10:46:13 +02:00
Andre Puschmann
3b5344b0f7
thread_pool: add optional ID to thread pool
...
this allows to prepend an ID to each thread pool to
better differentiate workers from different pools
2021-08-02 15:18:47 +02:00
Andre Puschmann
4915dc9642
test_pcap: add function description
2021-07-28 10:26:09 +02:00
Francisco Paisana
12e33483e1
sched,nr: add slot_point to sched nr
2021-07-26 11:52:07 +02:00
Francisco Paisana
a0a1af9d0f
nr: slot value that handles wrapping around
2021-07-26 11:52:07 +02:00
Andre Puschmann
60a795acc0
asn1,rrc_nr,test: extend RRC reconf test, add PCAP output
...
test now can write the NR reconfig into a PCAP for easy
debugging with Wireshark
patch also adds a new test helper to write a RRC PDU
into a PCAP file (helper packs PDCP and RLC AM first)
2021-07-19 12:53:09 +02:00
Andre Puschmann
a142192d4e
test_common: handle return value from make_byte_buffer()
2021-07-16 12:35:12 +02:00
Andre Puschmann
b5b2f8190e
signal_handler: use std::atomic for running var
2021-07-14 23:03:51 +02:00
Andre Puschmann
6c82d63aa6
remove legacy PNF/VNF code
...
the code hasn't been maintained for a while an likely needs to be
adapted for a real-world scenarios.
in order to avoid having to maintain two MAC/PHY interfaces we
remove the code from now.
2021-07-12 19:24:02 +02:00
Xavier Arteaga
ecc0b92142
Integrated PUSCH decoder in gNb
2021-07-08 16:47:07 +02:00
Xavier Arteaga
f07d925be1
Initial NR PHY test scheduling for PUSCH
2021-07-08 16:47:07 +02:00
Andre Puschmann
c9e87b2cf3
config_file: print message when config file couldn't be read
...
this prints an message on stdout so config files are not
simply skipped and the default one is read instead.
2021-07-06 21:57:44 +02:00
Xavier Arteaga
cf496e75eb
Fix default PHY NR configuration
2021-07-05 17:51:27 +02:00
Xavier Arteaga
2fbd172888
Initial PHY NR configuration generator
2021-07-05 17:51:27 +02:00
Xavier Arteaga
320aabec13
Initial PHY NR configuration
2021-07-05 17:51:27 +02:00
Xavier Arteaga
e764a26136
Integrated PUCCH decoding in gNb
2021-07-05 17:51:27 +02:00
Xavier Arteaga
e3afd945bc
Refactored NR HARQ ACK feedback
2021-07-05 17:51:27 +02:00
Xavier Arteaga
eecaccb541
Added NR PHY helpers
2021-07-05 17:51:27 +02:00
David Rupprecht
f90e359208
Moved cp to test common
2021-07-02 17:23:06 +02:00
Andre Puschmann
bbcaa49429
network_utils: fix TSAN detected race
2021-07-02 17:22:49 +02:00
Andre Puschmann
a9ad408f51
task_scheduler: use block_queue for internal tasks
...
TSAN detected wrong use of the old deque-based internal queue. To avoid
unwanted/undetected mis-use the patch uses the thread-safe block_queue
data structure instead.
2021-07-02 17:22:49 +02:00
Andre Puschmann
626f24c9f9
block_queue: use class mutex to protect size() getter
...
detected with TSAN
2021-07-02 17:22:49 +02:00
Xavier Arteaga
aef3e5a40a
More NR PHY test and GNB PHY development
2021-06-28 00:27:36 +02:00
Xavier Arteaga
567c7c9c77
Create TTI semaphpore default constructor
2021-06-28 00:27:36 +02:00
Pedro Alvarez
aae266e848
Added configuration option for S1AP SCTP bind port
2021-06-22 11:11:54 +01:00
David Rupprecht
85d7a851fb
Added 5G NAS PCAP support
2021-06-22 09:02:07 +02:00
Xavier Arteaga
939dd1b977
Change struct sync_raster_t to class
2021-06-08 14:55:12 +02:00
Xavier Arteaga
9621cf57c2
Implemented NR SS raster object
2021-06-08 14:55:12 +02:00
Andre Puschmann
c0be8187c8
rlc interface: convert entire read_pdu() interface to return uint32_t
...
we had it returning int but had a bug in using the return value properly,
i.e. handling when -1 was returned in RLC TM.
Thinking about it more, it doesn't make sense to have a negative return
value here anyway. Either the RLC can return a PDU or not. If it can't the
returned lenght is zero.
2021-06-04 13:23:54 +02:00
Francisco
f7aef3ffc1
sched,bugfix: fix nof_retx update when UL HARQs are resumed
2021-06-02 20:21:32 +01:00
Andre Puschmann
1ef3cb7e5d
threads: fix race in stopping periodic thread
2021-06-01 22:44:12 +02:00
Andre Puschmann
312b5a241c
mac_pcap_base: fix race detected with TSAN
2021-06-01 22:44:12 +02:00
Francisco
f36f5271d3
timers,feature: make timers thread-safe by using atomic to store timers state.
2021-05-31 23:26:36 +01:00
Andre Puschmann
bb6a5ebe80
tsan: add TSAN options file to set some default flags and exclude some libs from checks
2021-05-27 17:26:39 +02:00
Andre Puschmann
d9a5d3f95a
pcap_base: increase PDU queue length
...
some systems with slower HDD seem to have issues
writing the PDUs to disk. increasing length to see if that helps.
2021-05-27 13:29:00 +02:00
Andre Puschmann
c1ad867824
epoll_helper: use std::atomic to protect exit called from different thread
2021-05-26 14:25:38 +02:00
Andre Puschmann
f1e6a975de
thread_pool: fix concurrent access of state variable
...
the thread workers need access to their current state to exit properly
when they are set to state STOP. However, since the state is kept in
a std::vector for all workers, it seems more appropiate to add a per-thread
running variable rather then mutexing the entire vector.
2021-05-26 14:25:38 +02:00
Francisco
f2a56c9139
simplification of multiqueue design.
...
- the consumer does multi-staged waiting:
1. spins first across all queues in a RR fashion
2. each queue access is done with a try_lock.
3. if the try_lock fails, it increases the number of spins needed
2. if no queue had data, the consumer sleeps for 100 usec.
- no differentiation between queues, in terms of notification features
2021-05-24 17:24:12 +02:00
Francisco
60a8ee0af9
multiqueue optimization - use condition_var wait_for() method, use queue try_lock in the consumer side
2021-05-24 17:24:12 +02:00
Francisco
2d6a878826
change interface to create multiqueue queues
2021-05-24 17:24:12 +02:00
Francisco
f705735093
optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks
2021-05-24 17:24:12 +02:00
Xavier Arteaga
c8cb128317
Declare band helper methods as constant
2021-05-18 18:41:03 +02:00
Andre Puschmann
167200f5cd
rrc_bearer_cfg: replace fixed E-RAB to DRB mapping
...
also make sure we don't assign LCIDs beyond the possible
number.
possible fix for https://github.com/srsran/srsRAN/issues/658
Co-authored-by: herlesupreeth <herlesupreeth@gmail.com>
Co-authored-by: Francisco <francisco.paisana@softwareradiosystems.com>
2021-05-17 15:17:27 +02:00
Francisco
84ad6dd8ee
Integrated new sched_dl_cqi class in sched_ue_cell
...
- extend sched_dl_cqi interface to allow getting tti when cqi was last updated
- extend sched_dl_cqi to quickly get average cqi across the whole bandwidth
2021-05-14 19:58:03 +01:00
Francisco
a841b7580e
fix deadlock caused by non-notification of multiqueue consumer side
2021-05-13 16:48:17 +01:00
Xavier Arteaga
7450232b3e
Added more NR band related helpers
2021-05-13 07:55:46 +02:00
Francisco
996d8ef74d
multiqueue bugfix for non-blocking pushes when queue is full
2021-05-11 21:27:08 +02:00
Francisco
99abae9e6a
fix multiqueue producer to consumer notification to avoid deadlocks
2021-05-10 15:27:21 +01:00
Francisco
0d800eb8f6
stack, multiqueue - bugfix for multiqueue destruction, and addition of unit test
2021-05-10 15:27:21 +01:00
Francisco
d947e259c9
stack optimization - optimization of the multiqueue
...
avoid notifying the consumer side of the multiqueue of a new pushed object, if the
multiqueue already knows that the queue is not empty.
2021-05-10 15:27:21 +01:00
Francisco
d574afcd33
cleanup of multiqueue unused methods, and made queue_handle move semantics correct
2021-05-10 15:27:21 +01:00
Francisco
ef9d1b8c13
stack optimization - reduction of contention in multiqueue class
...
With the new design, each queue created in the multiqueue object has its own mutex.
Pushing tasks to separate queues will, therefore, not cause contention.
There will be, however, still contention between the popping thread and the pushing threads.
2021-05-10 15:27:21 +01:00
Andre Puschmann
bbea3dd6a1
byte_buffer: fix compilation when buffer pool log is enabled
2021-05-03 12:42:38 +02:00
David Rupprecht
fafa03f7c8
Extended the band helper table
2021-04-27 20:28:36 +02:00
Andre Puschmann
f76cd5ef83
backward: fix compile error on aarch64
2021-04-26 09:43:58 +02:00
Andre Puschmann
92d4e6e746
adt/common: remove const from return type
...
reported by LGTM https://lgtm.com/projects/g/srsLTE/srsLTE/rev/pr-9ae46cae260b6b8137b34b9423bf1477bd6b5c42
2021-04-25 21:03:53 +02:00
Andre Puschmann
ff53d2b8b8
all: set of trivial changes reported by LGTM
...
mainly fixmes, unused/empty code, etc.
2021-04-25 21:03:53 +02:00
Francisco
2b572f5376
fix overwrite of timer timeout when it matches previous time wheel position
2021-04-21 10:02:03 +01:00
Francisco
ce47cf5910
fix - re-add log flush to srsran_assert
2021-04-20 16:27:40 +01:00
Francisco
6137e4569b
fix srsran_assert definition when asserts are disabled
2021-04-20 14:01:05 +01:00
Francisco
3b78bf3730
bugfix - fix memcheck warnings. move instructions with side effects outside of asserts
2021-04-20 14:01:05 +01:00
David Rupprecht
a064e85c54
rename common lte header
2021-04-19 22:23:59 +02:00
David Rupprecht
81ad72b0ff
Refactor srb and drb handling
2021-04-19 22:23:59 +02:00
faluco
e1752c0878
Replace the queue in thread pool in favour of a static circular buffer to avoid allocations.
2021-04-16 09:29:44 +02:00
Ismael Gomez
635db8dde1
Initialize metrics in hub
2021-04-15 21:32:35 +02:00
Francisco
1f1233782f
timers - fix old gcc compilation issue. Changed free list to intrusive list.
2021-04-15 18:46:42 +01:00