Commit Graph

288 Commits

Author SHA1 Message Date
Codebot 5fe9a14aa5 Merge branch 'next' into agpl_next 2021-05-09 23:12:20 +02:00
Francisco 6b84754ede fix rrc and gtpu bearer rnti update during reestablishment. The rnti of UE's rrc_bearer_handler was not being updated 2021-05-07 10:58:04 +01:00
Francisco 1677abce8d create typedef for circular map of rntis. check return of gtpu ue creation 2021-05-07 10:58:04 +01:00
Francisco 46bd8845ba fix gtpu bearer removal during handover 2021-05-06 18:10:31 +01:00
Francisco c5396155ad set default gtpu tunnel close timeout to infinity 2021-05-06 18:07:20 +01:00
Francisco 15484e9472 rrc - make t304 configurable via rr.conf 2021-05-06 18:07:20 +01:00
Francisco c6b9c12ba2 gtpu, feature - added the ability to configure gtpu indirect tunnel timeout value. This parameter is useful in the case that the end marker is not received 2021-05-06 18:07:20 +01:00
David Rupprecht c117b563c9 Initial commit for ngap in enb 2021-05-05 13:54:57 +02:00
David Rupprecht 3284143b39 Capture false encoded messages before sending 2021-05-04 21:38:06 +02:00
Francisco 01eace2631 rrc paging mechanism improvements
- moved paging record handling to separate class
- parallel access to pending pcch messages by phy workers based on TTI and without common lock
- asn1 pcch message packing now takes place in stack thread, to avoid real-time issues
2021-05-03 15:58:21 +01:00
Codebot 77908eed1c Merge branch 'next' into agpl_next 2021-04-30 09:24:44 +02:00
Andre Puschmann 598594c51a all: bunch of pass by const& changes suggested by LGTM 2021-04-29 10:00:09 +02:00
Codebot 887f1da10c Merge branch 'next' into agpl_next 2021-04-28 12:40:09 +02:00
Francisco 6e7d992552 remove UE on S1AP Release Request if MME S1AP UE ID hasn't been assigned yet 2021-04-27 19:14:25 +01:00
Francisco 86dac9c823 several coverity high and medium impact fixes 2021-04-27 10:11:03 +01:00
Codebot aeb4a5fc9d Merge branch 'next' into agpl_next 2021-04-25 23:12:23 +02:00
herlesupreeth 0f06ec0d9c Add feature to provide custom GTP-U (S1) address to be advertised inside S1AP messages
This feature is useful in scenarios where eNB is behind a NAT and EPC on public cloud
Since eNB's GTP-U can only bind to IP address visible in it's host (usually a private IP beind a NAT), it advertises the same to UE in S1AP message
resulting in traffic from EPC to eNB (DL traffic) not able to reach eNB. This commit solves this issue by providing a means to advertise a different IP address than the one GTP-U UDP socket is bound to.
This IP is usually advertised in InitialContextSetupResponse and E-RABSetupResponse.

In order to make use of this feature, use the following parameter in enb.conf

Example:

