1006 Commits (01369f65c3dadb59816aebc11bd99b8ddf00b492)

Author SHA1 Message Date
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
Codebot 2dd440bb76 Adding AGPL copyright to new files 3 years ago
Codebot a8ef3ba6b2 Merge branch 'next' into agpl_next
# Conflicts:
#	srsenb/test/common/dummy_nr_classes.h
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
Codebot 3a5ee8d41a Adding AGPL copyright to new files 3 years ago
Codebot ccf8cfb65f Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srsran/common/basic_pnf.h
#	lib/include/srsran/common/basic_vnf.h
#	lib/include/srsran/common/basic_vnf_api.h
#	lib/src/common/basic_vnf.cc
#	lib/test/common/pnf_bridge.cc
#	lib/test/common/pnf_dummy.cc
#	srsenb/hdr/phy/vnf_phy_nr.h
#	srsenb/hdr/stack/mac/nr/sched_nr_common.h
#	srsenb/hdr/stack/mac/nr/sched_nr_phy_helpers.h
#	srsenb/src/phy/vnf_phy_nr.cc
#	srsenb/src/stack/mac/nr/sched_nr_common.cc
#	srsenb/src/stack/mac/nr/sched_nr_phy_helpers.cc
#	srsue/hdr/phy/vnf_phy_nr.h
#	srsue/src/phy/vnf_phy_nr.cc
3 years ago
David Rupprecht 0217bf5332 Fixed name space for rrc ue 3 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
Codebot 516951c41c Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srsran/interfaces/rrc_nr_interface_types.h
#	lib/include/srsran/phy/enb/enb_dl_nr.h
#	test/phy/nr_dl_flood.cc
4 years ago
Xavier Arteaga 54a12870ec SRSUE: avoid negative SR transmission in NR 4 years ago
Xavier Arteaga e3afd945bc Refactored NR HARQ ACK feedback 4 years ago
Xavier Arteaga eecaccb541 Added NR PHY helpers 4 years ago
Codebot 58ca99d22a Adding AGPL copyright to new files 4 years ago
Codebot 585e3c51c1 Merge branch 'next' into agpl_next
# Conflicts:
#	srsenb/hdr/phy/nr/cc_worker.h
#	srsenb/hdr/phy/nr/sf_worker.h
#	srsenb/src/phy/nr/cc_worker.cc
#	srsenb/src/phy/nr/sf_worker.cc
#	test/phy/nr_phy_test.cc
4 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>
4 years ago
Pedro Alvarez 171d5727be Moved lib RLC into it's own folder 4 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.
4 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.
4 years ago
Xavier Arteaga d49734b1bc SRSENB: Refactor to accomodate 5G NR 4 years ago
Codebot bfa1215b89 Merge branch 'next' into agpl_next 4 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.
4 years ago
Andre Puschmann 483a216bd5 ue,stack: refactor handling of radio bearears in UE stack
this is a rather large commit that is hard to split because
it touches quite a few components.

It's a preparation patch for adding NR split bearers in the next
step.

We realized that managing RLC and PDCP bearers for both NR and LTE
in the same entity doesn't work. This is because we use the LCID
as a key for all accesses. With NR dual connectivity however we
can have the same LCID active at the same time for both LTE and NR
carriers.

The patch solves that by creating a dedicated NR instance for RLC/PDCP
in the stack. But then the question arises for UL traffic on, e.g. LCID 4
what PDCP instance the GW should use for pushing SDUs. It doesnt' know
that. And in fact it doesn't need to. It just needs to know EPS
bearer IDs. So the next change was to remove the knowledge of what
LCIDs are from the GW. Make is agnostic and only work on EPS bearer IDs.

The handling and mapping between EPS bearer IDs and LCIDs for LTE
or NR (mainly PDCP for pushing data) is done in the Stack because
it has access to both.

The NAS also has a EPS bearer map but only knows about default and
dedicated bearers. It doesn't know on which logical channels they
are transmitted.
4 years ago
Andre Puschmann 3f9c069ff7 ue_stack_lte: add RLC and PDCP entities for NR 4 years ago
David Rupprecht d1d8500ce5 Add testcase for reconfiguration 4 years ago
Andre Puschmann e2c496d825 srsue,mac: fix race between PHY and MAC when stopping UE
the issue let to unwanted log warning at the end of the UE
execution when the PHY was still pushing DL PDUs while MAC
was already stopped.

