Skip to content

Commit 2a7dec3

Browse files
author
codebot
committed
Update main
# Conflicts: # apps/units/flexible_du/split_7_2/logger_registrator.h # apps/units/flexible_du/split_ru_dynamic/logger_registrator.h # include/srsran/support/sockets.h # lib/f1ap/common/colocated_message_handler.h # lib/f1ap/common/remote_message_handler.h
2 parents 78238fd + b0ab9f9 commit 2a7dec3

File tree

267 files changed

+12953
-6727
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

267 files changed

+12953
-6727
lines changed

.gitlab/ci/build.yml

Lines changed: 158 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
include:
1010
- project: softwareradiosystems/ci/srsran_project_packaging
11-
ref: "5"
11+
ref: "6"
1212
file: .gitlab/ci-shared/package.yml
1313
- local: .gitlab/ci/src_cache.yml
1414

@@ -79,12 +79,12 @@ variables:
7979
################
8080

8181
.cache_build_set: &cache_build_set
82-
- key: ${OS}-${COMPILER}-${BUILD_TYPE}
82+
- key: ${OS}-${COMPILER}-${BUILD_TYPE}-${AUTO_DETECT_ISA}-${ENABLE_AVX512}
8383
paths: [ccache]
8484
policy: push
8585

8686
.cache_build_get: &cache_build_get
87-
- key: ${OS}-${COMPILER}-${BUILD_TYPE}
87+
- key: ${OS}-${COMPILER}-${BUILD_TYPE}-${AUTO_DETECT_ISA}-${ENABLE_AVX512}
8888
paths: [ccache]
8989
policy: pull
9090

@@ -426,6 +426,40 @@ variables:
426426
BUILD_ARGS: -DEXIT_TIMEOUT=120
427427
tags: ["${AMD64_AVX2_TAG}"]
428428

429+
.smoke avx512:
430+
extends: .build_and_unit
431+
variables:
432+
OS: ubuntu-24.04
433+
COMPILER: gcc
434+
BUILD_TYPE: Release
435+
ASSERT_LEVEL: PARANOID
436+
TEST_MODE: default
437+
AUTO_DETECT_ISA: "True"
438+
ENABLE_AVX512: "True"
439+
tags: ["${AMD64_AVX512_TAG}"]
440+
441+
.smoke arm:
442+
extends: .build_and_unit
443+
variables:
444+
OS: ubuntu-24.04
445+
COMPILER: gcc
446+
BUILD_TYPE: Release
447+
ASSERT_LEVEL: PARANOID
448+
TEST_MODE: default
449+
AUTO_DETECT_ISA: "False"
450+
tags: ["${ARM64_TAG}"]
451+
452+
.smoke arm neon:
453+
extends: .build_and_unit
454+
variables:
455+
OS: ubuntu-24.04
456+
COMPILER: gcc
457+
BUILD_TYPE: Release
458+
ASSERT_LEVEL: PARANOID
459+
TEST_MODE: default
460+
AUTO_DETECT_ISA: "True"
461+
tags: ["${ARM64_TAG}"]
462+
429463
# Combinations to use in schedules matrix
430464

431465
.combinations: &basic_combinations
@@ -512,6 +546,70 @@ smoke dpdk cached:
512546
- !reference [.fetch_src_cache, cache]
513547
- *cache_build_get
514548

