2230 Commits (ec29b0c1ff79cebcbe66caa6d6b90778261c42b8)

Author SHA1 Message Date
Francisco f2a56c9139 simplification of multiqueue design.
- the consumer does multi-staged waiting:
  1. spins first across all queues in a RR fashion
  2. each queue access is done with a try_lock.
  3. if the try_lock fails, it increases the number of spins needed
  2. if no queue had data, the consumer sleeps for 100 usec.
- no differentiation between queues, in terms of notification features
4 years ago
Francisco 2d6a878826 change interface to create multiqueue queues 4 years ago
Francisco f705735093 optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks 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 c80f91ac9e Fix compilation 4 years ago
Xavier Arteaga ac9dc6f31d Compute Performance 4 years ago
Xavier Arteaga 0b3f4e5de0 Improvements in NR cell search 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
Codebot f3da533f6b Merge branch 'next' into agpl_next 4 years ago
faluco 1670124926 Implement UE metrics in JSON format.
Added config options to control this feature.
4 years ago
Xavier Arteaga 5e6983f8e6 SRSUE: enable 256QAM in RRC NR capability message 4 years ago
Xavier Arteaga a57336d64f Integrate periodic SSB measurement in SRSUE and fix related defects 4 years ago
Andre Puschmann adcfcfe012 proc_ra_nr: fix typo 4 years ago
Andre Puschmann c45540582d rrc: announce NR-PDCP support over EUTRA
preperation for Split bearer support. This patch is needed to allow
split bearer. Otherwise, even if the config is set in the eNB, it
will not enable split bearers.
4 years ago
Francisco ef9d1b8c13 stack optimization - reduction of contention in multiqueue class
With the new design, each queue created in the multiqueue object has its own mutex.
Pushing tasks to separate queues will, therefore, not cause contention.
There will be, however, still contention between the popping thread and the pushing threads.
4 years ago
Xavier Arteaga 60d1708b80 Initial SSB measurement implementation 4 years ago
Codebot 5fe9a14aa5 Merge branch 'next' into agpl_next 4 years ago
Andre Puschmann 833ddc3229 build: fix linking failure on RPi 32bit
this fixes a linking problem with RPi 3 (and probably others) running
with Raspbian (new Raspberry Pi OS) that can't use the inline
atomic functions but instead require linking against the lib -latomic.

The CMake code is based on SoapyRTLSdr file (licensed under MIT)
https://github.com/pothosware/SoapyRTLSDR/blob/master/CheckAtomic.cmake
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
Ismael Gomez 0b91598e36 Move mlockall() to main() in srsUE and srsENB 4 years ago
David Rupprecht f0d2a22cb6 Fixed band index in rrc 4 years ago
David Rupprecht 8c194b887b Allow NAS init function to fail 4 years ago
Xavier Arteaga 9fb091262a Duplicate NR PDSCH transmits ACK and add ACK Tx TTI to trace 4 years ago
Xavier Arteaga de9158eeaf Enable NR RRC MCS table selection 4 years ago
Pedro Alvarez 17a8ec6cdd Using estimated COUNT (from NAS overflow counter and RX SQN) for decription of NAS messaages. Should avoid issues decripting messages when the COUNT is larger than 256. 4 years ago
Codebot 30df8052ce Merge branch 'next' into agpl_next 4 years ago
Andre Puschmann cd061d46e6 metrics_stdout: remove obsolete if 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
Xavier Arteaga 95dafcb413 SRSUE: fix NR carrier PCI in metrics 4 years ago
Codebot c950209902 Merge branch 'next' into agpl_next 4 years ago
Andre Puschmann 598594c51a all: bunch of pass by const& changes suggested by LGTM 4 years ago
Xavier Arteaga e1ff824cc2 SRSUE avoid NR SR in UCI for PUSCH 4 years ago
Xavier Arteaga 6c39a5e4ff Added PDSCH DMRS aditional unpacking 4 years ago
Xavier Arteaga 334b308c35 Fix DCI NR configuration from main configuration 4 years ago
Xavier Arteaga 86ad0446e1 Added NR PDSCH and PUSCH resource allocating flattening 4 years ago
Codebot 887f1da10c Merge branch 'next' into agpl_next 4 years ago
Andre Puschmann a083b0da2a proc_ra: only log warning if RAR wasn't received in window
lead to some failing tests with RF where PRACH wasn't received
correctly. recovery machanism will retransmit PRACH.
4 years ago
Codebot aeb4a5fc9d Merge branch 'next' into agpl_next 4 years ago
Andre Puschmann 0826b86cec srsue: remove NR DL freq and ARFCN option
not required anymore as all NR carrier tuning is done
through RRC signaling
4 years ago
Andre Puschmann 4dd17aee45 rrc/phy/nr: calculate tuning freq of NR carrier from RRC signaling params
skip initial tuning to hard-coded NR frequency and use RRC-provided
values to calculate center frequency
4 years ago
Andre Puschmann ff53d2b8b8 all: set of trivial changes reported by LGTM
mainly fixmes, unused/empty code, etc.
4 years ago
AlaiaL 58ce75d3b4 Fixes coverity 369617 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 fd451e8be3 Configure Short PDCP NR SN support 4 years ago
Andre Puschmann 7817f12f1f phy_common: reduce log level to info when UL grant is tried to activate twice
in accordance with discussion in #2717 we reduce the log level to info
to avoid failing tests due to that event
4 years ago
Xavier Arteaga ab6a5ef17a Added NR DCI conversion to string for formats 1_0 and 1_1 4 years ago
Francisco ff3fc0826b asn1 fixes and improvements
- use const char* instead of std::string in enumerated<>::to_string() to avoid mallocs.
- Remove the use of "typedef", and use "using" keyword instead.
- Fix rrc_nr::setup_release_c<>::to_string() broken linkage.
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
Francisco 23203b73ae fix - avoid recompiling srsue rrc files twice 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
Andre Puschmann 2c156f0007 proc_ra: add further state checks when getting harq_retx signalled
that makes sure to only restart contres timer if we are actually
in the contention resolution state.
4 years ago
Xavier Arteaga 7246ce0cea Fix MSG3 false retransmission
this fixes #2694 by considering hi=1 value and not treating
this as a Msg3 retx
4 years ago
Andre Puschmann c1e4385f50 worker_pool: fix wrong log level when setting worker config 4 years ago
Xavier Arteaga 407903e0d6 SRSUE: refactor carrier setting for accepting a dynamic carrier configuration 4 years ago
Xavier Arteaga 47523935f6 Minor NR RRC fixes 4 years ago
David Rupprecht d2aa25d451 Added option for simulated measurement 4 years ago
Xavier Arteaga 09272edf4b Update NR PHY TTI 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 51e73aa1fc mac_nr_test: add basic DL HARQ test and extend checks for metrics 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
David Rupprecht 81ad72b0ff Refactor srb and drb handling 4 years ago
David Rupprecht 91ff8a2e6d Add rrc_nr to rlc init function 4 years ago
David Rupprecht 6b41ae7e8b Updated PDCP config struct for rat type 4 years ago
Andre Puschmann 5700b090ea worker_pool: set log level for PHY-NR logger and use for PRACH
log level for PHY-NR wasn't set so:
16:00:32.202953 [PHY-NR ] [I] [ 8024] Setting RAR Grant rnti=4602 dci=rar hop=0 f_alloc=0x32 t_alloc=0x1 mcs=4 tpc=3 csi=0
was always printed. Also use the logger for the PRACH
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 6ed6da1f12 Refactor ue config for eutra and nr config section 4 years ago
Xavier Arteaga 77b6b60b82 Fix rach_cfg.nof_groupA_preambles 4 years ago
David Rupprecht db9dd85783 Parse carrier config in NR RRC reconfig 4 years ago
David Rupprecht f42d4dbc28 Refactored carrier config 4 years ago
Andre Puschmann 87f9b2babc mac_nr: turn off warning for non-implemented features
they cause RFCI to fail, features are known to be missing.
4 years ago
Codebot c7444949f8 Adding AGPL copyright to new files 4 years ago
Codebot 34dbee4c7d Merge branch 'next' into agpl_next 4 years ago
Andre Puschmann 73d6b33920 {ul,dl}_harq_nr: reword log entries if HARQ PID isn't found 4 years ago
Andre Puschmann 0df218ab90 cc_worker: fix PDSCH log fmt::v7::format_error 4 years ago
Xavier Arteaga 53b38fccf9 Fix compile and other 4 years ago
Xavier Arteaga 8ffced7e88 NR PHY logging minor corrections 4 years ago
Xavier Arteaga abfc1da921 Multiple NR-PUSCH fixes 4 years ago
Xavier Arteaga 7e06e789d5 Fic NR UCI in the info string 4 years ago
Xavier Arteaga 01ce0718be NR-PUSCH RE mapping correction and NR-SCH detailed grant information 4 years ago
Xavier Arteaga e7096d705e Fix NR RRC config NZP-CSI-RS 4 years ago
David Rupprecht bfe2ad98ef Added parsing for NR DL HARQ cfg 4 years ago
Andre Puschmann b9ae064338 mac_nr: add DL HARQ
this commit adds a complete DL HARQ entity to the MAC of the UE.
It also refactors demux into an own class and adapts the PHY-MAC
interface to use the new MAC capabilities.
4 years ago
David Rupprecht 138230f4e4 Remove NR RRC log line 4 years ago
David Rupprecht fe8727050b Added new rrc_nr to phy flattening functions and fixes 4 years ago
Xavier Arteaga e4e3456d76 Refactored PDSCH/PUSCH decoder for LDPC early stopping 4 years ago
David Rupprecht 4c68c17bd3 Fixed log level of nr loggers to lte level and hex size 4 years ago
Andre Puschmann bf4d0121dd cc_worker,proc_ra: set RNTI type for UL grant contained in RAR
needed for HARQ to correctly pick up the Msg3 Tx
4 years ago
Andre Puschmann 3e1998b2aa proc_sr_nr: tiny cosmetic logging changes 4 years ago
Andre Puschmann ad320c273e proc_bsr_nr: cancel SR if UL grant is received 4 years ago
Andre Puschmann d99402d3b3 rrc_nr: enable SR procedure when pulling config from ASN1 struct 4 years ago
Andre Puschmann 44baea6666 mac_nr: add UL HARQ
this patch adds a basic UL HARQ entity for NR.

The patch also updates some interfaces between MAC/RA/HARQ,
i.e. get_temp_crnti().

It also adds a Msg3 unit test.
4 years ago
Andre Puschmann b7146c41b2 nr: add NDI for PUSCH grant to sch cfg struct 4 years ago
Xavier Arteaga af97538448 Remove NR from log lines 4 years ago
Xavier Arteaga 7823bfc28c Fix append NR to loggers for NR components 4 years ago
Xavier Arteaga b5e879db47 SRSUE: review metrics interfaces 4 years ago
Xavier Arteaga 044da18db9 SRSUE: Reviewed PHY metrics getter 4 years ago
Xavier Arteaga dac331ab38 Fix SR PUCCH resource flattening 4 years ago
Xavier Arteaga 2f453b43ba Initial NR PHY interface 4 years ago
David Rupprecht eeddbe69ce Fixes repeating proc RA due to SR trigger 4 years ago
David Rupprecht 5a3a2a6d6f Added functions for adding phr and tag config 4 years ago
Andre Puschmann 396040fd75 metrics_csv: fix CC numbering for NR carrier in CSV 4 years ago
Andre Puschmann c9da21c9bb mac_nr: add error handling when unpacking SCH MAC PDU
* only handle PDU if unpacking was successfull
* add TC unpacking with malformed PDU
4 years ago
Xavier Arteaga bc1b14efea Fix NR common PDSCH Resource allocation count 4 years ago
Xavier Arteaga f30f3e0239 Minor aesthetic log change 4 years ago
Xavier Arteaga 21fe502448 Fix NR PRACH resource determination 4 years ago
Francisco f7a8b8bf94 separate drb srb ids into separate enum types 4 years ago
Francisco 21718af3b6 avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type 4 years ago
David Rupprecht 5e02dbc536 Remove measurement id from trigger state nr allows to second nr reconfig 4 years ago
Codebot 6bf4bdaf5c Adding AGPL copyright to new files 4 years ago
Codebot c0282856d0 Merge branch 'next' into agpl_next
# Conflicts:
#	srsue/test/mac_nr/mac_nr_test.cc
4 years ago
Andre Puschmann c1b66e89a5 mux_nr: protect MAC PDU packing from concurrent access from PHY workers
this will be moved to UL HARQ shortly but for now we need
to protect the packing
4 years ago
Andre Puschmann cf696138d3 mac_nr: fix packing order of SDU and CEs
SDUs need to go first in the MAC PDU, followed by CEs
4 years ago
Andre Puschmann 399954a970 mac_nr: convert bytes to bits for DL metrics 4 years ago
Andre Puschmann b083b612de proc_bsr_nr_test: fix SBSR test 4 years ago
Andre Puschmann 7da68dfee3 proc_bsr_nr: disable SR activation temporarily
SR isn't currently working correctly resulting in random PRACHs
being sent.
4 years ago
Andre Puschmann d1ad315969 mac_nr: add various safety/length checks 4 years ago
Andre Puschmann b1aaadb51c nr,cc_worker: convert grant size in bytes before passing to MAC 4 years ago
Andre Puschmann 7f415189f3 ue,mac: enable basic MAC metrics
this adds basic MAC metrics calculation for the DL NR MAC
4 years ago
Andre Puschmann 8024bf7820 mux_nr: improve logging when building UL MAC PDU 4 years ago
Andre Puschmann 880bd66db4 mac_nr_test: add testcase for MAC PDU packing with long L field
this reproduces the issue found in #2609
4 years ago
Andre Puschmann 9950278a12 nr,mac_sch_pdu,mux: fix packing of MAC subPDUs with 16bit L field
the created RLC PDU was too large to fit inside the MAC grant
because only the header room for the short L field was used.

The patch determines the correct size before passing the opportunity to RLC.

It also improves logging in error case by using the MAC logger instead of
stderr/stdout when error occurs.
4 years ago
Andre Puschmann db496df1e6 mac_nr: add support for periodic BSR reporting
building on the previous refactor this patch now adds support
for peridoic BSR reporting (using short BSR). It furthermore does
the following changes:

* add BSR packing
* add proc_bsr_nr unit test
* move mac_nr test code into test folder under src (needs to be done with other test code too)
4 years ago
Andre Puschmann 7188603f2e mac_nr: don't push MAC CE LCIDs to RLC when unpacking DL MAC PDU
this should fix log warnings then demux was trying to feed MAC CEs
to RLC:

10:50:54.845116 [MAC ] [I] [ 1153] Handling subPDU 1/2: rnti=0x0 lcid=61, sdu_len=1
10:50:54.845117 [RLC ] [E] Radio bearer id must be in [0:11] - 61
10:50:54.845118 [RLC ] [W] LCID 61 doesn't exist. Dropping PDU.
10:50:54.845119 [MAC ] [I] [ 1153] Handling subPDU 2/2: rnti=0x0 lcid=63, sdu_len=33
10:50:54.845119 [RLC ] [E] Radio bearer id must be in [0:11] - 63
4 years ago
David Rupprecht 56e947bf27 Added functionality for releasing a NR bearer 4 years ago
David Rupprecht cc6d8128ad Added gw interface if it is running 4 years ago
David Rupprecht 7a481c40ab Added mac prach nr proc error handling 4 years ago
David Rupprecht f9ea02b6bf Added functions for rrc reestablishing procedure if nr reconfig failes 4 years ago
David Rupprecht 43ec714ce1 Added functionality for printing nr metrics 4 years ago
Xavier Arteaga db1a1c059c NR PHY workers TTI synchronization between DL and UL work 4 years ago
Xavier Arteaga 991c6e7016 Refactored NR HARQ-ACK feedback enqueue 4 years ago
Xavier Arteaga 49731ab5a1 Initial NR-DCI refactor
Added NR DCI 1_1 size

