1. 18 Apr, 2024 4 commits
    • Robert Schmidt's avatar
      Memory sanitizer: unitialized read · 42254e62
      Robert Schmidt authored
      Reset all the circular buffer to zero; this ensures that we cannot read
      uninitialized data. Since this is RFsimulator, performance is not a
      problem here either (and zeroing out happens only once).
      42254e62
    • Robert Schmidt's avatar
      Fix memory sanitizer warning: uninitialized read · c114d2f5
      Robert Schmidt authored
      Memsan complains that uninitialized reads originate because of these
      warnings. Most of the corresponding variables are actually read into
      through by libconfig; nevertheless, initializing them should not have a
      bad side-effect (because the initialized value is overwritten).
      c114d2f5
    • Robert Schmidt's avatar
      Use standard C initializer list syntax · ed89498c
      Robert Schmidt authored
      Fix clang warning
      
        warning: use of GNU old-style field designator extension [-Wgnu-designator]
      ed89498c
    • Robert Schmidt's avatar
      Load unaligned data for SIMD processing to avoid segv · 24baf08c
      Robert Schmidt authored
      We access G_N at indexes that are not necessarily 32-byte aligned,
      leading to segfaults. Use simde_mm256_loadu_si256() to load from memory
      at an unaligned memory address to avoid the segfault.
      
      Discovered using clang; it is unclear why gcc did not encounter the same
      segfault.
      24baf08c
  2. 17 Apr, 2024 1 commit
    • Robert Schmidt's avatar
      Compile using -rdynamic with clang · 8e7ecaa7
      Robert Schmidt authored
      -rdynamic is necessary for clang as well to properly link shared
      executables. Add furthermore an option to ignore unused command line
      arguments, to suppress warning
      
        clang: warning: argument unused during compilation: '-rdynamic' [-Wunused-command-line-argument]
      
      This is likely because -rdynamic is only relevant for the linker, but
      the corresponding option add_link_options() is only available starting
      cmake 3.13, while we are still at 3.12 (for Ubuntu 18, to my
      understanding).
      8e7ecaa7
  3. 16 Apr, 2024 1 commit
    • Robert Schmidt's avatar
      Merge branch 'integration_2024_w15' into 'develop' · 74977924
      Robert Schmidt authored
      Integration `2024.w15`
      
      Closes #727, #765, #776
      
      See merge request oai/openairinterface5g!2676
      
      * !2561 CI - add T2 tests to timing pipeline
      * !2620 Fix cppcheck errors
      * !2624 NR UE MAC SR improvements
      * !2647 NR UE mixed fixes
      * !2671 Reduce stack memory size for layer mapping
      * !2669 CI: create SA 2x2 pipeline
      * !2660 fix for 3072 fft size when using 80 MHz and -E
      * !2539 CI: Add channel emulation in one test
      * !2635 SCTP problems: allow to bind separate F1-C/F1-U interfaces; allow to use DNS
      * !2438 PSBCH RX,TX and SLSS SEARCH procedures
      * !2675 (doc): Update benetel firmware version and configuration files
      * Update of O-RAN 7.2 gNB configuration file for Benetel 650
      74977924
  4. 15 Apr, 2024 24 commits
  5. 14 Apr, 2024 1 commit
  6. 13 Apr, 2024 8 commits
    • Robert Schmidt's avatar
      f042bd7a
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      Include nr_psbchsim in image for physims · 21918ffd
      Robert Schmidt authored
      21918ffd
    • Robert Schmidt's avatar
      Apply clang-format · 9a2e080f
      Robert Schmidt authored
      9a2e080f
    • Robert Schmidt's avatar
      Rewrite sctp_create_new_listener() to handle DNS, IPv6 · dfa01216
      Robert Schmidt authored
      Rewrite sctp_create_new_listener() to use getaddrinfo() to look up
      IPv4/IPv6 addresses via a common interface. This allows to use e.g. DNS,
      and enables the SCTP library to listen on IPv6 ports.
      
      To support the above, the corresponding message is changed to not take
      an IPv4 address on 4 bytes (and separate IPv6), but a single name that
      will be resolved via getaddrinfo()
      
      The previous init message used to allow multiple IPv4/IPv6 addresses;
      since this is not used anywhere, remove the corresponding functionality.
      
      Modify all uses of this ITTI message to copy te SCTP init bind addr into
      ITTI message.
      dfa01216
    • Robert Schmidt's avatar
      Rewrite sctp_handle_new_association_req() to handle hostnames and IPv6 · 0d128f9c
      Robert Schmidt authored
      Use getaddrinfo() to look up IP (v4/v6) addresses. The old
      interface of separately specifying IPv4 and IPv6 addresses is
      preserved, but both fields allow to specify types of addresses, and we
      will remove one field in the future.
      0d128f9c
    • Robert Schmidt's avatar
      Introduce additional option to bind on separate IFs for F1-C/U in DU · e65cb0cf
      Robert Schmidt authored
      After the last commit, it is not possible to bind on separate interfaces
      for F1-C and F1-U. In other words, it is for instance not possible to
      have the F1-C on one subnet on one physical interface, and F1-U on
      another subnet on another physical interface. This commit introduces a
      second option MACRLCs.[0].local_n_address_f1u to allow to bind F1-U on
      an alternative address; if it is not specified, the interface of F1-C is
      reused.
      
      The above only works for the DU; no corresponding option exists for the
      CU. For the CU, use separate CU-CP and CU-UP.
      
      Use it in the CI.
      e65cb0cf
    • Robert Schmidt's avatar
      Revert "F1AP SCTP: don't bind local address" · a1935185
      Robert Schmidt authored
      This reverts commit 28411652.
      
      The problem is that (1) we don't really support multi-homing, but (2) on
      some system, if the other IP addresses that the operating system
      considers part of the multi-homed connection are HEARTBEAT'ed (e.g.,
      docker), they answer with SCTP ABORT, which breaks the entire
      connection.
      
      In other words, force single-homing by binding. For F1-U uses, another
      option will be introduced that allows to bind to a separate interface
      for F1-U (separate from F1-C), if necessary.
      
      Closes #727
      a1935185
  7. 12 Apr, 2024 1 commit