549+
.infra_path_changes:
550+
- changes: &instruction_set_changes
551+
paths:
552+
- include/srsran/phy/**/*
553+
- lib/phy/**/*
554+
- tests/unittests/phy/**/*
555+
556+
smoke avx512 cached:
557+
extends: .smoke avx512
558+
stage: manual
559+
timeout: 45 min
560+
rules:
561+
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
562+
when: never
563+
- if: $ON_MR == "true" && $CI_MERGE_REQUEST_APPROVED == "true"
564+
changes:
565+
<<: *instruction_set_changes
566+
- if: $ON_MR
567+
changes:
568+
<<: *instruction_set_changes
569+
when: manual
570+
allow_failure: false
571+
cache:
572+
- !reference [.fetch_src_cache, cache]
573+
- *cache_build_get
574+
575+
smoke arm cached:
576+
extends: .smoke arm
577+
stage: manual
578+
timeout: 45 min
579+
rules:
580+
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
581+
when: never
582+
- if: $ON_MR == "true" && $CI_MERGE_REQUEST_APPROVED == "true"
583+
changes:
584+
<<: *instruction_set_changes
585+
- if: $ON_MR
586+
changes:
587+
<<: *instruction_set_changes
588+
when: manual
589+
allow_failure: false
590+
cache:
591+
- !reference [.fetch_src_cache, cache]
592+
- *cache_build_get
593+
594+
smoke arm neon cached:
595+
extends: .smoke arm neon
596+
stage: manual
597+
timeout: 45 min
598+
rules:
599+
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
600+
when: never
601+
- if: $ON_MR == "true" && $CI_MERGE_REQUEST_APPROVED == "true"
602+
changes:
603+
<<: *instruction_set_changes
604+
- if: $ON_MR
605+
changes:
606+
<<: *instruction_set_changes
607+
when: manual
608+
allow_failure: false
609+
cache:
610+
- !reference [.fetch_src_cache, cache]
611+
- *cache_build_get
612+
515613
smoke relwithdeb clean:
516614
extends: .smoke relwithdeb
517615
rules:
@@ -539,6 +637,27 @@ smoke dpdk clean:
539637
rules:
540638
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
541639

640+
smoke avx512 clean:
641+
extends: .smoke avx512
642+
rules:
643+
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
644+
changes:
645+
<<: *instruction_set_changes
646+
647+
smoke arm clean:
648+
extends: .smoke arm
649+
rules:
650+
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
651+
changes:
652+
<<: *instruction_set_changes
653+
654+
smoke arm neon clean:
655+
extends: .smoke arm neon
656+
rules:
657+
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
658+
changes:
659+
<<: *instruction_set_changes
660+
542661
# Intermediate commits
543662

544663
intermediate commits:
@@ -719,6 +838,42 @@ smoke valgrind update cache:
719838
<<: *build_artifacts
720839
expire_in: 3 day
721840

841+
smoke avx512 update cache:
842+
extends: .smoke avx512
843+
rules:
844+
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
845+
when: delayed
846+
start_in: 30 minutes
847+
retry: 2
848+
interruptible: false
849+
cache:
850+
- !reference [.fetch_src_cache, cache]
851+
- *cache_build_set
852+
853+
smoke arm update cache:
854+
extends: .smoke arm
855+
rules:
856+
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
857+
when: delayed
858+
start_in: 30 minutes
859+
retry: 2
860+
interruptible: false
861+
cache:
862+
- !reference [.fetch_src_cache, cache]
863+
- *cache_build_set
864+
865+
smoke arm neon update cache:
866+
extends: .smoke arm neon
867+
rules:
868+
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
869+
when: delayed
870+
start_in: 30 minutes
871+
retry: 2
872+
interruptible: false
873+
cache:
874+
- !reference [.fetch_src_cache, cache]
875+
- *cache_build_set
876+
722877
smoke asan:
723878
extends: .build_and_unit
724879
rules:

.gitlab/ci/docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ metrics version check in retina:
8484
stage: compose
8585
image: docker:24.0.7
8686
tags:
87-
- saas-linux-small-amd64
87+
- saas-linux-medium-amd64
8888
timeout: 2h
8989
variables:
9090
DOCKER_HOST: tcp://docker:2375/

