2373 Commits (7f6fd45b1fd05a9a5e2b13d44279ead19a29e3fa)

Author SHA1 Message Date
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 28887a4384 Relax memory ordering for atomic load for the ul_harq::current_tx_nb member. 3 years ago
faluco 3ecc8bb4c6 Fix data race in gw::deactivate_eps_bearer. 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
Andre Puschmann dd5eda04e3 ue,rrc_nr: clear DRB to LCID lookup during RRC release 3 years ago
Pedro Alvarez fbcffb84bd Check if RLC is suspended before transmiting PDCP SDU.
This was done to avoid integrity issues, when the UE's RRC erroneously sent
measurement reports while the re-establishment was already in progress.

As errously sending PDCP PDUs on DRBs can cause issues as well, this was
disabled too.
3 years ago
faluco 904d05d4c4 Fix data race in bsr_proc::print_state().
While there, early exit if the log info channel is disabled to avoid formatting a string that will not be used.
3 years ago
Ismael Gomez c096270fc7 ue,nr: ignore NDI if received on T-CRNTI or RAR 3 years ago
Ismael Gomez 0de984d12f srsue: protect access to phy common shared measurement 3 years ago
Pedro Alvarez 7155de91ca Added command to forcefully flush the buffers on srsenb and srsue. 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
Carlo Galiotto ebaa71d190 ue,stdout: fix the SNR formatting in UE console (NR)
When the SNR value is INF, the conversion to (int) causes
-2147483648 to be displayed in the UE console.
This commit fixes the formatting, so that the values INF or
NaN would be displayed as N/A

NOTE: The issue of getting an INF value for the reported SNR metric
still needs to be addressed separately.
3 years ago
Ismael Gomez d32bfa3756 remove warning when UE is already in camping 3 years ago
Andre Puschmann 97d43eb044 mac_nr_test: add PDU packing test for two SDUs from different LCs 3 years ago
Andre Puschmann d4a4da7ecc mux_nr: fix tiny issue in mux unit when adding SDUs of different logical channels
this issue has a tiny affect when adding new SDUs from different logical channels
to an UL MAC PDU.

Since the MAC subPDU header is accounted for twice, less SDU payload may be packed.

The patch calculates the required header space and accounts for it in the scheduling.
Howerver, it is only substracted from the available space when an SDU was actually added.
3 years ago
Andre Puschmann cc87af2986 ue,rrc: simplify code 3 years ago
Francisco 08c96b0e35 nr,ue,mac: added TODO comment warning about missing functionality in srsue::mac_nr::reset method 3 years ago
Francisco 81174bda64 nr,ue,rrc: release NR logical channels during RRC release 3 years ago
Xavier Arteaga e93503bae3 Minor changes 3 years ago
Xavier Arteaga 3c40cd2840 Improved NR PHY logging info 3 years ago
faluco dacf40f63e Delete move constructor and move assignment operator explictly for mac_pcap_base and s1ap_pcap classes.
Move emergency handlers header file into the support folder.

