faluco
55f5f74ff3
Fixed case where calling gw::setup_if_addr after ue attachment would spawn a new thread without closing the current one.
...
This would end up being a resource leak as the number of threads grow forever until the application crashes.
2021-09-22 13:26:59 +02:00
Andre Puschmann
26cc6d7886
ue: remove stack type parameter
...
for the moment we always use the LTE stack (also for NSA mode).
For SA we likely pick a smarter approach to pick the stack type, i.e.
using the ARFCN specified in the config.
2021-09-22 10:56:56 +02:00
Ismael Gomez
ad646f436c
Ignore PDSCH during cell selection
2021-09-21 11:09:34 +02:00
Xavier Arteaga
de00b80228
Review NR NSA CFO estimation and compensation
2021-09-20 20:48:08 +02:00
faluco
c2b705c5ce
Fix several data races in proc_phr, class needs to be fully protected since most member variables are accessed by different threads.
2021-09-17 11:34:28 +02:00
faluco
6b07e886b7
Fix data race in is_first_ul_grant.
2021-09-17 11:34:28 +02:00
faluco
1e3ba607ce
Fix data race in is_pending_tx_end.
2021-09-17 11:34:28 +02:00
faluco
7dae4a491e
Fix data race in ue_stack_lte::ul_dropped_sdus.
2021-09-17 11:34:28 +02:00
faluco
1796e12084
Fix data race in ul_harq_entity.
2021-09-17 11:34:28 +02:00
faluco
2b73beb3dd
Fix data race in ul_harq.
2021-09-17 11:34:28 +02:00
David Rupprecht
e8a464228d
Cleaned string helpers
2021-09-16 15:24:32 +02:00
Andre Puschmann
ab6210b1fc
ue,proc_sr_nr: add mutex to protect access from PHY and Stack
...
also detected by TSAN
2021-09-16 15:22:59 +02:00
Andre Puschmann
2248e63219
ue,proc_ra_nr: add mutex to protect access from PHY and Stack
...
detected with TSAN
2021-09-16 15:22:59 +02:00
Andre Puschmann
cc2d71183e
ue,phy,nr: fix race condition when setting UL grant for Msg3
...
the Msg3 UL grant requires the TTI in which the RAR has been received
to calcualte the correct timing. There was a race between PHY and Stack
thread.
This patch circumvents the issue by removing a PHY state member that only holds
the RAR Rx timing. In the new interface the RA proc passes the Rx TTI
to the PHY again when setting the UL grant so the PHY can calculate the
correct timing without any state.
2021-09-16 15:22:59 +02:00
Andre Puschmann
f382a7c7db
Revert "ue,proc_ra_nr: add temporary flag to skip RAR reception"
...
This reverts commit 28668aac34
.
2021-09-09 14:29:04 +02:00
Andre Puschmann
5a936d9940
ue,rrc: handle DRB removal correctly
...
when RRC receives a command to remove a DRB, it also needs to delete
the bearer at RLC and PDCP
2021-09-09 14:29:04 +02:00
Andre Puschmann
54ab64327a
ue,mac_nr: move BSR levels lookup table into lib header
...
prepare for shared use with gNB
2021-09-09 14:29:04 +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
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
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
Andre Puschmann
40499e6b6d
ue_stack_lte: use std::atomic for running var
2021-08-31 17:01:50 +02:00
Andre Puschmann
79cdc28015
nas_test_common: call NAS layer from stack thread context
...
since NAS layers insn't thread safe, all calls must come from
the same thread
2021-08-31 17:00:59 +02:00
Andre Puschmann
78d60bc138
nas: remove all uses of atomic from 4G and 5G classes
...
the NAS classes aren't thread safe and thread-safety shouldn't be
pretended by using atomics. Remove them and add explicit notice.
2021-08-31 17:00:59 +02:00
Xavier Arteaga
8aa7ae7d95
Remove unused attribute
2021-08-26 09:34:43 +02:00
Xavier Arteaga
4cb633e6e6
UE dicards NR CFO measurement if SNR is negative
2021-08-26 09:34:43 +02:00
Xavier Arteaga
83b9b2d1ff
Implemented UE open loop CFO compensation for NR
2021-08-26 09:34:43 +02:00
Ismael Gomez
7839ab09dc
Add RLF-Reportv9 to srsUE
2021-08-23 16:34:33 +02:00
David Rupprecht
3217c00cfc
Adjusting NAS base security function to 5G
2021-08-19 11:03:06 +02:00
Xavier Arteaga
cba6df3722
Extended NR PHY robustnes against wrong RRC configuration
2021-08-03 17:30:08 +02:00
Andre Puschmann
28668aac34
ue,proc_ra_nr: add temporary flag to skip RAR reception
...
this will be removed again as soon as the eNB supports full RAR
transmission.
2021-08-02 15:18:47 +02:00
Andre Puschmann
99dc94ab38
nas: make state variables atomics
...
NAS states and substates maybe be requested from other threads so
they need to be protected.
Note that the caller still needs to hold it's own mutex if different
actions are required based on the state.
2021-08-01 11:41:11 +02:00
Xavier Arteaga
b57df4db10
Refactored worker_end mechanism for concurrent workers
2021-07-28 12:14:37 +02:00
David Rupprecht
04ef6e120d
Added new SIM functions to get MCC, MNC and MSIN
2021-07-27 09:26:52 +02:00
Andre Puschmann
9c298b203d
srsue: reduce the default RRC release to 8 (minimum value)
2021-07-26 11:04:02 +02:00
David Rupprecht
2563a78f34
Added basic 5G NAS metrics
2021-07-22 19:41:26 +02:00
David Rupprecht
9172059078
Supply ctor with logger instead of fetching
2021-07-22 14:12:39 +02:00
David Rupprecht
0217bf5332
Fixed name space for rrc ue
2021-07-16 10:09:07 +02:00
Xavier Arteaga
b25681f9de
gnb,prach: add PRACH to gNB
...
rebase of Xavier's feature_gnb_prach branch
2021-07-14 14:30:58 +02:00
David Rupprecht
fb92118bb7
Add 5G NAS infrastructure
2021-07-14 13:38:08 +02:00
David Rupprecht
505225d845
Added ue nas base class with security functions
2021-07-14 13:38:08 +02:00
David Rupprecht
7fa85ab336
Added nas test common file
2021-07-14 13:38:08 +02:00
Andre Puschmann
e0d9afc342
proc_ra: fix race detected with TSAN
...
rar_received is accessed from PHY worker and Stack thread
2021-07-13 10:16:36 +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
54a12870ec
SRSUE: avoid negative SR transmission in NR
2021-07-09 22:32:40 +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
Ismael Gomez
4e39982a19
Fix TSAN warnings in UE ( #3021 )
...
* Protect PHY SR signal management in a class
* Protect intra_freq_meas vector
* Protect cell and srate shared variables in thread-safe classes
* srsue,srsenb: include TSAN options header
* Protect ue_rnti_t and rnti scheduling windows behind thread-safe classes
* Protect access to state variable in sync_state
* Protect access to metrics configuration
* Protect access to is_pending_sr
* Protect access to UE prach worker
* Protect UE mux
* Avoid unlocking mutex twice
* Fix data races in RF/ZMQ
* Fix data races in intra_measure and PHY
* Fix minor data races in MAC
* Make TSAN default behaviour to not halt on error
* Fix blocking in intra cell measurement
* Address comments
Co-authored-by: Andre Puschmann <andre@softwareradiosystems.com>
2021-07-01 17:39:54 +02:00
Pedro Alvarez
171d5727be
Moved lib RLC into it's own folder
2021-06-30 18:19:20 +01:00
Andre Puschmann
0a16f48869
gw: fix race condition
...
GW thread was checking the default_eps_bearer variable without
protection. RRC could update it when deleting DRB or receiving RRC
connection release.
2021-06-28 17:35:02 +02:00