gtp_advertise_addr = 213.61.141.82
2021-04-23 20:31:36 +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 42e7fc656b s1ap fix - send S1AP UEContextRelease when the UE does a new RRC connection setup with the same TMSI 2021-04-21 16:49:36 +01:00
David Rupprecht 81ad72b0ff Refactor srb and drb handling 2021-04-19 22:23:59 +02:00
Codebot 34dbee4c7d Merge branch 'next' into agpl_next 2021-04-18 23:12:28 +02:00
Francisco 14d32db92f implement Handover direct forwarding path availability configuration feature 2021-04-15 17:48:18 +01:00
Francisco 4b9e59e8cf fix some s1ap msg causes 2021-04-15 17:48:18 +01:00
Francisco b8fa1d1b61 fix rrc mobility test 2021-04-15 09:45:31 +01:00
Francisco 66988ffd32 s1ap - simplified erab setup procedure. Handle correctly the failure to setup causes 2021-04-15 09:45:31 +01:00
Francisco f401683960 s1ap - simplified erab modify procedure 2021-04-15 09:45:31 +01:00
Francisco 76978f0d14 s1ap - simplified erab release procedure 2021-04-15 09:45:31 +01:00
Francisco c5fc543516 s1ap - handling of ts1 reloc overall timer. 2021-04-15 09:45:31 +01:00
Francisco c2a99a8112 handover - support for handover cancellation causes, check for E-RAB QoS requirements, cancellation of handover if E-RABs are not supported in the target eNB 2021-04-13 21:23:13 +01:00
Francisco f79e0fade8 handover - set handover required cause to handover desirable for radio reason 2021-04-13 21:23:13 +01:00
Francisco d2c404b166 handover - setup s1ap cause in case of handover failure at the target enb 2021-04-13 09:30:40 +01:00
Francisco 49bd895e29 s1ap - handle invalid or repeated erab ids in s1ap erab release command 2021-04-12 22:07:26 +01:00
Francisco 7842e3bff3 s1ap - add unit test to check correct handling of invalid E-RAB ids in modification request. Fix s1ap in order for the test to pass 2021-04-12 22:07:26 +01:00
Francisco 985846e3bd s1ap - set multiple erab ids cause in replay when s1ap erab modify request has repeated ids. 2021-04-12 22:07:26 +01:00
Francisco 685c971dc2 fix recursive call to get rb name 2021-04-12 13:21:43 +01:00
Francisco f7a8b8bf94 separate drb srb ids into separate enum types 2021-04-12 13:21:43 +01:00
Francisco 3a23546c56 fix pdcp_nr.cc compilation 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
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
Francisco 344bdf3165 allocation of UE rlc and pdcp classes in the ue dedicated memory pool 2021-04-09 12:54:22 +01:00
Francisco 60d5c6df7b implementation of memory pool with individual memory blocks per UE that get accessed via their rnti 2021-04-09 12:54:22 +01:00
Francisco 643c73acee gtpu - fix removal of gtpu tunnels when rnti is released 2021-04-07 22:26:42 +01: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
Francisco 046633674a refactor - removal of stack-gtpu interface, and use of socket manager interface instead 2021-04-02 11:42:50 +01:00
Francisco c24e382c19 Refactor of socket manager class
- use of inheritance to simplify testing
- removal of global network manager
- pass of custon socket manager to s1ap and gtpu ctors
- overhauled the registration of socket fd,callback in socket manager
2021-04-02 11:42:50 +01:00
Francisco 4aac7ac238 use global rx multisocket handler, and remove stack-s1ap interface 2021-04-02 11:42:50 +01:00
Francisco 39de2efa69 multisocket handler - use blocking socket remove method 2021-04-02 11:42:50 +01:00
Francisco bf96d897ee network utils refactor - renaming of socket handle to unique socket and cleanup of its methods 2021-04-02 11:42:50 +01:00
Francisco 23ae9967cf replaced present+value for optional field in s1ap mme_ue_s1ap_id context field 2021-04-01 10:24:34 +01:00
Francisco b8f220258d s1ap - extend s1ap unit test to verify result of passing an invalid mme s1ap ue id 2021-04-01 10:24:34 +01:00
Francisco c3482b45e1 s1ap - handle erroneous enb/mme s1ap ue id in received s1ap messages from the MME 2021-04-01 10:24:34 +01:00
Francisco d4a223b5b1 s1ap unit test - add correct cause to erab modify response when erab-id is not recognized 2021-03-31 13:31:07 +01:00
Francisco a68c50a282 s1ap - extend s1ap unit test to setup a full ue connection and modify bearer 2021-03-31 13:31:07 +01:00
Francisco 90bba3b85e s1ap - set s1 handover cause as s1 intra system handover triggered 2021-03-31 13:31:07 +01:00
Francisco 5eccfad05b gtpu - added comments, updated expected construct, handled in rrc the case a gtpu teid fails to allocate 2021-03-29 10:20:55 +01:00
Francisco 82b34f3b3f gtpu refactor - fix gtpu logging formatting 2021-03-29 10:20:55 +01:00
Francisco 44440cf562 gtpu refactor - use of raii to automatic path switch and teid removal in forwarding. Clean up of gtpu_tunnel_manager methods. 2021-03-29 10:20:55 +01:00
Francisco ab2bd9a2d2 gtpu refactor - handle dl path state activation internally in gtpu tunnel manager class 2021-03-29 10:20:55 +01:00
Francisco cfd24f6a0e gtpu - leverage byte_buffer_pool to store buffered sdus in gtpu 2021-03-29 10:20:55 +01:00
Francisco bdc5094e17 gtpu - added unit test for gtpu_tunnel_manager class 2021-03-29 10:20:55 +01:00
Francisco c201eb7708 use of more space efficient sorted vector structure for lcid tunnels of a rnti 2021-03-29 10:20:55 +01:00
Francisco eba0edea4a creation of static id obj pool class. Application of this class to gtpu tunnels container to avoid allocations 2021-03-29 10:20:55 +01:00
Francisco 3cf5e85b20 create separate class to handle gtpu tunnel creation/deletion/search 2021-03-29 10:20:55 +01:00
Francisco 099a533573 bugfix - verify that TEID exists before trying to access it 2021-03-29 10:20:55 +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
Francisco 1b47bee4c0 handover - avoid halting ho preparation just due to the presence of a handover restriction list or handover request extension field 2021-03-26 00:18:23 +00:00
Pedro Alvarez ea3c3b1d4f Added some checks for the byte buffer allocation in the GTP-U 2021-03-23 16:40:29 +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
Francisco a540c56552 gtpu bugfix - avoid erasing indirect tunnel and causing iterator invalidation while iterating list of tunnels 2021-03-19 13:43:21 +00:00
Francisco 977c194cbc gtpu,bugfix - handle the case when gtpu fails to allocate buffer for end marker. Also, added a timer that when expired, it autoremoves the GTPU handover tunnel 2021-03-19 13:43:21 +00:00
Pedro Alvarez dde8157bf1 Make sure that S1 Setup request is restarted regardless of which error made the procedure fail. 2021-03-19 10:48:45 +00:00
srsLTE codebot 6ccccade9e Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srslte/common/log.h
#	lib/include/srslte/common/log_filter.h
#	lib/include/srslte/common/logger.h
#	lib/include/srslte/common/logger_srslog_wrapper.h
#	lib/include/srslte/common/logmap.h
#	lib/src/common/log_filter.cc
#	lib/src/common/logger_srslog_wrapper.cc
#	lib/src/common/logmap.cc
#	lib/test/common/log_filter_test.cc
#	lib/test/common/test_common_test.cc
2021-03-14 23:12:19 +01:00
Francisco d41b6187c1 bugfix - remove extra \n from logging calls 2021-03-11 20:10:54 +00:00
Francisco 3e9f93eb8a refactor - remove old log_filter and logmap libraries from the codebase 2021-03-11 20:10:54 +00:00
Andre Puschmann 20cbc48f90 rlc_am_lte: refactor PDCP/RLC interface to use fix sized data structure
this patch replaces the std::vector type used in the interface between
PDCP and RLC to signal delivery status between both layers. The new
data type is a configurable but fixed-size vector.
The RLC AM doesn't need to dynamically allocate the vector for every SN but
uses the tx_window for storage.
2021-03-09 21:56:33 +01:00
Francisco 4969c98665 gtpu,bugfix - fixed formatting of addresses in GTPU 2021-03-09 16:23:08 +00:00
Francisco 5a1bf28fe1 optimization - minimization of number of std::string allocations for logging 2021-03-09 16:23:08 +00:00
srsLTE codebot d290fe9714 Merge branch 'next' into agpl_next
# Conflicts:
#	srsue/src/phy/nr/state.cc
2021-03-07 23:12:17 +01:00
Francisco c03dbc6742 fix RRC Connection Reestablishment procedure - correctly save old rnti bearer configuration in new rnti 2021-03-02 17:51:36 +01:00
Francisco a72a659fdf fix timers interface to avoid accessing to a timer after its release. fix gtpu tunnel activation during s1 handover 2021-03-01 23:20:07 +01:00
srsLTE codebot 3daa9f3fc3 Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srslte/common/mac_nr_pcap.h
#	lib/include/srslte/phy/ue/ue_ul_nr_data.h
#	lib/src/common/mac_nr_pcap.cc
#	lib/src/phy/ue/ue_ul_nr_data.c
#	srsenb/hdr/phy/lte/worker_pool.h
#	srsenb/hdr/phy/nr/cc_worker.h
#	srsenb/hdr/phy/nr/sf_worker.h
#	srsenb/hdr/phy/nr/worker_pool.h
#	srsenb/src/phy/lte/worker_pool.cc
#	srsenb/src/phy/nr/cc_worker.cc
#	srsenb/src/phy/nr/sf_worker.cc
#	srsenb/src/phy/nr/worker_pool.cc
#	srsue/hdr/phy/lte/worker_pool.h
#	srsue/hdr/phy/nr/cc_worker.h
#	srsue/hdr/phy/nr/sf_worker.h
#	srsue/hdr/phy/nr/worker_pool.h
#	srsue/hdr/stack/mac/mac_nr.h
#	srsue/src/phy/lte/worker_pool.cc
#	srsue/src/phy/nr/cc_worker.cc
#	srsue/src/phy/nr/sf_worker.cc
#	srsue/src/phy/nr/worker_pool.cc
#	srsue/src/stack/mac/mac_nr.cc
2021-02-24 22:12:13 +01:00
David Rupprecht 0f1586dd2d Deleted all HAVE_5GNR in CC and h files
CMakeList and travis yaml
2021-02-22 21:16:04 +01:00
Pedro Alvarez d8f3878ce1
RLC failure to deliver notifications and discard timer limits to 1500ms (#2368)
* Added interfaces for the RLC to notify the PDCP of failure to transmit
SDU

* Limit discard timer to 1500ms, to avoid issues of lingering SDUs in the undeliverd_sdus_queue.

* Fix bug in early exit of notify_delivery and notify_failure

* fix compilation issue in rlc-pdcp notification

Co-authored-by: Francisco <francisco.paisana@softwareradiosystems.com>
2021-02-22 10:36:14 +00:00
Pedro Alvarez 6ecd6e273c Make sure that the status report is sent in RLF and PDCP reestablishment triggered by Handover 2021-02-19 13:30:48 +00:00
faluco a940e169a3 Add the enb_cc_idx value to S1 events. 2021-02-19 09:54:41 +01:00
faluco a4605883f0 Implement second revision of the events and metrics document. 2021-02-19 09:54:41 +01:00
Pedro Alvarez cfd94441a5 Added metrics to srsenb PDCP 2021-02-17 18:40:12 +00:00
Pedro Alvarez b0fe302f8e Added interfaces so the upper layers can trigger the PDCP status report. Added ability to the UE to send Status Report aftre reestablishment. 2021-02-16 13:21:50 +00:00
Francisco Paisana 929b8650a3 handle byte buffer allocation error in s1ap 2021-02-15 10:49:54 +01:00
Francisco Paisana c40ad81a90 cleanup s1ap methods. remove hard coded erab list in s1ap handover required message. 2021-02-15 10:49:54 +01:00
Francisco 23459dee28 Created enb_{rlc/pdcp/gtpu/phy_interfaces.h files. 2021-02-12 16:36:50 +01:00
Francisco 43e57df00b breaking enb_interfaces.h into multiple files on a layer basis. Created enb_rrc_interfaces.h, enb_mac_interfaces.h and enb_s1ap_interfaces.h 2021-02-12 16:36:50 +01:00
Pedro Alvarez dd6d6f731d Passing SN provided by upper layers to PDCP entity. Using it to calculate TX_COUNT if passed. 2021-02-12 11:57:36 +00:00
faluco 6359a2d948 - Upgrade the gtpu class in lib dir to srslog.
- Propagate old log elimination through all the dependencies of gtpu.
2021-02-11 14:37:27 +01:00
Francisco 4188b5146e fix uninitialized memory access in gtpu_test and liblte_mme unpacking 2021-02-11 13:09:06 +00:00
faluco 9d15a44c73
Port lib/phy to srslog (#2298)
* - Ported the channel class to srslog.
- Removed all newlines of log messages in lib/phy.

* Remove more newlines that use the C debug macros.
2021-02-10 13:46:25 +01:00