Several DCI NR fixes
4 years ago
Xavier Arteaga 01990c2e1d SRSUE: Add PHY-MAC SR related interfaces 4 years ago
Xavier Arteaga f4ae2d73aa SRSUE: report positive ACK for retx 4 years ago
Xavier Arteaga 20a4c39fa4 SRSUE: Disable PDSCH retransmissions in NR 4 years ago
David Rupprecht 506adca930 Set eutra nr band info based config value 4 years ago
Codebot 045644ca96 Adding AGPL copyright to new files 4 years ago
Codebot a047e13479 Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srsran/adt/adt_utils.h
4 years ago
Andre Puschmann d135ae4d29 proc_bsr: initial BSR procedure for NR
* refactor some common methods to mac_common.cc
* add common mux_base class
* move UL PDU generation to mux class
* add logical channel registration to MAC, MUX, BSR
* add initial proc BSR
* add basic MAC NR test
* rework MAC interfaces
4 years ago
Codebot 24290dcae2 Adding AGPL copyright to new files 4 years ago
Codebot 3fdcd5fe03 Merge branch 'next' into agpl_next
# Conflicts:
#	cmake/modules/CheckFunctionExists.c
#	cmake/modules/SRSLTEVersion.cmake
#	lib/examples/cell_search.c
#	lib/examples/cell_search_nbiot.c
#	lib/examples/npdsch_enodeb.c
#	lib/examples/npdsch_ue.c
#	lib/examples/npdsch_ue_helper.cc
#	lib/examples/npdsch_ue_helper.h
#	lib/examples/pdsch_enodeb.c
#	lib/examples/pdsch_ue.c
#	lib/examples/pssch_ue.c
#	lib/examples/synch_file.c
#	lib/examples/usrp_capture.c
#	lib/examples/usrp_capture_sync.c
#	lib/examples/usrp_capture_sync_nbiot.c
#	lib/examples/usrp_txrx.c
#	lib/examples/zmq_remote_rx.c
#	lib/include/srslte/asn1/rrc_nr_utils.h
#	lib/include/srslte/config.h
#	lib/include/srslte/phy/ch_estimation/chest_dl.h
#	lib/include/srslte/phy/ch_estimation/chest_dl_nbiot.h
#	lib/include/srslte/phy/ch_estimation/chest_sl.h
#	lib/include/srslte/phy/ch_estimation/chest_ul.h
#	lib/include/srslte/phy/ch_estimation/csi_rs.h
#	lib/include/srslte/phy/ch_estimation/refsignal_dl.h
#	lib/include/srslte/phy/ch_estimation/refsignal_dl_nbiot.h
#	lib/include/srslte/phy/ch_estimation/refsignal_ul.h
#	lib/include/srslte/phy/common/phy_common.h
#	lib/include/srslte/phy/common/phy_common_sl.h
#	lib/include/srslte/phy/enb/enb_dl.h
#	lib/include/srslte/phy/enb/enb_dl_nr.h
#	lib/include/srslte/phy/enb/enb_ul.h
#	lib/include/srslte/phy/fec/turbo/turbodecoder.h
#	lib/include/srslte/phy/io/format.h
#	lib/include/srslte/phy/phch/dci.h
#	lib/include/srslte/phy/phch/dci_nbiot.h
#	lib/include/srslte/phy/phch/npbch.h
#	lib/include/srslte/phy/phch/npdcch.h
#	lib/include/srslte/phy/phch/npdsch.h
#	lib/include/srslte/phy/phch/pbch.h
#	lib/include/srslte/phy/phch/pcfich.h
#	lib/include/srslte/phy/phch/pdcch.h
#	lib/include/srslte/phy/phch/pdsch.h
#	lib/include/srslte/phy/phch/pdsch_nr.h
#	lib/include/srslte/phy/phch/phich.h
#	lib/include/srslte/phy/phch/pmch.h
#	lib/include/srslte/phy/phch/pscch.h
#	lib/include/srslte/phy/phch/pucch.h
#	lib/include/srslte/phy/phch/pusch.h
#	lib/include/srslte/phy/phch/ra.h
#	lib/include/srslte/phy/phch/ra_dl.h
#	lib/include/srslte/phy/phch/ra_ul.h
#	lib/include/srslte/phy/phch/sch.h
#	lib/include/srslte/phy/phch/uci_cfg.h
#	lib/include/srslte/phy/scrambling/scrambling.h
#	lib/include/srslte/phy/sync/cfo.h
#	lib/include/srslte/phy/sync/cp.h
#	lib/include/srslte/phy/sync/pss.h
#	lib/include/srslte/phy/sync/sss.h
#	lib/include/srslte/phy/sync/ssss.h
#	lib/include/srslte/phy/ue/ue_cell_search.h
#	lib/include/srslte/phy/ue/ue_cell_search_nbiot.h
#	lib/include/srslte/phy/ue/ue_dl.h
#	lib/include/srslte/phy/ue/ue_dl_nbiot.h
#	lib/include/srslte/phy/ue/ue_dl_nr.h
#	lib/include/srslte/phy/ue/ue_mib.h
#	lib/include/srslte/phy/ue/ue_sync.h
#	lib/include/srslte/phy/ue/ue_sync_nbiot.h
#	lib/include/srslte/phy/ue/ue_ul.h
#	lib/include/srslte/phy/ue/ue_ul_nr.h
#	lib/include/srslte/phy/utils/random.h
#	lib/include/srslte/phy/utils/vector_simd.h
#	lib/include/srslte/srslog/log_channel.h
#	lib/include/srslte/srslte.h
#	lib/include/srslte/version.h.in
#	lib/include/srsran/adt/accumulators.h
#	lib/include/srsran/adt/adt_utils.h
#	lib/include/srsran/adt/bounded_bitset.h
#	lib/include/srsran/adt/bounded_vector.h
#	lib/include/srsran/adt/choice_type.h
#	lib/include/srsran/adt/circular_array.h
#	lib/include/srsran/adt/circular_buffer.h
#	lib/include/srsran/adt/detail/index_sequence.h
#	lib/include/srsran/adt/detail/type_utils.h
#	lib/include/srsran/adt/expected.h
#	lib/include/srsran/adt/interval.h
#	lib/include/srsran/adt/mem_pool.h
#	lib/include/srsran/adt/move_callback.h
#	lib/include/srsran/adt/observer.h
#	lib/include/srsran/adt/scope_exit.h
#	lib/include/srsran/adt/span.h
#	lib/include/srsran/asn1/asn1_utils.h
#	lib/include/srsran/asn1/gtpc.h
#	lib/include/srsran/asn1/gtpc_ies.h
#	lib/include/srsran/asn1/gtpc_msg.h
#	lib/include/srsran/asn1/ngap.h
#	lib/include/srsran/asn1/rrc.h
#	lib/include/srsran/asn1/rrc/bcch_msg.h
#	lib/include/srsran/asn1/rrc/common.h
#	lib/include/srsran/asn1/rrc/common_ext.h
#	lib/include/srsran/asn1/rrc/dl_ccch_msg.h
#	lib/include/srsran/asn1/rrc/dl_dcch_msg.h
#	lib/include/srsran/asn1/rrc/ho_cmd.h
#	lib/include/srsran/asn1/rrc/meascfg.h
#	lib/include/srsran/asn1/rrc/paging.h
#	lib/include/srsran/asn1/rrc/phy_ded.h
#	lib/include/srsran/asn1/rrc/rr_common.h
#	lib/include/srsran/asn1/rrc/rr_ded.h
#	lib/include/srsran/asn1/rrc/rrc_asn1.h
#	lib/include/srsran/asn1/rrc/security.h
#	lib/include/srsran/asn1/rrc/si.h
#	lib/include/srsran/asn1/rrc/uecap.h
#	lib/include/srsran/asn1/rrc/ul_ccch_msg.h
#	lib/include/srsran/asn1/rrc/ul_dcch_msg.h
#	lib/include/srsran/asn1/rrc_nbiot.h
#	lib/include/srsran/asn1/rrc_nr.h
#	lib/include/srsran/asn1/rrc_utils.h
#	lib/include/srsran/asn1/s1ap.h
#	lib/include/srsran/asn1/s1ap_utils.h
#	lib/include/srsran/build_info.h.in
#	lib/include/srsran/common/backtrace.h
#	lib/include/srsran/common/band_helper.h
#	lib/include/srsran/common/basic_pnf.h
#	lib/include/srsran/common/basic_vnf.h
#	lib/include/srsran/common/basic_vnf_api.h
#	lib/include/srsran/common/bcd_helpers.h
#	lib/include/srsran/common/block_queue.h
#	lib/include/srsran/common/buffer_pool.h
#	lib/include/srsran/common/byte_buffer.h
#	lib/include/srsran/common/common.h
#	lib/include/srsran/common/common_helper.h
#	lib/include/srsran/common/config_file.h
#	lib/include/srsran/common/crash_handler.h
#	lib/include/srsran/common/enb_events.h
#	lib/include/srsran/common/epoll_helper.h
#	lib/include/srsran/common/fsm.h
#	lib/include/srsran/common/gen_mch_tables.h
#	lib/include/srsran/common/int_helpers.h
#	lib/include/srsran/common/interfaces_common.h
#	lib/include/srsran/common/log_helper.h
#	lib/include/srsran/common/mac_pcap.h
#	lib/include/srsran/common/mac_pcap_base.h
#	lib/include/srsran/common/mac_pcap_net.h
#	lib/include/srsran/common/metrics_hub.h
#	lib/include/srsran/common/multiqueue.h
#	lib/include/srsran/common/nas_pcap.h
#	lib/include/srsran/common/netsource_handler.h
#	lib/include/srsran/common/network_utils.h
#	lib/include/srsran/common/pcap.h
#	lib/include/srsran/common/rlc_pcap.h
#	lib/include/srsran/common/rwlock_guard.h
#	lib/include/srsran/common/s1ap_pcap.h
#	lib/include/srsran/common/s3g.h
#	lib/include/srsran/common/security.h
#	lib/include/srsran/common/signal_handler.h
#	lib/include/srsran/common/singleton.h
#	lib/include/srsran/common/ssl.h
#	lib/include/srsran/common/stack_procedure.h
#	lib/include/srsran/common/standard_streams.h
#	lib/include/srsran/common/string_helpers.h
#	lib/include/srsran/common/task_scheduler.h
#	lib/include/srsran/common/test_common.h
#	lib/include/srsran/common/thread_pool.h
#	lib/include/srsran/common/threads.h
#	lib/include/srsran/common/time_prof.h
#	lib/include/srsran/common/timeout.h
#	lib/include/srsran/common/timers.h
#	lib/include/srsran/common/trace.h
#	lib/include/srsran/common/tti_point.h
#	lib/include/srsran/common/tti_sempahore.h
#	lib/include/srsran/common/tti_sync.h
#	lib/include/srsran/common/tti_sync_cv.h
#	lib/include/srsran/common/zuc.h
#	lib/include/srsran/interfaces/enb_command_interface.h
#	lib/include/srsran/interfaces/enb_gtpu_interfaces.h
#	lib/include/srsran/interfaces/enb_interfaces.h
#	lib/include/srsran/interfaces/enb_mac_interfaces.h
#	lib/include/srsran/interfaces/enb_metrics_interface.h
#	lib/include/srsran/interfaces/enb_pdcp_interfaces.h
#	lib/include/srsran/interfaces/enb_phy_interfaces.h
#	lib/include/srsran/interfaces/enb_rlc_interfaces.h
#	lib/include/srsran/interfaces/enb_rrc_interface_types.h
#	lib/include/srsran/interfaces/enb_rrc_interfaces.h
#	lib/include/srsran/interfaces/enb_s1ap_interfaces.h
#	lib/include/srsran/interfaces/epc_interfaces.h
#	lib/include/srsran/interfaces/gnb_interfaces.h
#	lib/include/srsran/interfaces/mac_interface_types.h
#	lib/include/srsran/interfaces/nr_common_interface_types.h
#	lib/include/srsran/interfaces/pdcp_interface_types.h
#	lib/include/srsran/interfaces/phy_interface_types.h
#	lib/include/srsran/interfaces/radio_interfaces.h
#	lib/include/srsran/interfaces/rlc_interface_types.h
#	lib/include/srsran/interfaces/rrc_interface_types.h
#	lib/include/srsran/interfaces/rrc_nr_interface_types.h
#	lib/include/srsran/interfaces/sched_interface.h
#	lib/include/srsran/interfaces/ue_gw_interfaces.h
#	lib/include/srsran/interfaces/ue_interfaces.h
#	lib/include/srsran/interfaces/ue_mac_interfaces.h
#	lib/include/srsran/interfaces/ue_nas_interfaces.h
#	lib/include/srsran/interfaces/ue_nr_interfaces.h
#	lib/include/srsran/interfaces/ue_pdcp_interfaces.h
#	lib/include/srsran/interfaces/ue_phy_interfaces.h
#	lib/include/srsran/interfaces/ue_rlc_interfaces.h
#	lib/include/srsran/interfaces/ue_rrc_interfaces.h
#	lib/include/srsran/interfaces/ue_usim_interfaces.h
#	lib/include/srsran/mac/mac_rar_pdu_nr.h
#	lib/include/srsran/mac/mac_sch_pdu_nr.h
#	lib/include/srsran/mac/pdu.h
#	lib/include/srsran/mac/pdu_queue.h
#	lib/include/srsran/phy/agc/agc.h
#	lib/include/srsran/phy/ch_estimation/chest_common.h
#	lib/include/srsran/phy/ch_estimation/dmrs_pdcch.h
#	lib/include/srsran/phy/ch_estimation/dmrs_pucch.h
#	lib/include/srsran/phy/ch_estimation/dmrs_sch.h
#	lib/include/srsran/phy/ch_estimation/wiener_dl.h
#	lib/include/srsran/phy/channel/ch_awgn.h
#	lib/include/srsran/phy/channel/channel.h
#	lib/include/srsran/phy/channel/delay.h
#	lib/include/srsran/phy/channel/fading.h
#	lib/include/srsran/phy/channel/hst.h
#	lib/include/srsran/phy/channel/rlf.h
#	lib/include/srsran/phy/common/phy_common_nr.h
#	lib/include/srsran/phy/common/sequence.h
#	lib/include/srsran/phy/common/timestamp.h
#	lib/include/srsran/phy/common/zc_sequence.h
#	lib/include/srsran/phy/dft/dft.h
#	lib/include/srsran/phy/dft/dft_precoding.h
#	lib/include/srsran/phy/dft/ofdm.h
#	lib/include/srsran/phy/fec/block/block.h
#	lib/include/srsran/phy/fec/cbsegm.h
#	lib/include/srsran/phy/fec/convolutional/convcoder.h
#	lib/include/srsran/phy/fec/convolutional/rm_conv.h
#	lib/include/srsran/phy/fec/convolutional/viterbi.h
#	lib/include/srsran/phy/fec/crc.h
#	lib/include/srsran/phy/fec/ldpc/base_graph.h
#	lib/include/srsran/phy/fec/ldpc/ldpc_common.h
#	lib/include/srsran/phy/fec/ldpc/ldpc_decoder.h
#	lib/include/srsran/phy/fec/ldpc/ldpc_encoder.h
#	lib/include/srsran/phy/fec/ldpc/ldpc_rm.h
#	lib/include/srsran/phy/fec/polar/polar_chanalloc.h
#	lib/include/srsran/phy/fec/polar/polar_code.h
#	lib/include/srsran/phy/fec/polar/polar_decoder.h
#	lib/include/srsran/phy/fec/polar/polar_encoder.h
#	lib/include/srsran/phy/fec/polar/polar_interleaver.h
#	lib/include/srsran/phy/fec/polar/polar_rm.h
#	lib/include/srsran/phy/fec/polar/test/polar_sets.h
#	lib/include/srsran/phy/fec/polar/test/subchannel_allocation.h
#	lib/include/srsran/phy/fec/softbuffer.h
#	lib/include/srsran/phy/fec/turbo/rm_turbo.h
#	lib/include/srsran/phy/fec/turbo/tc_interl.h
#	lib/include/srsran/phy/fec/turbo/turbocoder.h
#	lib/include/srsran/phy/fec/turbo/turbodecoder_gen.h
#	lib/include/srsran/phy/fec/turbo/turbodecoder_impl.h
#	lib/include/srsran/phy/fec/turbo/turbodecoder_iter.h
#	lib/include/srsran/phy/fec/turbo/turbodecoder_sse.h
#	lib/include/srsran/phy/fec/turbo/turbodecoder_win.h
#	lib/include/srsran/phy/io/binsource.h
#	lib/include/srsran/phy/io/filesink.h
#	lib/include/srsran/phy/io/filesource.h
#	lib/include/srsran/phy/io/netsink.h
#	lib/include/srsran/phy/io/netsource.h
#	lib/include/srsran/phy/mimo/layermap.h
#	lib/include/srsran/phy/mimo/precoding.h
#	lib/include/srsran/phy/modem/demod_hard.h
#	lib/include/srsran/phy/modem/demod_soft.h
#	lib/include/srsran/phy/modem/evm.h
#	lib/include/srsran/phy/modem/mod.h
#	lib/include/srsran/phy/modem/modem_table.h
#	lib/include/srsran/phy/phch/cqi.h
#	lib/include/srsran/phy/phch/csi.h
#	lib/include/srsran/phy/phch/csi_cfg.h
#	lib/include/srsran/phy/phch/dci_nr.h
#	lib/include/srsran/phy/phch/mib_sl.h
#	lib/include/srsran/phy/phch/npdsch_cfg.h
#	lib/include/srsran/phy/phch/pdcch_nr.h
#	lib/include/srsran/phy/phch/pdsch_cfg.h
#	lib/include/srsran/phy/phch/phch_cfg_nr.h
#	lib/include/srsran/phy/phch/prach.h
#	lib/include/srsran/phy/phch/psbch.h
#	lib/include/srsran/phy/phch/pssch.h
#	lib/include/srsran/phy/phch/pucch_cfg.h
#	lib/include/srsran/phy/phch/pucch_cfg_nr.h
#	lib/include/srsran/phy/phch/pucch_nr.h
#	lib/include/srsran/phy/phch/pucch_proc.h
#	lib/include/srsran/phy/phch/pusch_cfg.h
#	lib/include/srsran/phy/phch/pusch_nr.h
#	lib/include/srsran/phy/phch/ra_dl_nr.h
#	lib/include/srsran/phy/phch/ra_nbiot.h
#	lib/include/srsran/phy/phch/ra_nr.h
#	lib/include/srsran/phy/phch/ra_sl.h
#	lib/include/srsran/phy/phch/ra_ul_nr.h
#	lib/include/srsran/phy/phch/regs.h
#	lib/include/srsran/phy/phch/sch_cfg_nr.h
#	lib/include/srsran/phy/phch/sch_nr.h
#	lib/include/srsran/phy/phch/sci.h
#	lib/include/srsran/phy/phch/uci.h
#	lib/include/srsran/phy/phch/uci_cfg_nr.h
#	lib/include/srsran/phy/phch/uci_nr.h
#	lib/include/srsran/phy/resampling/decim.h
#	lib/include/srsran/phy/resampling/interp.h
#	lib/include/srsran/phy/resampling/resample_arb.h
#	lib/include/srsran/phy/resampling/resampler.h
#	lib/include/srsran/phy/rf/rf.h
#	lib/include/srsran/phy/rf/rf_utils.h
#	lib/include/srsran/phy/sync/npss.h
#	lib/include/srsran/phy/sync/nsss.h
#	lib/include/srsran/phy/sync/psss.h
#	lib/include/srsran/phy/sync/refsignal_dl_sync.h
#	lib/include/srsran/phy/sync/sfo.h
#	lib/include/srsran/phy/sync/sync.h
#	lib/include/srsran/phy/sync/sync_nbiot.h
#	lib/include/srsran/phy/ue/ue_mib_nbiot.h
#	lib/include/srsran/phy/ue/ue_mib_sl.h
#	lib/include/srsran/phy/ue/ue_phy.h
#	lib/include/srsran/phy/utils/bit.h
#	lib/include/srsran/phy/utils/cexptab.h
#	lib/include/srsran/phy/utils/convolution.h
#	lib/include/srsran/phy/utils/debug.h
#	lib/include/srsran/phy/utils/filter.h
#	lib/include/srsran/phy/utils/mat.h
#	lib/include/srsran/phy/utils/phy_logger.h
#	lib/include/srsran/phy/utils/primes.h
#	lib/include/srsran/phy/utils/ringbuffer.h
#	lib/include/srsran/phy/utils/simd.h
#	lib/include/srsran/phy/utils/vector.h
#	lib/include/srsran/radio/channel_mapping.h
#	lib/include/srsran/radio/radio.h
#	lib/include/srsran/radio/radio_base.h
#	lib/include/srsran/radio/radio_metrics.h
#	lib/include/srsran/radio/radio_null.h
#	lib/include/srsran/radio/rf_buffer.h
#	lib/include/srsran/radio/rf_timestamp.h
#	lib/include/srsran/rrc/rrc_cfg_utils.h
#	lib/include/srsran/srslog/context.h
#	lib/include/srsran/srslog/detail/log_backend.h
#	lib/include/srsran/srslog/detail/log_entry.h
#	lib/include/srsran/srslog/detail/log_entry_metadata.h
#	lib/include/srsran/srslog/detail/support/any.h
#	lib/include/srsran/srslog/detail/support/error_string.h
#	lib/include/srsran/srslog/detail/support/memory_buffer.h
#	lib/include/srsran/srslog/detail/support/thread_utils.h
#	lib/include/srsran/srslog/detail/support/tmp_utils.h
#	lib/include/srsran/srslog/detail/support/work_queue.h
#	lib/include/srsran/srslog/event_trace.h
#	lib/include/srsran/srslog/formatter.h
#	lib/include/srsran/srslog/logger.h
#	lib/include/srsran/srslog/shared_types.h
#	lib/include/srsran/srslog/sink.h
#	lib/include/srsran/srslog/srslog.h
#	lib/include/srsran/srslog/srslog_c.h
#	lib/include/srsran/system/sys_metrics.h
#	lib/include/srsran/system/sys_metrics_processor.h
#	lib/include/srsran/test/ue_test_interfaces.h
#	lib/include/srsran/upper/byte_buffer_queue.h
#	lib/include/srsran/upper/gtpu.h
#	lib/include/srsran/upper/ipv6.h
#	lib/include/srsran/upper/pdcp.h
#	lib/include/srsran/upper/pdcp_entity_base.h
#	lib/include/srsran/upper/pdcp_entity_lte.h
#	lib/include/srsran/upper/pdcp_entity_nr.h
#	lib/include/srsran/upper/pdcp_metrics.h
#	lib/include/srsran/upper/rlc.h
#	lib/include/srsran/upper/rlc_am_base.h
#	lib/include/srsran/upper/rlc_am_lte.h
#	lib/include/srsran/upper/rlc_am_nr.h
#	lib/include/srsran/upper/rlc_common.h
#	lib/include/srsran/upper/rlc_metrics.h
#	lib/include/srsran/upper/rlc_tm.h
#	lib/include/srsran/upper/rlc_um_base.h
#	lib/include/srsran/upper/rlc_um_lte.h
#	lib/include/srsran/upper/rlc_um_nr.h
#	lib/src/asn1/asn1_utils.cc
#	lib/src/asn1/gtpc.cc
#	lib/src/asn1/ngap.cc
#	lib/src/asn1/rrc.cc
#	lib/src/asn1/rrc/bcch_msg.cc
#	lib/src/asn1/rrc/common.cc
#	lib/src/asn1/rrc/common_ext.cc
#	lib/src/asn1/rrc/dl_ccch_msg.cc
#	lib/src/asn1/rrc/dl_dcch_msg.cc
#	lib/src/asn1/rrc/ho_cmd.cc
#	lib/src/asn1/rrc/meascfg.cc
#	lib/src/asn1/rrc/paging.cc
#	lib/src/asn1/rrc/phy_ded.cc
#	lib/src/asn1/rrc/rr_common.cc
#	lib/src/asn1/rrc/rr_ded.cc
#	lib/src/asn1/rrc/security.cc
#	lib/src/asn1/rrc/si.cc
#	lib/src/asn1/rrc/uecap.cc
#	lib/src/asn1/rrc/ul_ccch_msg.cc
#	lib/src/asn1/rrc/ul_dcch_msg.cc
#	lib/src/asn1/rrc_nbiot.cc
#	lib/src/asn1/rrc_nr.cc
#	lib/src/asn1/rrc_nr_utils.cc
#	lib/src/asn1/rrc_utils.cc
#	lib/src/asn1/s1ap.cc
#	lib/src/common/arch_select.cc
#	lib/src/common/backtrace.c
#	lib/src/common/band_helper.cc
#	lib/src/common/basic_vnf.cc
#	lib/src/common/buffer_pool.cc
#	lib/src/common/byte_buffer.cc
#	lib/src/common/crash_handler.cc
#	lib/src/common/enb_events.cc
#	lib/src/common/gen_mch_tables.c
#	lib/src/common/mac_pcap.cc
#	lib/src/common/mac_pcap_base.cc
#	lib/src/common/mac_pcap_net.cc
#	lib/src/common/nas_pcap.cc
#	lib/src/common/network_utils.cc
#	lib/src/common/pcap.c
#	lib/src/common/rlc_pcap.cc
#	lib/src/common/s1ap_pcap.cc
#	lib/src/common/s3g.cc
#	lib/src/common/security.cc
#	lib/src/common/standard_streams.cc
#	lib/src/common/test/band_helper_test.cc
#	lib/src/common/test/thread_pool_test.cc
#	lib/src/common/test/thread_test.cc
#	lib/src/common/thread_pool.cc
#	lib/src/common/threads.c
#	lib/src/common/time_prof.cc
#	lib/src/common/tti_sync_cv.cc
#	lib/src/common/version.c
#	lib/src/common/zuc.cc
#	lib/src/mac/mac_rar_pdu_nr.cc
#	lib/src/mac/mac_sch_pdu_nr.cc
#	lib/src/mac/pdu.cc
#	lib/src/mac/pdu_queue.cc
#	lib/src/phy/agc/agc.c
#	lib/src/phy/ch_estimation/chest_common.c
#	lib/src/phy/ch_estimation/chest_dl.c
#	lib/src/phy/ch_estimation/chest_dl_nbiot.c
#	lib/src/phy/ch_estimation/chest_sl.c
#	lib/src/phy/ch_estimation/chest_ul.c
#	lib/src/phy/ch_estimation/csi_rs.c
#	lib/src/phy/ch_estimation/dmrs_pdcch.c
#	lib/src/phy/ch_estimation/dmrs_pucch.c
#	lib/src/phy/ch_estimation/dmrs_sch.c
#	lib/src/phy/ch_estimation/refsignal_dl.c
#	lib/src/phy/ch_estimation/refsignal_dl_nbiot.c
#	lib/src/phy/ch_estimation/refsignal_ul.c
#	lib/src/phy/ch_estimation/test/chest_nbiot_test_dl.c
#	lib/src/phy/ch_estimation/test/chest_test_dl.c
#	lib/src/phy/ch_estimation/test/chest_test_sl.c
#	lib/src/phy/ch_estimation/test/chest_test_srs.c
#	lib/src/phy/ch_estimation/test/chest_test_ul.c
#	lib/src/phy/ch_estimation/test/csi_rs_test.c
#	lib/src/phy/ch_estimation/test/dmrs_pdcch_test.c
#	lib/src/phy/ch_estimation/test/dmrs_pdsch_test.c
#	lib/src/phy/ch_estimation/test/refsignal_ul_test.c
#	lib/src/phy/ch_estimation/wiener_dl.c
#	lib/src/phy/channel/ch_awgn.c
#	lib/src/phy/channel/channel.cc
#	lib/src/phy/channel/delay.c
#	lib/src/phy/channel/fading.c
#	lib/src/phy/channel/gauss.c
#	lib/src/phy/channel/gauss.h
#	lib/src/phy/channel/hst.c
#	lib/src/phy/channel/rlf.c
#	lib/src/phy/channel/test/awgn_channel_test.c
#	lib/src/phy/channel/test/delay_channel_test.c
#	lib/src/phy/channel/test/fading_channel_test.c
#	lib/src/phy/channel/test/hst_channel_test.c
#	lib/src/phy/common/phy_common.c
#	lib/src/phy/common/phy_common_nr.c
#	lib/src/phy/common/phy_common_sl.c
#	lib/src/phy/common/sequence.c
#	lib/src/phy/common/test/sequence_test.c
#	lib/src/phy/common/timestamp.c
#	lib/src/phy/common/zc_sequence.c
#	lib/src/phy/dft/dft_fftw.c
#	lib/src/phy/dft/dft_precoding.c
#	lib/src/phy/dft/ofdm.c
#	lib/src/phy/dft/test/ofdm_test.c
#	lib/src/phy/enb/enb_dl.c
#	lib/src/phy/enb/enb_dl_nr.c
#	lib/src/phy/enb/enb_ul.c
#	lib/src/phy/fec/block/block.c
#	lib/src/phy/fec/block/test/block_test.c
#	lib/src/phy/fec/cbsegm.c
#	lib/src/phy/fec/convolutional/convcoder.c
#	lib/src/phy/fec/convolutional/parity.c
#	lib/src/phy/fec/convolutional/parity.h
#	lib/src/phy/fec/convolutional/test/viterbi_test.c
#	lib/src/phy/fec/convolutional/test/viterbi_test.h
#	lib/src/phy/fec/convolutional/viterbi.c
#	lib/src/phy/fec/convolutional/viterbi37.h
#	lib/src/phy/fec/crc.c
#	lib/src/phy/fec/ldpc/base_graph.c
#	lib/src/phy/fec/ldpc/ldpc_avx2_consts.h
#	lib/src/phy/fec/ldpc/ldpc_avx512_consts.h
#	lib/src/phy/fec/ldpc/ldpc_dec_all.h
#	lib/src/phy/fec/ldpc/ldpc_dec_c.c
#	lib/src/phy/fec/ldpc/ldpc_dec_c_avx2.c
#	lib/src/phy/fec/ldpc/ldpc_dec_c_avx2_flood.c
#	lib/src/phy/fec/ldpc/ldpc_dec_c_avx2long.c
#	lib/src/phy/fec/ldpc/ldpc_dec_c_avx2long_flood.c
#	lib/src/phy/fec/ldpc/ldpc_dec_c_avx512.c
#	lib/src/phy/fec/ldpc/ldpc_dec_c_avx512long.c
#	lib/src/phy/fec/ldpc/ldpc_dec_c_avx512long_flood.c
#	lib/src/phy/fec/ldpc/ldpc_dec_c_flood.c
#	lib/src/phy/fec/ldpc/ldpc_dec_f.c
#	lib/src/phy/fec/ldpc/ldpc_dec_s.c
#	lib/src/phy/fec/ldpc/ldpc_decoder.c
#	lib/src/phy/fec/ldpc/ldpc_enc_all.h
#	lib/src/phy/fec/ldpc/ldpc_enc_avx2.c
#	lib/src/phy/fec/ldpc/ldpc_enc_avx2long.c
#	lib/src/phy/fec/ldpc/ldpc_enc_avx512.c
#	lib/src/phy/fec/ldpc/ldpc_enc_avx512long.c
#	lib/src/phy/fec/ldpc/ldpc_enc_c.c
#	lib/src/phy/fec/ldpc/ldpc_encoder.c
#	lib/src/phy/fec/ldpc/ldpc_rm.c
#	lib/src/phy/fec/ldpc/test/ldpc_chain_test.c
#	lib/src/phy/fec/ldpc/test/ldpc_dec_avx2_test.c
#	lib/src/phy/fec/ldpc/test/ldpc_dec_avx512_test.c
#	lib/src/phy/fec/ldpc/test/ldpc_dec_c_test.c
#	lib/src/phy/fec/ldpc/test/ldpc_dec_s_test.c
#	lib/src/phy/fec/ldpc/test/ldpc_dec_test.c
#	lib/src/phy/fec/ldpc/test/ldpc_enc_avx2_test.c
#	lib/src/phy/fec/ldpc/test/ldpc_enc_avx512_test.c
#	lib/src/phy/fec/ldpc/test/ldpc_enc_test.c
#	lib/src/phy/fec/ldpc/test/ldpc_rm_chain_test.c
#	lib/src/phy/fec/ldpc/test/ldpc_rm_test.c
#	lib/src/phy/fec/polar/polar_chanalloc.c
#	lib/src/phy/fec/polar/polar_code.c
#	lib/src/phy/fec/polar/polar_decoder.c
#	lib/src/phy/fec/polar/polar_decoder_ssc_all.c
#	lib/src/phy/fec/polar/polar_decoder_ssc_all.h
#	lib/src/phy/fec/polar/polar_decoder_ssc_c.c
#	lib/src/phy/fec/polar/polar_decoder_ssc_c.h
#	lib/src/phy/fec/polar/polar_decoder_ssc_c_avx2.c
#	lib/src/phy/fec/polar/polar_decoder_ssc_c_avx2.h
#	lib/src/phy/fec/polar/polar_decoder_ssc_f.c
#	lib/src/phy/fec/polar/polar_decoder_ssc_f.h
#	lib/src/phy/fec/polar/polar_decoder_ssc_s.c
#	lib/src/phy/fec/polar/polar_decoder_ssc_s.h
#	lib/src/phy/fec/polar/polar_decoder_vector.c
#	lib/src/phy/fec/polar/polar_decoder_vector.h
#	lib/src/phy/fec/polar/polar_decoder_vector_avx2.c
#	lib/src/phy/fec/polar/polar_decoder_vector_avx2.h
#	lib/src/phy/fec/polar/polar_encoder.c
#	lib/src/phy/fec/polar/polar_encoder_avx2.c
#	lib/src/phy/fec/polar/polar_encoder_avx2.h
#	lib/src/phy/fec/polar/polar_encoder_pipelined.c
#	lib/src/phy/fec/polar/polar_encoder_pipelined.h
#	lib/src/phy/fec/polar/polar_interleaver.c
#	lib/src/phy/fec/polar/polar_rm.c
#	lib/src/phy/fec/polar/test/polar_chain_test.c
#	lib/src/phy/fec/polar/test/polar_interleaver_gold.h
#	lib/src/phy/fec/polar/test/polar_interleaver_test.c
#	lib/src/phy/fec/polar/test/polar_sets.c
#	lib/src/phy/fec/polar/test/polar_sets.h
#	lib/src/phy/fec/polar/test/subchannel_allocation.c
#	lib/src/phy/fec/polar/test/subchannel_allocation.h
#	lib/src/phy/fec/softbuffer.c
#	lib/src/phy/fec/test/crc_test.c
#	lib/src/phy/fec/test/crc_test.h
#	lib/src/phy/fec/turbo/rm_conv.c
#	lib/src/phy/fec/turbo/rm_turbo.c
#	lib/src/phy/fec/turbo/tc_interl_lte.c
#	lib/src/phy/fec/turbo/tc_interl_umts.c
#	lib/src/phy/fec/turbo/test/rm_conv_test.c
#	lib/src/phy/fec/turbo/test/rm_turbo_test.c
#	lib/src/phy/fec/turbo/test/turbocoder_test.c
#	lib/src/phy/fec/turbo/test/turbodecoder_test.c
#	lib/src/phy/fec/turbo/test/turbodecoder_test.h
#	lib/src/phy/fec/turbo/turbocoder.c
#	lib/src/phy/fec/turbo/turbodecoder.c
#	lib/src/phy/fec/turbo/turbodecoder_gen.c
#	lib/src/phy/fec/turbo/turbodecoder_sse.c
#	lib/src/phy/fec/utils_avx2.h
#	lib/src/phy/fec/utils_avx512.h
#	lib/src/phy/io/binsource.c
#	lib/src/phy/io/filesink.c
#	lib/src/phy/io/filesource.c
#	lib/src/phy/io/netsink.c
#	lib/src/phy/io/netsource.c
#	lib/src/phy/mimo/layermap.c
#	lib/src/phy/mimo/precoding.c
#	lib/src/phy/mimo/test/layermap_test.c
#	lib/src/phy/mimo/test/pmi_select_test.c
#	lib/src/phy/mimo/test/pmi_select_test.h
#	lib/src/phy/mimo/test/precoder_test.c
#	lib/src/phy/modem/demod_hard.c
#	lib/src/phy/modem/demod_soft.c
#	lib/src/phy/modem/hard_demod_lte.c
#	lib/src/phy/modem/hard_demod_lte.h
#	lib/src/phy/modem/lte_tables.c
#	lib/src/phy/modem/lte_tables.h
#	lib/src/phy/modem/mod.c
#	lib/src/phy/modem/modem_table.c
#	lib/src/phy/modem/test/modem_test.c
#	lib/src/phy/modem/test/soft_demod_test.c
#	lib/src/phy/phch/cqi.c
#	lib/src/phy/phch/csi.c
#	lib/src/phy/phch/dci.c
#	lib/src/phy/phch/dci_nbiot.c
#	lib/src/phy/phch/dci_nr.c
#	lib/src/phy/phch/mib_sl.c
#	lib/src/phy/phch/npbch.c
#	lib/src/phy/phch/npdcch.c
#	lib/src/phy/phch/npdsch.c
#	lib/src/phy/phch/pbch.c
#	lib/src/phy/phch/pcfich.c
#	lib/src/phy/phch/pdcch.c
#	lib/src/phy/phch/pdcch_nr.c
#	lib/src/phy/phch/pdsch.c
#	lib/src/phy/phch/pdsch_nr.c
#	lib/src/phy/phch/phich.c
#	lib/src/phy/phch/pmch.c
#	lib/src/phy/phch/prach.c
#	lib/src/phy/phch/prach_tables.h
#	lib/src/phy/phch/prb_dl.c
#	lib/src/phy/phch/prb_dl.h
#	lib/src/phy/phch/psbch.c
#	lib/src/phy/phch/pscch.c
#	lib/src/phy/phch/pssch.c
#	lib/src/phy/phch/pucch.c
#	lib/src/phy/phch/pucch_cfg_nr.c
#	lib/src/phy/phch/pucch_nr.c
#	lib/src/phy/phch/pucch_proc.c
#	lib/src/phy/phch/pusch.c
#	lib/src/phy/phch/pusch_nr.c
#	lib/src/phy/phch/ra.c
#	lib/src/phy/phch/ra_dl.c
#	lib/src/phy/phch/ra_dl_nr.c
#	lib/src/phy/phch/ra_helper.h
#	lib/src/phy/phch/ra_nbiot.c
#	lib/src/phy/phch/ra_nr.c
#	lib/src/phy/phch/ra_sl.c
#	lib/src/phy/phch/ra_ul.c
#	lib/src/phy/phch/ra_ul_nr.c
#	lib/src/phy/phch/regs.c
#	lib/src/phy/phch/sch.c
#	lib/src/phy/phch/sch_nr.c
#	lib/src/phy/phch/sci.c
#	lib/src/phy/phch/sequences.c
#	lib/src/phy/phch/tbs_tables.h
#	lib/src/phy/phch/tbs_tables_nbiot.h
#	lib/src/phy/phch/test/dci_nbiot_test.c
#	lib/src/phy/phch/test/npbch_file_test.c
#	lib/src/phy/phch/test/npbch_test.c
#	lib/src/phy/phch/test/npdcch_file_test.c
#	lib/src/phy/phch/test/npdcch_test.c
#	lib/src/phy/phch/test/npdsch_npdcch_file_test.c
#	lib/src/phy/phch/test/npdsch_test.c
#	lib/src/phy/phch/test/pbch_file_test.c
#	lib/src/phy/phch/test/pbch_test.c
#	lib/src/phy/phch/test/pcfich_file_test.c
#	lib/src/phy/phch/test/pcfich_test.c
#	lib/src/phy/phch/test/pdcch_file_test.c
#	lib/src/phy/phch/test/pdcch_nr_test.c
#	lib/src/phy/phch/test/pdcch_test.c
#	lib/src/phy/phch/test/pdsch_nr_test.c
#	lib/src/phy/phch/test/pdsch_pdcch_file_test.c
#	lib/src/phy/phch/test/pdsch_test.c
#	lib/src/phy/phch/test/phich_file_test.c
#	lib/src/phy/phch/test/phich_test.c
#	lib/src/phy/phch/test/pmch_file_test.c
#	lib/src/phy/phch/test/pmch_test.c
#	lib/src/phy/phch/test/prach_test.c
#	lib/src/phy/phch/test/prach_test_multi.c
#	lib/src/phy/phch/test/prach_test_usrp.c
#	lib/src/phy/phch/test/psbch_file_test.c
#	lib/src/phy/phch/test/psbch_test.c
#	lib/src/phy/phch/test/pscch_test.c
#	lib/src/phy/phch/test/pssch_pscch_file_test.c
#	lib/src/phy/phch/test/pssch_test.c
#	lib/src/phy/phch/test/pucch_nr_test.c
#	lib/src/phy/phch/test/pucch_test.c
#	lib/src/phy/phch/test/pusch_nr_test.c
#	lib/src/phy/phch/test/pusch_test.c
#	lib/src/phy/phch/test/ra_nr_test.c
#	lib/src/phy/phch/test/sch_nr_test.c
#	lib/src/phy/phch/uci.c
#	lib/src/phy/phch/uci_nr.c
#	lib/src/phy/resampling/decim.c
#	lib/src/phy/resampling/interp.c
#	lib/src/phy/resampling/resample_arb.c
#	lib/src/phy/resampling/resampler.c
#	lib/src/phy/resampling/test/resample_arb_bench.c
#	lib/src/phy/resampling/test/resample_arb_test.c
#	lib/src/phy/resampling/test/resampler_test.c
#	lib/src/phy/rf/rf_blade_imp.c
#	lib/src/phy/rf/rf_blade_imp.h
#	lib/src/phy/rf/rf_dev.h
#	lib/src/phy/rf/rf_helper.h
#	lib/src/phy/rf/rf_imp.c
#	lib/src/phy/rf/rf_soapy_imp.c
#	lib/src/phy/rf/rf_soapy_imp.h
#	lib/src/phy/rf/rf_uhd_generic.h
#	lib/src/phy/rf/rf_uhd_imp.cc
#	lib/src/phy/rf/rf_uhd_imp.h
#	lib/src/phy/rf/rf_uhd_rfnoc.h
#	lib/src/phy/rf/rf_uhd_safe.h
#	lib/src/phy/rf/rf_utils.c
#	lib/src/phy/rf/rf_zmq_imp.c
#	lib/src/phy/rf/rf_zmq_imp.h
#	lib/src/phy/rf/rf_zmq_imp_rx.c
#	lib/src/phy/rf/rf_zmq_imp_trx.h
#	lib/src/phy/rf/rf_zmq_imp_tx.c
#	lib/src/phy/rf/rf_zmq_test.c
#	lib/src/phy/scrambling/scrambling.c
#	lib/src/phy/scrambling/test/scrambling_test.c
#	lib/src/phy/sync/cfo.c
#	lib/src/phy/sync/cp.c
#	lib/src/phy/sync/find_sss.c
#	lib/src/phy/sync/gen_sss.c
#	lib/src/phy/sync/npss.c
#	lib/src/phy/sync/nsss.c
#	lib/src/phy/sync/pss.c
#	lib/src/phy/sync/psss.c
#	lib/src/phy/sync/refsignal_dl_sync.c
#	lib/src/phy/sync/sfo.c
#	lib/src/phy/sync/sss.c
#	lib/src/phy/sync/ssss.c
#	lib/src/phy/sync/sync.c
#	lib/src/phy/sync/sync_nbiot.c
#	lib/src/phy/sync/test/cfo_test.c
#	lib/src/phy/sync/test/npss_file.c
#	lib/src/phy/sync/test/npss_test.c
#	lib/src/phy/sync/test/npss_usrp.c
#	lib/src/phy/sync/test/nsss_test.c
#	lib/src/phy/sync/test/nsss_usrp.c
#	lib/src/phy/sync/test/pss_file.c
#	lib/src/phy/sync/test/pss_usrp.c
#	lib/src/phy/sync/test/psss_file_test.c
#	lib/src/phy/sync/test/sync_nbiot_test.c
#	lib/src/phy/sync/test/sync_sl_test.c
#	lib/src/phy/sync/test/sync_test.c
#	lib/src/phy/ue/test/gen_ack_test.c
#	lib/src/phy/ue/test/pucch_resource_test.c
#	lib/src/phy/ue/test/ue_dl_nbiot_test.c
#	lib/src/phy/ue/test/ue_mib_sync_test_nbiot_usrp.c
#	lib/src/phy/ue/test/ue_sync_test_nbiot_usrp.c
#	lib/src/phy/ue/ue_cell_search.c
#	lib/src/phy/ue/ue_cell_search_nbiot.c
#	lib/src/phy/ue/ue_dl.c
#	lib/src/phy/ue/ue_dl_nbiot.c
#	lib/src/phy/ue/ue_dl_nr.c
#	lib/src/phy/ue/ue_mib.c
#	lib/src/phy/ue/ue_mib_nbiot.c
#	lib/src/phy/ue/ue_mib_sl.c
#	lib/src/phy/ue/ue_sync.c
#	lib/src/phy/ue/ue_sync_nbiot.c
#	lib/src/phy/ue/ue_ul.c
#	lib/src/phy/ue/ue_ul_nr.c
#	lib/src/phy/utils/bit.c
#	lib/src/phy/utils/cexptab.c
#	lib/src/phy/utils/convolution.c
#	lib/src/phy/utils/debug.c
#	lib/src/phy/utils/filter.c
#	lib/src/phy/utils/mat.c
#	lib/src/phy/utils/phy_logger.c
#	lib/src/phy/utils/primes.c
#	lib/src/phy/utils/random.cpp
#	lib/src/phy/utils/ringbuffer.c
#	lib/src/phy/utils/test/dft_test.c
#	lib/src/phy/utils/test/mat_test.c
#	lib/src/phy/utils/test/ring_buffer_test.c
#	lib/src/phy/utils/test/vector_test.c
#	lib/src/phy/utils/vector.c
#	lib/src/phy/utils/vector_simd.c
#	lib/src/radio/channel_mapping.cc
#	lib/src/radio/radio.cc
#	lib/src/radio/test/benchmark_radio.cc
#	lib/src/srslog/backend_worker.cpp
#	lib/src/srslog/backend_worker.h
#	lib/src/srslog/bundled/fmt/CMakeLists.txt
#	lib/src/srslog/event_trace.cpp
#	lib/src/srslog/formatters/CMakeLists.txt
#	lib/src/srslog/formatters/json_formatter.cpp
#	lib/src/srslog/formatters/json_formatter.h
#	lib/src/srslog/formatters/text_formatter.cpp
#	lib/src/srslog/formatters/text_formatter.h
#	lib/src/srslog/log_backend_impl.h
#	lib/src/srslog/object_repository.h
#	lib/src/srslog/sinks/buffered_file_sink.h
#	lib/src/srslog/sinks/file_sink.h
#	lib/src/srslog/sinks/file_utils.h
#	lib/src/srslog/sinks/stream_sink.h
#	lib/src/srslog/srslog.cpp
#	lib/src/srslog/srslog_c.cpp
#	lib/src/srslog/srslog_instance.h
#	lib/src/system/sys_metrics_processor.cc
#	lib/src/upper/gtpu.cc
#	lib/src/upper/pdcp.cc
#	lib/src/upper/pdcp_entity_base.cc
#	lib/src/upper/pdcp_entity_lte.cc
#	lib/src/upper/pdcp_entity_nr.cc
#	lib/src/upper/rlc.cc
#	lib/src/upper/rlc_am_base.cc
#	lib/src/upper/rlc_am_lte.cc
#	lib/src/upper/rlc_am_nr.cc
#	lib/src/upper/rlc_tm.cc
#	lib/src/upper/rlc_um_base.cc
#	lib/src/upper/rlc_um_lte.cc
#	lib/src/upper/rlc_um_nr.cc
#	lib/test/adt/bounded_bitset_test.cc
#	lib/test/adt/bounded_vector_test.cc
#	lib/test/adt/circular_buffer_test.cc
#	lib/test/adt/expected_test.cc
#	lib/test/adt/interval_test.cc
#	lib/test/adt/mem_pool_test.cc
#	lib/test/adt/observer_test.cc
#	lib/test/adt/scope_exit_test.cc
#	lib/test/adt/span_test.cc
#	lib/test/asn1/asn1_utils_test.cc
#	lib/test/asn1/nas_decoder.cc
#	lib/test/asn1/ngap_test.cc
#	lib/test/asn1/rrc_asn1_decoder.cc
#	lib/test/asn1/rrc_test.cc
#	lib/test/asn1/s1ap_test.cc
#	lib/test/asn1/srsran_asn1_nas_test.cc
#	lib/test/asn1/srsran_asn1_rrc_dl_ccch_test.cc
#	lib/test/asn1/srsran_asn1_rrc_dl_dcch_test.cc
#	lib/test/asn1/srsran_asn1_rrc_mcch_test.cc
#	lib/test/asn1/srsran_asn1_rrc_meas_test.cc
#	lib/test/asn1/srsran_asn1_rrc_nr_test.cc
#	lib/test/asn1/srsran_asn1_rrc_ul_dcch_test.cc
#	lib/test/common/bcd_helpers_test.cc
#	lib/test/common/byte_buffer_queue_test.cc
#	lib/test/common/choice_type_test.cc
#	lib/test/common/fsm_test.cc
#	lib/test/common/mac_pcap_net_test.cc
#	lib/test/common/multiqueue_test.cc
#	lib/test/common/network_utils_test.cc
#	lib/test/common/pnf_bridge.cc
#	lib/test/common/pnf_dummy.cc
#	lib/test/common/stack_procedure_test.cc
#	lib/test/common/task_scheduler_test.cc
#	lib/test/common/test_eea1.cc
#	lib/test/common/test_eea2.cc
#	lib/test/common/test_eea3.cc
#	lib/test/common/test_eia1.cc
#	lib/test/common/test_eia3.cc
#	lib/test/common/test_f12345.cc
#	lib/test/common/timeout_test.cc
#	lib/test/common/timer_test.cc
#	lib/test/common/tti_point_test.cc
#	lib/test/mac/mac_pcap_test.cc
#	lib/test/mac/mac_pdu_nr_test.cc
#	lib/test/mac/pdu_test.cc
#	lib/test/phy/phy_dl_nr_test.c
#	lib/test/phy/phy_dl_test.c
#	lib/test/phy/pucch_ca_test.c
#	lib/test/srslog/any_test.cpp
#	lib/test/srslog/context_test.cpp
#	lib/test/srslog/event_trace_test.cpp
#	lib/test/srslog/file_sink_test.cpp
#	lib/test/srslog/file_test_utils.h
#	lib/test/srslog/file_utils_test.cpp
#	lib/test/srslog/json_formatter_test.cpp
#	lib/test/srslog/log_backend_test.cpp
#	lib/test/srslog/log_channel_test.cpp
#	lib/test/srslog/logger_test.cpp
#	lib/test/srslog/srslog_test.cpp
#	lib/test/srslog/test_dummies.h
#	lib/test/srslog/testing_helpers.h
#	lib/test/srslog/text_formatter_test.cpp
#	lib/test/upper/pdcp_base_test.h
#	lib/test/upper/pdcp_lte_test.h
#	lib/test/upper/pdcp_lte_test_rx.cc
#	lib/test/upper/pdcp_nr_test.h
#	lib/test/upper/pdcp_nr_test_discard_sdu.cc
#	lib/test/upper/pdcp_nr_test_rx.cc
#	lib/test/upper/pdcp_nr_test_tx.cc
#	lib/test/upper/rlc_am_control_test.cc
#	lib/test/upper/rlc_am_data_test.cc
#	lib/test/upper/rlc_am_nr_pdu_test.cc
#	lib/test/upper/rlc_am_test.cc
#	lib/test/upper/rlc_common_test.cc
#	lib/test/upper/rlc_stress_test.cc
#	lib/test/upper/rlc_test_common.h
#	lib/test/upper/rlc_um_data_test.cc
#	lib/test/upper/rlc_um_nr_pdu_test.cc
#	lib/test/upper/rlc_um_nr_test.cc
#	lib/test/upper/rlc_um_test.cc
#	srsenb/hdr/cfg_parser.h
#	srsenb/hdr/enb.h
#	srsenb/hdr/metrics_csv.h
#	srsenb/hdr/metrics_json.h
#	srsenb/hdr/metrics_stdout.h
#	srsenb/hdr/parser.h
#	srsenb/hdr/phy/enb_phy_base.h
#	srsenb/hdr/phy/lte/cc_worker.h
#	srsenb/hdr/phy/lte/sf_worker.h
#	srsenb/hdr/phy/lte/worker_pool.h
#	srsenb/hdr/phy/nr/cc_worker.h
#	srsenb/hdr/phy/nr/sf_worker.h
#	srsenb/hdr/phy/nr/worker_pool.h
#	srsenb/hdr/phy/phy.h
#	srsenb/hdr/phy/phy_common.h
#	srsenb/hdr/phy/phy_interfaces.h
#	srsenb/hdr/phy/phy_metrics.h
#	srsenb/hdr/phy/prach_worker.h
#	srsenb/hdr/phy/txrx.h
#	srsenb/hdr/phy/vnf_phy_nr.h
#	srsenb/hdr/stack/enb_stack_base.h
#	srsenb/hdr/stack/enb_stack_lte.h
#	srsenb/hdr/stack/gnb_stack_nr.h
#	srsenb/hdr/stack/mac/mac.h
#	srsenb/hdr/stack/mac/mac_metrics.h
#	srsenb/hdr/stack/mac/mac_nr.h
#	srsenb/hdr/stack/mac/sched.h
#	srsenb/hdr/stack/mac/sched_carrier.h
#	srsenb/hdr/stack/mac/sched_common.h
#	srsenb/hdr/stack/mac/sched_grid.h
#	srsenb/hdr/stack/mac/sched_helpers.h
#	srsenb/hdr/stack/mac/sched_phy_ch/sched_dci.h
#	srsenb/hdr/stack/mac/sched_phy_ch/sched_result.h
#	srsenb/hdr/stack/mac/sched_phy_ch/sf_cch_allocator.h
#	srsenb/hdr/stack/mac/sched_ue.h
#	srsenb/hdr/stack/mac/sched_ue_ctrl/sched_harq.h
#	srsenb/hdr/stack/mac/sched_ue_ctrl/sched_lch.h
#	srsenb/hdr/stack/mac/sched_ue_ctrl/sched_ue_cell.h
#	srsenb/hdr/stack/mac/sched_ue_ctrl/tpc.h
#	srsenb/hdr/stack/mac/schedulers/sched_base.h
#	srsenb/hdr/stack/mac/schedulers/sched_time_pf.h
#	srsenb/hdr/stack/mac/schedulers/sched_time_rr.h
#	srsenb/hdr/stack/mac/ta.h
#	srsenb/hdr/stack/mac/ue.h
#	srsenb/hdr/stack/rrc/mac_controller.h
#	srsenb/hdr/stack/rrc/rrc.h
#	srsenb/hdr/stack/rrc/rrc_bearer_cfg.h
#	srsenb/hdr/stack/rrc/rrc_cell_cfg.h
#	srsenb/hdr/stack/rrc/rrc_config.h
#	srsenb/hdr/stack/rrc/rrc_config_common.h
#	srsenb/hdr/stack/rrc/rrc_metrics.h
#	srsenb/hdr/stack/rrc/rrc_mobility.h
#	srsenb/hdr/stack/rrc/rrc_nr.h
#	srsenb/hdr/stack/rrc/rrc_ue.h
#	srsenb/hdr/stack/rrc/ue_meas_cfg.h
#	srsenb/hdr/stack/rrc/ue_rr_cfg.h
#	srsenb/hdr/stack/upper/common_enb.h
#	srsenb/hdr/stack/upper/gtpu.h
#	srsenb/hdr/stack/upper/pdcp.h
#	srsenb/hdr/stack/upper/pdcp_nr.h
#	srsenb/hdr/stack/upper/rlc.h
#	srsenb/hdr/stack/upper/rlc_nr.h
#	srsenb/hdr/stack/upper/s1ap.h
#	srsenb/hdr/stack/upper/s1ap_metrics.h
#	srsenb/hdr/stack/upper/sdap.h
#	srsenb/src/enb.cc
#	srsenb/src/enb_cfg_parser.cc
#	srsenb/src/enb_cfg_parser.h
#	srsenb/src/main.cc
#	srsenb/src/metrics_csv.cc
#	srsenb/src/metrics_json.cc
#	srsenb/src/metrics_stdout.cc
#	srsenb/src/parser.cc
#	srsenb/src/phy/lte/sf_worker.cc
#	srsenb/src/phy/lte/worker_pool.cc
#	srsenb/src/phy/nr/cc_worker.cc
#	srsenb/src/phy/nr/sf_worker.cc
#	srsenb/src/phy/nr/worker_pool.cc
#	srsenb/src/phy/phy.cc
#	srsenb/src/phy/phy_common.cc
#	srsenb/src/phy/prach_worker.cc
#	srsenb/src/phy/txrx.cc
#	srsenb/src/phy/vnf_phy_nr.cc
#	srsenb/src/stack/enb_stack_lte.cc
#	srsenb/src/stack/gnb_stack_nr.cc
#	srsenb/src/stack/mac/mac.cc
#	srsenb/src/stack/mac/mac_nr.cc
#	srsenb/src/stack/mac/sched.cc
#	srsenb/src/stack/mac/sched_carrier.cc
#	srsenb/src/stack/mac/sched_grid.cc
#	srsenb/src/stack/mac/sched_helpers.cc
#	srsenb/src/stack/mac/sched_phy_ch/sched_dci.cc
#	srsenb/src/stack/mac/sched_phy_ch/sf_cch_allocator.cc
#	srsenb/src/stack/mac/sched_ue.cc
#	srsenb/src/stack/mac/sched_ue_ctrl/sched_harq.cc
#	srsenb/src/stack/mac/sched_ue_ctrl/sched_lch.cc
#	srsenb/src/stack/mac/sched_ue_ctrl/sched_ue_cell.cc
#	srsenb/src/stack/mac/schedulers/sched_base.cc
#	srsenb/src/stack/mac/schedulers/sched_time_pf.cc
#	srsenb/src/stack/mac/schedulers/sched_time_rr.cc
#	srsenb/src/stack/mac/ue.cc
#	srsenb/src/stack/rrc/mac_controller.cc
#	srsenb/src/stack/rrc/rrc.cc
#	srsenb/src/stack/rrc/rrc_bearer_cfg.cc
#	srsenb/src/stack/rrc/rrc_cell_cfg.cc
#	srsenb/src/stack/rrc/rrc_mobility.cc
#	srsenb/src/stack/rrc/rrc_nr.cc
#	srsenb/src/stack/rrc/rrc_ue.cc
#	srsenb/src/stack/rrc/ue_meas_cfg.cc
#	srsenb/src/stack/rrc/ue_rr_cfg.cc
#	srsenb/src/stack/upper/gtpu.cc
#	srsenb/src/stack/upper/pdcp.cc
#	srsenb/src/stack/upper/pdcp_nr.cc
#	srsenb/src/stack/upper/rlc.cc
#	srsenb/src/stack/upper/rlc_nr.cc
#	srsenb/src/stack/upper/s1ap.cc
#	srsenb/src/stack/upper/sdap.cc
#	srsenb/test/common/dummy_classes.h
#	srsenb/test/common/dummy_nr_classes.h
#	srsenb/test/enb_metrics_test.cc
#	srsenb/test/mac/sched_benchmark.cc
#	srsenb/test/mac/sched_ca_test.cc
#	srsenb/test/mac/sched_common_test_suite.cc
#	srsenb/test/mac/sched_common_test_suite.h
#	srsenb/test/mac/sched_dci_test.cc
#	srsenb/test/mac/sched_grid_test.cc
#	srsenb/test/mac/sched_lc_ch_test.cc
#	srsenb/test/mac/sched_sim_ue.cc
#	srsenb/test/mac/sched_sim_ue.h
#	srsenb/test/mac/sched_test_common.cc
#	srsenb/test/mac/sched_test_common.h
#	srsenb/test/mac/sched_test_rand.cc
#	srsenb/test/mac/sched_test_utils.h
#	srsenb/test/mac/sched_tpc_test.cc
#	srsenb/test/mac/sched_ue_ded_test_suite.cc
#	srsenb/test/mac/sched_ue_ded_test_suite.h
#	srsenb/test/phy/enb_phy_test.cc
#	srsenb/test/rrc/rrc_nr_test.cc
#	srsenb/test/upper/erab_setup_test.cc
#	srsenb/test/upper/gtpu_test.cc
#	srsenb/test/upper/plmn_test.cc
#	srsenb/test/upper/rrc_meascfg_test.cc
#	srsenb/test/upper/rrc_mobility_test.cc
#	srsenb/test/upper/test_helpers.cc
#	srsenb/test/upper/test_helpers.h
#	srsepc/hdr/hss/hss.h
#	srsepc/hdr/mbms-gw/mbms-gw.h
#	srsepc/hdr/mme/mme.h
#	srsepc/hdr/mme/mme_gtpc.h
#	srsepc/hdr/mme/nas.h
#	srsepc/hdr/mme/s1ap.h
#	srsepc/hdr/mme/s1ap_common.h
#	srsepc/hdr/mme/s1ap_ctx_mngmt_proc.h
#	srsepc/hdr/mme/s1ap_erab_mngmt_proc.h
#	srsepc/hdr/mme/s1ap_mngmt_proc.h
#	srsepc/hdr/mme/s1ap_nas_transport.h
#	srsepc/hdr/mme/s1ap_paging.h
#	srsepc/hdr/spgw/gtpc.h
#	srsepc/hdr/spgw/gtpu.h
#	srsepc/hdr/spgw/spgw.h
#	srsepc/src/hss/hss.cc
#	srsepc/src/main.cc
#	srsepc/src/mbms-gw/main.cc
#	srsepc/src/mbms-gw/mbms-gw.cc
#	srsepc/src/mme/mme.cc
#	srsepc/src/mme/mme_gtpc.cc
#	srsepc/src/mme/nas.cc
#	srsepc/src/mme/s1ap.cc
#	srsepc/src/mme/s1ap_ctx_mngmt_proc.cc
#	srsepc/src/mme/s1ap_erab_mngmt_proc.cc
#	srsepc/src/mme/s1ap_mngmt_proc.cc
#	srsepc/src/mme/s1ap_nas_transport.cc
#	srsepc/src/mme/s1ap_paging.cc
#	srsepc/src/spgw/gtpc.cc
#	srsepc/src/spgw/gtpu.cc
#	srsepc/src/spgw/spgw.cc
#	srsue/hdr/metrics_csv.h
#	srsue/hdr/metrics_stdout.h
#	srsue/hdr/phy/lte/cc_worker.h
#	srsue/hdr/phy/lte/sf_worker.h
#	srsue/hdr/phy/lte/worker_pool.h
#	srsue/hdr/phy/nr/cc_worker.h
#	srsue/hdr/phy/nr/sf_worker.h
#	srsue/hdr/phy/nr/state.h
#	srsue/hdr/phy/nr/worker_pool.h
#	srsue/hdr/phy/phy.h
#	srsue/hdr/phy/phy_common.h
#	srsue/hdr/phy/phy_metrics.h
#	srsue/hdr/phy/prach.h
#	srsue/hdr/phy/scell/intra_measure.h
#	srsue/hdr/phy/scell/scell_recv.h
#	srsue/hdr/phy/scell/scell_state.h
#	srsue/hdr/phy/scell/scell_sync.h
#	srsue/hdr/phy/search.h
#	srsue/hdr/phy/sfn_sync.h
#	srsue/hdr/phy/sync.h
#	srsue/hdr/phy/sync_state.h
#	srsue/hdr/phy/ta_control.h
#	srsue/hdr/phy/ue_lte_phy_base.h
#	srsue/hdr/phy/ue_nr_phy_base.h
#	srsue/hdr/phy/ue_phy_base.h
#	srsue/hdr/phy/vnf_phy_nr.h
#	srsue/hdr/stack/mac/demux.h
#	srsue/hdr/stack/mac/dl_harq.h
#	srsue/hdr/stack/mac/dl_sps.h
#	srsue/hdr/stack/mac/mac.h
#	srsue/hdr/stack/mac/mac_metrics.h
#	srsue/hdr/stack/mac/mux.h
#	srsue/hdr/stack/mac/proc.h
#	srsue/hdr/stack/mac/proc_bsr.h
#	srsue/hdr/stack/mac/proc_phr.h
#	srsue/hdr/stack/mac/proc_ra.h
#	srsue/hdr/stack/mac/proc_sr.h
#	srsue/hdr/stack/mac/ul_harq.h
#	srsue/hdr/stack/mac/ul_sps.h
#	srsue/hdr/stack/mac_nr/mac_nr.h
#	srsue/hdr/stack/mac_nr/mux_nr.h
#	srsue/hdr/stack/rrc/phy_controller.h
#	srsue/hdr/stack/rrc/rrc.h
#	srsue/hdr/stack/rrc/rrc_cell.h
#	srsue/hdr/stack/rrc/rrc_common.h
#	srsue/hdr/stack/rrc/rrc_meas.h
#	srsue/hdr/stack/rrc/rrc_metrics.h
#	srsue/hdr/stack/rrc/rrc_nr.h
#	srsue/hdr/stack/rrc/rrc_procedures.h
#	srsue/hdr/stack/ue_stack_base.h
#	srsue/hdr/stack/ue_stack_lte.h
#	srsue/hdr/stack/ue_stack_nr.h
#	srsue/hdr/stack/upper/gw.h
#	srsue/hdr/stack/upper/gw_metrics.h
#	srsue/hdr/stack/upper/nas.h
#	srsue/hdr/stack/upper/nas_config.h
#	srsue/hdr/stack/upper/nas_emm_state.h
#	srsue/hdr/stack/upper/nas_idle_procedures.h
#	srsue/hdr/stack/upper/nas_metrics.h
#	srsue/hdr/stack/upper/pcsc_usim.h
#	srsue/hdr/stack/upper/tft_packet_filter.h
#	srsue/hdr/stack/upper/usim.h
#	srsue/hdr/stack/upper/usim_base.h
#	srsue/hdr/ue.h
#	srsue/hdr/ue_metrics_interface.h
#	srsue/src/main.cc
#	srsue/src/metrics_csv.cc
#	srsue/src/metrics_stdout.cc
#	srsue/src/phy/lte/cc_worker.cc
#	srsue/src/phy/lte/sf_worker.cc
#	srsue/src/phy/lte/worker_pool.cc
#	srsue/src/phy/nr/cc_worker.cc
#	srsue/src/phy/nr/sf_worker.cc
#	srsue/src/phy/nr/worker_pool.cc
#	srsue/src/phy/phy.cc
#	srsue/src/phy/phy_common.cc
#	srsue/src/phy/prach.cc
#	srsue/src/phy/scell/intra_measure.cc
#	srsue/src/phy/scell/scell_recv.cc
#	srsue/src/phy/search.cc
#	srsue/src/phy/sfn_sync.cc
#	srsue/src/phy/sync.cc
#	srsue/src/phy/vnf_phy_nr.cc
#	srsue/src/set_net_admin_caps.cc
#	srsue/src/stack/mac/demux.cc
#	srsue/src/stack/mac/dl_harq.cc
#	srsue/src/stack/mac/mac.cc
#	srsue/src/stack/mac/mux.cc
#	srsue/src/stack/mac/proc_bsr.cc
#	srsue/src/stack/mac/proc_phr.cc
#	srsue/src/stack/mac/proc_ra.cc
#	srsue/src/stack/mac/proc_sr.cc
#	srsue/src/stack/mac/ul_harq.cc
#	srsue/src/stack/mac_nr/mac_nr.cc
#	srsue/src/stack/mac_nr/mux_nr.cc
#	srsue/src/stack/rrc/phy_controller.cc
#	srsue/src/stack/rrc/rrc.cc
#	srsue/src/stack/rrc/rrc_cell.cc
#	srsue/src/stack/rrc/rrc_meas.cc
#	srsue/src/stack/rrc/rrc_nr.cc
#	srsue/src/stack/rrc/rrc_procedures.cc
#	srsue/src/stack/ue_stack_lte.cc
#	srsue/src/stack/ue_stack_nr.cc
#	srsue/src/stack/upper/gw.cc
#	srsue/src/stack/upper/nas.cc
#	srsue/src/stack/upper/nas_emm_state.cc
#	srsue/src/stack/upper/nas_idle_procedures.cc
#	srsue/src/stack/upper/pcsc_usim.cc
#	srsue/src/stack/upper/tft_packet_filter.cc
#	srsue/src/stack/upper/usim.cc
#	srsue/src/stack/upper/usim_base.cc
#	srsue/src/ue.cc
#	srsue/test/mac_nr/proc_ra_nr_test.cc
#	srsue/test/mac_test.cc
#	srsue/test/metrics_test.cc
#	srsue/test/phy/scell_search_test.cc
#	srsue/test/phy/ue_phy_test.cc
#	srsue/test/ttcn3/hdr/dut_utils.h
#	srsue/test/ttcn3/hdr/lte_ttcn3_phy.h
#	srsue/test/ttcn3/hdr/swappable_sink.h
#	srsue/test/ttcn3/hdr/ttcn3_common.h
#	srsue/test/ttcn3/hdr/ttcn3_drb_interface.h
#	srsue/test/ttcn3/hdr/ttcn3_helpers.h
#	srsue/test/ttcn3/hdr/ttcn3_interfaces.h
#	srsue/test/ttcn3/hdr/ttcn3_ip_ctrl_interface.h
#	srsue/test/ttcn3/hdr/ttcn3_ip_sock_interface.h
#	srsue/test/ttcn3/hdr/ttcn3_port_handler.h
#	srsue/test/ttcn3/hdr/ttcn3_srb_interface.h
#	srsue/test/ttcn3/hdr/ttcn3_sys_interface.h
#	srsue/test/ttcn3/hdr/ttcn3_syssim.h
#	srsue/test/ttcn3/hdr/ttcn3_ue.h
#	srsue/test/ttcn3/hdr/ttcn3_ut_interface.h
#	srsue/test/ttcn3/src/lte_ttcn3_phy.cc
#	srsue/test/ttcn3/src/ttcn3_dut.cc
#	srsue/test/ttcn3/src/ttcn3_syssim.cc
#	srsue/test/ttcn3/src/ttcn3_ue.cc
#	srsue/test/ttcn3/test/rapidjson_test.cc
#	srsue/test/ttcn3/test/ttcn3_if_handler_test.cc
#	srsue/test/upper/nas_test.cc
#	srsue/test/upper/pcsc_usim_test.cc
#	srsue/test/upper/rrc_cell_test.cc
#	srsue/test/upper/rrc_meas_test.cc
#	srsue/test/upper/rrc_phy_ctrl_test.cc
#	srsue/test/upper/rrc_reconfig_test.cc
#	srsue/test/upper/tft_test.cc
#	srsue/test/upper/ue_rrc_nr_test.cc
#	srsue/test/upper/usim_test.cc
4 years ago
Xavier Arteaga e200a3359e SRSUE: check RNTI prior to UL encoding 4 years ago
Pedro Alvarez a5229a02d1 Make sure RRC identity is set when NAS reads UE context from file. 4 years ago
Andre Puschmann bde7b49ca3 ue,mac_nr: add basic SR procedure
the current implementation support only one SR config
and doesn't support the prohibit timer
4 years ago
Xavier Arteaga 6219500148 Added NR-RRC RACH parsing 4 years ago
David Rupprecht 8c86d2084d Adding NR phy config RRC parsing
Added error handling

