Commit Graph

2569 Commits

Author SHA1 Message Date
Andre Puschmann 2248e63219 ue,proc_ra_nr: add mutex to protect access from PHY and Stack
detected with TSAN
2021-09-16 15:22:59 +02:00
Andre Puschmann cc2d71183e ue,phy,nr: fix race condition when setting UL grant for Msg3
the Msg3 UL grant requires the TTI in which the RAR has been received
to calcualte the correct timing. There was a race between PHY and Stack
thread.

This patch circumvents the issue by removing a PHY state member that only holds
the RAR Rx timing. In the new interface the RA proc passes the Rx TTI
to the PHY again when setting the UL grant so the PHY can calculate the
correct timing without any state.
2021-09-16 15:22:59 +02:00
faluco 485ec2edab Implement a new option to flush the file sink contents on every write. 2021-09-14 10:22:37 +02:00
Andre Puschmann 07019a5bd6 nr: refactor DL/UL frequency deriviation
* add separate DL/UL freq point a in NR carrier struct
* use freqInfoDL/freqInfoUL to get freq point a
* simplify carrier tuning logic
2021-09-13 10:27:16 +02:00
Codebot 958542dc2b Merge branch 'next' into agpl_next 2021-09-12 23:12:24 +02:00
Andre Puschmann f382a7c7db Revert "ue,proc_ra_nr: add temporary flag to skip RAR reception"
This reverts commit 28668aac34.
2021-09-09 14:29:04 +02:00
Andre Puschmann a518b81a10 phy,nr: don't print hex content of failed PDSCH 2021-09-09 14:29:04 +02:00
Andre Puschmann 5a936d9940 ue,rrc: handle DRB removal correctly
when RRC receives a command to remove a DRB, it also needs to delete
the bearer at RLC and PDCP
2021-09-09 14:29:04 +02:00
Andre Puschmann 54ab64327a ue,mac_nr: move BSR levels lookup table into lib header
prepare for shared use with gNB
2021-09-09 14:29:04 +02:00
Andre Puschmann ba17b64c70 worker_pool: fix newline 2021-09-09 12:04:27 +02:00
David Rupprecht 285aae8e36 Fixing srsue namespace in rrc meas test 2021-09-08 11:28:17 +02:00
David Rupprecht a9a23214b0 Added more 5G security kdfs
Added new 5G SIM functions

Added const parameters for security functions
2021-09-07 11:06:56 +02:00
David Rupprecht a645d74eaf USIM functions for res star
Added gen_res_star in security.h

Added USIM interfaces for res star

Added RES star test case
2021-09-07 11:06:56 +02:00
David Rupprecht bce6b5cc0f Added kdf common
Use kdf functions in 5G KDF

Moved EPS KDF function to new KDF structure
2021-09-07 11:06:56 +02:00
David Rupprecht 15eaef21e2 Update test f12345 function
Moved XOR functions to lib

Added testcase for KDF

Minor liblte_security updates
2021-09-07 11:06:56 +02:00
Andre Puschmann 272fc47bc2 ue,worker_pool: fix logging of Msg3 UL grant 2021-09-06 10:35:59 +02:00
Codebot de59c88954 Merge branch 'next' into agpl_next
# Conflicts:
#	srsue/hdr/stack/bearer_manager.h
#	srsue/src/stack/bearer_manager.cc
2021-09-05 23:12:20 +02:00
Andre Puschmann 548c45a8fc enb,mac_nr: add RAR packing 2021-09-03 12:09:41 +02:00
Andre Puschmann ede81be5e4 mac_rar_pdu_nr: add packing routines
* add packing for RAR PDUs
* rewrite to_string() to use fmt lib
* add test case for packer
2021-09-03 12:09:41 +02:00
Andre Puschmann b20fefbe45 mac_nr_test: flush srslog at the end of test
fixes stack use after free detected by ASAN

2021-08-31T17:21:44.885938 [MAC-NR ] [D] [    0] Building new MAC PDU (9 B)
==10908==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffc481b5340 at pc 0x563c0486d489 bp 0x7ffc481b4470 sp 0x7ffc481b4460
READ of size 1 at 0x7ffc481b5340 thread T0
    #0 0x563c0486d488 in srsran::mac_sch_subpdu_nr::to_string(fmt::v7::basic_memory_buffer<char, 500ul, std::allocator<char> >&) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x139488)
    #1 0x563c0486db87 in srsran::mac_sch_pdu_nr::to_string(fmt::v7::basic_memory_buffer<char, 500ul, std::allocator<char> >&) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x139b87)
    #2 0x563c0481c127 in srsue::mux_nr::get_pdu(unsigned int) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0xe8127)
    #3 0x563c0484e62b in srsue::ul_harq_entity_nr::ul_harq_process_nr::new_grant_ul(srsue::mac_interface_phy_nr::mac_nr_grant_ul_t const&, bool const&, srsue::mac_interface_phy_nr::tb_action_ul_t*) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x11a62b)
    #4 0x563c04850de4 in srsue::ul_harq_entity_nr::new_grant_ul(srsue::mac_interface_phy_nr::mac_nr_grant_ul_t const&, srsue::mac_interface_phy_nr::tb_action_ul_t*) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x11cde4)
    #5 0x563c047bb004 in srsue::mac_nr::new_grant_ul(unsigned int, srsue::mac_interface_phy_nr::mac_nr_grant_ul_t const&, srsue::mac_interface_phy_nr::tb_action_ul_t*) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x87004)
    #6 0x563c04760cdc in msg3_test() (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x2ccdc)
    #7 0x563c0475f762 in main (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x2b762)
    #8 0x7fae1cf400b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
    #9 0x563c047601bd in _start (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x2c1bd)

Address 0x7ffc481b5340 is located in stack of thread T0 at offset 320 in frame
    #0 0x563c0486d78f in srsran::mac_sch_pdu_nr::to_string(fmt::v7::basic_memory_buffer<char, 500ul, std::allocator<char> >&) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x13978f)
