2232 Commits (8d49e580787a92bb71dd130c691a5896a31cc479)

Author SHA1 Message Date
faluco c2b705c5ce Fix several data races in proc_phr, class needs to be fully protected since most member variables are accessed by different threads. 3 years ago
faluco 6b07e886b7 Fix data race in is_first_ul_grant. 3 years ago
faluco 1e3ba607ce Fix data race in is_pending_tx_end. 3 years ago
faluco f96ee097b4 Fix data race in ue mac metrics. 3 years ago
faluco 7dae4a491e Fix data race in ue_stack_lte::ul_dropped_sdus. 3 years ago
faluco 1796e12084 Fix data race in ul_harq_entity. 3 years ago
faluco 2b73beb3dd Fix data race in ul_harq. 3 years ago
faluco d02012b588 Fix data race in bsr_proc. 3 years ago
faluco 8d802e2aca Fix a data race in the simulate_rf global variable. 3 years ago
David Rupprecht e8a464228d Cleaned string helpers 3 years ago
Andre Puschmann 36af79b9d5 ue,proc_bsr_nr: add missing mutex when redeading SBSR
detected with TSAN
3 years ago
Andre Puschmann ab6210b1fc ue,proc_sr_nr: add mutex to protect access from PHY and Stack
also detected by TSAN
3 years ago
Andre Puschmann 2248e63219 ue,proc_ra_nr: add mutex to protect access from PHY and Stack
detected with TSAN
3 years ago
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.
3 years ago
faluco 485ec2edab Implement a new option to flush the file sink contents on every write. 3 years ago
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
3 years ago
Andre Puschmann f382a7c7db Revert "ue,proc_ra_nr: add temporary flag to skip RAR reception"
This reverts commit 28668aac34.
3 years ago
Andre Puschmann a518b81a10 phy,nr: don't print hex content of failed PDSCH 3 years ago
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
3 years ago
Andre Puschmann 54ab64327a ue,mac_nr: move BSR levels lookup table into lib header
prepare for shared use with gNB
3 years ago
Andre Puschmann ba17b64c70 worker_pool: fix newline 3 years ago
David Rupprecht 285aae8e36 Fixing srsue namespace in rrc meas test 3 years ago
David Rupprecht a9a23214b0 Added more 5G security kdfs
Added new 5G SIM functions

Added const parameters for security functions
3 years ago
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
3 years ago
David Rupprecht bce6b5cc0f Added kdf common
Use kdf functions in 5G KDF

Moved EPS KDF function to new KDF structure
3 years ago
David Rupprecht 15eaef21e2 Update test f12345 function
Moved XOR functions to lib

Added testcase for KDF

Minor liblte_security updates
3 years ago
Andre Puschmann 272fc47bc2 ue,worker_pool: fix logging of Msg3 UL grant 3 years ago
Andre Puschmann 548c45a8fc enb,mac_nr: add RAR packing 3 years ago
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
3 years ago
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)
3 years ago
Andre Puschmann 9b4f6cb8bb mac_nr: pretty-print received/transmitted MAC PDUs in logs 3 years ago
Francisco Paisana f4df55c245 stack lte: separate bearer manager into two classes, one for the ue and one for the enb 3 years ago
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
3 years ago
faluco 5f9aceb8b6 Fix alignment issue with the stdout metrics in srsue. 3 years ago
Andre Puschmann 4ef1ac2649 gw: (re-)use class mutex when updating the DL/UL metrics 3 years ago
Andre Puschmann aa43e3c8d6 ue,mac: adding missing mutex when updating metrics 3 years ago
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.
3 years ago
Andre Puschmann 40499e6b6d ue_stack_lte: use std::atomic for running var 3 years ago
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
3 years ago
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.
3 years ago
Xavier Arteaga 8aa7ae7d95 Remove unused attribute 3 years ago
Xavier Arteaga 4cb633e6e6 UE dicards NR CFO measurement if SNR is negative 3 years ago
Xavier Arteaga 83b9b2d1ff Implemented UE open loop CFO compensation for NR 3 years ago
Xavier Arteaga 9c3dd56398 Added PDCCH DMRS interleaved mapping 3 years ago
Xavier Arteaga d61d6aa59f Integrated CORESET0 into UE's RRC 3 years ago
Francisco Paisana 7a527cd09e fix,lte: zero-initialize phy_meas_t in rlf test 3 years ago
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 3 years ago
Francisco Paisana f518861ebc fix location of support/ folder. Created macros for ASSERT_EQ and ASSERT_NEQ 3 years ago
Ismael Gomez 7839ab09dc Add RLF-Reportv9 to srsUE 3 years ago
David Rupprecht 3217c00cfc Adjusting NAS base security function to 5G 3 years ago