This fixes #3003
4 years ago
Xavier Arteaga b1e4720721 SRSUE/SRSENB: added tx_enable flag in worker_end 4 years ago
Xavier Arteaga 027201d457 SRSUE/SRSENB: Refactor NR workers to generalise lower PHY 4 years ago
Codebot a2cc847747 Merge branch 'next' into agpl_next 4 years ago
Ismael Gomez e35a0d72fa Revert UE changes 4 years ago
Ismael Gomez dd9889e07c Add carrier index to uplink PCAP captures 4 years ago
Xavier Arteaga fc5d069743 SRSUE: Default PHY measurements to NAN 4 years ago
Codebot d9cb5d01ff Merge branch 'next' into agpl_next 4 years ago
Pedro Alvarez 299d2ee35d Added interface to make the PDCP notify the RRC of integrity check
failures.
4 years ago
Xavier Arteaga a31f3d42ce Added RF NR search tool and added baseband file 4 years ago
Xavier Arteaga 3a011155db SRSUE: Make sure PHY reset is done when SYNC is IDLE 4 years ago
Codebot 73a61b884e Merge branch 'next' into agpl_next 4 years ago
Andre Puschmann aaffdeb326 rrc,rlc: add method to signal protocol failure to RRC
general-purpose method for lower layers to signal protocol
failures to higher layers, i.e. RRC.

In the current case, implement a direct release of the UE (enb) or
a reestablishment (UE).
4 years ago
Francisco 486823e5de sched,bugfix: The PHR handling scheme now considers the number of PRBs of the UL grant that carried the PHR. Before, it was assuming the most conservative scenario of Nprb=1 4 years ago
Xavier Arteaga d74f70289e SRSUE: fix last reported RI state 4 years ago
Andre Puschmann b0a2f31478 prach: protect configuration and state getters with mutex
purely TSAN with unit-test based approach that protects
the state getters and configuration routines with a mutex
4 years ago
Andre Puschmann d2ec3ca5e1 intra_measure_base: fix race detected with TSAN
use mutex to protect state getters
4 years ago
Andre Puschmann 98a91a2057 sync: protect sync_state, access ue_sync object only from one thread
races detected with TSAN, primarily the ue_sync object which isn't
thread-safe is accessed by all workers to set the CFO and by the
sync thread to receive samples (which read the CFO).

The patch introduces shadow variables that are updates from the
main thread before/after the sync is executed. The atomic shadow
variables can then be read from otherthreads without holding a
mutex, i.e. blocking the sync.
4 years ago
Andre Puschmann 2c975732dc metrics_stdout: fix race detected by TSAN 4 years ago
Andre Puschmann 018c734b09 dl_harq: fix unlocking of unlocked mutex bug detected by TSAN
in the mac_test the tb_decoded() method was called twice for
the 2nd codeword, causig TSAN to complain about an unlocked mutex
being unlocked.

The patch resolves the potential issue only calling tb_decoded
for a grant/tb thas has a non-zero MCS.