2021-09-03 12:09:41 +02:00
Andre Puschmann 9b4f6cb8bb mac_nr: pretty-print received/transmitted MAC PDUs in logs 2021-09-03 12:09:41 +02:00
Francisco Paisana f4df55c245 stack lte: separate bearer manager into two classes, one for the ue and one for the enb 2021-09-03 12:06:17 +02:00
Andre Puschmann db8b710442 bearer_manager: move to lib folder and extend for multiple users
prepare bearer manager to be used by eNB which requires
to support multiple RNTIs
2021-09-02 17:12:04 +02:00
faluco 5f9aceb8b6 Fix alignment issue with the stdout metrics in srsue. 2021-09-02 17:10:56 +02:00
Andre Puschmann 4ef1ac2649 gw: (re-)use class mutex when updating the DL/UL metrics 2021-08-31 17:01:50 +02:00
Andre Puschmann aa43e3c8d6 ue,mac: adding missing mutex when updating metrics 2021-08-31 17:01:50 +02:00
Andre Puschmann e1776f8d28 ue,phy: update the PRACH params inside the lambda that also executes the reconfig
setting the new PRACH params (writing the the local var) needs to protected as well
because it is called from the RRC context and the PHY worker will call configure_prach_params()
if it sees changes to it.
2021-08-31 17:01:50 +02:00
Andre Puschmann 40499e6b6d ue_stack_lte: use std::atomic for running var 2021-08-31 17:01:50 +02:00
Andre Puschmann 79cdc28015 nas_test_common: call NAS layer from stack thread context
since NAS layers insn't thread safe, all calls must come from
the same thread
2021-08-31 17:00:59 +02:00
Andre Puschmann 78d60bc138 nas: remove all uses of atomic from 4G and 5G classes
the NAS classes aren't thread safe and thread-safety shouldn't be
pretended by using atomics. Remove them and add explicit notice.
2021-08-31 17:00:59 +02:00
Codebot 522ca4b43a Adding AGPL copyright to new files 2021-08-29 23:12:37 +02:00
Codebot d1d38d1826 Merge branch 'next' into agpl_next 2021-08-29 23:12:35 +02:00
Xavier Arteaga 8aa7ae7d95 Remove unused attribute 2021-08-26 09:34:43 +02:00
Xavier Arteaga 4cb633e6e6 UE dicards NR CFO measurement if SNR is negative 2021-08-26 09:34:43 +02:00
Xavier Arteaga 83b9b2d1ff Implemented UE open loop CFO compensation for NR 2021-08-26 09:34:43 +02:00
Xavier Arteaga 9c3dd56398 Added PDCCH DMRS interleaved mapping 2021-08-26 09:34:43 +02:00
Xavier Arteaga d61d6aa59f Integrated CORESET0 into UE's RRC 2021-08-26 09:34:43 +02:00
Francisco Paisana 7a527cd09e fix,lte: zero-initialize phy_meas_t in rlf test 2021-08-24 20:15:33 +02:00
Francisco Paisana 36eee0ab40 test,nr: add ra_search_space configuration to phy_cfg_nr; now the test ue searches for RA-RNTI while expecting a RAR 2021-08-24 20:15:22 +02:00
Francisco Paisana f518861ebc fix location of support/ folder. Created macros for ASSERT_EQ and ASSERT_NEQ 2021-08-23 16:47:54 +02:00
Ismael Gomez 7839ab09dc Add RLF-Reportv9 to srsUE 2021-08-23 16:34:33 +02:00
Codebot 83f103fe4b Merge branch 'next' into agpl_next 2021-08-22 23:12:22 +02:00
David Rupprecht 3217c00cfc Adjusting NAS base security function to 5G 2021-08-19 11:03:06 +02:00
Codebot 60fb9ae9a6 Merge branch 'next' into agpl_next 2021-08-15 23:12:19 +02:00
Codebot 635d0bc6e9 Merge branch 'next' into agpl_next 2021-08-08 23:12:19 +02:00
Andre Puschmann fc2b6a7fb5 ue,rrc: fail NR reconfiguration if mac-logicalChannelConfig is not present 2021-08-07 12:33:10 +02:00
Andre Puschmann e6d9ec40ef ue,rrc: let RRC reconfig fail when LCID cannot be derived from DRB id 2021-08-07 12:33:10 +02:00
Xavier Arteaga cba6df3722 Extended NR PHY robustnes against wrong RRC configuration 2021-08-03 17:30:08 +02:00
Andre Puschmann 28668aac34 ue,proc_ra_nr: add temporary flag to skip RAR reception
this will be removed again as soon as the eNB supports full RAR
transmission.
2021-08-02 15:18:47 +02:00
Andre Puschmann d78cbdf9bb ue,proc_ra_nr: fix retransmission of PRACH after failed RAR rx
if the backoff value is calculated to be zero, don't start
a timer but tx new preamble directly
2021-08-02 15:18:47 +02:00
Andre Puschmann 99dc94ab38 nas: make state variables atomics
NAS states and substates maybe be requested from other threads so
they need to be protected.

Note that the caller still needs to hold it's own mutex if different
actions are required based on the state.
2021-08-01 11:41:11 +02:00
Xavier Arteaga c9183326ce Clean up some code and minor change 2021-07-28 12:14:37 +02:00
Xavier Arteaga dbb10dd6a2 Hold worker thread until baseband is transmitted 2021-07-28 12:14:37 +02:00
Xavier Arteaga 0c7239e5df SRSUE: add RF channel offset 2021-07-28 12:14:37 +02:00
Xavier Arteaga b57df4db10 Refactored worker_end mechanism for concurrent workers 2021-07-28 12:14:37 +02:00
Andre Puschmann e833751031 rrc_nr: add CSI config packing 2021-07-28 10:26:09 +02:00
Andre Puschmann f181733c7e rrc_nr,enb: add more fields to spcell cfg dedicated 2021-07-28 10:26:09 +02:00
David Rupprecht 04ef6e120d Added new SIM functions to get MCC, MNC and MSIN 2021-07-27 09:26:52 +02:00
Andre Puschmann 9c298b203d srsue: reduce the default RRC release to 8 (minimum value) 2021-07-26 11:04:02 +02:00
Codebot 2dd440bb76 Adding AGPL copyright to new files 2021-07-25 23:12:23 +02:00
Codebot a8ef3ba6b2 Merge branch 'next' into agpl_next
# Conflicts:
#	srsenb/test/common/dummy_nr_classes.h
2021-07-25 23:12:21 +02:00
David Rupprecht 2563a78f34 Added basic 5G NAS metrics 2021-07-22 19:41:26 +02:00
David Rupprecht 9172059078 Supply ctor with logger instead of fetching 2021-07-22 14:12:39 +02:00
Xavier Arteaga bb4f469794 Integrated SR decoder in gNb 2021-07-21 10:40:40 +02:00
Andre Puschmann fc8fe032ff rrc_nr,endc: add more fields to NR RRC Reconfig for EN-DC activation
adds a big chunk of new fields to the reconfig packing code,
tested with srsUE
2021-07-19 12:53:09 +02:00
Codebot 3a5ee8d41a Adding AGPL copyright to new files 2021-07-18 23:12:23 +02:00
Codebot ccf8cfb65f Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srsran/common/basic_pnf.h
#	lib/include/srsran/common/basic_vnf.h
#	lib/include/srsran/common/basic_vnf_api.h
#	lib/src/common/basic_vnf.cc
#	lib/test/common/pnf_bridge.cc
#	lib/test/common/pnf_dummy.cc
#	srsenb/hdr/phy/vnf_phy_nr.h
#	srsenb/hdr/stack/mac/nr/sched_nr_common.h
#	srsenb/hdr/stack/mac/nr/sched_nr_phy_helpers.h
#	srsenb/src/phy/vnf_phy_nr.cc
#	srsenb/src/stack/mac/nr/sched_nr_common.cc
#	srsenb/src/stack/mac/nr/sched_nr_phy_helpers.cc
#	srsue/hdr/phy/vnf_phy_nr.h
#	srsue/src/phy/vnf_phy_nr.cc
2021-07-18 23:12:20 +02:00
David Rupprecht 0217bf5332 Fixed name space for rrc ue 2021-07-16 10:09:07 +02:00
faluco 7b7ecb7983 Add a new configuration option that controls PDSCH baseband sample dump to a file on KO. 2021-07-14 16:17:23 +02:00
Xavier Arteaga b25681f9de gnb,prach: add PRACH to gNB
rebase of Xavier's feature_gnb_prach branch
2021-07-14 14:30:58 +02:00
David Rupprecht fb92118bb7 Add 5G NAS infrastructure 2021-07-14 13:38:08 +02:00
David Rupprecht 505225d845 Added ue nas base class with security functions 2021-07-14 13:38:08 +02:00
David Rupprecht 7fa85ab336 Added nas test common file 2021-07-14 13:38:08 +02:00
David Rupprecht 59ca11db68 Added missing target_link_libs 2021-07-14 09:41:37 +02:00
Andre Puschmann 9d6d437ba5 mac_nr,ue: don't decode RAR PDU that couldn't be decoded
ignore RAR PDU when PDSCH wasn't OK
2021-07-14 09:28:51 +02:00
Andre Puschmann c7d29f4af1 ttcn3: fix potential deadlock
* fix a few races detected with TSAN in SR proc of the DUT
* fix deadlock caused by sync_queue_size set to 1
2021-07-13 10:16:36 +02:00
Andre Puschmann e0d9afc342 proc_ra: fix race detected with TSAN
rar_received is accessed from PHY worker and Stack thread
2021-07-13 10:16:36 +02:00
Andre Puschmann 6c82d63aa6 remove legacy PNF/VNF code
the code hasn't been maintained for a while an likely needs to be
adapted for a real-world scenarios.