Reworked flattening error handling
4 years ago
Andre Puschmann 7a3a5f4cf4 rrc_nr: announce short SN in PDCP capabilities
this allows selecting 12bit SNs for the NR PDCP entity
4 years ago
AlaiaL bbaebd1274 Added a warning in the log when the cpu metrics are not registered due
to the number cpu cores is greater than supported.
4 years ago
AlaiaL c9d1c77e8c - Deleted the magic number of maximum supported cores, now it is a
constexpr.
- When the system has more cores that the maximum supported, the cpu
metrics will not be registered.
4 years ago
AlaiaL 6cd9bba641 Added the cpu metrics to the system metrics. 4 years ago
Xavier Arteaga 5bdf2c93b3 Initial NR PDSCH CSI-RS RE skip and other changes 4 years ago
Andre Puschmann 1a0891df51 all: check return value of make_byte_buffer() and handle them safely 4 years ago
Francisco dd336c53ea changed srsran_warning to srsran_expect. Applied new macro to rlc am 4 years ago
srsLTE codebot 80e17d2986 Merge branch 'next' into agpl_next
# Conflicts:
#	lib/src/srslog/sinks/single_write_file_sink.h
4 years ago
Codebot 4523ee6087 rename srsLTE to srsRAN 4 years ago
Xavier Arteaga 49a535b81a SRSUE: force printing neighbour cells by default in console trace 4 years ago
Xavier Arteaga 2782d96170 SRSUE: compute speed from TA commands 4 years ago
Xavier Arteaga a8b5b8efa1 UHD: stability improvements 4 years ago
Xavier Arteaga f3c0360842 Applied aesthetical changes 4 years ago
Xavier Arteaga ddfff3edad SRSUE: Zero transmit buffer if the slot is not UL 4 years ago
Xavier Arteaga fb1a0b6bce SRSUE: added NR-PDCCH information 4 years ago
Xavier Arteaga d3cfb00211 SRSUE: Added TDD DL/UL slot detection 4 years ago
Xavier Arteaga 6f6c20e194 SRSUE: Added procedure for multiplexing UCI in NR-PUSCH 4 years ago
srsLTE codebot 6ccccade9e Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srslte/common/log.h
#	lib/include/srslte/common/log_filter.h
#	lib/include/srslte/common/logger.h
#	lib/include/srslte/common/logger_srslog_wrapper.h
#	lib/include/srslte/common/logmap.h
#	lib/src/common/log_filter.cc
#	lib/src/common/logger_srslog_wrapper.cc
#	lib/src/common/logmap.cc
#	lib/test/common/log_filter_test.cc
#	lib/test/common/test_common_test.cc
4 years ago
Francisco 68c938267f fix srslte include that causes a compilation issue 4 years ago
Francisco d1ab4aae66 fix ipv6 related compilation issue 4 years ago
Francisco 3e9f93eb8a refactor - remove old log_filter and logmap libraries from the codebase 4 years ago
yagoda 2ecdab8717 small fixes to the eMBMS downlink, lack of pdcch decoding was causing issues with uplink 4 years ago
Pedro Alvarez 7447fefd19 Make sure that sending the status report sent after RLC configuration in reestablishment 4 years ago
faluco 173dcdd421 - Import latest srslog version.
- Remove string allocs in some log lines in radio.cc.