.gitlab/ci/e2e.yml

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -80,18 +80,16 @@ load retina variables:
8080
eval K_PATH="\$$KUBECONFIG_VAR_NAME"
8181
export FORCE_COLOR=1
8282
export KUBECONFIG=$K_PATH
83-
needs: &retina-needs
84-
- job: "load retina variables"
85-
artifacts: true
8683
87-
e2e request validation:
84+
e2e request and config validation:
8885
stage: static
8986
extends:
9087
- .prepare_test
9188
rules:
9289
- if: $ON_MR
9390
changes:
9491
- .gitlab/ci/e2e/**/*
92+
- tests/e2e/tests/viavi/*
9593
image:
9694
name: ${RETINA_REGISTRY_PREFIX}/launcher:${RETINA_VERSION}
9795
entrypoint: ["/bin/sh", "-c"]
@@ -102,6 +100,10 @@ e2e request validation:
102100
for f in $file_list; do
103101
retina-request-checker --input $f
104102
done
103+
python3 ${CI_PROJECT_DIR}/tests/e2e/tests/viavi/validate_test_declaration.py
104+
needs: &retina-needs
105+
- job: "load retina variables"
106+
artifacts: true
105107

106108
.e2e-run:
107109
resource_group: e2e-${GROUP}
@@ -155,7 +157,7 @@ e2e request validation:
155157
sed -i "s|- local_path: ../../build/apps/gnb/gnb|- local_path: ../../|; s|remote_path: /usr/local/bin|remote_path: $CI_PROJECT_DIR|; s|is_executable: true|is_executable: false|" ${CI_PROJECT_DIR}/.gitlab/ci/e2e/retina_request_${TESTBED}.yml
156158
# Run Retina
157159
- |
158-
E2E_CMD="retina-launcher --retina-request=${CI_PROJECT_DIR}/.gitlab/ci/e2e/retina_request_${TESTBED}.yml --log-folder=./log --html=./log/report.html --self-contained-html --junitxml=out.xml ${PYTEST_ARGS} -k '${KEYWORDS}' -m '${MARKERS}' --register-parameter ue.all.log_level=$E2E_LOG_LEVEL gnb.all.log_level=$E2E_LOG_LEVEL ${RETINA_ARGS}"
160+
E2E_CMD="retina-launcher --retina-request=${CI_PROJECT_DIR}/.gitlab/ci/e2e/retina_request_${TESTBED}.yml ${PYTEST_ARGS} -k '${KEYWORDS}' -m '${MARKERS}' --register-parameter ue.all.log_level=$E2E_LOG_LEVEL gnb.all.log_level=$E2E_LOG_LEVEL ${RETINA_ARGS}"
159161
echo "${E2E_CMD}"
160162
eval $E2E_CMD
161163
after_script:
@@ -169,6 +171,8 @@ e2e request validation:
169171
echo "Test report ---> https://softwareradiosystems.gitlab.io/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/tests/e2e/log//report.html"
170172
echo "*******************************************************************************************************************************"
171173
- du -hs tests/e2e/log/
174+
needs:
175+
- *retina-needs
172176

173177
custom e2e:
174178
stage: manual
@@ -200,7 +204,7 @@ smoke zmq:
200204
TESTBED: zmq
201205
MARKERS: "smoke"
202206
PYTEST_ARGS: "-x"
203-
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True"
207+
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
204208
E2E_LOG_LEVEL: "debug"
205209
needs:
206210
- job: "smoke relwithdeb cached"
@@ -242,7 +246,7 @@ amari 1UE:
242246
TESTBED: "zmq_single_ue"
243247
MARKERS: "zmq_single_ue"
244248
E2E_LOG_LEVEL: "info"
245-
RETINA_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=True"
249+
RETINA_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
246250
needs:
247251
- job: "basic relwithdeb"
248252
artifacts: true
@@ -255,6 +259,7 @@ amari 1UE 4x4 mimo:
255259
TESTBED: "zmq_4x4_mimo"
256260
MARKERS: "zmq_4x4_mimo"
257261
E2E_LOG_LEVEL: "info"
262+
RETINA_ARGS: "gnb.all.enable_integrity_protection=True"
258263
needs:
259264
- job: "basic relwithdeb"
260265
artifacts: true
@@ -267,6 +272,7 @@ amari 4UE deb:
267272
TESTBED: "zmq_deb"
268273
MARKERS: "smoke"
269274
E2E_LOG_LEVEL: "info"
275+
RETINA_ARGS: "gnb.all.enable_integrity_protection=True"
270276
needs:
271277
- job: "basic package"
272278
artifacts: true
@@ -278,7 +284,7 @@ amari 32UE:
278284
variables:
279285
MARKERS: "zmq and not smoke"
280286
E2E_LOG_LEVEL: "info"
281-
RETINA_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=False"
287+
RETINA_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=False gnb.all.enable_integrity_protection=True"
282288
needs:
283289
- job: "basic relwithdeb"
284290
artifacts: true
@@ -307,7 +313,7 @@ amari 32UE asan:
307313
extends: .zmq
308314
variables:
309315
MARKERS: "smoke"
310-
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True"
316+
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
311317
needs:
312318
- job: "basic asan"
313319
artifacts: true
@@ -318,7 +324,7 @@ amari 32UE tsan:
318324
extends: .zmq
319325
variables:
320326
MARKERS: "smoke"
321-
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True"
327+
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
322328
needs:
323329
- job: "basic tsan"
324330
artifacts: true
@@ -330,7 +336,7 @@ amari 32UE memcheck:
330336
variables:
331337
MARKERS: "zmq_valgrind"
332338
E2E_LOG_LEVEL: "warning"
333-
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True"
339+
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
334340
needs:
335341
- job: "basic memcheck"
336342
artifacts: true
@@ -547,7 +553,11 @@ viavi-debug:
547553
retina setup:
548554
stage: ci
549555
extends: .demolition
556+
needs:
557+
- *retina-needs
550558

551559
retina post:
552560
stage: .post
553561
extends: .demolition
562+
dependencies:
563+
- load retina variables

.gitlab/ci/e2e/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
SRSGNB_REGISTRY_URI=registry.gitlab.com/softwareradiosystems/srsgnb
22
RETINA_REGISTRY_PREFIX=registry.gitlab.com/softwareradiosystems/ci/retina
3-
RETINA_VERSION=0.48.11
3+
RETINA_VERSION=0.48.14
44
UBUNTU_VERSION=24.04
55
AMARISOFT_VERSION=2023-09-08
66
SRSUE_VERSION=23.11

CMakeLists.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ endif(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
3131
cmake_minimum_required(VERSION 3.14)
3232
project(srsran)
3333

34-
set(CMAKE_CXX_STANDARD 14)
34+
set(CMAKE_CXX_STANDARD 17)
3535
set(CMAKE_CXX_STANDARD_REQUIRED ON)
3636
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
3737

@@ -88,6 +88,10 @@ if (ENABLE_WERROR)
8888
if (HAS_MAYBE_UNINITIALIZED)
8989
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=maybe-uninitialized")
9090
endif()
91+
check_cxx_compiler_flag("-Wstringop-overflow" HAS_STRINGOP_OVERFLOW)
92+
if (HAS_STRINGOP_OVERFLOW)
93+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=stringop-overflow")
94+
endif()
9195
endif()
9296
endif ()
9397

@@ -136,7 +140,7 @@ ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-Wnon-virtual-dtor HAVE_NON_VIRTUAL_DTOR)
136140
# Make sure all overridden methods are marked as override
137141
ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-Wsuggest-override HAVE_SUGGEST_OVERRIDE)
138142

139-
## Avoid shadow variables which can be caused due to C code ported into C++
143+
# Avoid shadow variables which can be caused due to C code ported into C++
140144
ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-Wshadow HAVE_SHADOW)
141145

142146
# Set compiler flags for different build types.

apps/gnb/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ add_executable(gnb
2525
gnb_appconfig_translators.cpp
2626
adapters/e1ap_gateway_local_connector.cpp
2727
adapters/f1c_gateway_local_connector.cpp
28+
adapters/f1c_gateway_remote_connector.cpp
2829
adapters/e2_gateway_remote_connector.cpp
2930
adapters/ngap_adapter.cpp
3031
)
@@ -59,5 +60,4 @@ endif (DPDK_FOUND)
5960

6061
add_backward(gnb)
6162

62-
target_include_directories(gnb PRIVATE ${CMAKE_SOURCE_DIR})
63-
include_directories(${CMAKE_SOURCE_DIR}/external)
63+
target_include_directories(gnb PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/external)

0 commit comments

Comments
 (0)