in order to avoid having to maintain two MAC/PHY interfaces we
remove the code from now.
2021-07-12 19:24:02 +02:00
Codebot 516951c41c Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srsran/interfaces/rrc_nr_interface_types.h
#	lib/include/srsran/phy/enb/enb_dl_nr.h
#	test/phy/nr_dl_flood.cc
2021-07-11 23:12:20 +02:00
Xavier Arteaga 54a12870ec SRSUE: avoid negative SR transmission in NR 2021-07-09 22:32:40 +02:00
Andre Puschmann f2f9082d09 ue,rrc_meas: fix invalid access to field when eport_quant_cell_nr_r15 is not present 2021-07-06 21:57:44 +02:00
Xavier Arteaga e764a26136 Integrated PUCCH decoding in gNb 2021-07-05 17:51:27 +02:00
Xavier Arteaga e3afd945bc Refactored NR HARQ ACK feedback 2021-07-05 17:51:27 +02:00
Xavier Arteaga eecaccb541 Added NR PHY helpers 2021-07-05 17:51:27 +02:00
Andre Puschmann 5dbeecdbb5 ue,upper: fix linking on 32bit platforms with missing atomic libs 2021-07-05 08:59:19 +02:00
Codebot 58ca99d22a Adding AGPL copyright to new files 2021-07-04 23:12:21 +02:00
Codebot 585e3c51c1 Merge branch 'next' into agpl_next
# Conflicts:
#	srsenb/hdr/phy/nr/cc_worker.h
#	srsenb/hdr/phy/nr/sf_worker.h
#	srsenb/src/phy/nr/cc_worker.cc
#	srsenb/src/phy/nr/sf_worker.cc
#	test/phy/nr_phy_test.cc
2021-07-04 23:12:19 +02:00
Andre Puschmann 5999b0d3a5 ue: move blocking wait for detach outside of stack class
the thread sleep waiting for the UE release should not run
on the stack thread. Move it to the UE class therefore.
2021-07-02 17:22:49 +02:00
Andre Puschmann 3173dedf0a ue_stack_lte: make sure to execute stack commands on Stack thread
some commands were executed from the calling thread which may lead
to concurrent access to members. Detected by TSAN. The patch
moves all remaining calls (the majority was alread moved) to the
Stack task queue.
2021-07-02 17:22:49 +02:00
Andre Puschmann fb4dd3ba7b ttcn3: fix various races between SS and Stack thread detected by TSAN
fixed through the right usage of mutexes in both TTCN PHY and syssim.
nested mutex locking is solved by calling SS from the PHY after
releaseing the PHY lock again.
2021-07-02 17:22:49 +02:00
Ismael Gomez 4e39982a19
Fix TSAN warnings in UE (#3021)
* Protect PHY SR signal management in a class

* Protect intra_freq_meas vector

* Protect cell and srate shared variables in thread-safe classes

* srsue,srsenb: include TSAN options header

* Protect ue_rnti_t and rnti scheduling windows behind thread-safe classes

* Protect access to state variable in sync_state

* Protect access to metrics configuration

* Protect access to is_pending_sr

* Protect access to UE prach worker

* Protect UE mux

* Avoid unlocking mutex twice

* Fix data races in RF/ZMQ

* Fix data races in intra_measure and PHY

* Fix minor data races in MAC

* Make TSAN default behaviour to not halt on error

* Fix blocking in intra cell measurement

* Address comments

Co-authored-by: Andre Puschmann <andre@softwareradiosystems.com>
2021-07-01 17:39:54 +02:00
Pedro Alvarez 1b676aa406 Moved lib GTPU to its own folder 2021-06-30 18:19:20 +01:00
Pedro Alvarez 865298f8d5 Moved lib PDCP to its own folder 2021-06-30 18:19:20 +01:00
Pedro Alvarez 171d5727be Moved lib RLC into it's own folder 2021-06-30 18:19:20 +01:00
Andre Puschmann 8087bb01e4 nas: log message when airplane mode timer expires 2021-06-28 17:35:02 +02:00
Andre Puschmann 0a16f48869 gw: fix race condition
GW thread was checking the default_eps_bearer variable without
protection. RRC could update it when deleting DRB or receiving RRC
connection release.
2021-06-28 17:35:02 +02:00
Andre Puschmann 4d11e5552a rrc,ue: for RRC conn release, delay transition to RRC idle by 60ms as per TS 36.331
when receiving RRC connection release all actions shall be delayed by 60ms as
per the standard
2021-06-28 17:35:02 +02:00
Andre Puschmann 368c7b9e4f ue,stack: clear all EPS bearers when going RRC idle
the EPS bearer manager was only informed when a single DRB
was removed but not when entering idle which requires to
remove all bearers.

This cause the service request to fail.
2021-06-28 17:35:02 +02:00
Xavier Arteaga aef3e5a40a More NR PHY test and GNB PHY development 2021-06-28 00:27:36 +02:00
Xavier Arteaga d49734b1bc SRSENB: Refactor to accomodate 5G NR 2021-06-28 00:27:36 +02:00
Codebot bfa1215b89 Merge branch 'next' into agpl_next 2021-06-27 23:12:19 +02:00
Andre Puschmann e248e086ed ttcn3_dut: reset TFT matcher object when DUT is switched off 2021-06-24 16:52:58 +02:00
Andre Puschmann 7a85191323 nas: call GW for all removed EPS bearers
this makes sure that GW can also remove all associated TFTs
2021-06-24 16:52:58 +02:00
Andre Puschmann ab0fba5449 gw: try to remove TFTs for all non-default EPS bearer
GW needs to reset its default EPS bearer when it is removed
and also try to remove all TFTs for a non-default bearere when
it is removed.
2021-06-24 16:52:58 +02:00
Andre Puschmann 5313fb99d6 tft: add helper to delete all TFTs for EPS bearer
when a EPS bearer is removed, all associated TFTs need
to be removed as well.
2021-06-24 16:52:58 +02:00
Andre Puschmann eef9eb80c4 ttcn3_ue: fix removal of dedicated EPS bearer 2021-06-24 16:52:58 +02:00
Andre Puschmann 60f8a8db1c nas,tft: add support for TFT modification 2021-06-24 16:52:58 +02:00
Andre Puschmann 483a216bd5 ue,stack: refactor handling of radio bearears in UE stack
this is a rather large commit that is hard to split because
it touches quite a few components.

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

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

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

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

The NAS also has a EPS bearer map but only knows about default and
dedicated bearers. It doesn't know on which logical channels they
are transmitted.
2021-06-24 16:52:58 +02:00
Andre Puschmann 3f9c069ff7 ue_stack_lte: add RLC and PDCP entities for NR 2021-06-24 16:52:58 +02:00
Andre Puschmann 7113e55d53 rlc: refactor RLC entity to use smart pointers for holding bearers
this patch mainly modernizes the bearer creation to use smart pointers.
that allows to simplify the error handling.

ue_stack is changed to match new interface. This commit compiles
but doesn't work.
2021-06-24 16:52:58 +02:00
David Rupprecht 6d5391756c Refactor build of RLC NR config 2021-06-24 16:52:58 +02:00
David Rupprecht d1d8500ce5 Add testcase for reconfiguration 2021-06-24 16:52:58 +02:00
Andre Puschmann e2c496d825 srsue,mac: fix race between PHY and MAC when stopping UE
the issue let to unwanted log warning at the end of the UE
execution when the PHY was still pushing DL PDUs while MAC
was already stopped.

This fixes #3003
2021-06-24 16:46:25 +02:00
Xavier Arteaga b1e4720721 SRSUE/SRSENB: added tx_enable flag in worker_end 2021-06-21 18:07:53 +02:00
Xavier Arteaga 027201d457 SRSUE/SRSENB: Refactor NR workers to generalise lower PHY 2021-06-21 18:07:53 +02:00
Ismael Gomez 9c60ef092c Fix test for non-contention HO 2021-06-21 11:46:21 +02:00
Ismael Gomez 66eb6f20f1 Fix non-contention HO missing the T-CRNTI 2021-06-21 11:46:21 +02:00
Codebot f77261927d Adding AGPL copyright to new files 2021-06-20 23:12:22 +02:00
Codebot a2cc847747 Merge branch 'next' into agpl_next 2021-06-20 23:12:20 +02:00
Ismael Gomez 5aa5a8e997 Revert UE changes 2021-06-18 23:17:14 +02:00
Ismael Gomez e35a0d72fa Revert UE changes 2021-06-18 23:17:14 +02:00
Ismael Gomez aa5944da78 Fix T-CRNTI push pdu 2021-06-18 23:17:14 +02:00
Ismael Gomez c206d3c0fa fix ttcn3 tests 2021-06-18 23:17:14 +02:00
Ismael Gomez dd9889e07c Add carrier index to uplink PCAP captures 2021-06-18 23:17:14 +02:00
Francisco 9139f88b31 fix,srsue: defer enqueuing of the rrc reconf complete message to avoid that it goes in the UL grant whose PDCCH was scheduled in the TTI as the PDSCH that carried the HO command 2021-06-14 19:27:55 +01:00
Xavier Arteaga fc5d069743 SRSUE: Default PHY measurements to NAN 2021-06-14 09:21:29 +02:00
Codebot 20f62def63 Adding AGPL copyright to new files 2021-06-13 23:12:25 +02:00
Codebot d9cb5d01ff Merge branch 'next' into agpl_next 2021-06-13 23:12:22 +02:00
Andre Puschmann 94959b5318 srsue,test: reorganize test folders and move to components like we in PHY 2021-06-10 15:18:42 +02:00
Pedro Alvarez a53b321ab8 Release UE upon reception of integrity error. 2021-06-08 18:52:22 +01:00
Pedro Alvarez 299d2ee35d Added interface to make the PDCP notify the RRC of integrity check
failures.
2021-06-08 18:52:22 +01:00
Xavier Arteaga 6123926353 Fix NR cell search frequency 2021-06-08 14:55:12 +02:00
Xavier Arteaga a79d518799 Added SSB search measure/decode file test 2021-06-08 14:55:12 +02:00
Xavier Arteaga 5181a9d64c Implemented PBCH blind decode 2021-06-08 14:55:12 +02:00
Xavier Arteaga a31f3d42ce Added RF NR search tool and added baseband file 2021-06-08 14:55:12 +02:00
Xavier Arteaga 157af40417 Fix shadow variables in sync.cc 2021-06-08 10:21:38 +02:00
Xavier Arteaga 3a011155db SRSUE: Make sure PHY reset is done when SYNC is IDLE 2021-06-08 10:21:38 +02:00
Codebot 73a61b884e Merge branch 'next' into agpl_next 2021-06-06 23:12:31 +02:00
Andre Puschmann c0be8187c8 rlc interface: convert entire read_pdu() interface to return uint32_t
we had it returning int but had a bug in using the return value properly,
i.e. handling when -1 was returned in RLC TM.

Thinking about it more, it doesn't make sense to have a negative return
value here anyway. Either the RLC can return a PDU or not. If it can't the
returned lenght is zero.
2021-06-04 13:23:54 +02:00
Andre Puschmann aaffdeb326 rrc,rlc: add method to signal protocol failure to RRC
general-purpose method for lower layers to signal protocol
failures to higher layers, i.e. RRC.

In the current case, implement a direct release of the UE (enb) or
a reestablishment (UE).
2021-06-03 21:11:47 +02:00
Andre Puschmann 107f6334dd compile: fix compilation on 32bit systems that require -latomic 2021-06-03 20:45:02 +02:00
Francisco 486823e5de sched,bugfix: The PHR handling scheme now considers the number of PRBs of the UL grant that carried the PHR. Before, it was assuming the most conservative scenario of Nprb=1 2021-06-03 15:33:38 +01:00
Xavier Arteaga d74f70289e SRSUE: fix last reported RI state 2021-06-02 18:12:36 +02:00
Andre Puschmann b0a2f31478 prach: protect configuration and state getters with mutex
purely TSAN with unit-test based approach that protects
the state getters and configuration routines with a mutex
2021-06-02 09:36:44 +02:00
Andre Puschmann d2ec3ca5e1 intra_measure_base: fix race detected with TSAN
use mutex to protect state getters
2021-06-02 09:36:44 +02:00
Andre Puschmann f43e82a8a6 ue_phy_test: fix test 2021-06-02 09:36:44 +02:00
Andre Puschmann 98a91a2057 sync: protect sync_state, access ue_sync object only from one thread
races detected with TSAN, primarily the ue_sync object which isn't
thread-safe is accessed by all workers to set the CFO and by the
sync thread to receive samples (which read the CFO).

The patch introduces shadow variables that are updates from the
main thread before/after the sync is executed. The atomic shadow
variables can then be read from otherthreads without holding a
mutex, i.e. blocking the sync.
2021-06-02 09:36:44 +02:00
Andre Puschmann 2c975732dc metrics_stdout: fix race detected by TSAN 2021-06-01 22:44:12 +02:00
Andre Puschmann 8ab512c2be nas_test: fix TSAN warnings
remove mutex and cvar again that we used to circumvent the startup.
we now use a atomic variable to sync the main thread and the stack.
2021-06-01 22:44:12 +02:00
Xavier Arteaga 2d0a21f779 Move radio frequency mapping out of the PHY common into the PHY reset method 2021-06-01 16:38:55 +02:00
Andre Puschmann 11a6d3160f mac_test: include TSAN options header 2021-05-31 10:54:14 +02:00
Andre Puschmann 018c734b09 dl_harq: fix unlocking of unlocked mutex bug detected by TSAN
in the mac_test the tb_decoded() method was called twice for
the 2nd codeword, causig TSAN to complain about an unlocked mutex
being unlocked.

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

The patch also adjusts the reset function to have a safe and "unsafe"
version to be called from inside the class, similar to other
classes where we do the same.
2021-05-31 10:54:14 +02:00
Xavier Arteaga 5c55ff24ec Minor UE aesthetical changes 2021-05-31 10:48:17 +02:00
Xavier Arteaga 44b6a2b55f Fix SYNC wait for IDLE if the state is reached 2021-05-31 10:48:17 +02:00
Xavier Arteaga 807b60988d Wait for PHY workers to transmit before considering SYNC in IDLE 2021-05-31 10:48:17 +02:00
Xavier Arteaga 93b35676e7 Solve concurrency issue when setting up SCell measurement 2021-05-31 10:48:17 +02:00
Xavier Arteaga 7185ec6beb PHY CC configuration is stashed and applied in the next TTI 2021-05-31 10:48:17 +02:00
Xavier Arteaga 235a664120 SRSUE: Removed PUSCH-DMRS/SRS pregeneration methods 2021-05-31 10:48:17 +02:00
Xavier Arteaga aab2211058 Protect UE PHY SCell configuration 2021-05-31 10:48:17 +02:00
Xavier Arteaga a7dcd629ef Cell search waits for IDLE transition before launch 2021-05-31 10:48:17 +02:00
Xavier Arteaga cc2a6dc269 Review cell selection and SCell configuration during HO 2021-05-31 10:48:17 +02:00
Xavier Arteaga 65d51f5855 Fix unitialised value 2021-05-31 10:48:17 +02:00
Andre Puschmann b40867ffec ue,rrc: add simple connection setup procedure
this is an attempt to fix #2850 by defering the transmission of
the connection setup complete until the PHY has applied
the dedicated config in the connection setup.
2021-05-26 14:43:52 +02:00
Andre Puschmann c1ad867824 epoll_helper: use std::atomic to protect exit called from different thread 2021-05-26 14:25:38 +02:00
Xavier Arteaga 48e0fc3c99 Implemented initial PBCH decoder and refactored SSB candidate selection 2021-05-26 14:19:34 +02:00
yagoda 8d2568ed2c small fix for console print for cyclic prefix 2021-05-26 11:11:44 +02:00
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
2021-05-24 17:24:12 +02:00
Francisco 2d6a878826 change interface to create multiqueue queues 2021-05-24 17:24:12 +02:00
Francisco f705735093 optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks 2021-05-24 17:24:12 +02:00
Codebot b9bcdaf1c8 Adding AGPL copyright to new files 2021-05-23 23:12:22 +02:00
Codebot e77c197633 Merge branch 'next' into agpl_next
# Conflicts:
#	srsue/hdr/phy/scell/intra_measure.h
#	srsue/src/phy/scell/intra_measure.cc
2021-05-23 23:12:20 +02:00
yagoda 9501283c1c fixing support for extended Cyclic Prefix
small cosmetic fixes of CP code
2021-05-20 18:16:15 +02:00
Xavier Arteaga 7f853446d3 Added file option to NR cell search test 2021-05-18 18:41:03 +02:00
Xavier Arteaga 5eadc06dd4 Intra-frequency miscellanous changes 2021-05-18 18:41:03 +02:00
Xavier Arteaga 170fbefbf5 Avoid SCell receiver to copy 2021-05-18 18:41:03 +02:00
Xavier Arteaga d39402ed54 Added TTI trigger condition to intra-frequency measurement base 2021-05-18 18:41:03 +02:00
Xavier Arteaga c80f91ac9e Fix compilation 2021-05-18 18:41:03 +02:00
Xavier Arteaga ac9dc6f31d Compute Performance 2021-05-18 18:41:03 +02:00
Xavier Arteaga 0b3f4e5de0 Improvements in NR cell search 2021-05-18 18:41:03 +02:00
Xavier Arteaga 5b31654ae2 Minor aesthertical changes in nr_cell_search_test 2021-05-18 18:41:03 +02:00
Xavier Arteaga fb7623f5b6 Initial intra frequency NR cell search and test 2021-05-18 18:41:03 +02:00
Xavier Arteaga 60015e7ceb Made intra frequency cell search and measurment generic 2021-05-18 18:41:03 +02:00
Codebot f3da533f6b Merge branch 'next' into agpl_next 2021-05-16 23:12:25 +02:00
faluco 1670124926 Implement UE metrics in JSON format.
Added config options to control this feature.
2021-05-13 09:27:11 +02:00
Xavier Arteaga 5e6983f8e6 SRSUE: enable 256QAM in RRC NR capability message 2021-05-13 08:45:42 +02:00
Xavier Arteaga a57336d64f Integrate periodic SSB measurement in SRSUE and fix related defects 2021-05-13 07:55:46 +02:00
Andre Puschmann adcfcfe012 proc_ra_nr: fix typo 2021-05-11 19:47:35 +02:00
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.
2021-05-10 17:54:00 +02:00
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.
2021-05-10 15:27:21 +01:00
Xavier Arteaga 60d1708b80 Initial SSB measurement implementation 2021-05-10 15:32:46 +02:00
Codebot 5fe9a14aa5 Merge branch 'next' into agpl_next 2021-05-09 23:12:20 +02:00
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
2021-05-09 20:58:48 +02:00
Xavier Arteaga 1396c2a1e2 Mulpiple CSI measurement fixes. Channel and sync metrics from CSI measurements 2021-05-07 09:43:11 +02:00
Xavier Arteaga 653177ca7c SRSUE: Refactored work_dl for NR. Added NZP-CSI-RS measurement 2021-05-07 09:43:11 +02:00
Ismael Gomez 0b91598e36 Move mlockall() to main() in srsUE and srsENB 2021-05-06 23:03:57 +02:00
David Rupprecht f0d2a22cb6 Fixed band index in rrc 2021-05-05 18:39:46 +02:00
David Rupprecht 8c194b887b Allow NAS init function to fail 2021-05-04 19:18:22 +02:00
David Rupprecht 617fb2ba7e Added default destructor for args 2021-05-04 19:17:34 +02:00
Xavier Arteaga 9fb091262a Duplicate NR PDSCH transmits ACK and add ACK Tx TTI to trace 2021-05-04 11:30:13 +02:00
Xavier Arteaga de9158eeaf Enable NR RRC MCS table selection 2021-05-04 11:30:13 +02:00
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. 2021-05-03 10:36:26 +02:00
Codebot 30df8052ce Merge branch 'next' into agpl_next 2021-04-30 12:37:29 +02:00
Andre Puschmann cd061d46e6 metrics_stdout: remove obsolete if 2021-04-30 12:33:35 +02:00
Codebot 77908eed1c Merge branch 'next' into agpl_next 2021-04-30 09:24:44 +02:00
faluco 90e23d9de6 Print in the ue stdout metrics the CC number for LTE and the RAT for NR. 2021-04-29 22:48:03 +02:00
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.
2021-04-29 22:48:03 +02:00
Xavier Arteaga 95dafcb413 SRSUE: fix NR carrier PCI in metrics 2021-04-29 15:14:12 +02:00
Codebot c950209902 Merge branch 'next' into agpl_next 2021-04-29 11:46:34 +02:00
Andre Puschmann 598594c51a all: bunch of pass by const& changes suggested by LGTM 2021-04-29 10:00:09 +02:00
Xavier Arteaga e1ff824cc2 SRSUE avoid NR SR in UCI for PUSCH 2021-04-28 20:23:52 +02:00
Xavier Arteaga 6c39a5e4ff Added PDSCH DMRS aditional unpacking 2021-04-28 20:23:52 +02:00
Xavier Arteaga 334b308c35 Fix DCI NR configuration from main configuration 2021-04-28 20:23:52 +02:00
Xavier Arteaga 86ad0446e1 Added NR PDSCH and PUSCH resource allocating flattening 2021-04-28 20:23:52 +02:00
Codebot 887f1da10c Merge branch 'next' into agpl_next 2021-04-28 12:40:09 +02:00
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.
2021-04-26 10:08:48 +02:00
Codebot aeb4a5fc9d Merge branch 'next' into agpl_next 2021-04-25 23:12:23 +02:00
Andre Puschmann 0826b86cec srsue: remove NR DL freq and ARFCN option
not required anymore as all NR carrier tuning is done
through RRC signaling
2021-04-25 21:05:23 +02:00
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
2021-04-25 21:05:23 +02:00
Andre Puschmann ff53d2b8b8 all: set of trivial changes reported by LGTM
mainly fixmes, unused/empty code, etc.
2021-04-25 21:03:53 +02:00
AlaiaL 58ce75d3b4 Fixes coverity 369617 2021-04-23 21:22:06 +02:00
AlaiaL 82788ca094 Fixed issues from coverity:
- 370233
- 370234
- 370239
- 370240
- 370241
- 370242
- 370243
- 370295
2021-04-23 21:22:06 +02:00
Matan Perelman 7ee52dc676 srsUE: Add option to filter N_id_2 / PSS to configuration 2021-04-23 20:31:36 +02:00
David Rupprecht 102a943171 Fixed naming srsLTE to srsRAN 2021-04-23 14:25:02 +02:00
David Rupprecht fd451e8be3 Configure Short PDCP NR SN support 2021-04-23 12:49:53 +02:00
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
2021-04-23 10:28:10 +02:00
Xavier Arteaga ab6a5ef17a Added NR DCI conversion to string for formats 1_0 and 1_1 2021-04-22 14:16:46 +02:00
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.
2021-04-22 10:21:08 +01:00
Codebot 0a15eeb57a Adding AGPL copyright to new files 2021-04-22 10:59:40 +02:00
Codebot 1bb31e42ab Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srsran/interfaces/nr_common_interface_types.h
2021-04-22 10:59:12 +02:00
Francisco 23203b73ae fix - avoid recompiling srsue rrc files twice 2021-04-21 16:22:59 +01:00
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
2021-04-21 12:50:43 +02:00
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.
2021-04-21 12:36:32 +02:00
Andre Puschmann 607ba7c262 mac_test: fix RAR test for Msg3 retx
with hi=1 the eNB signals a successul Msg3 reception.
To request a retx, which is the case in the MAC test,
it needs to signal a hi=0
2021-04-21 12:36:32 +02:00
Xavier Arteaga 7246ce0cea Fix MSG3 false retransmission
this fixes #2694 by considering hi=1 value and not treating
this as a Msg3 retx
2021-04-21 12:36:32 +02:00
Andre Puschmann c1e4385f50 worker_pool: fix wrong log level when setting worker config 2021-04-20 22:16:48 +02:00
Xavier Arteaga 407903e0d6 SRSUE: refactor carrier setting for accepting a dynamic carrier configuration 2021-04-20 21:50:10 +02:00
Xavier Arteaga 47523935f6 Minor NR RRC fixes 2021-04-20 21:50:10 +02:00
David Rupprecht d2aa25d451 Added option for simulated measurement 2021-04-20 21:47:37 +02:00
Xavier Arteaga 09272edf4b Update NR PHY TTI 2021-04-20 15:07:18 +02:00
Xavier Arteaga 715f8900a8 Selected NR RA procedure PRACH send timeout according to system frame number period from PRACH PHY tables 2021-04-20 15:07:18 +02:00
Andre Puschmann 51e73aa1fc mac_nr_test: add basic DL HARQ test and extend checks for metrics 2021-04-20 15:05:20 +02:00
Andre Puschmann 4b3538aaa8 {dl,ul}_harq: fix metrics calculation
rewrite  metrics calculation for NR HARQ and remove
unneeded operations.
2021-04-20 15:05:20 +02:00
Andre Puschmann b6f2c80f66 mac_common: add helper method to get total buffer state 2021-04-20 15:05:20 +02:00
David Rupprecht a064e85c54 rename common lte header 2021-04-19 22:23:59 +02:00
David Rupprecht 81ad72b0ff Refactor srb and drb handling 2021-04-19 22:23:59 +02:00
David Rupprecht 91ff8a2e6d Add rrc_nr to rlc init function 2021-04-19 22:23:59 +02:00
David Rupprecht 6b41ae7e8b Updated PDCP config struct for rat type 2021-04-19 22:23:59 +02:00
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
2021-04-19 22:09:08 +02:00
Andre Puschmann c8d3e133dc ue: bump default RRC release announced to 15 2021-04-19 22:08:03 +02:00
David Rupprecht 75cd5e65e5 Removed arfcn and freq, and nof_prbs from config file 2021-04-19 15:18:35 +02:00
David Rupprecht 6ed6da1f12 Refactor ue config for eutra and nr config section 2021-04-19 15:18:35 +02:00
Xavier Arteaga 77b6b60b82 Fix rach_cfg.nof_groupA_preambles 2021-04-19 15:17:04 +02:00
David Rupprecht db9dd85783 Parse carrier config in NR RRC reconfig 2021-04-19 12:13:37 +02:00
David Rupprecht f42d4dbc28 Refactored carrier config 2021-04-19 12:13:37 +02:00
Andre Puschmann 87f9b2babc mac_nr: turn off warning for non-implemented features
they cause RFCI to fail, features are known to be missing.
2021-04-19 10:46:09 +02:00
Codebot c7444949f8 Adding AGPL copyright to new files 2021-04-18 23:12:30 +02:00
Codebot 34dbee4c7d Merge branch 'next' into agpl_next 2021-04-18 23:12:28 +02:00
Andre Puschmann 73d6b33920 {ul,dl}_harq_nr: reword log entries if HARQ PID isn't found 2021-04-18 15:27:19 +02:00
Andre Puschmann edd150b29f fix PID not being set when reading pending UL grant
this should fix #2679
2021-04-18 15:12:22 +02:00
Andre Puschmann 0df218ab90 cc_worker: fix PDSCH log fmt::v7::format_error 2021-04-17 15:51:11 +02:00
Xavier Arteaga 53b38fccf9 Fix compile and other 2021-04-17 15:51:11 +02:00
Xavier Arteaga 8ffced7e88 NR PHY logging minor corrections 2021-04-17 15:51:11 +02:00
Xavier Arteaga abfc1da921 Multiple NR-PUSCH fixes 2021-04-17 15:51:11 +02:00
Xavier Arteaga 7e06e789d5 Fic NR UCI in the info string 2021-04-17 15:51:11 +02:00
Xavier Arteaga 01ce0718be NR-PUSCH RE mapping correction and NR-SCH detailed grant information 2021-04-17 15:51:11 +02:00
Xavier Arteaga e7096d705e Fix NR RRC config NZP-CSI-RS 2021-04-17 12:54:30 +02:00
David Rupprecht bfe2ad98ef Added parsing for NR DL HARQ cfg 2021-04-17 12:33:21 +02:00
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.
2021-04-16 15:32:09 +02:00
David Rupprecht 138230f4e4 Remove NR RRC log line 2021-04-16 09:02:29 +02:00
David Rupprecht fe8727050b Added new rrc_nr to phy flattening functions and fixes 2021-04-16 09:02:29 +02:00
Xavier Arteaga e4e3456d76 Refactored PDSCH/PUSCH decoder for LDPC early stopping 2021-04-15 20:42:41 +02:00
David Rupprecht 4c68c17bd3 Fixed log level of nr loggers to lte level and hex size 2021-04-15 12:12:20 +02:00
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
2021-04-14 13:40:31 +02:00
Andre Puschmann 3e1998b2aa proc_sr_nr: tiny cosmetic logging changes 2021-04-14 13:40:31 +02:00
Andre Puschmann ad320c273e proc_bsr_nr: cancel SR if UL grant is received 2021-04-14 13:40:31 +02:00
Andre Puschmann d99402d3b3 rrc_nr: enable SR procedure when pulling config from ASN1 struct 2021-04-14 13:40:31 +02:00
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.
2021-04-14 13:40:31 +02:00
Andre Puschmann b7146c41b2 nr: add NDI for PUSCH grant to sch cfg struct 2021-04-14 13:40:31 +02:00
Xavier Arteaga af97538448 Remove NR from log lines 2021-04-14 08:16:44 +02:00
Xavier Arteaga 7823bfc28c Fix append NR to loggers for NR components 2021-04-14 08:16:44 +02:00
Xavier Arteaga b5e879db47 SRSUE: review metrics interfaces 2021-04-13 16:02:53 +02:00
Xavier Arteaga 044da18db9 SRSUE: Reviewed PHY metrics getter 2021-04-13 16:02:53 +02:00
Xavier Arteaga dac331ab38 Fix SR PUCCH resource flattening 2021-04-13 16:02:53 +02:00
Xavier Arteaga 2f453b43ba Initial NR PHY interface 2021-04-13 16:02:53 +02:00
David Rupprecht eeddbe69ce Fixes repeating proc RA due to SR trigger 2021-04-12 20:51:07 +02:00
David Rupprecht 5a3a2a6d6f Added functions for adding phr and tag config 2021-04-12 20:50:30 +02:00
Andre Puschmann 396040fd75 metrics_csv: fix CC numbering for NR carrier in CSV 2021-04-12 18:26:31 +02:00
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
2021-04-12 18:26:31 +02:00
Xavier Arteaga bc1b14efea Fix NR common PDSCH Resource allocation count 2021-04-12 17:05:53 +02:00
Xavier Arteaga f30f3e0239 Minor aesthetic log change 2021-04-12 17:05:53 +02:00
Xavier Arteaga 21fe502448 Fix NR PRACH resource determination 2021-04-12 17:05:53 +02:00
Francisco f7a8b8bf94 separate drb srb ids into separate enum types 2021-04-12 13:21:43 +01:00
Francisco 21718af3b6 avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type 2021-04-12 13:21:43 +01:00
David Rupprecht 5e02dbc536 Remove measurement id from trigger state nr allows to second nr reconfig 2021-04-12 10:32:40 +02:00
Codebot 6bf4bdaf5c Adding AGPL copyright to new files 2021-04-11 23:14:53 +02:00
Codebot c0282856d0 Merge branch 'next' into agpl_next
# Conflicts:
#	srsue/test/mac_nr/mac_nr_test.cc
2021-04-11 23:14:49 +02:00
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
2021-04-10 14:01:43 +02:00
Andre Puschmann cf696138d3 mac_nr: fix packing order of SDU and CEs
SDUs need to go first in the MAC PDU, followed by CEs
2021-04-10 14:01:43 +02:00
Andre Puschmann 399954a970 mac_nr: convert bytes to bits for DL metrics 2021-04-10 14:01:43 +02:00
Andre Puschmann b083b612de proc_bsr_nr_test: fix SBSR test 2021-04-10 14:01:43 +02:00
Andre Puschmann 7da68dfee3 proc_bsr_nr: disable SR activation temporarily
SR isn't currently working correctly resulting in random PRACHs
being sent.
2021-04-10 14:01:43 +02:00
Andre Puschmann d1ad315969 mac_nr: add various safety/length checks 2021-04-10 14:01:43 +02:00
Andre Puschmann b1aaadb51c nr,cc_worker: convert grant size in bytes before passing to MAC 2021-04-10 14:01:43 +02:00
Andre Puschmann 7f415189f3 ue,mac: enable basic MAC metrics
this adds basic MAC metrics calculation for the DL NR MAC
2021-04-10 14:01:43 +02:00
Andre Puschmann 8024bf7820 mux_nr: improve logging when building UL MAC PDU 2021-04-09 20:40:22 +02:00
Andre Puschmann 880bd66db4 mac_nr_test: add testcase for MAC PDU packing with long L field
this reproduces the issue found in #2609
2021-04-09 20:12:03 +02:00
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.
2021-04-09 20:12:03 +02:00
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)
2021-04-09 12:28:05 +02:00
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
2021-04-09 09:49:14 +02:00
David Rupprecht 56e947bf27 Added functionality for releasing a NR bearer 2021-04-08 17:37:36 +02:00
David Rupprecht cc6d8128ad Added gw interface if it is running 2021-04-08 17:37:36 +02:00
David Rupprecht 7a481c40ab Added mac prach nr proc error handling 2021-04-08 17:37:36 +02:00
David Rupprecht f9ea02b6bf Added functions for rrc reestablishing procedure if nr reconfig failes 2021-04-08 17:37:36 +02:00
David Rupprecht 43ec714ce1 Added functionality for printing nr metrics 2021-04-08 15:55:28 +02:00
Xavier Arteaga db1a1c059c NR PHY workers TTI synchronization between DL and UL work 2021-04-08 11:39:55 +02:00
Xavier Arteaga 991c6e7016 Refactored NR HARQ-ACK feedback enqueue 2021-04-08 11:39:55 +02:00
Xavier Arteaga 49731ab5a1 Initial NR-DCI refactor
Added NR DCI 1_1 size

