1. 27 Jan, 2025 11 commits
    • Robert Schmidt's avatar
      84d92ac8
    • Robert Schmidt's avatar
      Only use refcount if monolithic · 9f80c82f
      Robert Schmidt authored
      There is a reference counting mechanism used in monolithic. It does not
      apply for the PNF.
      9f80c82f
    • Robert Schmidt's avatar
      Don't call L1 code in VNF · 9634593d
      Robert Schmidt authored
      The VNF should never call into the L1, it's L2/L3, by definition. Also,
      it's not necessary.
      9634593d
    • Robert Schmidt's avatar
      Allow to use multiple PUCCH at once · 1b44f644
      Robert Schmidt authored
      We are required to store multiple PUCCH (e.g., for multiple UEs).
      However, nr_fill_pucch() automatically freed the previously active PUCCH
      structure. Of course(!) this does not make sense.
      
      However, the problem is that init_nr_transport() allocated only one
      PUCCH structure. Also this does not make sense to me. The problem was
      that slot_ahead was 0, which logically cannot happen in this function
      (because slot_ahead is illogical, we must give the radio some time). The
      reason is that it uses if_inst->sl_ahead, which, prior to this commit,
      was not set.
      
      The init_nr_transport() function is called normally from main() through
      init_eNB_afterRU(). In this case, we initialize if_inst->sl_ahead to
      what is set in main(). In the PNF case, however, we call
      init_nr_transport() from the PNF thread, when receiving the start
      request. In the main(), we wait for this to happen, before setting
      if_inst->sl_ahead. Hence, initializing this variable (which we should
      safely be able to do) before solves the problem.
      1b44f644
    • Robert Schmidt's avatar
      No special handling for PNF for RX procedures · 84d9df50
      Robert Schmidt authored
      See also a later commit "Allow to use multiple PUCCH at once", in which
      PUCCH handling in the case of PNF is reworked.
      
      We might squash both commits.
      84d9df50
    • Rúben Soares da Silva's avatar
      Assign NFAPI_NR_CONFIG_SLOT_CONFIG_TAG tag in TLVs used for transmitting the... · a6b40ace
      Rúben Soares da Silva authored
      Assign NFAPI_NR_CONFIG_SLOT_CONFIG_TAG tag in TLVs used for transmitting the TDD Slot configuration through CONFIG.request.
      a6b40ace
    • Robert Schmidt's avatar
      Shorten the sleep · 4ceac17c
      Robert Schmidt authored
      sync_var is set in main() (which likely is wrong in that the L1 code
      sync itself, and not require the help of main()).
      4ceac17c
    • Robert Schmidt's avatar
      Sync PNF through the radio · dd3b3caf
      Robert Schmidt authored
      The radio gives the clock. Therefore, we do not need to keep the time
      separately in the PNF.
      
      Also, the VNF should not run the ru_thread, as this is an L1 thread.
      dd3b3caf
    • Robert Schmidt's avatar
      Request timing every slot · 604cfe87
      Robert Schmidt authored
      This is to align with monolithic/FAPI, where we get slot indications in
      each slot. In the nFAPI, this is replaced by timing information, such
      that the VNF ticks automatically, and gets indications from the PNF on
      early/late messages. The timing information handling is not implemented
      in the present nFAPI implementation. Instead, we adopt the FAPI behavior
      and send timing information in every slot, abusing it to be a slot
      indication.
      604cfe87
    • Robert Schmidt's avatar
      Remove double-add of PNF connection · ce0737fc
      Robert Schmidt authored
      There is no need to add the PNF in nr_start_resp_cb(), because it has
      already been done in nr_param_resp_cb(). This might be wrong, because 4G
      does it only in nr_start_resp_cb(), but for the moment, since it is also
      used in nr_param_resp_cb(), avoid the double add.
      ce0737fc
    • Robert Schmidt's avatar
      Add PNF to VNF's list of PNFs when IP available · d4715fde
      Robert Schmidt authored
      The same function is called in nr_start_resp_cb(), why there and not here?
      
      At reception of nr_param_response, we receive the remote PNF information
      on PNF/VNF. We have to store it.
      
      In nr_start_response, it might not be correct and/or can be taken out.
      The next commit will remove it.
      d4715fde
  2. 22 Jan, 2025 7 commits
  3. 16 Jan, 2025 1 commit
    • Robert Schmidt's avatar
      Merge branch 'integration_2025_w03' into 'develop' · 10e07bc6
      Robert Schmidt authored
      Integration: `2025.w03`
      
      See merge request oai/openairinterface5g!3206
      
      * !3167 remove calls to clear SIMD registers, that was a historical issue
      * !3179 UE statistics improvements
      * !3193 Remove spinlock from threadpool task return
      * !3195 UE MAC: in phy-test/do-ra, fill TB randomly
      * !3201 T tracer: minor fixes for compilation
      * !3204 CI: Increase number of test trials for timing tests
      * !3034 Delay compensation for PUCCH2
      * !3205 Fix calculation of RSSI in pucch_rx.c
      10e07bc6
  4. 15 Jan, 2025 12 commits
  5. 14 Jan, 2025 9 commits