1. 17 Oct, 2024 14 commits
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      Cleanup handle_ueCapabilityInformation() · 118674ae
      Robert Schmidt authored
      Pass UE context pointer directly. In the switch, do not return to not
      create memory leaks (after the switch, memory is freed). Move the
      function up to make it appear before the use of the function.
      118674ae
    • Robert Schmidt's avatar
      Cleanup in securityModeFailure handling · 88d6117d
      Robert Schmidt authored
      The xer_fprintf() call is already present in rrc_gNB_decode_dcch()
      above.
      88d6117d
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      Cleanup: Pass UE context into handle_rrcSetupComplete() · 7836fe50
      Robert Schmidt authored
      Pass UE context, without protocol_ctxt_t, for cleanup. Remove the return
      from within the switch, as this would lead to memory leaks; nothing is
      executed after the switch statement (except for freeing memory).
      7836fe50
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      Bugfix: correctly check for GTP initialization · d5274af0
      Robert Schmidt authored
      The existing check for the initialization of GTP is wrong; GTP returns
      -1 if it could not initialize. Correct this, such that the DU will stop
      if GTP cannot be initialize.
      
      If we continue, the DU is requested to set up a GTP tunnel; because GTP
      is not initialized, it assumes it is in monolithic/no F1, and does not
      set up a tunnel. The F1 UE Context setup response encoder then fails
      with this assertion:
      
          Assertion (tnl->teid > 0) failed!
          In DU_send_UE_CONTEXT_SETUP_RESPONSE() ../../../openair2/F1AP/f1ap_du_ue_context_management.c:415
      
          Exiting execution
          ../../../openair2/F1AP/f1ap_du_ue_context_management.c:415 DU_send_UE_CONTEXT_SETUP_RESPONSE() Exiting OAI softmodem: _Assert_Exit_
          Aborted
      
      Closes: #853
      d5274af0
    • Robert Schmidt's avatar
      Handle faulty MeasurementReport gracefully · 30054b80
      Robert Schmidt authored
      A UE might send a MeasurementReport without the actual IEs present
      (intentionally or not). Check this and handle appropriately to avoid
      assertion
      
          Assertion (measurementReport->criticalExtensions.present == NR_MeasurementReport__criticalExtensions_PR_measurementReport && measurementReport->criticalExtensions.choice.measurementReport != ((void*)0)) failed!
          In rrc_gNB_process_MeasurementReport() ../../../openair2/RRC/NR/rrc_gNB.c
      
      Closes: #859
      30054b80
    • Robert Schmidt's avatar
      Handle unsolicited UE Capability Information gracefully · e8159724
      Robert Schmidt authored
      A UE might send a UE Capability Information without unsolicitatedly
      (intentionally or not). Check this and handle appropriately to avoid
      assertion
      
          Assertion (UE->xids[xid] == RRC_UECAPABILITY_ENQUIRY) failed!
          In handle_ueCapabilityInformation() ../../../openair2/RRC/NR/rrc_gNB.c
      
      Closes: #858
      e8159724
    • Robert Schmidt's avatar
      Handle fault rrcReestablishmentComplete gracefully · 542ef1c1
      Robert Schmidt authored
      A UE might send a rrcReestablishmentComplete without the actual IEs
      present (intentionally or not). Check this and handle appropriately to
      avoid assertion
      
          Assertion (reestablishment_complete->criticalExtensions.present == NR_RRCReestablishmentComplete__criticalExtensions_PR_rrcReestablishmentComplete) failed!
          In handle_rrcReestablishmentComplete() ../../../openair2/RRC/NR/rrc_gNB.c:1364
      
      Closes: #854
      542ef1c1
    • Robert Schmidt's avatar
      Handle repeated NGAP Initial Context Setup Request · d71104da
      Robert Schmidt authored
      Prior to this commit, if we receive an Initial Context Setup Request for
      a UE that has AS security set up, the gNB asserts with
      
          Assertion (!ue_p->as_security_active) failed!
          In rrc_gNB_generate_SecurityModeCommand() openairinterface5g/openair2/RRC/NR/rrc_gNB.c:2590
          logic error: security already activ
      
      However, TS 38.413 says:
      
      > The AMF may initiate the Initial Context Setup procedure if a
      > UE-associated logical NG-connection exists for the UE
      
      (I interpret this as "it might happen anytime")
      
      > store the received Security Key in the UE context and, if the NG-RAN
      > node is required to activate security for the UE, take this security key
      > into use.
      
      (I interpret this as "do not set up AS security again")
      
      In this commit, handle if we receive an Initial Context Setup Request
      for an existing UE context. As said in the spec, we store the keys. If
      security is not active, we trigger RRC Security Mode Command. If it is
      active, we skip Security, and directly set up a PDU session. If there is
      also no PDU session, we simply forward the NAS message, and acknowledge.
      
      If there was no AS security, after security, the gNB would trigger the
      setup of PDU sessions (if any), and then forward any NAS PDUs, which is
      stated in the if block if AS security is already active.
      d71104da
    • Robert Schmidt's avatar
  2. 16 Oct, 2024 5 commits
  3. 15 Oct, 2024 1 commit
    • Robert Schmidt's avatar
      Merge branch 'integration_2024_w41' into 'develop' · 65d8d410
      Robert Schmidt authored
      Integration: `2024.w41`
      
      See merge request oai/openairinterface5g!3032
      
      * !3006 Fix some sizeof and switch-case issues
      * !3028 Add CMakePresets.json
      * !3011 Aerial: cleanup unused code, avoid superfluous memcpy(), avoid L1 structures
      * !3022 NR CSI-RS L1 refactoring → check CI
      * !2935 Improvements in handling the beamforming procedure via FAPI
      * !3026 NR ULSCH scheduler fix when using transform precoding
      * !3031 CI: Increase test bitrates for 100 MHz scenario in SA-2x2 pipeline
      * !3017 Fix SRS
      * !2731 Implementation of 2-Step RA
      * !3027 Add dockerized include what you use tool
      65d8d410
  4. 14 Oct, 2024 5 commits
  5. 13 Oct, 2024 1 commit
  6. 11 Oct, 2024 14 commits