Commit b2c9a1d2 authored by Robert Schmidt's avatar Robert Schmidt
Browse files

Merge branch 'integration_2025_w20' into 'develop'

Integration: `2025.w20`

Closes #826 and #884

See merge request oai/openairinterface5g!3438

* !3168 Improvements for LDPC encoding
* !3386 E1 Bearer Context Release enc/dec lib and unit test
* !3394 Fix Liteon with MTU 1500 and update the FHI docs
* !3437 CI: RFsim F1/HO: Use hanging-workaround to avoid blocking of second client
* !3384 Add enc/dec library and unit test for E1 Bearer Context Modification Failure
* !3418 Use common function to generate CSI-RS signal
* !3379 Add physim tests into ctest framework
* !3420 Added intercommunication between namespaces
* !3422 Tutorials: updates for NR SA Tutorials
* !3436 Beam switching small fixes
* !3439 Fix RRC resources periodicity determination according to number of slots per period
* !3434 Remove EPC/UE main.py parameters
* !3423 Fix PDSCH and PUSCH BWP Start and Size when PXSCH is scheduled with a DCI format x_0 in any type of PDCCH common search space
* !3442 Fix UL chanel estimates mapping in 2-layer MMSE receiver
parents c7deef82 4a722c01
Loading
Loading
Loading
Loading
+24 −6
Original line number Diff line number Diff line
@@ -108,6 +108,7 @@ add_list_string_option(CMAKE_BUILD_TYPE "RelWithDebInfo" "Choose the type of bui
# -so to avoid AVX512 instructions generation by gcc
if(EXISTS "/proc/cpuinfo" AND NOT CROSS_COMPILE)
  file(STRINGS "/proc/cpuinfo" CPUFLAGS REGEX flags LIMIT_COUNT 1)
  file(STRINGS "/proc/cpuinfo" CPUPART REGEX "CPU part" LIMIT_COUNT 1)
else()
  message(WARNING "did not find /proc/cpuinfo -- not setting any x86-specific compilation variables")
endif()
@@ -148,7 +149,18 @@ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
    set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mfloat-abi=hard -mfpu=neon -lgcc -lrt")
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
  set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -lgcc -lrt")
# Neoverse CPU part codes available at https://github.com/util-linux/util-linux/blob/master/sys-utils/lscpu-arm.c
  if (CPUPART MATCHES "0xd40") # Neoverse-V1
    set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mcpu=neoverse-v1 -lgcc -lrt")
  elseif (CPUPART MATCHES "0xd4f") # Neoverse-V2
    set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mcpu=neoverse-v2 -ftree-vectorize -lgcc -lrt")
  elseif (CPUPART MATCHES "0xd0c") # Neoverse-N1
    set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mcpu=neoverse-n1  -lgcc -lrt")
  elseif (CPUPART MATCHES "0xd49") # Neoverse-N2
    set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mcpu=neoverse-n2 -ftree-vectorize -lgcc -lrt")
  else ()
    set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mcpu=native -lgcc -lrt")
  endif()
else()
  message(FATAL_ERROR "compile for CPU architecture ${CPUARCH}, CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR}")
endif()
@@ -939,7 +951,6 @@ set(PHY_SRC_UE
  ${OPENAIR1_DIR}/PHY/NR_REFSIG/nr_gen_mod_table.c
  ${OPENAIR1_DIR}/PHY/NR_REFSIG/dmrs_nr.c
  ${OPENAIR1_DIR}/PHY/NR_REFSIG/ptrs_nr.c
  ${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_csi_rs.c
  ${OPENAIR1_DIR}/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
  ${OPENAIR1_DIR}/PHY/NR_ESTIMATION/nr_freq_equalization.c
  ${OPENAIR1_DIR}/PHY/NR_ESTIMATION/nr_measurements_gNB.c
@@ -2052,6 +2063,7 @@ foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim pr
    pthread m rt CONFIG_LIB ${T_LIB} dl shlib_loader
    )
  target_link_libraries(${myExe} PRIVATE asn1_lte_rrc_hdrs)
  add_dependencies(${myExe} coding)

endforeach(myExe)

@@ -2104,12 +2116,18 @@ include(${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt)

set(ENABLE_TESTS OFF CACHE STRING "Activate build of tests")
set_property(CACHE ENABLE_TESTS PROPERTY TYPE BOOL)
if(ENABLE_TESTS)
  # activates globally adding tests such that they can be run using ctest
  enable_testing()
set(ENABLE_PHYSIM_TESTS OFF CACHE STRING "Activate build of physim tests")
set_property(CACHE ENABLE_PHYSIM_TESTS PROPERTY TYPE BOOL)

if(ENABLE_TESTS OR ENABLE_PHYSIM_TESTS)
  # meta-target: each test is supposed to add_dependencies(tests ${NEWTEST})
  # then, it is possible to build and execute all tests using "ninja tests && ctest"
  add_custom_target(tests)
  # activates globally adding tests such that they can be run using ctest
  enable_testing()
endif()

if(ENABLE_TESTS)
  find_package(GTest)
  if (NOT GTest_FOUND)
    message(STATUS "GTest package not found, will download googletest automatically. To prevent that install google test on your system (libgtest-dev)")
+2 −3
Original line number Diff line number Diff line
apiVersion: v1
name: oai-ulsim
description: A Helm subchart for ulsim network function
name: oai-physims-4g
description: A Helm subchart for 4G physims network function

# A chart can be either an 'application' or a 'library' chart.
#
@@ -24,7 +24,6 @@ appVersion: v1

keywords:
  - Physical Simulator
  - ulsim
  - RAN
  - 4G

+10 −10
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-polartest.name" -}}
{{- define "oai-physims-4g.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}

@@ -11,7 +11,7 @@ Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-polartest.fullname" -}}
{{- define "oai-physims-4g.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
@@ -27,16 +27,16 @@ If release name contains chart name it will be used as a full name.
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-polartest.chart" -}}
{{- define "oai-physims-4g.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
Common labels
*/}}
{{- define "oai-polartest.labels" -}}
helm.sh/chart: {{ include "oai-polartest.chart" . }}
{{ include "oai-polartest.selectorLabels" . }}
{{- define "oai-physims-4g.labels" -}}
helm.sh/chart: {{ include "oai-physims-4g.chart" . }}
{{ include "oai-physims-4g.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
@@ -46,17 +46,17 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
{{/*
Selector labels
*/}}
{{- define "oai-polartest.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-polartest.name" . }}
{{- define "oai-physims-4g.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-physims-4g.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}

{{/*
Create the name of the service account to use
*/}}
{{- define "oai-polartest.serviceAccountName" -}}
{{- define "oai-physims-4g.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
    {{ default (include "oai-polartest.fullname" .) .Values.serviceAccount.name }}
    {{ default (include "oai-physims-4g.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
    {{ default "default" .Values.serviceAccount.name }}
{{- end -}}
+4 −3
Original line number Diff line number Diff line
@@ -31,8 +31,9 @@ spec:
        command: ["/bin/sh", "-c"]
        args:
        - >
          cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlsim.basic" -d bin/ &&
          echo "FINISHED" && sleep infinity
          ctest -R 4g --show-only=json-v1 >> physims-4g-tests.json &&
          ctest -R 4g -j$(nproc) --output-junit physims-4g-run.xml --test-output-size-passed 100000 --test-output-size-failed 100000 ;
          echo "FINISHED" && sleep 15
      dnsPolicy: ClusterFirst
      restartPolicy: Never
      schedulerName: default-scheduler
@@ -43,5 +44,5 @@ spec:
         {{- toYaml .Values.global.nodeSelector | nindent 12 }}
      {{- end }}
      {{- if .Values.global.nodeName}}
      nodeName: {{ .Values.global.nodeName.nrdlsimbasic }}
      nodeName: {{ .Values.global.nodeName.physims5g }}
      {{- end }}
Loading