Andre Puschmann
d78cbdf9bb
ue,proc_ra_nr: fix retransmission of PRACH after failed RAR rx
...
if the backoff value is calculated to be zero, don't start
a timer but tx new preamble directly
3 years ago
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.
3 years ago
Xavier Arteaga
c9183326ce
Clean up some code and minor change
3 years ago
Xavier Arteaga
dbb10dd6a2
Hold worker thread until baseband is transmitted
3 years ago
Xavier Arteaga
0c7239e5df
SRSUE: add RF channel offset
3 years ago
Xavier Arteaga
b57df4db10
Refactored worker_end mechanism for concurrent workers
3 years ago
Andre Puschmann
e833751031
rrc_nr: add CSI config packing
3 years ago
Andre Puschmann
f181733c7e
rrc_nr,enb: add more fields to spcell cfg dedicated
3 years ago
David Rupprecht
04ef6e120d
Added new SIM functions to get MCC, MNC and MSIN
3 years ago
Andre Puschmann
9c298b203d
srsue: reduce the default RRC release to 8 (minimum value)
3 years ago
David Rupprecht
2563a78f34
Added basic 5G NAS metrics
3 years ago
David Rupprecht
9172059078
Supply ctor with logger instead of fetching
3 years ago
Xavier Arteaga
bb4f469794
Integrated SR decoder in gNb
3 years ago
Andre Puschmann
fc8fe032ff
rrc_nr,endc: add more fields to NR RRC Reconfig for EN-DC activation
...
adds a big chunk of new fields to the reconfig packing code,
tested with srsUE
3 years ago
David Rupprecht
0217bf5332
Fixed name space for rrc ue
3 years ago
faluco
7b7ecb7983
Add a new configuration option that controls PDSCH baseband sample dump to a file on KO.
3 years ago
Xavier Arteaga
b25681f9de
gnb,prach: add PRACH to gNB
...
rebase of Xavier's feature_gnb_prach branch
3 years ago
David Rupprecht
fb92118bb7
Add 5G NAS infrastructure
3 years ago
David Rupprecht
505225d845
Added ue nas base class with security functions
3 years ago
David Rupprecht
7fa85ab336
Added nas test common file
3 years ago
David Rupprecht
59ca11db68
Added missing target_link_libs
3 years ago
Andre Puschmann
9d6d437ba5
mac_nr,ue: don't decode RAR PDU that couldn't be decoded
...
ignore RAR PDU when PDSCH wasn't OK
3 years ago
Andre Puschmann
c7d29f4af1
ttcn3: fix potential deadlock
...
* fix a few races detected with TSAN in SR proc of the DUT
* fix deadlock caused by sync_queue_size set to 1
3 years ago
Andre Puschmann
e0d9afc342
proc_ra: fix race detected with TSAN
...
rar_received is accessed from PHY worker and Stack thread
3 years ago
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.
3 years ago
Xavier Arteaga
54a12870ec
SRSUE: avoid negative SR transmission in NR
3 years ago
Andre Puschmann
f2f9082d09
ue,rrc_meas: fix invalid access to field when eport_quant_cell_nr_r15 is not present
3 years ago
Xavier Arteaga
e764a26136
Integrated PUCCH decoding in gNb
3 years ago
Xavier Arteaga
e3afd945bc
Refactored NR HARQ ACK feedback
3 years ago
Xavier Arteaga
eecaccb541
Added NR PHY helpers
3 years ago
Andre Puschmann
5dbeecdbb5
ue,upper: fix linking on 32bit platforms with missing atomic libs
3 years ago
Andre Puschmann
5999b0d3a5
ue: move blocking wait for detach outside of stack class
...
the thread sleep waiting for the UE release should not run
on the stack thread. Move it to the UE class therefore.
3 years ago
Andre Puschmann
3173dedf0a
ue_stack_lte: make sure to execute stack commands on Stack thread
...
some commands were executed from the calling thread which may lead
to concurrent access to members. Detected by TSAN. The patch
moves all remaining calls (the majority was alread moved) to the
Stack task queue.
3 years ago
Andre Puschmann
fb4dd3ba7b
ttcn3: fix various races between SS and Stack thread detected by TSAN
...
fixed through the right usage of mutexes in both TTCN PHY and syssim.
nested mutex locking is solved by calling SS from the PHY after
releaseing the PHY lock again.
3 years ago
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>
3 years ago
Pedro Alvarez
1b676aa406
Moved lib GTPU to its own folder
3 years ago
Pedro Alvarez
865298f8d5
Moved lib PDCP to its own folder
3 years ago
Pedro Alvarez
171d5727be
Moved lib RLC into it's own folder
3 years ago
Andre Puschmann
8087bb01e4
nas: log message when airplane mode timer expires
3 years ago
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.
3 years ago
Andre Puschmann
4d11e5552a
rrc,ue: for RRC conn release, delay transition to RRC idle by 60ms as per TS 36.331
...
when receiving RRC connection release all actions shall be delayed by 60ms as
per the standard
3 years ago
Andre Puschmann
368c7b9e4f
ue,stack: clear all EPS bearers when going RRC idle
...
the EPS bearer manager was only informed when a single DRB
was removed but not when entering idle which requires to
remove all bearers.
This cause the service request to fail.
3 years ago
Xavier Arteaga
aef3e5a40a
More NR PHY test and GNB PHY development
3 years ago
Xavier Arteaga
d49734b1bc
SRSENB: Refactor to accomodate 5G NR
3 years ago
Andre Puschmann
e248e086ed
ttcn3_dut: reset TFT matcher object when DUT is switched off
3 years ago
Andre Puschmann
7a85191323
nas: call GW for all removed EPS bearers
...
this makes sure that GW can also remove all associated TFTs
3 years ago
Andre Puschmann
ab0fba5449
gw: try to remove TFTs for all non-default EPS bearer
...
GW needs to reset its default EPS bearer when it is removed
and also try to remove all TFTs for a non-default bearere when
it is removed.
3 years ago
Andre Puschmann
5313fb99d6
tft: add helper to delete all TFTs for EPS bearer
...
when a EPS bearer is removed, all associated TFTs need
to be removed as well.
3 years ago
Andre Puschmann
eef9eb80c4
ttcn3_ue: fix removal of dedicated EPS bearer
3 years ago
Andre Puschmann
60f8a8db1c
nas,tft: add support for TFT modification
3 years ago