Ismael Gomez
15025f5d57
Merge remote-tracking branch 'origin/sa_ue_rrc2' into feature_nr_sa_igm
3 years ago
Ismael Gomez
46f4be458a
ue,sa: can sync and receive pbch successfully
3 years ago
Andre Puschmann
28bd93be40
ue,sa: add minimal cell selection and setup request procedure
...
skeleton based on EUTRA procedures
3 years ago
Ismael Gomez
219bae4fd3
srsue,sa: dummy rrc_nr to initiate dummy cell_select and phy_cfg
3 years ago
Ismael Gomez
c71ab70b83
Completed basic sync module with bypass camping. Removed ue_phy_nr and ue_phy_lte base classes
3 years ago
Ismael Gomez
6947f87bcb
Add minimum NR SA logic in parent PHY class
3 years ago
Ismael Gomez
fb897d2998
Refactor PHY interfaces to remove difference between SA and NSA PHY
3 years ago
Xavier Arteaga
fb17e3326f
More development in UE NR SA cell search
3 years ago
Xavier Arteaga
47b857db25
Initial gnb emulator
3 years ago
Xavier Arteaga
b1bcc1a8c0
Initial UE NR SA PHY classes
3 years ago
Andre Puschmann
7227f03314
ue,rrc_nr: refactor reconfig procedure to own source file
...
preparation to add next procedure
3 years ago
Andre Puschmann
ccd4334672
rrc_nr: add basic interface for NAS
3 years ago
Andre Puschmann
a15962c817
ue,rrc: move NR RRC into own folder
3 years ago
faluco
3b2f0d2f65
Fix several issues in GW class:
...
- Avoid triggering an assertion when the gw thread is pending termination.
- Re-order gw::stop method to avoid a race condition when closing the TUN device while the gw thread is still running.
3 years ago
faluco
f1385640c4
Fix data race in proc_bsr and ul_harq classes.
3 years ago
faluco
92b81b200f
Fix data race in ul_harq_process::current_irv.
3 years ago
faluco
91677a9dcb
Fix data race in sync::state, the stop() did not acquire the required lock.
3 years ago
Xavier Arteaga
ebab12403f
Asynchronous NR PHY configuration ( #3527 )
...
* Fix a race condition when accessing the NR PHY cfg by the RRC and phy workers.
Rework how the phy cfg is handled, now workers have their own copy that gets updated after a reconfig moving it out of the state class.
* Default initialize sf_len member in sf_worker for consistency.
* Asynchronous NR PHY configuration
* Fix compilation
* Corrected method override and fix unitialised value
* Added carrier equal comparison to avoid aligment byte padding comparison
Co-authored-by: faluco <borja.ferrer@softwareradiosystems.com>
3 years ago
faluco
5f93ff6ed0
Batch of data race fixes in the following classes: RLC AM, Intra measure, UL HARQ, PHY common.
3 years ago
Ismael Gomez
c096270fc7
ue,nr: ignore NDI if received on T-CRNTI or RAR
3 years ago
faluco
d7e8d6bf65
Fix data race in mux_nr::add_bsr_ce.
3 years ago
Carlo Galiotto
4e3564a8a2
mac,stdout: add PUSCH and PUCCH SINR to stdout
...
This commit implements the PUCCH and PUSCH metrics in the MAC,
to be displayed in the eNB console.
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Ismael Gomez
d32bfa3756
remove warning when UE is already in camping
3 years ago
Francisco
81174bda64
nr,ue,rrc: release NR logical channels during RRC release
3 years ago
Bedran Karakoc
0507d9df2b
nas,nr: Fix ciphering and sequence numbers in NAS
3 years ago
Andre Puschmann
908c469f30
sync: don't fail camping on cell if current and target srate match
...
this fixes #3437 . The check/requirement for target srate to be different
to current srate isn't needed, and in fact fails for 6 PRBs where both are
indentical always.
3 years ago
Andre Puschmann
1068a84bd0
sync: fix typo
3 years ago
Xavier Arteaga
1bffebe0bf
Removed cached PRACH signals
3 years ago
Alejandro Leal Conejos
1a64c6adad
Enum fixes so clang 12 can build the repo
3 years ago
Xavier Arteaga
4cea3d92bd
NR PHY accepts multiple SF PRACH sequence
3 years ago
David Rupprecht
5c44d774d0
Added 5G Metrics
3 years ago
David Rupprecht
59e847ba08
Added NAS 5G args
3 years ago
David Rupprecht
5910d8847a
Split NAS security ctxt
3 years ago
Francisco
b8976ca463
nr,ue,rrc: avoid configuring the CSI until NR RA is complete
3 years ago
Francisco
47e5e85449
refactor: clean unnecessary includes of the asn1/rrc_nr.h
3 years ago
Bedran Karakoc
1e1e1420b1
Return AUTS in authentication failure for case AUTH_SYNCH_FAILURE
3 years ago
Bedran Karakoc
de750fad09
Added helper function for replayed security capabilities
3 years ago
Bedran Karakoc
193ec4abfa
Trigger switch_off in NAS
3 years ago
Bedran Karakoc
441251bdd1
Remove unused parameter
3 years ago
Bedran Karakoc
a4cc9b6ca0
Fix handle_authentication_request and add handler for authentication reject
3 years ago
Bedran Karakoc
e8bcc0a61e
Added handler for identity request and sender for identity response
3 years ago
Bedran Karakoc
850606f20b
Added deregistration (UE terminating)
3 years ago
Xavier Arteaga
d5b34696b4
Sepparate CSI report configuration from quantification and integrate in nr_phy_test with assertions
3 years ago
faluco
a9c65bd369
UE: Implement a thread safe wrapper class for accessing the mac_grant_ul_t member in ul_harq_process.
...
This fixes many race conditions detected by TSAN around this class.
3 years ago
faluco
6c4548c243
Fix several data races in LTE and NR harq classes.
3 years ago
faluco
666cb73cc9
Fix data race in phy_common::set_neighbour_cells.
3 years ago
faluco
72088dadb5
Fix race conditions in intra measure class.
3 years ago
Andre Puschmann
bf2606f94e
ue,mac_nr: fix race condition by using thread-safe RNTI class
3 years ago
Ismael Gomez
c09f09b7be
Move rrc_common from srsue to lib
3 years ago
Fabian Eckermann
8830c2796f
Add support for NSA FDD on band n3, n5 and n7.
3 years ago
Andre Puschmann
bed4cfb5e5
ue,mac_nr: fix generation of padding BSRs
...
* in Msg3 don't add explicit SBSR (rely on padding BSR to add)
* fix padding BSR generation to always use padding bytes to add it
3 years ago
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.
3 years ago
Bedran Karakoc
43915550cc
NGAP GTP Bearer Establishment
3 years ago
David Rupprecht
3712983308
Added PDU Session est request
3 years ago
David Rupprecht
c670383ae9
Added NAS 5G functions incoming msg and reg proc
3 years ago
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.
3 years ago
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.
3 years ago
Ismael Gomez
ad646f436c
Ignore PDSCH during cell selection
3 years ago
Xavier Arteaga
de00b80228
Review NR NSA CFO estimation and compensation
3 years ago
faluco
c2b705c5ce
Fix several data races in proc_phr, class needs to be fully protected since most member variables are accessed by different threads.
3 years ago
faluco
6b07e886b7
Fix data race in is_first_ul_grant.
3 years ago
faluco
1e3ba607ce
Fix data race in is_pending_tx_end.
3 years ago
faluco
7dae4a491e
Fix data race in ue_stack_lte::ul_dropped_sdus.
3 years ago
faluco
1796e12084
Fix data race in ul_harq_entity.
3 years ago
faluco
2b73beb3dd
Fix data race in ul_harq.
3 years ago
David Rupprecht
e8a464228d
Cleaned string helpers
3 years ago
Andre Puschmann
ab6210b1fc
ue,proc_sr_nr: add mutex to protect access from PHY and Stack
...
also detected by TSAN
3 years ago
Andre Puschmann
2248e63219
ue,proc_ra_nr: add mutex to protect access from PHY and Stack
...
detected with TSAN
3 years ago
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.
3 years ago
Andre Puschmann
f382a7c7db
Revert "ue,proc_ra_nr: add temporary flag to skip RAR reception"
...
This reverts commit 28668aac34
.
3 years ago
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
3 years ago
Andre Puschmann
54ab64327a
ue,mac_nr: move BSR levels lookup table into lib header
...
prepare for shared use with gNB
3 years ago
David Rupprecht
a9a23214b0
Added more 5G security kdfs
...
Added new 5G SIM functions
Added const parameters for security functions
3 years ago
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
3 years ago
Francisco Paisana
f4df55c245
stack lte: separate bearer manager into two classes, one for the ue and one for the enb
3 years ago
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
3 years ago
Andre Puschmann
40499e6b6d
ue_stack_lte: use std::atomic for running var
3 years ago
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
3 years ago
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.
3 years ago
Xavier Arteaga
8aa7ae7d95
Remove unused attribute
3 years ago
Xavier Arteaga
4cb633e6e6
UE dicards NR CFO measurement if SNR is negative
3 years ago
Xavier Arteaga
83b9b2d1ff
Implemented UE open loop CFO compensation for NR
3 years ago
Ismael Gomez
7839ab09dc
Add RLF-Reportv9 to srsUE
3 years ago
David Rupprecht
3217c00cfc
Adjusting NAS base security function to 5G
3 years ago
Xavier Arteaga
cba6df3722
Extended NR PHY robustnes against wrong RRC configuration
3 years ago
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.
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
b57df4db10
Refactored worker_end mechanism for concurrent workers
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
David Rupprecht
0217bf5332
Fixed name space for rrc ue
4 years ago
Xavier Arteaga
b25681f9de
gnb,prach: add PRACH to gNB
...
rebase of Xavier's feature_gnb_prach branch
4 years ago
David Rupprecht
fb92118bb7
Add 5G NAS infrastructure
4 years ago
David Rupprecht
505225d845
Added ue nas base class with security functions
4 years ago
David Rupprecht
7fa85ab336
Added nas test common file
4 years ago
Andre Puschmann
e0d9afc342
proc_ra: fix race detected with TSAN
...
rar_received is accessed from PHY worker and Stack thread
4 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.
4 years ago
Xavier Arteaga
54a12870ec
SRSUE: avoid negative SR transmission in NR
4 years ago