Several DCI NR fixes
2021-04-07 16:57:12 +02:00
Xavier Arteaga dee2ec30cd SRSUE: use new MAC interface for NR SR procedure 2021-04-07 14:16:46 +02:00
Xavier Arteaga 01990c2e1d SRSUE: Add PHY-MAC SR related interfaces 2021-04-07 14:16:46 +02:00
Xavier Arteaga f4ae2d73aa SRSUE: report positive ACK for retx 2021-04-07 13:56:06 +02:00
Xavier Arteaga 20a4c39fa4 SRSUE: Disable PDSCH retransmissions in NR 2021-04-07 13:56:06 +02:00
David Rupprecht 506adca930 Set eutra nr band info based config value 2021-04-07 13:24:26 +02:00
Codebot 045644ca96 Adding AGPL copyright to new files 2021-04-04 23:12:42 +02:00
Codebot a047e13479 Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srsran/adt/adt_utils.h
2021-04-04 23:12:37 +02:00
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
2021-03-30 13:46:12 +02:00
Francisco d04a19f8bc refactor - increase code reuse in adt files 2021-03-29 22:11:25 +01:00
Codebot 24290dcae2 Adding AGPL copyright to new files 2021-03-28 23:12:42 +02:00
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
2021-03-28 23:12:38 +02:00
Xavier Arteaga e200a3359e SRSUE: check RNTI prior to UL encoding 2021-03-27 10:09:53 +01:00
Pedro Alvarez a5229a02d1 Make sure RRC identity is set when NAS reads UE context from file. 2021-03-26 16:36:12 +00:00
David Rupprecht 838d5ac0f4 Added description for using the same filename for mac and mac_nr pcap 2021-03-26 16:12:45 +01:00
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
2021-03-26 09:53:03 +01:00
Xavier Arteaga 6219500148 Added NR-RRC RACH parsing 2021-03-26 09:45:10 +01:00
David Rupprecht 8c86d2084d Adding NR phy config RRC parsing
Added error handling