Add new tracing buffer capcity options into srsenb and srsue.

Add missing file.
4 years ago
faluco 60cd649b8f Add a short description of the tracing options inside the config files. 4 years ago
faluco c7542daf43 Remove rlc traces and add new ones into tti run functions both in the enb and ue. 4 years ago
Francisco 20e341d0a1 mac,bugfix - fixed formatting of MAC and scheduler user-defined types 4 years ago
Francisco 5a1bf28fe1 optimization - minimization of number of std::string allocations for logging 4 years ago
Xavier Arteaga f4e9d00ea8 Initial HARQ-ACK multiplex in PUSCH 4 years ago
srsLTE codebot d290fe9714 Merge branch 'next' into agpl_next
# Conflicts:
#	srsue/src/phy/nr/state.cc
4 years ago
Andre Puschmann 44e7d41f57 mac_nr: free tx softbuffer in stop() 4 years ago
David Rupprecht 6317c9295c SRSUE NR: Removed workaround to add pdcp lte bearer 4 years ago
David Rupprecht 027c20b0d3 SRSUE: Option mac pcap nr and lte write to the same pcap file 4 years ago
David Rupprecht 410c8e5d0e Fix typo 4 years ago
David Rupprecht 5a95cbdfae Disable rat assignment in pcap class 4 years ago
David Rupprecht bb3e87302d Added new pcap enable option and mac nr 4 years ago
AlaiaL b1483802a2 [metrics] restoring metrics_stdout for enb and ue 4 years ago
AlaiaL d518a625cc [metrics] Added the system metrics to the csv 4 years ago
AlaiaL 0ba7cd7df9 [metrics] Added system metrics to the enb's stdout 4 years ago
AlaiaL 3a86c210f9 [metrics] Added the system metrics to the ue stdout 4 years ago
Xavier Arteaga 4679e9f871 Initial NR CSI reports 4 years ago
Francisco 12f998cea3 fix failing rrc_meas_test 4 years ago
Francisco a72a659fdf fix timers interface to avoid accessing to a timer after its release. fix gtpu tunnel activation during s1 handover 4 years ago
David Rupprecht 3cf68e796d SRSUE: Restore old nr attach status 4 years ago
Xavier Arteaga 1e55d68b55 Removed set RNTI from API 4 years ago
Francisco 4b09507c19 remove srslte.h includes from upper layers 4 years ago
Francisco b329e25bbb move ue phy interfaces to separate interfaces header file 4 years ago
Francisco 13d805ef56 move ue rrc interfaces to separate interfaces header file 4 years ago
Francisco b1706b9197 move ue nas interfaces to separate interfaces header file 4 years ago
Francisco b8bd869d0f move ue rlc interfaces to separate interfaces header file 4 years ago
Francisco a988351f46 move ue pdcp interfaces to separate interfaces header file 4 years ago
Francisco ea04104e8e move ue gw interfaces to separate interfaces header file 4 years ago
Francisco 186285ffd3 move ue usim interfaces to separate interfaces header file 4 years ago
David Rupprecht 8f49b92760 Using PDCP entity lte instead of nr for nr bearer 4 years ago
David Rupprecht 517208a6bc Hardcoding MAC lcid 4 years ago
faluco 2328011732 - Remove old loggers in ttcn3 and in NR. 4 years ago
faluco eaf20fa4f3 - Removed some logger injections in the ue app.
- Removed old logger setup code not needed anymore.
4 years ago
faluco 3ce7454105 - Remove old loggers from ue_stack_lte, ue gw.
- Remove old loggers setting up for these classes.
4 years ago
Francisco f610a7b83d Change background worker pool to become a global variable
Allocate rrc::ue objects in batches in the background worker pool
4 years ago
Xavier Arteaga 126fc09b7d SRSUE: Added initial SR procedure for NR 4 years ago
Codebot eb8d47ab22 Adding AGPL copyright to new files 4 years ago
srsLTE codebot 3daa9f3fc3 Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srslte/common/mac_nr_pcap.h
#	lib/include/srslte/phy/ue/ue_ul_nr_data.h
#	lib/src/common/mac_nr_pcap.cc
#	lib/src/phy/ue/ue_ul_nr_data.c
#	srsenb/hdr/phy/lte/worker_pool.h
#	srsenb/hdr/phy/nr/cc_worker.h
#	srsenb/hdr/phy/nr/sf_worker.h
#	srsenb/hdr/phy/nr/worker_pool.h
#	srsenb/src/phy/lte/worker_pool.cc
#	srsenb/src/phy/nr/cc_worker.cc
#	srsenb/src/phy/nr/sf_worker.cc
#	srsenb/src/phy/nr/worker_pool.cc
#	srsue/hdr/phy/lte/worker_pool.h
#	srsue/hdr/phy/nr/cc_worker.h
#	srsue/hdr/phy/nr/sf_worker.h
#	srsue/hdr/phy/nr/worker_pool.h
#	srsue/hdr/stack/mac/mac_nr.h
#	srsue/src/phy/lte/worker_pool.cc
#	srsue/src/phy/nr/cc_worker.cc
#	srsue/src/phy/nr/sf_worker.cc
#	srsue/src/phy/nr/worker_pool.cc
#	srsue/src/stack/mac/mac_nr.cc
4 years ago
Andre Puschmann 9c4146442a mac,phy: refactor NR MAC/PHY UL data passing interface
inspired by accepted (but not yet merged) PR to include the
(unique_)byte_buffer_t for MAC/PHY interfacing, this patch adds
a few more useful bits to that. Buffer management for UL data is now
done in MAC and only a pointer to the data is passed in the UL action.