Refactored signal handling:
- Remove the dependency with the running static variable in the header file.
- Move implementations down to cc files.
- Allow specifying a new signal handler that will be used to stop the applications.
- Move signal handling files to support.
3 years ago
faluco 9075251627 Move the cleanup code from the signal handlers down to the new emergency handlers for the ue, epc and enb. 3 years ago
Bedran Karakoc 0507d9df2b nas,nr: Fix ciphering and sequence numbers in NAS 3 years ago
Andre Puschmann c467c3c0e6 ue,rrc_nr: remove warning when zp_csi_rs_res_to_add_mod_list is not present
we currently don't enable ZP CSI in the eNB so the warning can be removed.
3 years ago
faluco 5f648d195c Implement JSON reporting in the scell search test. 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
Andre Puschmann fed53c91d0 mac_nr_test: add TC to reproduce #3325
extend the rlc_dummy to allow providing different RLC PDUs.
add TC for issue #3325 but leave the original TV because it is very large.
3 years ago
Andre Puschmann 7cbd3d50b7 mac_sch_pdu_nr,bsr: fix length check for BSR
fix nasty bug where the length calucation for the LCID
was taking the bsr_format_nr_t that was having the same name.
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 753edc7d7b Force NR PRACH scaling to 0.99 of the DAC dynamic range 3 years ago
Xavier Arteaga c7940f455c More clear equation to calculate number of PRACH subframes 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
Xavier Arteaga 9d4fd1c5cc Add NR SFN from SSB assertion and fix dummy SSB scheduling 3 years ago
Xavier Arteaga 954d6f5f8d Removed sfn_4lsb from debug trace 3 years ago
Xavier Arteaga 5afe20e7da UE loads SSB config from helper method 3 years ago
Francisco 47e5e85449 refactor: clean unnecessary includes of the asn1/rrc_nr.h 3 years ago
Joaquim 82ae0e6c37
nr_phy test: add AWGN channel simulator, add High Speed Train channel (#3288)
Add channel simulator to nr_phy tests.

UL and DL channel simulators added, with AWGN and CFO using the HST scenario. The DL AWGN is adjusted according to signal power.
3 years ago
Ismael Gomez 9d35c5d018 srsue: stop rx stream after finishing sync thread to avoid deadlock at stop 3 years ago
Ismael Gomez 8fff7f6646 Fix potential overflow in rssi_read_cnt 3 years ago
Bedran Karakoc 1e1e1420b1 Return AUTS in authentication failure for case AUTH_SYNCH_FAILURE 3 years ago
Bedran Karakoc 361ff3f37a Extend identity type handling in Identity Response 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 1adf67c559 Extend NAS failure causes 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
Fabian Eckermann 991013ca2c Fix order of dl/ul common cfg. dl must be first. 3 years ago
Ismael Gomez 6bdeb2d6b6 Fix division by zero in JSON metrics 3 years ago
Andre Puschmann ea21232f61 ue,rrc_nr: fix SSB config warning
first read freqInfoDL then try to build SSB config
3 years ago
Xavier Arteaga c9d7db7314 Minor changes 3 years ago
Xavier Arteaga e3bd92d87c Fix SSB pattern in UE 3 years ago
Xavier Arteaga 8f90ee847a Refactor carrier frequency from PHY and fix OFDM phase compensation 3 years ago
Xavier Arteaga 2ab3971ef1 Fix NR PBCH encoding/decoding 3 years ago
Ismael Gomez 6b506ec357
phy_common: clear tx_hold flag before releasing the semaphore (#3342) 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 3cd2de1ffe ue,rrc_nr: accept RRC Reconfigs with disable NZP and ZP configs 3 years ago
Francisco Paisana 78dad52cc8 rrc,nr,gnb: disable CQI configuration in gNB until gNB PHY supports it 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 ca6ea55cb6 mac_nr_test: fix test vector after making padding BSR work 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
Ismael Gomez 1c77998df5 Stop PDCP for data bearers before initiating HO 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
David Rupprecht 107eba9d66 Fixed srsue namespace 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
Xavier Arteaga 0324806d6c Packed NR TDD config in duplex configuration and created test case for FDD 3 years ago
Fabian Eckermann dd8db1a929 Replaced inet_addr() with inet_pton. 3 years ago
Xavier Arteaga 1f6c950dae SRSUE: Fix speed and distance from TA metrics 3 years ago
Andre Puschmann fbfca42ef3 ue,mux_nr: add missing break 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
Xavier Arteaga 63bb86bce1 Added SS type conversion to string 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 f96ee097b4 Fix data race in ue mac metrics. 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
faluco d02012b588 Fix data race in bsr_proc. 3 years ago
faluco 8d802e2aca Fix a data race in the simulate_rf global variable. 3 years ago