1. 27 Jan, 2025 8 commits
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/e1-setup-encdec-tests' into integration_2025_w04 (!3152) · 377ff897
      Robert Schmidt authored
      E1 Setup enc/dec library and unit test
      
      This MR is adding a library for E1 Setup enc/dec functions:
      
      - E1 CU-UP Setup Request
      - E1 CU-UP Setup Response
      - E1 Setup Failure
      
      and relevant unit tests
      377ff897
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/f1-ue-data-no-assert' into integration_2025_w04 (!3212) · f6243e90
      Robert Schmidt authored
      F1AP IDs: Add update, fix concurrency bug
      
      I suspect a concurrency bug: For instance, during reestablishment, the
      CU needs to update the DU UE ID under which the UE is identified in the
      DU. Previously, the CU would remove, then add the DU UE ID info. At the
      same time, the PDCP thread might look up the information. This can lead
      to asserts. Modify the code to do the update under (one) lock.
      
      Also, refactor some code.
      f6243e90
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/fix-huge-malloc' into integration_2025_w04 (!3211) · 2cecffb0
      Robert Schmidt authored
      Avoid huge calloc by alloc'ing TBs independently
      
      Fix real-time problems on smaller machines due to big calloc(). See the
      commit(s) for more details.
      2cecffb0
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/remove-most-of-m64-type-usage' into... · f3e5ab10
      Jaroslava Fiedlerova authored
      Merge remote-tracking branch 'origin/remove-most-of-m64-type-usage' into integration_2025_w04 (!3209)
      
      Remove most of m64 type usage
      
      MMX instructions were first SIMD version, the registers management is complex
      (_mm_empty()) so, it is better to remove it now and use more recent instructions
      
      anyway, gcc/clang should replace it automatically as long as we enable sse2,
      that should always be the case but for code understanding and for ARM porting
      for example, it is better to explicitly remove it
      f3e5ab10
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/nfapi-parser' into integration_2025_w04 (!3199) · 10392b5d
      Jaroslava Fiedlerova authored
      Add a small FAPI Hex parser utility
      
      Adds a small FAPI hex parser utility nfapi_hex_parser, that takes in a FAPI
      message hexdump, either from the command line or a file, unpacks it and prints
      the contents out to the console.
      
      The functions to print the data to the console were added alongside the existing
      utility functions, for both P5 and P7 messages.
      
      This allows the user to quickly check if a message has the valid format to be
      unpacked in OAI.
      
      The file examples.md contains some examples of execution and output.
      
      This utility is compiled alongside the NFAPI_LIB, as such, it is compiled
      whenever we compile nr-softmodem, or any other target that uses the NFAPI_LIB.
      10392b5d
    • Jaroslava Fiedlerova's avatar
    • Robert Schmidt's avatar
      Avoid huge calloc by alloc'ing TBs independently · 84c69e50
      Robert Schmidt authored
      Prior to this this commit, the structure NR_UE_info_t is 4881632 bytes.
      On some machines, e.g., one of the CI systems, this can lead to realtime
      problems when doing the initial calloc() of the data structure.
      
      Commit e586efb2 ("Enable 32 HARQ
      Processes in DL, UL") introduced the real-time problems by increasing
      the number of HARQ processes.
      
      The reason NR_UE_info_t is that big is that it contains buffers for DL
      HARQ data that might need to be retransmitted (the L1 is stateless, it
      cannot store this for the L2). To reduce the size, dynamically allocate
      the DL HARQ buffers when they are needed. This also reduces the size of
      NR_UE_info_t to 15840 bytes.
      
      Encapsulate transportBlock in byte_array and accessory functions, and
      allocate in big chunks of multiple of ~32kB.
      Reported-By: default avatarCedric Roux <cedric.roux@eurecom.fr>
      Fixes: e586efb2
      Closes: #875
      84c69e50
    • Robert Schmidt's avatar
      Correctly link function · 8eca2e05
      Robert Schmidt authored
      ran_func_kpm.c uses cp_ba_to_str(), but it is not defined in OAI. Define
      it so we can link properly, instead of relying on FlexRIC (where it was
      defined).
      8eca2e05
  2. 24 Jan, 2025 15 commits
  3. 23 Jan, 2025 17 commits