* Move Tx softbuffer to MAC (until UL HARQ class is ready)
* Remove temparal data member in cc_worker
* Remove memcpy after packing MAC PDU
4 years ago
David Rupprecht f6f6ee406b SRSUE NR: use correct rnti in rar and make NR proc ra 4 years ago
David Rupprecht 1fcd006a7c fixed segfaulting 4 years ago
Xavier Arteaga b768002a93 SRSUE Added RAR unpacking and other fixes 4 years ago
David Rupprecht 82a8dcc77a Change interface to unique_byte_buffer
logging message for msg3 preparing
4 years ago
David Rupprecht 3af0342418 Added mux class and packing of msg3 4 years ago
David Rupprecht f90f10f6a8 SRSUE: NR handle rar pdu in tb decoded, fixed tti_tx issue, log RA procedure and adjusted testcase 4 years ago
Xavier Arteaga 760ad3a746 SRSUE: Interface stack and PHY for NR-RA procedure 4 years ago
David Rupprecht 0f1586dd2d Deleted all HAVE_5GNR in CC and h files
CMakeList and travis yaml
4 years ago
David Rupprecht 1987ddd923 Added phy_nr to ue_stack_lte 4 years ago
Xavier Arteaga 326c5bc25e Set secondary Serving cell synchronism bandwidth at cell selection and skip at configuration set-up 4 years ago
Pedro Alvarez 6ecd6e273c Make sure that the status report is sent in RLF and PDCP reestablishment triggered by Handover 4 years ago
Pedro Alvarez 827823cfb1 Change reestablish order in RRC Procedures 4 years ago
David Rupprecht a7949e69c8 configure and start ra proc
Fix crash due to missing init
4 years ago
David Rupprecht 876858b44c Added mac nr prach common config convert function with test case 4 years ago
Xavier Arteaga 81748c7b1c SRSUE: PHY does not compile NR interface
Fix
4 years ago
Xavier Arteaga c1e6703054 Remove magic number 4 years ago
Xavier Arteaga bdef411855 SRSUE: Aesthetic changes 4 years ago
Xavier Arteaga 7aef15bf34 SRSUE: notify MAC about UL grant 4 years ago
Xavier Arteaga 784a33583b SRSUE: Initial NR MAC-PHY interfaces
SRSUE Fix compilation