The patch also adjusts the reset function to have a safe and "unsafe"
version to be called from inside the class, similar to other
classes where we do the same.
4 years ago
Xavier Arteaga 5c55ff24ec Minor UE aesthetical changes 4 years ago
Xavier Arteaga 44b6a2b55f Fix SYNC wait for IDLE if the state is reached 4 years ago
Xavier Arteaga 807b60988d Wait for PHY workers to transmit before considering SYNC in IDLE 4 years ago
Xavier Arteaga 7185ec6beb PHY CC configuration is stashed and applied in the next TTI 4 years ago
Xavier Arteaga 235a664120 SRSUE: Removed PUSCH-DMRS/SRS pregeneration methods 4 years ago
Xavier Arteaga cc2a6dc269 Review cell selection and SCell configuration during HO 4 years ago
Xavier Arteaga 65d51f5855 Fix unitialised value 4 years ago
Andre Puschmann b40867ffec ue,rrc: add simple connection setup procedure
this is an attempt to fix #2850 by defering the transmission of
the connection setup complete until the PHY has applied
the dedicated config in the connection setup.
4 years ago
Codebot b9bcdaf1c8 Adding AGPL copyright to new files 4 years ago
Codebot e77c197633 Merge branch 'next' into agpl_next
# Conflicts:
#	srsue/hdr/phy/scell/intra_measure.h
#	srsue/src/phy/scell/intra_measure.cc
4 years ago
yagoda 9501283c1c fixing support for extended Cyclic Prefix
small cosmetic fixes of CP code
4 years ago
Xavier Arteaga 5eadc06dd4 Intra-frequency miscellanous changes 4 years ago
Xavier Arteaga 170fbefbf5 Avoid SCell receiver to copy 4 years ago
Xavier Arteaga d39402ed54 Added TTI trigger condition to intra-frequency measurement base 4 years ago
Xavier Arteaga ac9dc6f31d Compute Performance 4 years ago
Xavier Arteaga fb7623f5b6 Initial intra frequency NR cell search and test 4 years ago
Xavier Arteaga 60015e7ceb Made intra frequency cell search and measurment generic 4 years ago
faluco 1670124926 Implement UE metrics in JSON format.
Added config options to control this feature.
4 years ago
Xavier Arteaga a57336d64f Integrate periodic SSB measurement in SRSUE and fix related defects 4 years ago
Codebot 5fe9a14aa5 Merge branch 'next' into agpl_next 4 years ago
Xavier Arteaga 1396c2a1e2 Mulpiple CSI measurement fixes. Channel and sync metrics from CSI measurements 4 years ago
Xavier Arteaga 653177ca7c SRSUE: Refactored work_dl for NR. Added NZP-CSI-RS measurement 4 years ago
David Rupprecht 8c194b887b Allow NAS init function to fail 4 years ago
David Rupprecht 617fb2ba7e Added default destructor for args 4 years ago
Codebot 77908eed1c Merge branch 'next' into agpl_next 4 years ago
faluco 90e23d9de6 Print in the ue stdout metrics the CC number for LTE and the RAT for NR. 4 years ago
faluco b9be7c7594 Small cleanup in the stdout UE metrics.
- Switch to use fmt for formatting the output.
- Change the CC column to be rat now.
- Reworked and re-styled the column alignment.
4 years ago
Andre Puschmann 598594c51a all: bunch of pass by const& changes suggested by LGTM 4 years ago
Codebot 887f1da10c Merge branch 'next' into agpl_next 4 years ago
Codebot aeb4a5fc9d Merge branch 'next' into agpl_next 4 years ago
AlaiaL 82788ca094 Fixed issues from coverity:
- 370233
- 370234
- 370239
- 370240
- 370241
- 370242
- 370243
- 370295
4 years ago
Matan Perelman 7ee52dc676 srsUE: Add option to filter N_id_2 / PSS to configuration 4 years ago
David Rupprecht 102a943171 Fixed naming srsLTE to srsRAN 4 years ago
David Rupprecht fd451e8be3 Configure Short PDCP NR SN support 4 years ago
Xavier Arteaga ab6a5ef17a Added NR DCI conversion to string for formats 1_0 and 1_1 4 years ago
Codebot 0a15eeb57a Adding AGPL copyright to new files 4 years ago
Codebot 1bb31e42ab Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srsran/interfaces/nr_common_interface_types.h
4 years ago
Andre Puschmann e3b77fd82a rrc_nr: set timeout for NR cell measurement to 250ms
the low timout of 10ms was:
1) causing too frequent measurement reports
2) causes a MO ping test to fail where the ICMP request
was sent on the LTE carrier but never got a reply because
the MCG addition was inbetween
4 years ago
Xavier Arteaga 407903e0d6 SRSUE: refactor carrier setting for accepting a dynamic carrier configuration 4 years ago
David Rupprecht d2aa25d451 Added option for simulated measurement 4 years ago
Xavier Arteaga 715f8900a8 Selected NR RA procedure PRACH send timeout according to system frame number period from PRACH PHY tables 4 years ago
Andre Puschmann 4b3538aaa8 {dl,ul}_harq: fix metrics calculation
rewrite  metrics calculation for NR HARQ and remove
unneeded operations.
4 years ago
Andre Puschmann b6f2c80f66 mac_common: add helper method to get total buffer state 4 years ago
David Rupprecht a064e85c54 rename common lte header 4 years ago
David Rupprecht 81ad72b0ff Refactor srb and drb handling 4 years ago
David Rupprecht 91ff8a2e6d Add rrc_nr to rlc init function 4 years ago
Andre Puschmann c8d3e133dc ue: bump default RRC release announced to 15 4 years ago
David Rupprecht 75cd5e65e5 Removed arfcn and freq, and nof_prbs from config file 4 years ago
David Rupprecht f42d4dbc28 Refactored carrier config 4 years ago