Reworked flattening error handling
2021-03-25 11:34:53 +01:00
Andre Puschmann 7a3a5f4cf4 rrc_nr: announce short SN in PDCP capabilities
this allows selecting 12bit SNs for the NR PDCP entity
2021-03-25 09:28:55 +01:00
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.
2021-03-24 12:01:12 +01:00
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.
2021-03-24 12:01:12 +01:00
AlaiaL 6cd9bba641 Added the cpu metrics to the system metrics. 2021-03-24 12:01:12 +01:00
Xavier Arteaga 5bdf2c93b3 Initial NR PDSCH CSI-RS RE skip and other changes 2021-03-24 09:06:26 +01:00
Xavier Arteaga 7704c09ce2 Fix typos 2021-03-23 15:11:46 +01:00
Andre Puschmann 1a0891df51 all: check return value of make_byte_buffer() and handle them safely 2021-03-23 14:31:15 +01:00
Francisco dd336c53ea changed srsran_warning to srsran_expect. Applied new macro to rlc am 2021-03-23 10:49:28 +00:00
srsLTE codebot 80e17d2986 Merge branch 'next' into agpl_next
# Conflicts:
#	lib/src/srslog/sinks/single_write_file_sink.h
2021-03-21 23:12:23 +01:00
Codebot 4523ee6087 rename srsLTE to srsRAN 2021-03-21 21:47:01 +01:00
Xavier Arteaga 8c4ed489e8 SRSUE: Disable neighbour cell display by default 2021-03-19 11:47:09 +01:00
Xavier Arteaga 4ae194581f SRSUE: Adjustments in distance and speed estimations 2021-03-19 11:47:09 +01:00
Xavier Arteaga 49a535b81a SRSUE: force printing neighbour cells by default in console trace 2021-03-19 11:47:09 +01:00
Xavier Arteaga 2782d96170 SRSUE: compute speed from TA commands 2021-03-19 11:47:09 +01:00
Xavier Arteaga a8b5b8efa1 UHD: stability improvements 2021-03-17 08:53:40 +01:00
Xavier Arteaga f3c0360842 Applied aesthetical changes 2021-03-16 11:36:11 +01:00