SRSUE: temporary fixes LTE/NR PHY/Stack interface problem

fix

fix
4 years ago
Pedro Alvarez b0fe302f8e Added interfaces so the upper layers can trigger the PDCP status report. Added ability to the UE to send Status Report aftre reestablishment. 4 years ago
Pedro Alvarez 89a23cec7e Added statusReportRequired to the PDCP entity config. 4 years ago
David Rupprecht 24123313bf Added MAC NR RA procedure with a minimal test case 4 years ago
Xavier Arteaga 2e39e103f8 Minor NR related corrections 4 years ago
Xavier Arteaga 9faa2d5fcd SRSUE: Automatic DL-HARQ Reset for every TTI and Generate PUCCH baseband signal 4 years ago
Xavier Arteaga d807ccc3dd SRSUE: Initial NR-PUCCH HARQ feedback 4 years ago
Andre Puschmann f0818275f0 ue,phy: reduce log level when 2nd grant for same PID is registered
this resolves issue #2277 in which a warning was logged when
the CC worker decoded a 2nd phantom PDDCH.

It's difficult to avoid this 2nd PDDCH without addional computation
that we don't want add at this stage.

Rather than filtering out the Warning in the log post-processing,
we reduce the log level to info.
4 years ago
David Rupprecht 4789860bdd Fixes a mismatching between bands in the band combination and feature set 4 years ago
David Rupprecht 14cc25f181 Fixes crash due to not exisiting pointer to log in run time 4 years ago
faluco 62fcf04083 Ported the all radio classes to use srslog. 4 years ago
faluco 9d15a44c73
Port lib/phy to srslog (#2298)
* - Ported the channel class to srslog.
- Removed all newlines of log messages in lib/phy.

* Remove more newlines that use the C debug macros.
4 years ago
Andre Puschmann 6eed6f622f mac_nr: update RA related function in MAC/PHY interface
* expose interface to trigger PRACH from MAC
* indicate PRACH tx from PHY
* add temporary RAR PDU handling with Msg3 grant indication to PHY
4 years ago
Francisco 3265d940ec remove byte buffer pool cached member variables as they are unnecessary now. 4 years ago
Francisco 04ab4eefcd use new make_byte_buffer() helper method to create unique_byte_buffers 4 years ago
Pedro Alvarez bb0e31feda Reduce log level of SDUs dropped in the stack to info. Added ul_dropped_sdus to stack metrics. 4 years ago
Xavier Arteaga aef0397658 SRSUE: NR worker reset Tx buffer and PUSCH data payload bytes from 0 to 255 4 years ago
Xavier Arteaga a19671802e Added SRSUE NR-PUSCH initial procedures 4 years ago
David Rupprecht 3dab82c42f Added interface that allows to update the lcid in case of a nr reconfiguration
nr rrc updates gw lcid if reconf was received
4 years ago
faluco 821925a273 - Upgrade to srslog the loggers in lib/mac.
- Adapted users of these classes and tests.
4 years ago
Xavier Arteaga a8099d0df9 Fix SRSUE compilation without 5GNR 4 years ago
Xavier Arteaga a2d9b436d9 SRSUE: add NR stack to PHY and initial decoded PDU push 4 years ago
Xavier Arteaga 77f0a53abd Added DCI Format 0_0 unpacking and more NR-PUSCH procedures 4 years ago
Xavier Arteaga b150e45129 Renamed NR-PHY state and fix license headers 4 years ago
Andre Puschmann 8e13f04684 mac_pcap: refactor MAC PCAP and include NR RAT into same object
after adding the thread-safe PCAP writer functionality to the EUTRA
MAC object it became clear that we don't wont to replicate the
same for the NR object.

This patch therefore refactors the class that now supports both EUTRA and
NR rats. The old mac_nr_pcap.[h/cc] has been deleted. All test-cases
and usages now use the new object that needs to pass the RAT type in
the ctor.

this patch addresses the last open point of #2160
4 years ago
faluco a7bb3ce7d0 Remove unused variable in vnf_phy_nr. 4 years ago
faluco 79eca0980d - Ported fsm.h to srslog.
- Adapted and removed old loggers in tests and code that used fsm.h
4 years ago
faluco d37a07a47f Replaced loggers in buffer_pool.h 4 years ago
faluco f8485fb799 Replaced loggers to srslog in PNF and VNF classes. 4 years ago
Andre Puschmann a827350f7c mux: avoid unneeded call to msg3_flush() in ctor
this causes a debug log line as the first message in every ue.log because
the loggers/loglevels aren't configured yet.

22:10:02.463396 [MAC ] [D] [    0] Msg3 buffer flushed

the msg3_flush isn't needed because all variables are initialized.
4 years ago
Andre Puschmann 5ec78be872 nas: log switch on/off in info mode 4 years ago
Xavier Arteaga aaa789f530 Removed unused logger 4 years ago
Xavier Arteaga 92c4a38fc2 Fix logger for NR PHY 4 years ago
Xavier Arteaga 2421f2cd99 Multiple PHY fixes and NR-PHY configuration refactor 4 years ago
Xavier Arteaga b652cd68a5 Refactored NR PHY configuration to accept multiple CORESETs/SearchSpaces 4 years ago
Xavier Arteaga 10a7b63c6a NR-UE PHY transmits PRACH in all oportunities 4 years ago
Andre Puschmann df967d95b1 rrc_nr: extract new UE identity from RRC reconfig that tell MAC
required for contention-free RA on NR carrier
4 years ago
Andre Puschmann f5c945dc2f mac_nr: add interface to set C-RNTI and contention ID from RRC
used during contention-based/free RA
4 years ago
faluco ac62e3c398 Fix the priority of logging levels in places where we before logging we check if a certain log level is enabled. 4 years ago
Andre Puschmann cbedb65247 nas: log warning when NAS timer expires
this allows to let test cases fail based on warnings when
NAS events/actions timeout
4 years ago
Andre Puschmann dadb34f0ab rrc: fix missing newline in console output 4 years ago
Andre Puschmann 1aadc5c53e mac_nr: tiny cleanups of MAC class, use of new logger 4 years ago
Andre Puschmann 73cb0dabf2 mac_nr: move UE MAC class into own subfolder
this should simplify further MAC NR extensions and lead
to a more organized folder structure
4 years ago
Andre Puschmann 1a23b2f9bb ue: don't show NR PDSCH constallation plot in normal EUTRA mode
only initialize NR PDSCH plot when nof NR worker is greater 0
4 years ago
Codebot d5ee9a5200 Adding AGPL copyright to new files 4 years ago
Andre Puschmann da9e3363f1 mac_pdu_nr: rename MAC PDU class for NR to adhere naming conventions
* mainly to have _nr as trailing name for filename and class
* also add "sch" to class and filename (RAR PDU will have extra class)
4 years ago
Andre Puschmann cc750d96ee nas: when receiving detach request, don't enter plmn_search automatically
this patch fixes an issue with TC_9_3_1_17 after the "send attach in RRC connected" issue
has been fixed. The TC failed because the UE would always attempt to re-attach, even
after receiving an explicit detach request WITHOUT re-attach from the network.

According to TS 24.301 Sec. 5.5.2.3.2 the handling of that message largely depends
on the detach cause sent by network. Since we don't currently parse and handle
that the simplest solution here is to just enter deregistered:::null.

The patch is also part of the fix for issue #2237
4 years ago
Andre Puschmann 2576ada9e1 nas: do not abort attach procedure if RRC is already connected
this is an attempt to fix issue #2237 that cause the UE to fail to
attach because the attach request wasn't resent after T3410+T3411
expired.

this was only because RRC wasn't idle at that stage and the attach
request generation was aborted.

The patch fixes this by passing the NAS PDU directly to RRC in
connected state.

The patch also converts the blocking PDU alloc to a non-blocking one.
4 years ago
faluco 5981469f9f
Upgrade loggers in srsue (#2163)
* Replaced UE logger in the ue class.

* Replaced loggers in the main phy class and prach.

* Replaced loggers in phy common and ta_control.

* Replace loggers in cc and sf workers.

* Replaced loggers in intra_measure, scell_recv, search, sfn_sync, sync.

* Remove last uses of the old loggers in the main phy class.

* Remove stray newline in logs.

* Replaced loggers in ue gw.

* - Started to replace loggers in the ue stack.
- Replaced loggers in usim and pcsc.
- Adapted nas and usim tests.

* Replace loggers in nas.

* Added missing log init calls in two previously modified tests.

* Replaced logger in nas idle procs.

* Replaced loggers in nas emm state.

* Replaced loggers in tft packet filter and adapted tft test.

* Replaced loggers in main RRC class.

* Replaced loggers in RRC cell.

* Replaced loggers in RRC meas.

* Replaced loggers in rrc procedures.

* Started logger replacement in MAC layer, more precisely in demux and dl_harq classes.
Been unable to inject loggers in construction for dl_tb_process due to very weird static assertions in the std::vector code being the type not constructible which is not true, so instead use the main MAC logger directly.

* Replaced loggers in mac mux class.

* Replaced loggers in mac pro_bsr.

* Replaced loggers in mac proc phr.

* Replaced loggers in mac proc SR and RA.

* Replace loggers in mac UL HARQ.

* Replaced loggers in main ue stack class.

* Fixed nas test crashing due to a null string.

* Ported mac_test to use the new loggers.

* Removed TTI reporting for the PHY log as the old logger did.

* Replaced loggers in UE phy tests.

* Configure loggers in nas_test.

* Replaced loggers in rrc_meas_test.

* Replaced loggers in rrc_reconfig_test.

* Added missing newline in tft_test.

* Fix compilation errors in TTCN3 tests.

* Fix linker error detected in CI and warning.

* Replaced loggers in TTCN3 tests.

* Fix a text replace error in some log messages.

* Remove trailing newlines from log entries.

* Remove old logger from rrc.

* Flush backend before printing the test status.

* - Fix compilation error from previous rebase.
- Remove trailing newlines from some missing log entries.
4 years ago
David Rupprecht 42aa5c4499 Fixed order to set c1 ind ul_dcch_msg 4 years ago
srsLTE codebot c9f48bce7b Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srslte/phy/ch_estimation/ul_rs_tables.h
#	lib/include/srslte/phy/ue/ue_dl_nr_data.h
#	lib/src/phy/ue/ue_dl_nr_data.c
#	srsue/test/ttcn3/hdr/swappable_log.h
4 years ago
Andre Puschmann 4709bacefd srsue: add DL NR-ARFCN param
* add PHY param to set DL NR-ARFCN
* use new band_helper class to convert ARFCNs to supported bands
* signal supported NR bands in UE capabilities
4 years ago
David Rupprecht 9ccc36d4fa Make fake measurement frequency depend on measurement config 4 years ago
David Rupprecht 1b19ee40e7 Added usim features for key derivation 4 years ago
David Rupprecht ceda458bb3 Added MAC NR to EUTRA and NR with stack interfaces including MAC config build
Moved MAC logical channel config to MAC interface types
4 years ago
David Rupprecht e0420049e3 Build infrastucture for reconfig 4 years ago
David Rupprecht 64299960bd Added procedure for NR reconfiguration and RRC with NR complete 4 years ago
Xavier Arteaga 13c594651e Apply minor NR GUI comments 4 years ago
Xavier Arteaga 3ee667c4a5 SRSUE: added NR-PDSCH constellation in GUI 4 years ago
Xavier Arteaga 59114206ae SRSUE: Unify PRACH reconfiguration conditions 4 years ago
Andre Puschmann a09fb95c25 proc_ra: protect RA procedure from concurrent thread access
that patch addreses issue #2199 by defering RA-related calls that
are executed from within PHY workers.

The time-critical bits of more complex functions such as tb_decoded()
are still executed in the PHY worker thread but the state machine
manipulation is defered.
4 years ago
Ismael Gomez a6423442c2
Refactor NR RA files and fix header includes all over library (#2162)
* Refactor NR resource allocation classes. Use DCI instead of grant for dummy PDSCH UE/eNB test

* Minor refactors in NR workers and ue_dl

* Fix include issues

* fix compilation issues
4 years ago
Xavier Arteaga 8a3d70f6da Fix intra-cell measurement ringbuffer overflow 4 years ago
Ismael Gomez a360580999 Run PRACH workers before cc_workers fixes memory corruption when PRACH workers run in foreground (eg in ZMQ) 4 years ago
David Rupprecht a89477a805 Hardcoded Samsung caps can be activated with if 1 in rrc_nr.cc 4 years ago
David Rupprecht bc2e230461 Enable UM mode for Amarisoft 4 years ago
David Rupprecht da0e64c51a Add non_crit_ext for irat parameter 4 years ago
David Rupprecht 1a10c783b5 Faking measurements 4 years ago
David Rupprecht f7d313147a Added infrastrukture for measurements
Init rrc_nr as part of the LTE stack
4 years ago
David Rupprecht 4305929ec7 Hardcoded NR/MRDC-Capabilities 4 years ago
David Rupprecht b79eef0860 Introducing nr_rrc <-> rrc interface for eutra and nr cap query 4 years ago
David Rupprecht 020d0dacc8 add the additional sec cap to NAS attach request
use same capabilities that are signaled for EUTRA
4 years ago
David Rupprecht 9eb0b72cb4 Added rrc function has_nr_dc 4 years ago
Andre Puschmann 37fc1c59e3 fix DRB release logging
this caused wrong logs because the LCID was printed based on the assumption
that the DRB LCID is alwasy 2 + drb ID

Use drb_id as drb_cfg key
4 years ago
Andre Puschmann 910dc5af86 Merge branch 'next' into agpl_next 4 years ago
Xavier Arteaga b3200d9ef5 Renaming common UL/DL DMRS related types and initial NR PUSCH implementation 4 years ago
Andre Puschmann 52da9eb46f srsue,phy: fix setting of PHY log level
probably a regression from the new log system integration.
it was disabling PHY logs, from PRACH for example.
4 years ago
Andre Puschmann 3573644624 srsue: fix stdout metrics print when scells aren't configured yet
during MAC reset, scells are reset to and their PCI is set to UINT32_MAX
which results in malformatted stdout prints, see below:

Random Access Transmission: seq=16, ra-rnti=0x2
Random Access Transmission: seq=14, ra-rnti=0x2
 0   4   -24    24  -1.1u   1.0   140  0.50    0.0     0%   0.0   0.0    0.0    0.0    67%
 14294967295   0.0   0.0  -1.1u   0.0   0.0   0.0    0.0     0%   0.0   0.0    0.0    0.0     0%
 24294967295   0.0   0.0  -1.1u   0.0   0.0   0.0    0.0     0%   0.0   0.0    0.0    0.0     0%
 34294967295   0.0   0.0  -1.1u   0.0   0.0   0.0    0.0     0%   0.0   0.0    0.0    0.0     0%

this patch checks the configured PCI value against UINT32_MAX and
prints "n/a" in case the scells aren't set yet.
4 years ago
Xavier Arteaga 909e5de34f Fix NR workers 4 years ago
Francisco Paisana e27c0869e5 update RRC ASN1 to 2020-09 v15.11 4 years ago
Francisco Paisana 6803f48cc0 cell selection and reest rrc procedures were causing a callstack reentrancy problem. This issue was circumvented with a defer_task call 4 years ago
Andre Puschmann c8801578df gw: use std::chrono for metrics and fix nan display
* replace gettimeofday with std::chrono
* fix nan printing when nof_tti is zero (at startup)
4 years ago
David Rupprecht 81609d48dd Added measurment report for interrat nr15
Added function for removing interrat triggers
4 years ago
David Rupprecht 5df2fb1fa1 Added rrc has nr neighbour cells 4 years ago
David Rupprecht 0e4d77da76 Refactor eutra reporting code and add report triggers for inter rat measurements 4 years ago
David Rupprecht e4e67eebce Added infrastucture to process measurments and evaluate interrat triggers 4 years ago
David Rupprecht 25e5b88704 Added NR range_to_value function and debug logging for measurements 4 years ago
David Rupprecht ce4526a935 Extended measurements interrat nr r15 testcase with measurements 4 years ago
David Rupprecht 826dd32c89 Rename meas_cell to meas_cell_eutra
Added meas_cell_nr class

Make meas_cell list as template class

Inheritance rrc_cell to meas_cell_nr
Added process_new_cell_meas_nr function
4 years ago
David Rupprecht 62b558fccf Move rat type to common header
Removed phy measurement from rrc interface phy

Updated rrc interface for handling measurements
4 years ago
Francisco Paisana 0f693b36b2 changed pdu latency calculation to std chrono 4 years ago
Codebot 98425e0b2b Adding AGPL copyright to new files 4 years ago
Codebot 43082e8d6a enb/ue: turn various warning messages into info
turn events that may happen in the normal life of a eNB/UE
into info rather than warning to allow strict
warning/error checking in tests.
4 years ago
David Rupprecht 848496bb0f Moved get_earfcn to srslte get_carrier_freq func 4 years ago
David Rupprecht d4fb2dfb16 Added handling of inter rat measurement config function
Make report config more agonistic
4 years ago
David Rupprecht 2e51cfc1a5 Added black cells with index function
Added new index functios
Use asn1 list functions for toAddMod and toRem lists
4 years ago
David Rupprecht f4b0042c10 Added minimal interrat and nr measurement testcase
Added the handling of nr_r15 meas config
Added seperate handling of reportConfig for eutra
4 years ago
Andre Puschmann ab598dae3b gw: calculate GW throughput based on TTI timing
similiar like the RLC patch, MAC TTIs are passed to GW so the
rx/tx rate can be calculated based on the LTE timing
4 years ago
Andre Puschmann c0883291f6 rlc: pass TTI to get_metrics to calculate "real" LTE rx/tx rate
when retrieving the RLC metrics, the number of TTIs since the last
call are passed. This allows to calculate the actual rate
based on the LTE timing rather than only the system timing.
4 years ago
Andre Puschmann 1de2abb5f7 sync: log TTI and TTI jumps before calling Stack thread 4 years ago
Andre Puschmann 346c07a9f2 sync: update log TTI before logging first message 4 years ago
Xavier Arteaga c635b1e467 Initial NR DCI blind-search 4 years ago
Xavier Arteaga ebd87e63c0 Fix worker NR compilation 4 years ago
Xavier Arteaga d5d3594f49 Removed unused attribute 4 years ago
Xavier Arteaga d72820ddaa SRSUE: fix compilation 4 years ago
Xavier Arteaga f9643843a0 SRSENB/UE Fixed NR workers 4 years ago
Xavier Arteaga b501f2eeaf SRSENB/UE: Added NR workers 4 years ago
Xavier Arteaga ac930003be SRSUE: Integrated NR workers 4 years ago
Xavier Arteaga a908fb6c5b Fix NR srsue/srsenb. Initial PHY NR in SRSENB. 4 years ago
Xavier Arteaga 2b2db90933 SRSUE: initial NR workers 4 years ago
Xavier Arteaga 85afdf8ce3 SRSENB: moved phy workers to lte worker pool 4 years ago
Xavier Arteaga df5e3414dc Fix segmentation fault 4 years ago
Xavier Arteaga c6798653be SRSUE: created initial PHY LTE worker pool 4 years ago
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 4 years ago
Xavier Arteaga 6d3bf7089f SRSUE: use available carriers for inter-frequency measurement 4 years ago
Francisco 66712023bb remove unneeded includes of full rrc asn1 lib 4 years ago
Xavier Arteaga 959f37ae81 SRSUE: Renamed PHY scell_state to cell_state 4 years ago
Xavier Arteaga c5cb4d9984 SRSUE: Added time accurate SCell activation 4 years ago
Xavier Arteaga f64c268a69 SRSUE: Refactored MAC/RRC SCell Activation/Deactivation 4 years ago
Andre Puschmann 35373d1385 enb,ue: add cmdline arg to enable usage of default LTE sample rate
some RF boards might have issues with the sharp filters that are needed
for the reduced sample rate operation that we use by default.

This switch allows to use the default LTE sampling rates and
configure this at run-time, not compile time.
4 years ago
David Rupprecht a8074fe39d Fixed TTCN UE for starting a service request in rrc_idle 4 years ago
Pedro Alvarez 38822873e8 Stop T3402 4 years ago
Pedro Alvarez 604e79214d Changed NAS is_attached interface to is_registered. 4 years ago
Pedro Alvarez 5649ecaab0 Renamed nas_common.h to nas_config.h. Moved emm_state_t into nas_emm_state.h and nas_emm_state.cc. 4 years ago
Pedro Alvarez 14844a168a Created new class to hold all NAS states for the NAS state machine. Added EMM-DEREGISTERED substates and EMM-REGISTERED substates.
Decoupled PLMN selection, attach request and service request. Removed RRC connect procedure from NAS.
4 years ago
Andre Puschmann 2be85217fd mac,ue: reset demux when restting MAC
this potentially fixes the issue we see during HO and RLF
under high DL load.

The issue happens because buffered DL PDUs are delivered to
RLC after reestablishing RLC that confuse the receiving
RLC entity bc the sequence numbers are very high, as opposed
to begin with zero again after reestablishment.
4 years ago
Ismael Gomez 67690136be Select strongest cell after cell search (#2001)
* Select strongest cell in all frequencies when

* Change variable name
4 years ago
Ismael Gomez 709d69d55f Reset rv_idx after an adaptive retx in UE 4 years ago
Andre Puschmann 7cf919e2af Fix MAC PDU packing after sending Truncated BSR (#2004)
* mac_test: add extended TBSR unit test

unit test to MAC UL packing after sending a TBSR

this fixes the MAC issues described in issue #2002

* mux: fix updating of LCG buffer state after packing PDU

we've previously lowered the buffer state of the LCG according
to the bytes that have been scheduled, but not according to
those that have been actually included in the PDU.

* proc_bsr: fix LCG buffer state updating for TBSR

when sending a TBSR do not update the internal buffer
state of the BSR proc.

This caused issues because the buffer state for all LCG that
are not included in the TBSR are set to zero, although at least
one LCG does have data to transmit.

* rlc_am: include LCID when logging retx of SN
4 years ago
Francisco Paisana 510959b50f update nr asn1 files, and asn1 tests 4 years ago
Andre Puschmann 082e002b67 nas: fix airplane mode simulation
the current implementation was somehow broken after a
NAS refactor. It was undetected because we didn't really
use it.

this fixes the simulation by using a single timer to simulate
airplane mode transitions.
the timer is rearmed in the timer_expire() function
if the correspondig event is set.

Has been tested to work well with, e.g.:

--sim.airplane_t_on_ms 5000 --sim.airplane_t_off_ms 10000
4 years ago
Xavier Arteaga 32ea840a30 INTRA: better ring-buffer protection 4 years ago
Xavier Arteaga 369cffec00 More deterministic SCell search test 4 years ago
Xavier Arteaga a5f9ea5654 SRSUE: force paging for every cell reselection procedure end 4 years ago
Andre Puschmann fd5cde525c proc_bsr: fix race condition in BSR reporting
fix for #1934

This fixes a race condition between Stack thread and DL
PDU processing that lead to updates of the RLC buffer that
are undetected by the BSR routine.

What happens is that in a UL SCH PDU all outstanding data is transmitted
and and a LBSR with all zero buffers is sent.

14:39:47.327301 [MAC ] [D] [ 3793] BSR:   LCID=3 old_buffer=59
14:39:47.330600 [MAC ] [I] [ 3793] UL LCID=3 len=58 LBSR: b=0 0 0 0

Note that "old_buffer" isn't set to zero here.

At the same time (same TTI), the MAC PDU processing thread handles DL-SCH PDUs
that may generate new UL PDUs:

14:39:47.330749 [RLC ] [I] DRB1 Tx SDU (54 B, tx_sdu_queue_len=1)
14:39:47.330762 [RLC ] [I] DRB1 Tx SDU (54 B, tx_sdu_queue_len=2)
14:39:47.330775 [RLC ] [I] DRB1 Tx SDU (54 B, tx_sdu_queue_len=3)
..

Those PDUs are "new data" since the previous buffer state was zero.

Here is the race now between the threads, at the end of the bsr::step() function
old_buffer of each LCG is updated with the previous new_buffer, so
the buffer state of LCG=2 is now 59.

Now MAC starts the next TTI:

14:39:47.331910 [MAC ] [D] [ 3794] Running MAC tti=3794
14:39:47.331928 [MAC ] [D] [ 3794] Update Bj: lcid=0, Bj=0
14:39:47.331934 [MAC ] [D] [ 3794] Update Bj: lcid=1, Bj=0
14:39:47.331938 [MAC ] [D] [ 3794] Update Bj: lcid=2, Bj=0
14:39:47.331941 [MAC ] [D] [ 3794] Update Bj: lcid=3, Bj=-1752
14:39:47.331951 [MAC ] [D] [ 3794] BSR:   LCID=0 update new buffer=0
14:39:47.331960 [MAC ] [D] [ 3794] BSR:   LCID=1 update new buffer=0
14:39:47.331964 [MAC ] [D] [ 3794] BSR:   LCID=2 update new buffer=0
14:39:47.331971 [MAC ] [D] [ 3794] BSR:   LCID=3 update new buffer=335
14:39:47.331976 [MAC ] [D] [ 3794] BSR:    check_new_data() -> get_buffer_state_lcg(0)=0
14:39:47.331980 [MAC ] [D] [ 3794] BSR:    check_new_data() -> get_buffer_state_lcg(1)=0
14:39:47.331984 [MAC ] [D] [ 3794] BSR:    check_new_data() -> get_buffer_state_lcg(2)=59
14:39:47.331988 [MAC ] [D] [ 3794] BSR:    check_new_data() -> get_buffer_state_lcg(3)=0
14:39:47.331993 [MAC ] [D] [ 3794] BSR:   LCID=0 old_buffer=0
14:39:47.332000 [MAC ] [D] [ 3794] BSR:   LCID=1 old_buffer=0
14:39:47.332003 [MAC ] [D] [ 3794] BSR:   LCID=2 old_buffer=0
14:39:47.332007 [MAC ] [D] [ 3794] BSR:   LCID=3 old_buffer=335

And since the buffer state of LCG=2 isn't zero, the new data for LCID=3 of that LCG is considered.
So effectivly, the BSR missed the "empty" buffer state for a fraction of time and doesn't
consider the outgoing data generated in the same TTI as new. It therefore
doesn't transmit a BSR.

in which a BSR wasn't
4 years ago
Andre Puschmann 465c3d9186 proc_sr: remove info log when starting SR proc
this was a very noisy log that was printed in pretty much
every TTI because the BSR procedure starts a SR whenever
it needs to send a regular BSR. The SR is canceled when a UL
grant arrives but the log line stays there.

Since we are printing a log when we actually signal a SR
to the PHY, this line is not needed.
4 years ago
Andre Puschmann 1e3ad5b0dc proc_bsr: fix high priority channel trigger logic
this fixes the trigger logic for periodic BSRs. Previously we
would always trigger the "new data for highest priority LCID"
whenever new data becomes available for a LCID for which
a BSR has already been sent.

However, a BSR should only be sent if the priority is in fact higher
(lower int number).
4 years ago
Andre Puschmann d5286e70aa proc_bsr: refactor and add extra print_state() method
allows to call the print_state() routine from other places in the BSR
4 years ago
Andre Puschmann d1ef5bd915 demux: log DL PDUs
instead of just printing the LCIDs that contain SDUs,
we use the to_string() function to log the entire MAC DL-SCH PDU
4 years ago
Andre Puschmann 0740154bff rrc,sync: fix two uninit vars
detected by Valgrind when running UE with TDD cell
4 years ago
Andre Puschmann 58776bc227
ue,sync: increase timeout for entering IDLE to 2s (#1941)
in ZMQ runs we've seen that entering idle could take quite
a bit of time depending how quickly workers get their samples
sent or reconfigurations done.

In one example up to ~160ms

this patch increases the maximum wait time to 2s.
4 years ago
Francisco Paisana 514deaf25b fix resetting of phy and mac during reestablishment 4 years ago
Xavier Arteaga caf37b8e62 Added serving cell index in UCI/CSI report trace 4 years ago
Francisco Paisana 0842ed9db1 fixed phy cell selection state update for the fail path 4 years ago
Francisco Paisana 665b3996bb now the phy controller handles the scenario where the phy cell selection failed to be initialized 4 years ago
Andre Puschmann 287c653755 proc_bsr: improve BSR logging to print name of triggered BSR instead of enum 4 years ago
Andre Puschmann 3994407f46 proc_bsr: fix BSR insertion in UL PDUs
the BSR trigger wasn't reset after includinga regular or periodic
BSR inside a PDU. This caused the muxing to include another BSR in the
next UL grant. For very small grants, for example with 6 PRBs, this
causes the UE to send way too many BSRs.
4 years ago
Andre Puschmann 937067a205 proc_phr: rename start_periodic_timer() and make sure its only started if a valid config is present 4 years ago
Andre Puschmann fab86382c1 mac,rrc: add interface to set SR config explicitly without touching any other MAC function
when releasing PUCCH/SRS (see 5.3.13 in 36.331) we need to reset the SR config as well.
In our case, SR is handled by MAC so we need to (re-)configure MAC, not all of
MAC though, just SR.
4 years ago
Francisco Paisana f185272367 added comments explaining the meaning of the cell reselection procedures 4 years ago
Francisco Paisana 49e7b8e36e - Change periodicity of cell reselection after a new serving cell has been selected
- Enable PHY intra measurements during RRC_IDLE
4 years ago
Francisco Paisana 585d7c923a refactor and simplification of cell selection procedure. Using now a SIB3 threshold to decide whether to select neighbor cell while in RRC_IDLE 4 years ago
Francisco Paisana cae116932b rewrite the rrc::leave_connected() function to better match the standard. The measurements should not stop while in RRC_IDLE. 4 years ago
Pedro Alvarez 5a4e71a6e4 Created k_enb_context structure that holds k_enb, NCC and NH to make it easier to restore context from failed handover. 4 years ago
Pedro Alvarez bcb422736c Save and restore NH on handover and handover failure. 4 years ago
Xavier Arteaga 08e24d00af Fix TA console trace 4 years ago
Pedro Alvarez 3eb525563a Fix issue reading MNC length in USIM. 4 years ago
Xavier Arteaga 6ae47b6510 SRSUE: Deafult PUCCH/SRS does not imply full PHY dedicated defaults 4 years ago
Andre Puschmann 5e95fd4a43 ul_harq: reduce log level for new_grant_ul() if RNTI isn't found
this avoid logging a warning on UE shutdown if the MAC is already reset
but one of the PHY workers still decodes an UL grant for the old RTNI

21:30:29.254844 [RRC ] [I] Going RRC_IDLE
21:30:29.254848 [RRC ] [I] Proc "Go Idle" - Left connected state
21:30:29.259499 [PHY0] [I] [ 3865] Finished setting new PHY configuration cc_idx=0
21:30:29.259512 [PHY0] [I] [ 3865] Setting new PHY configuration cc_idx=0...
21:30:29.264190 [PHY0] [I] [ 3867] Finished setting new PHY configuration cc_idx=0
21:30:29.275036 [PHY1] [I] [ 3872] PHICH: hi=1, corr=1.0, I_lowest=1, n_dmrs=0, I_phich=0
21:30:29.275050 [MAC ] [W] [ 3872] Received grant for unknown rnti=0x46
4 years ago
Andre Puschmann 362461329a rrc: improve log message when detecting RLF 4 years ago
Andre Puschmann 76c648106f rrc: remove varMeasState for unknown neighbor cells
this fixes issue #1846 that appears to be related
to the enter/exit state for measurements that is kept
even after a cell disappears from the neighbor list
4 years ago
Andre Puschmann 829dfc4e60 metrics_stdout: fix precision calculation for 100%
the precision for 100% was causing the default value of -1 which in turn
cause to print the full precision resulting in ugly stdout plots.

before:
--------Signal--------------DL-------------------------------------UL----------------------
cc pci  rsrp    pl    cfo   mcs   snr turbo  brate   bler   ta_us  mcs   buff  brate   bler
 0   0   -10    74    0.0   0.0   0.0   0.0   200k     0%   0.0   0.0    0.0    0.0     0%
 1   0   0.0   0.0    0.0   0.0   0.0   0.0   150k100.000000%   0.0   0.0    0.0    0.0     0%

after:
--------Signal--------------DL-------------------------------------UL----------------------
cc pci  rsrp    pl    cfo   mcs   snr turbo  brate   bler   ta_us  mcs   buff  brate   bler
 0   0   -10    74    0.0   0.0   0.0   0.0   200k     0%   0.0   0.0    0.0    0.0     0%
 1   0   0.0   0.0    0.0   0.0   0.0   0.0   150k   100%   0.0   0.0    0.0    0.0     0%
4 years ago
Andre Puschmann e72219789e ul_harq: don't clear payload buffer during HARQ reset
this fixes #1791 which was caused by a race between
the PHY workers preparing a new UL-SCH PDU and the Stack resetting
the MAC, which in turn resets the HARQ processeses, which cleared
the buffer and set the length to zero.

Not explicitly clearing the buffer on a HARQ reset seems to be
fine since the PHY worker clears the buffer before starting to
pack a new PDU anyway.
4 years ago
Pedro Alvarez 22a6dc305f Moved common variables and functions from the usim and pcsc_usim classes into usim_base class. 4 years ago
Francisco Paisana 8a917bdd06 fix RRC phy controller call to phy->set_config. Only the PCell was being configured 4 years ago
Francisco Paisana 4ebe92f6a3 refactor phy configuration in the rrc to keep track of activated scells, and cells configurations 4 years ago
Francisco Paisana cfc77118d3 disable console print of scell activation command during handover 4 years ago
Francisco Paisana d910c910a4 rrc::meas_cell now uses stack timers instead of system timers. 4 years ago
Francisco Paisana 023d32975a avoid use of pointers to meas_cells in ho_proc as they may become dangling 4 years ago
Francisco Paisana 072b7be582 renamed rrc::cell_t to rrc::meas_cell 4 years ago
Andre Puschmann d02e8135fb metrics_stdout: reset n_reports var after writing intermediate table header 4 years ago
Andre Puschmann 0ef8e1fdac rrc: include pci when logging serving cell measurement
this should facilitate easier log parsing and plotting
if the cell measurements _always_ include the PCI, even
in the case of the serving cell

15:49:11.357447 [RRC ] [I] MEAS:  New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=+0.1 Hz
15:49:11.391610 [RRC ] [I] MEAS:  New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.4 Hz
15:49:11.427325 [RRC ] [I] MEAS:  New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.6 Hz
15:49:11.463101 [RRC ] [I] MEAS:  New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.7 Hz
15:49:11.499817 [RRC ] [I] MEAS:  New measurement serving cell: earfcn=0, pci=1, rsrp=-11.51 dBm, cfo=+0.1 Hz
15:49:11.499828 [RRC ] [I] MEAS:  New measurement neighbour cell: earfcn=2850, pci=0, rsrp=-12.16 dBm, cfo=-0.8 Hz
15:49:11.535027 [RRC ] [I] MEAS:  New measurement serving cell: earfcn=0, pci=1, rsrp=-11.46 dBm, cfo=-0.8 Hz
15:49:11.571707 [RRC ] [I] MEAS:  New measurement serving cell: earfcn=0, pci=1, rsrp=-11.46 dBm, cfo=-0.9 Hz
15:49:11.607932 [RRC ] [I] MEAS:  New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.8 Hz
4 years ago
Andre Puschmann 6e0abd30dd ue,phy_common: include Pcell PCI in cell measurements
this allows easier plotting in RRC when PHY cell
measurements already include the PCI
4 years ago
Andre Puschmann baf171d446 rrc: improve SR configuration logging
* move logging of SR max attempts into MAC logging
* log new MAC config whenever it is updated
4 years ago
Andre Puschmann bf7c2b800e proc_sr: log error when trying to enable faulty SR config 4 years ago
Andre Puschmann ddbf4e1645 metrics_stdout: print new table header if neighbour cells change
this fixes an issue where the stdout metrics isn't readable if the only
neighbour cell gets removed during the 10s where no table header is printed.

--------Signal--------------Neighbor----DL-------------------------------------UL----------------------
cc pci  rsrp    pl    cfo  pci  rsrp  mcs   snr turbo  brate   bler   ta_us  mcs   buff  brate   bler
 0   2   -66    61  -3.3k   1   -76    11    18   1.1   8.4M     3%   0.0    21    262   167k     0%
 0   2   -65    60  -3.3k   1   -76    12    19   1.1   9.6M     2%   0.0    22    476   214k     0%
 0   2   -65    60  -3.3k   1   -76    16    22   1.3    13M     3%   0.0    23   1.1k   734k     0%
 0   2   -64    59  -3.3k   1   -76    17    23   1.3    15M     2%   0.0    23    602   424k     0%
 0   2   -63    58  -3.3k   1   -77    20    25   1.4    19M     3%   0.0    23    501   304k     0%
 0   2   -62    57  -3.3k   1   -77    22    27   1.8    20M    10%   0.0    22    417   418k     0%
 0   2   -61    56  -3.3k   1   -77    24    28   1.8    25M     9%   0.0    23    396   439k     0%
 0   2   -61    56  -3.3k   1   -77    26    29   1.5    23M    22%   0.0    23    841   407k     0%
 0   2   -60    55  -3.3k   1   -77    27    31   1.3    27M    11%   0.0    23    890   1.1M     0%
 0   2   -59    54  -3.3k   1   -77    27    32  1.00    30M     3%   0.0    23    583   524k     0%
 0   2   -59    54  -3.3k   1   -77    27    32  0.92    32M     1%   0.0    23   1.1k   503k     0%

--------Signal--------------DL-------------------------------------UL----------------------
cc pci  rsrp    pl    cfo   mcs   snr turbo  brate   bler   ta_us  mcs   buff  brate   bler
 0   2   -59    54  -3.3k    27    31   1.1    30M     4%   0.0    23   1.2k   529k     0%
 0   2   -60    55  -3.3k    27    30   1.4    25M    18%   0.0    23    540   442k     0%
 0   2   -61    56  -3.3k    26    29   1.6    23M    21%   0.0    23    536   429k     0%
 0   2   -62    57  -3.3k    24    28   1.8    23M    13%   0.0    23    834   456k     0%
 0   2   -62    57  -3.3k   1   -78    21    26   1.6    20M     7%   0.0    23    723   425k     0%
 0   2   -63    58  -3.3k   1   -76    17    22   1.1    15M     3%   0.0    23    470   267k     0%
 0   2   -64    59  -3.3k   1   -77    17    22   1.3    15M     3%   0.0    23    167   280k     0%
 0   2   -65    60  -3.3k   1   -76    14    21   1.3    11M     2%   0.0    22     57   223k     0%
 0   2   -65    60  -3.3k   1   -76    12    19   1.2   9.0M     3%   0.0    21    135   182k     0%
 0   2   -66    61  -3.4k   1   -70   9.3    17   1.0   6.9M     2%   0.0    21    246   126k     0%
 0   2   -67    62  -3.3k   1   -75   8.2    16   1.1   4.9M     3%   0.0    20    0.0   122k     0%
4 years ago
Pedro Alvarez 2f0125ef4e Fix issue recovering key state, when the first HO fails (specifically, is_first_ncc was not recovered). Minor improvements in key logging. 4 years ago
Francisco Paisana 1f2cca8909 in the rrc reconf procedure, handle the scenario where the rrc reconfiguration message does not config the phy 4 years ago
Francisco Paisana edd5c50f9a pass nas pdus after sending rrc reconf complete 4 years ago
Francisco Paisana c6f4776a6f send the nassdus sooner in the rrc reconf procedure 4 years ago
Francisco Paisana fc49b5a030 implemented rrc reconfiguration procedure that includes a continuation when phy configuration is complete 4 years ago
Andre Puschmann 5a9b1865e4 proc_bsr: fix typo 4 years ago
Xavier Arteaga ef9d77c966 SRSUE: add PRACH config present field in PHY configuration structure 4 years ago
Francisco Paisana 924cc4f937 during cell selection, if the serving cell is ok, avoid calling serving cell configuration if the sibs are already acquired 4 years ago
Ismael Gomez 4e88daae21
Set DCI unpacking errors to info (#1781) 4 years ago
faluco dfeed52514 - Rename out_stream function to console. 4 years ago
faluco 62faef7c71 - Replaced all uses of the log::console method. 4 years ago
Francisco Paisana b3eb9651d6 disable cqi in scells during handover procedure 4 years ago
Ismael Gomez f4c7021a5f Appy phy configuration to current_phy_cfg before sending to PHY after HO 4 years ago
Francisco Paisana 8a9a95a937 ensure sibs are acquired if cell selection calls cell search 4 years ago
Francisco Paisana af3ff5985e removal of console print of last selected cell during the cell selection procedure. 4 years ago
Francisco Paisana c33e94fede fix conformace 8_5_1_1 failure 4 years ago
Francisco Paisana 045f647914 fix edge case where serving cell is good enough for reestablishment but the sibs are not yet acquired 4 years ago
Ismael Gomez d671e39c93 Fix SINR not correctly considering noise. Missed dBm conversion 4 years ago
Francisco Paisana 5ecbe8fb17 cleanup of the reestablishment procedure state machine. It does not need to wait for the serving cell configuration because such procedure is already included in the cell selection procedure 4 years ago
Sylvain Munaut 5783c01cbb tf_packet_filter: Improve support for the different filter types 4 years ago
Ismael Gomez bb691f0cbe
Fix priority order in BSR trigger. Was not being triggered if SRB2 data was pending in the buffer (#1771) 4 years ago
Ismael Gomez 8c30822350 Fix bug in update_measurements() not reporting in_sync in single carrier 4 years ago
Francisco Paisana 0997daa7a0 now the handover procedure in the srsUE does not wait for the phy cell selection result. It only waits for the RA result 4 years ago
Ismael Gomez c75c463263
Use SNR instead of SINR for RLF threshold (#1769)
* Use SNR instead of SINR for RLF threshold

* Send in/out-sync only for cc_idx=0
4 years ago
Ismael Gomez 76bfc78147
Fix issues with Sounding-RS (#1761)
* Fix deadlock caused by update_measurements calling in_sync

* Fix overlapping SRS condition

* Do not use shortened PUSCH in transmissions and retx from RAR

* Revert "Fix deadlock caused by update_measurements calling in_sync"

This reverts commit f58c8c8c766f8f95baa3a3bf8287d8e25b2057ba.
4 years ago
Francisco Paisana 2d321231df fix reest proc. The reest proc state has to be set before launching the procedure, because the procedure can complete immediately on launch call 4 years ago
Pedro Alvarez 86f4d469c6 Added some functions to save and restore AS keys for the case of failed handover in the USIM 4 years ago
Francisco Paisana 81ab4c1a65 make sure ho procedure waits for t304 expiry in all cases 4 years ago
Ismael Gomez b94d24ed98
Take into account CRS from neigbhour cells when measuring interference (#1757)
* Take into account CRS from neigbhour cells when measuring interference

* fix std::isnormal compilation

* Fixed compilation of test

* Address comments

* Remove unused overrides
4 years ago
Francisco Paisana d068d594af implemented rrc reestablishment procedure part after sending reest request 4 years ago
Francisco Paisana 7d6c9a1751 Add cause and cell pci to reestablishment console message 4 years ago
Francisco Paisana 73e21daeb2 refactor reestablishment procedure to more closely follow TS. 4 years ago
Andre Puschmann 1afc137032
[REBASE] Make PHY non-blocking and fefactor HO procedure (#1753)
* Make PHY non-blocking and fefactor HO procedure

* makes entire PHY non-blocking through command interface
* adds dedicated queue for cell_search/cell_select commands
* refactor HO procedure to run faster, in one stack cycle. Looks closer to the specs
* force ue to always apply SIB2 configuration during reestablishment
* Run update_measurements in all workers

Co-authored-by: Ismael Gomez <ismagom@gmail.com>
4 years ago
Ismael Gomez 399b986d0b
Fix deadlock caused by update_measurements calling in_sync (#1760) 4 years ago
Francisco Paisana eb370642ab verify cell selection observer is set before calling it 4 years ago
Francisco Paisana 7f8af023b8 added a callback that always gets triggered when the phy cell selection completes. This callback checks if cell selection failed, and if so, sets the rsrp of the selected cell to -infinity 4 years ago
faluco f0d651ae8e - Fixed a leak in the MME class not releasing the static byte buffer pool.
- Now the pool gets destroyed on program exit using a unique_ptr.
- Removed manual cleanup() calls in all the code base to free the pool instance.
4 years ago
Ismael Gomez 5968157ea5
Protect better the access to shared variables in phy_common and metrics (#1750) 4 years ago
Andre Puschmann eeb2b904aa ue,rach: fix failing RACH proc when Msg3 grant RNTI matches current CRNTI
this was preventing that the Temp-CRNTI used in the RAR to be identical
to the currently configured C-RNTI of the UE.

The issue simply was that the RACH procedure was declared successful too
early, even before the Msg3 UL grant was filled with the Msg3 content.

The patch moves the logic that detects the successful completion of
the RACH procedure below the Msg3 packing.
4 years ago
faluco e14cb4b405 - Fix a missing thread join in the phy which caused a memory leak. 4 years ago
faluco 5acc1c9a73 - Cleaned up style in the PRACH class:
* Removed magic numbers.
* Reduced indentation of statements with early exists.
* Removed elses after a return statement.
* Trimmed unnecessary include files.
* Default initialized members in the class.
4 years ago
faluco b6bbe8761a - Remove left over printf. 4 years ago
faluco 79f5b62551 - Calculate PRACH buffers on the fly when required instead of pregenerating all of them. 4 years ago
Andre Puschmann b616944a13 ue,rrc: fix security config during HO/reestablishment
we fix a number of very related issues for HO/reestablishment
in the success/error case:

* this patch removes the hard-coded check that intra-cell HO aren't
allowed. There are cases where eNBs use this method to update
the security context.

* the patch also fixes an issue after failed HO where the security context
of the source eNB should be used for the reestablishment.

* update security keys according to specs when mobilitycontrol
indicated change of key
4 years ago
Francisco Paisana 97133894e6 the Ocs value used in the measReport triggering decision was not being set correctly. The enum of the cell individual offset in the measCfg was being cast to an int and stored. Instead what we want is to store the actual offset value using the ASN1 enum->number lookup table. 4 years ago
Xavier Arteaga 44c2412be2 SRSUE: silent PUSCH encoding error by dropping invalid grant 4 years ago
Francisco Paisana 739c0c5c00 altered plmn search procedure handling of failed cell searches. If a cell search procedure fails due to inability to select a cell or acquire SIB1, the plmn search carries on for other frequencies. 4 years ago
Andre Puschmann 8df388ba3e usim: fix typo in log 4 years ago
Ismael Gomez b397878d25 Fix comments in ue.conf 4 years ago
faluco 5e8a4c898d
Bring back the circular array object. (#1712) 4 years ago
Xavier Arteaga 52355024e7 SRSUE PHY: move mutex lock to cc worker and unlock for stack calls 4 years ago
Ismael Gomez 4c1d3ef7e8
Fix implementation of Random Access problem (#1689)
* Fix implementation of Random Access problem

* Apply AS activated condition on RLF before calling Reestablishment
4 years ago
Ismael Gomez f49fbd6d02
Fix the order of HO/reest measurement actions (#1696) 4 years ago
Andre Puschmann c16ac6c890 ue_stack: only push sync event to event queue is stack is still running
stopping the UE in ZMQ mode caused a dead-lock because the Stack was
stopped before the PHY causing the sync queue to overflow. Since we
use a queue-length of 1 in ZMQ, mode, the PHY sync thread was blocking to
push a new sync event while the stack thread was already stopped.

this patch makes sure no new sync events are queued after the stack has
been terminated.
4 years ago
Andre Puschmann aec18a93d1 mux,bsr: refactor UL buffer status reporting
this patch fixes the UL BSR as per TS 36.321, it includes following
main changes:

* report UL buffer state to reflect the UEs transmit buffer after
  the MAC UL PDU containing the BSR has been built.
  In other words, if the UE, for example, can transmit all outstanding
  data in an UL grant, it will not report any pending data to transmit.

* refactor MUX routines and subheader space calculation
4 years ago
Ismael Gomez 51521ad8e4 Improved PDCCH blind search and fixed a few issues with ambiguous DCI size with Release 10 4 years ago
Andre Puschmann 14289ebcc6 dl_harq: lower log level when MCS changes in DL grant to debug
fixes #1489

this is normal behavior and should not result in a warning message.
4 years ago
Ismael Gomez 06a5bdaab2 Process all calls to RLF in the main RRC task 4 years ago
Francisco Paisana 92221eb780 update of rrc_interface_mac to remove signal from mac to rrc that RA failed in case of handover failure 4 years ago
Francisco Paisana 46e1e101d3 removal of unecessary ho_ra_complete(false) in mac. In case of HO failure, the rrc should let the t304 expire 4 years ago
Francisco Paisana aed9120458 in case of RA problem during handover, the UE cannot trigger RLF. It has to let t304 expire, which will then trigger the reestablishment procedure with the right cause 4 years ago
Francisco Paisana fca1273b3e avoid spurious warnings of trying to start the PRACH when it is already running during handover 4 years ago
Francisco Paisana fddcc3d8ea In the case of Handover, postpone the activation of the CQI and SR config present in the HO command for after the RA proc completion to the target eNB 4 years ago
Andre Puschmann 49a7a90698 mac: simplify BSR packing logic
simplify logic to check whether a BSR fits and, if so, which type.
before the check has been done in two places.

we now also accomodate for the CE subheader size.
4 years ago
Andre Puschmann 6364a4513c mac_pdu: fix issue when packing CE but no space left in PDU
we've not checked the return value when adding a new CE, like BSR or PHR,
for a UL MAC PDU. For very small UL grants, this could fail and
we need to remove the subheader again before packing the PDU.

This fixes issue #1649.
4 years ago
Francisco Paisana 5242f9422b fix deadlock in handover 4 years ago
Ismael Gomez 72cc4e0ca5 Stop ContentionResolutionTimer on RA error. Updated test 4 years ago
Xavier Arteaga df2c949417 Radio: add individual Rx gain and integrate in srsue
Fix compilation

Fix compilation

Add missing variable. Wasn't compiling

Radio: revert some changes
4 years ago
Xavier Arteaga 029f36b449 srsLTE: added efficient integer resampler and srsue/srsenb integration 4 years ago
Xavier Arteaga 1ff74da078 Remove wrong error message 4 years ago
Francisco Paisana 75b204bc52 fix phy ctrl call to cell selection observers 4 years ago
Francisco Paisana 834c0b3929 integrated new observer pattern into phy controller fsm 4 years ago
Francisco Paisana 48dd436d86 integrated observer pattern into rrc phy ctrl fsm 4 years ago
Francisco Paisana 997552ee45 stop t304 when handover is successful 4 years ago
Francisco Paisana 1d8286eb62 always wait for t304 to expire in case of failed handover 4 years ago
Francisco Paisana ccc8ab70ef stop t304 on handover procedure exit 4 years ago
Francisco Paisana db15f43a77 set reestablishment cause correctly on handover failure 4 years ago
Francisco Paisana b1670c005b remove shadowed variables for reestablishment during handover 4 years ago
Xavier Arteaga 0e96ef3df0 Channel emulator takes SNR as input parameter 4 years ago
Francisco Paisana 8c9e596f89 refactored s1ap handover request interface. cleaned up rrc tenb s1 handover code 4 years ago
Francisco Paisana 7cd4f45d62 fsm refactor.
- avoid triggering directly a subfsm
- improved metafunctions
- other cleanups
4 years ago
Francisco Paisana 841b884796 remove extern C flags from common_helper.h 4 years ago
Francisco Paisana 5be5409f62 scaling governor function moved to common header file 4 years ago
Francisco Paisana 087805d222 add warning if scaling governor is not performance mode 4 years ago
Francisco Paisana 8d10aa906e move defer_task to switch case in the rrc 4 years ago
Andre Puschmann 24dfb03b9d rrc: defer manipulations of the RLC/PDCP arrays
all calls that manipulate the RLC and/or PDCP arrays suffer
from a high deadlock risk if a PHY worker holds the RLC
AM Rx mutex at the same time when the stack wants to carry
out this reconfiguration.

this applies to RRC Reconfigs, but potentially also to RRC Connection
Reestablishment or even RRC Connection Setup, although this should
seldom be the case.

By breaking the call stack between RLC->PDCP->RRC->RCL and
carrying out the reconfig as a single task without holding the
RLC readlock the deadlock should not happen anymore.

This should fix issue #1593
4 years ago