mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-15 13:40:29 +00:00
Compare commits
402 Commits
fix_thread
...
testing-jf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
97ab6fb957 | ||
|
|
64a472aef1 | ||
|
|
7bd248e15d | ||
|
|
c7a90ed237 | ||
|
|
699f2e5d81 | ||
|
|
382820dce2 | ||
|
|
3ad9a43880 | ||
|
|
377ff8970e | ||
|
|
f6243e9078 | ||
|
|
2cecffb02f | ||
|
|
6be898806e | ||
|
|
c553173677 | ||
|
|
03b63257f2 | ||
|
|
48d52fdf42 | ||
|
|
970eb04a84 | ||
|
|
58f2f9b3d7 | ||
|
|
3a1cd7480e | ||
|
|
f7617f8c9b | ||
|
|
abe77333b1 | ||
|
|
08ddce4750 | ||
|
|
e051c9bb0c | ||
|
|
5435585b13 | ||
|
|
d028cab7ae | ||
|
|
871311d986 | ||
|
|
29ce2e5e7f | ||
|
|
0659148d85 | ||
|
|
956ffe4751 | ||
|
|
1337245d94 | ||
|
|
6145f02b81 | ||
|
|
06a76c3bbc | ||
|
|
77837c7428 | ||
|
|
63159d3f87 | ||
|
|
10c5178bfb | ||
|
|
dee68e6319 | ||
|
|
b5276bdb6d | ||
|
|
099804078e | ||
|
|
6e210e15f1 | ||
|
|
cba2f92c8a | ||
|
|
282ee77104 | ||
|
|
10beee4fd6 | ||
|
|
8da4e92189 | ||
|
|
d6b8fe93ab | ||
|
|
17e36029fa | ||
|
|
a1190f9fd0 | ||
|
|
32363ccaad | ||
|
|
3fcfef9006 | ||
|
|
195b23bdc4 | ||
|
|
267be0afc1 | ||
|
|
7949b622be | ||
|
|
6cdea81e4a | ||
|
|
65bc677fc3 | ||
|
|
10afbef473 | ||
|
|
50aec62b40 | ||
|
|
63c1b3df03 | ||
|
|
15b08a362f | ||
|
|
a32ada76c7 | ||
|
|
82f8c38d74 | ||
|
|
28fb982cb9 | ||
|
|
f2229adba3 | ||
|
|
4fe8d3cd8e | ||
|
|
6a630f4646 | ||
|
|
c37bf20501 | ||
|
|
73478ca27e | ||
|
|
70474ad130 | ||
|
|
c7e145a471 | ||
|
|
16ead1d001 | ||
|
|
28b60edaa2 | ||
|
|
3fb20d960b | ||
|
|
e3bad16ab8 | ||
|
|
531726633a | ||
|
|
412446077f | ||
|
|
c5a76d6654 | ||
|
|
84d92ac820 | ||
|
|
9f80c82f54 | ||
|
|
9634593da7 | ||
|
|
1b44f6448b | ||
|
|
84d9df501d | ||
|
|
a6b40ace23 | ||
|
|
4ceac17cd5 | ||
|
|
dd3b3caf32 | ||
|
|
604cfe8709 | ||
|
|
ce0737fc9d | ||
|
|
d4715fdeca | ||
|
|
f3e5ab1060 | ||
|
|
10392b5da2 | ||
|
|
5512a48fbd | ||
|
|
84c69e5064 | ||
|
|
8eca2e0591 | ||
|
|
febeaa7181 | ||
|
|
7520218195 | ||
|
|
ffb3354d49 | ||
|
|
b999177810 | ||
|
|
f0ab268393 | ||
|
|
266076897c | ||
|
|
706aecf22b | ||
|
|
3231b0bcfc | ||
|
|
124f4ab9c5 | ||
|
|
5ea432c081 | ||
|
|
75b238633c | ||
|
|
beb74b3e62 | ||
|
|
b1d7bbf1a2 | ||
|
|
c0a0de3e63 | ||
|
|
03420b112e | ||
|
|
ef3b99a263 | ||
|
|
e106ec6d91 | ||
|
|
4d6b95a155 | ||
|
|
61b8217a15 | ||
|
|
2da68f6056 | ||
|
|
4f5cb2408c | ||
|
|
f3890dcd2a | ||
|
|
b2f5f216cd | ||
|
|
5176199aa2 | ||
|
|
5b4a45b694 | ||
|
|
422e82df70 | ||
|
|
763c265c42 | ||
|
|
02e1c3589b | ||
|
|
8fbfcf48f6 | ||
|
|
414fc2e9a2 | ||
|
|
fc4cc9ef55 | ||
|
|
28a08786bb | ||
|
|
44637de3b2 | ||
|
|
e6ce301e83 | ||
|
|
803c9c349a | ||
|
|
ad04800b20 | ||
|
|
1451f30b93 | ||
|
|
c4b57963ee | ||
|
|
536b5d8760 | ||
|
|
ca37e0c123 | ||
|
|
d68a8b51e6 | ||
|
|
0f970326c2 | ||
|
|
17bb19c7be | ||
|
|
b0734604e9 | ||
|
|
a54eba8fe0 | ||
|
|
fb2f893954 | ||
|
|
a8f6563060 | ||
|
|
e7e01f753a | ||
|
|
eac35f07a5 | ||
|
|
1dd71b51e1 | ||
|
|
f4862fe23b | ||
|
|
4132fcc597 | ||
|
|
90435ccba8 | ||
|
|
c910d9f71f | ||
|
|
e0aaa8fa5e | ||
|
|
337faca6f5 | ||
|
|
e0549de9ea | ||
|
|
3090d0414e | ||
|
|
d999ed2beb | ||
|
|
829541dc36 | ||
|
|
6cfa3e3722 | ||
|
|
c0db34077a | ||
|
|
0cd4aeee5b | ||
|
|
334537aa98 | ||
|
|
592b9a3509 | ||
|
|
9fe045f40e | ||
|
|
38a38e0eaf | ||
|
|
beee87cdf6 | ||
|
|
5cc026a4d0 | ||
|
|
a33796217d | ||
|
|
0fd5130573 | ||
|
|
a2eaacf2bd | ||
|
|
45dfcbe6cd | ||
|
|
0b4b6b952d | ||
|
|
0d3008c244 | ||
|
|
75f6f3ca6f | ||
|
|
50f2c2a3dd | ||
|
|
f1076605f2 | ||
|
|
6d5e29f5ae | ||
|
|
c7dc71e66d | ||
|
|
e2bf9fb0a4 | ||
|
|
253fffe7fb | ||
|
|
72d5c77e3b | ||
|
|
2924d18ebe | ||
|
|
10e07bc67f | ||
|
|
998d8c9480 | ||
|
|
55220c3919 | ||
|
|
a20d229b6b | ||
|
|
284a0edea7 | ||
|
|
356aec9aa4 | ||
|
|
77ddc36236 | ||
|
|
a4bbf9e513 | ||
|
|
876343e7f8 | ||
|
|
85b163b6b9 | ||
|
|
9b6f1be163 | ||
|
|
69195457d7 | ||
|
|
7bd048e6af | ||
|
|
0657ab2275 | ||
|
|
9e9bd278a9 | ||
|
|
bcd1270237 | ||
|
|
b922fd2649 | ||
|
|
a1abf90d5b | ||
|
|
f00a7a0197 | ||
|
|
c77874d64e | ||
|
|
48226d10bf | ||
|
|
dc5f4bf868 | ||
|
|
6384517c01 | ||
|
|
bf69131c21 | ||
|
|
39a50faa6e | ||
|
|
f919246121 | ||
|
|
ba27aefe4e | ||
|
|
7d0c89185c | ||
|
|
d5c72cf843 | ||
|
|
a0d6057294 | ||
|
|
b96dfadae9 | ||
|
|
f7d3b72851 | ||
|
|
959bb59f35 | ||
|
|
72aaf45fa8 | ||
|
|
4dfbd0dd9e | ||
|
|
39d9d32eda | ||
|
|
9d9902d883 | ||
|
|
b4bc7c96ba | ||
|
|
189396aac2 | ||
|
|
818a3f9318 | ||
|
|
299b63b4ee | ||
|
|
acd8f0730b | ||
|
|
df03c02a84 | ||
|
|
38f9436837 | ||
|
|
86c703dbf0 | ||
|
|
d892732ff7 | ||
|
|
751dad3126 | ||
|
|
03c7386649 | ||
|
|
f9c7057ed1 | ||
|
|
c54e7a7035 | ||
|
|
6eb0913de9 | ||
|
|
c959f41987 | ||
|
|
15fc29843c | ||
|
|
9586db6bfd | ||
|
|
dcc33d3931 | ||
|
|
8fd6f1c611 | ||
|
|
7720d7c821 | ||
|
|
8805b78d3f | ||
|
|
2e2264f30d | ||
|
|
63abc04a45 | ||
|
|
e2a3cde4b7 | ||
|
|
e0ca70c36d | ||
|
|
54c88a4a4a | ||
|
|
cb6eaa1deb | ||
|
|
fc2bd36788 | ||
|
|
61cb2bcc5a | ||
|
|
244355a3d2 | ||
|
|
7418a104be | ||
|
|
35e9d1e0c2 | ||
|
|
766619aa26 | ||
|
|
966a3a7264 | ||
|
|
9c0d90a014 | ||
|
|
a7b9a85640 | ||
|
|
d6f678ffc1 | ||
|
|
4dd69427d8 | ||
|
|
d718e67797 | ||
|
|
7bb585cc0e | ||
|
|
1b9fcc9858 | ||
|
|
70933edd19 | ||
|
|
88cde50d4c | ||
|
|
75162adf68 | ||
|
|
a9c72222dd | ||
|
|
0cd0ec7a67 | ||
|
|
5e930b0b72 | ||
|
|
f235b249ba | ||
|
|
912fec55ef | ||
|
|
8de9d006f5 | ||
|
|
2940ee5eda | ||
|
|
dc9a2cf1ad | ||
|
|
19c667fa80 | ||
|
|
2d2a92dd12 | ||
|
|
70a6434168 | ||
|
|
f9bff3d6a0 | ||
|
|
9a3fbacfac | ||
|
|
1df5327f0c | ||
|
|
f3e60a1417 | ||
|
|
a82b1450e4 | ||
|
|
40584b5b32 | ||
|
|
90057df3cc | ||
|
|
cd570f632f | ||
|
|
5947d77609 | ||
|
|
057b2ad552 | ||
|
|
650b2dc6eb | ||
|
|
7b499f5081 | ||
|
|
f7bb1367f5 | ||
|
|
3306a01c57 | ||
|
|
d820c187fc | ||
|
|
2f43b343b6 | ||
|
|
f02bd8b453 | ||
|
|
5473ee904f | ||
|
|
b4395406f0 | ||
|
|
acae0dc011 | ||
|
|
5ae69ce484 | ||
|
|
276a17902e | ||
|
|
55b5e04e8d | ||
|
|
f50146962d | ||
|
|
c66a625dc5 | ||
|
|
5bd2eb866c | ||
|
|
d4ca420122 | ||
|
|
0d4c7364b4 | ||
|
|
59e6a33d2b | ||
|
|
bcba876fcb | ||
|
|
70a746a445 | ||
|
|
c71c9de953 | ||
|
|
aba506e5e3 | ||
|
|
68ae3ea11c | ||
|
|
8e32f566fc | ||
|
|
511b5f8ebd | ||
|
|
0c24f1ff13 | ||
|
|
5f01cf6f93 | ||
|
|
6b852a6fff | ||
|
|
8e44b2d22e | ||
|
|
3e63f1dab2 | ||
|
|
9858a733c1 | ||
|
|
3e8636ce98 | ||
|
|
adbbbaeaba | ||
|
|
509cc8cc58 | ||
|
|
3de8a746fe | ||
|
|
6b7055bb37 | ||
|
|
ed876a53b2 | ||
|
|
c852d9337c | ||
|
|
3c94b9a18f | ||
|
|
bc8556eafb | ||
|
|
462d1a6a8b | ||
|
|
5600316d34 | ||
|
|
70b4611001 | ||
|
|
3361db1a34 | ||
|
|
a7d0e609ed | ||
|
|
6330bfe0e8 | ||
|
|
f804a355ad | ||
|
|
c80821e578 | ||
|
|
5785bc1894 | ||
|
|
28b7e0b7d5 | ||
|
|
9e6c0c8c78 | ||
|
|
5ab9bd95bd | ||
|
|
a2613d5604 | ||
|
|
deba36a5d1 | ||
|
|
e5622f442c | ||
|
|
0b78a18d47 | ||
|
|
a8a7946975 | ||
|
|
85440e2d4e | ||
|
|
b92ee59d41 | ||
|
|
1481d89dfd | ||
|
|
31b8d98bb5 | ||
|
|
7bf6f3f276 | ||
|
|
0aeba914a0 | ||
|
|
23bfce8d91 | ||
|
|
97614d182f | ||
|
|
240aafeb14 | ||
|
|
37bb58feb2 | ||
|
|
52d1d7b6e7 | ||
|
|
8756afdb5a | ||
|
|
73770da52c | ||
|
|
c6bdde1244 | ||
|
|
49bdcfd95c | ||
|
|
7f1d3c6644 | ||
|
|
80c406693f | ||
|
|
00e1ad124d | ||
|
|
7cfa482107 | ||
|
|
61849adf8b | ||
|
|
7fe218b91c | ||
|
|
2de4d8ee0d | ||
|
|
4f11e76b6b | ||
|
|
de0b9881ac | ||
|
|
44b3443533 | ||
|
|
2ff81068ef | ||
|
|
7b61ebcb74 | ||
|
|
4d6b3f8c30 | ||
|
|
e5675d38bf | ||
|
|
46fe1115ad | ||
|
|
aed2e6c7fb | ||
|
|
5f22b05695 | ||
|
|
13a1d863c7 | ||
|
|
f8d7e1fd1b | ||
|
|
02679ca07c | ||
|
|
4c42a20eaa | ||
|
|
3f01ec0e71 | ||
|
|
42a10e4700 | ||
|
|
a049c53e99 | ||
|
|
fc26b8c053 | ||
|
|
0b1dd3ed50 | ||
|
|
ef55aaa7c9 | ||
|
|
3f74749aa6 | ||
|
|
2989bb592b | ||
|
|
be618b069e | ||
|
|
bd7fb492fd | ||
|
|
27f1c0db65 | ||
|
|
ad9645ffb9 | ||
|
|
2ffb674d58 | ||
|
|
3c5e999f6d | ||
|
|
70fa713712 | ||
|
|
f6238eddec | ||
|
|
789ee2335e | ||
|
|
cb726af807 | ||
|
|
21bf5c464c | ||
|
|
486f4f5f96 | ||
|
|
f88c47ba3e | ||
|
|
698ff73c7f | ||
|
|
06c0374ec8 | ||
|
|
73921dfa10 | ||
|
|
e5814cd62e | ||
|
|
4f56bf903a | ||
|
|
5ac703b580 | ||
|
|
01abee2baf | ||
|
|
9f03fde602 | ||
|
|
3e3ef8cfd0 | ||
|
|
daeb110ae1 | ||
|
|
026190e0d1 | ||
|
|
e0c0df38ea | ||
|
|
3e6f2db124 |
179
CMakeLists.txt
179
CMakeLists.txt
@@ -260,7 +260,6 @@ endif()
|
||||
|
||||
# Debug related options
|
||||
#########################################
|
||||
add_boolean_option(DEBUG_ASN1 False "Enable ASN1 debug logs" OFF)
|
||||
# asn1c skeletons have hardcoded this flag to make customized debug logs
|
||||
# OAI uses this feature to re-use OAI LOG_I(ASN1, ...)
|
||||
# see common/utils/config.h
|
||||
@@ -346,6 +345,7 @@ set(NGAP_DIR ${OPENAIR3_DIR}/NGAP)
|
||||
include_directories ("${NGAP_DIR}")
|
||||
add_library(ngap
|
||||
${NGAP_DIR}/ngap_gNB.c
|
||||
${NGAP_DIR}/ngap_common.c
|
||||
${NGAP_DIR}/ngap_gNB_context_management_procedures.c
|
||||
${NGAP_DIR}/ngap_gNB_decoder.c
|
||||
${NGAP_DIR}/ngap_gNB_encoder.c
|
||||
@@ -485,26 +485,6 @@ target_link_libraries(params_libconfig PRIVATE config_internals ${libconfig_LIBR
|
||||
add_library(shlib_loader OBJECT common/utils/load_module_shlib.c)
|
||||
target_link_libraries(shlib_loader PRIVATE CONFIG_LIB)
|
||||
|
||||
##########################################################
|
||||
|
||||
# LDPC offload library - AMD T2 Accelerator Card
|
||||
##########################################################
|
||||
|
||||
add_boolean_option(ENABLE_LDPC_T2 OFF "Build support for LDPC Offload to T2 library" OFF)
|
||||
if (ENABLE_LDPC_T2)
|
||||
pkg_check_modules(LIBDPDK_T2 REQUIRED libdpdk=20.11.9)
|
||||
find_library(PMD_T2 NAMES rte_baseband_accl_ldpc HINTS ${LIBDPDK_T2_LIBRARY_DIRS})
|
||||
if (NOT PMD_T2)
|
||||
message(FATAL_ERROR "could not find poll-mode driver for AccelerComm T2 LDPC Offload (rte_baseband_accl_ldpc.so)")
|
||||
endif()
|
||||
message(STATUS "T2 build: use ${PMD_T2}")
|
||||
add_library(ldpc_t2 MODULE ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_offload.c)
|
||||
set_target_properties(ldpc_t2 PROPERTIES COMPILE_FLAGS "-DALLOW_EXPERIMENTAL_API")
|
||||
target_link_libraries(ldpc_t2 ${LIBDPDK_T2_LDFLAGS} ${PMD_T2})
|
||||
endif()
|
||||
|
||||
##########################################################
|
||||
|
||||
include_directories ("${OPENAIR_DIR}/radio/COMMON")
|
||||
|
||||
##############################################################
|
||||
@@ -514,7 +494,6 @@ include_directories ("${OPENAIR_DIR}/radio/COMMON")
|
||||
add_boolean_option(UE_EXPANSION False "enable UE_EXPANSION with max 256 UE" ON)
|
||||
add_boolean_option(PHY_TX_THREAD False "enable UE_EXPANSION with max 256 UE" ON)
|
||||
add_boolean_option(PRE_SCD_THREAD False "enable UE_EXPANSION with max 256 UE" ON)
|
||||
add_boolean_option(UESIM_EXPANSION False "enable UESIM_EXPANSION with max 256 UE" ON)
|
||||
|
||||
##########################
|
||||
# SCHEDULING/REAL-TIME/PERF options
|
||||
@@ -526,20 +505,15 @@ add_boolean_option(ENABLE_VCD_FIFO False "time measurements of proc cal
|
||||
##########################
|
||||
# PHY options
|
||||
##########################
|
||||
add_boolean_option(LOCALIZATION False "???" ON)
|
||||
add_integer_option(MAX_NUM_CCs 1 "????" ON)
|
||||
add_integer_option(MAX_NUM_CCs 1 "Carrier component data arrays size (oai doesn't support carrier aggreagtion for now)" ON)
|
||||
add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator" ON)
|
||||
add_boolean_option(DEBUG_PHY False "Enable PHY layer debugging options" ON)
|
||||
add_boolean_option(DEBUG_PHY_PROC False "Enable debugging of PHY layer procedures" ON)
|
||||
add_boolean_option(MEX False "Enabling compilation with mex" ON)
|
||||
|
||||
##########################
|
||||
# NAS LAYER OPTIONS
|
||||
##########################
|
||||
add_boolean_option(ENABLE_NAS_UE_LOGGING True "????" ON)
|
||||
add_boolean_option(NAS_BUILT_IN_UE True "UE NAS layer present in this executable" ON)
|
||||
add_boolean_option(NAS_UE True "NAS UE INSTANCE (<> NAS_MME)" ON)
|
||||
|
||||
|
||||
##########################
|
||||
# RRC LAYER OPTIONS
|
||||
@@ -736,6 +710,7 @@ set(NFAPI_PNF_SRC
|
||||
)
|
||||
add_library(NFAPI_PNF_LIB ${NFAPI_PNF_SRC})
|
||||
target_link_libraries(NFAPI_PNF_LIB PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
||||
target_link_libraries(NFAPI_PNF_LIB PUBLIC nr_fapi_p7)
|
||||
|
||||
include_directories(${NFAPI_DIR}/pnf/public_inc)
|
||||
include_directories(${NFAPI_DIR}/pnf/inc)
|
||||
@@ -766,18 +741,13 @@ set(NFAPI_USER_SRC
|
||||
add_library(NFAPI_USER_LIB ${NFAPI_USER_SRC})
|
||||
target_link_libraries(NFAPI_USER_LIB PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs UTIL)
|
||||
target_link_libraries(NFAPI_USER_LIB PRIVATE nr_fapi_p7)
|
||||
if(OAI_AERIAL)
|
||||
target_compile_definitions(NFAPI_USER_LIB PRIVATE ENABLE_AERIAL)
|
||||
endif()
|
||||
include_directories(${NFAPI_USER_DIR})
|
||||
|
||||
# Layer 1
|
||||
#############################
|
||||
set(PHY_TURBOSRC
|
||||
${OPENAIR1_DIR}/PHY/CODING/3gpplte_sse.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/3gpplte.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder.c
|
||||
)
|
||||
set(PHY_POLARSRC
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrPolar_tools/nr_polar_init.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrPolar_tools/nr_bitwise_operations.c
|
||||
@@ -800,76 +770,12 @@ set(PHY_TURBOIF
|
||||
${OPENAIR1_DIR}/PHY/CODING/coding_load.c
|
||||
)
|
||||
|
||||
set(PHY_LDPC_ORIG_SRC
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder.c
|
||||
set(PHY_NRLDPC_CODINGIF
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface_load.c
|
||||
)
|
||||
add_library(ldpc_orig MODULE ${PHY_LDPC_ORIG_SRC} )
|
||||
target_link_libraries(ldpc_orig PRIVATE ldpc_gen_HEADERS)
|
||||
|
||||
set(PHY_LDPC_OPTIM_SRC
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim.c
|
||||
)
|
||||
add_library(ldpc_optim MODULE ${PHY_LDPC_OPTIM_SRC} )
|
||||
target_link_libraries(ldpc_optim PRIVATE ldpc_gen_HEADERS)
|
||||
|
||||
set(PHY_LDPC_OPTIM8SEG_SRC
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8seg.c
|
||||
)
|
||||
add_library(ldpc_optim8seg MODULE ${PHY_LDPC_OPTIM8SEG_SRC} )
|
||||
target_link_libraries(ldpc_optim8seg PRIVATE ldpc_gen_HEADERS)
|
||||
|
||||
set(PHY_LDPC_OPTIM8SEGMULTI_SRC
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c
|
||||
)
|
||||
add_library(ldpc MODULE ${PHY_LDPC_OPTIM8SEGMULTI_SRC} )
|
||||
target_link_libraries(ldpc PRIVATE ldpc_gen_HEADERS)
|
||||
|
||||
set(PHY_LDPC_CUDA_SRC
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder_LYC/nrLDPC_decoder_LYC.cu
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c
|
||||
)
|
||||
|
||||
set(PHY_LDPC_CL_SRC
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_CL.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c
|
||||
)
|
||||
add_custom_target( nrLDPC_decoder_kernels_CL
|
||||
COMMAND gcc ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_CL.c -dD -DNRLDPC_KERNEL_SOURCE -E -o ${CMAKE_CURRENT_BINARY_DIR}/nrLDPC_decoder_kernels_CL.clc
|
||||
SOURCES ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_CL.c
|
||||
)
|
||||
add_library(ldpc_cl MODULE ${PHY_LDPC_CL_SRC} )
|
||||
target_link_libraries(ldpc_cl OpenCL)
|
||||
add_dependencies(ldpc_cl nrLDPC_decoder_kernels_CL)
|
||||
|
||||
set(PHY_NR_CODINGIF
|
||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_load.c
|
||||
)
|
||||
|
||||
##############################################
|
||||
# Base CUDA setting
|
||||
##############################################
|
||||
|
||||
add_boolean_option(ENABLE_LDPC_CUDA OFF "Build support for CUDA" OFF)
|
||||
if (ENABLE_LDPC_CUDA)
|
||||
find_package(CUDA REQUIRED)
|
||||
SET(CUDA_NVCC_FLAG "${CUDA_NVCC_FLAGS};-arch=sm_60;")
|
||||
SET(CUDA_VERBOSE_BUILD ON)
|
||||
cuda_add_library(ldpc_cuda MODULE ${PHY_LDPC_CUDA_SRC})
|
||||
set_target_properties(ldpc_cuda PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
|
||||
if (NOT CUDA_FOUND)
|
||||
message(FATAL_ERROR "no CUDA found")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_library(coding MODULE ${PHY_TURBOSRC} )
|
||||
|
||||
add_library(dfts MODULE ${OPENAIR1_DIR}/PHY/TOOLS/oai_dfts.c ${OPENAIR1_DIR}/PHY/TOOLS/oai_dfts_neon.c)
|
||||
|
||||
|
||||
set(PHY_SRC_COMMON
|
||||
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dci_tools_common.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/lte_mcs.c
|
||||
@@ -895,8 +801,6 @@ set(PHY_SRC_COMMON
|
||||
${OPENAIR1_DIR}/PHY/LTE_REFSIG/lte_dl_mbsfn.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_REFSIG/lte_ul_ref.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/lte_segmentation.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/nr_segmentation.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/nr_rate_matching.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/ccoding_byte.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/ccoding_byte_lte.c
|
||||
${OPENAIR1_DIR}/PHY/CODING/3gpplte_sse.c
|
||||
@@ -991,6 +895,7 @@ set(PHY_SRC_UE
|
||||
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/ulsch_coding.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/rar_tools_ue.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/initial_sync.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation_avx2.c
|
||||
${OPENAIR1_DIR}/PHY/MODULATION/slot_fep.c
|
||||
${OPENAIR1_DIR}/PHY/MODULATION/slot_fep_mbsfn.c
|
||||
${OPENAIR1_DIR}/PHY/MODULATION/ul_7_5_kHz_ue.c
|
||||
@@ -1007,6 +912,8 @@ set(PHY_SRC_UE
|
||||
)
|
||||
|
||||
set(PHY_NR_SRC_COMMON
|
||||
${OPENAIR1_DIR}/PHY/CODING/nr_segmentation.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_tbs_tools.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_prach_common.c
|
||||
${OPENAIR1_DIR}/PHY/nr_phy_common/src/nr_phy_common_csirs.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_scrambling.c
|
||||
@@ -1030,7 +937,6 @@ set(PHY_SRC_UE
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_dlsch_coding.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_ulsch_decoding.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_ulsch.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_tbs_tools.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_sch_dmrs.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_prach.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_ulsch_llr_computation.c
|
||||
@@ -1057,7 +963,7 @@ set(PHY_SRC_UE
|
||||
${OPENAIR1_DIR}/PHY/TOOLS/simde_operations.c
|
||||
${PHY_POLARSRC}
|
||||
${PHY_SMALLBLOCKSRC}
|
||||
${PHY_NR_CODINGIF}
|
||||
${PHY_NRLDPC_CODINGIF}
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/pucch_rx.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/srs_rx.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_uci_tools_common.c
|
||||
@@ -1078,7 +984,6 @@ set(PHY_SRC_UE
|
||||
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
|
||||
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/nr_ulsch_coding.c
|
||||
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_tbs_tools.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_prach_common.c
|
||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_sch_dmrs.c
|
||||
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/
|
||||
@@ -1112,7 +1017,7 @@ set(PHY_SRC_UE
|
||||
${OPENAIR1_DIR}/PHY/INIT/nr_init_ue.c
|
||||
${PHY_POLARSRC}
|
||||
${PHY_SMALLBLOCKSRC}
|
||||
${PHY_NR_CODINGIF}
|
||||
${PHY_NRLDPC_CODINGIF}
|
||||
)
|
||||
|
||||
|
||||
@@ -1120,8 +1025,6 @@ if (${SMBV})
|
||||
set(PHY_SRC "${PHY_SRC} ${OPENAIR1_DIR}/PHY/TOOLS/smbv.c")
|
||||
endif (${SMBV})
|
||||
|
||||
set(PHY_SRC_UE ${PHY_SRC_UE} ${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation_avx2.c)
|
||||
|
||||
add_library(PHY_COMMON ${PHY_SRC_COMMON})
|
||||
target_link_libraries(PHY_COMMON PRIVATE shlib_loader)
|
||||
add_dependencies(PHY_COMMON dfts)
|
||||
@@ -1157,28 +1060,6 @@ target_link_libraries(PHY_NR_UE PRIVATE asn1_nr_rrc_hdrs nr_phy_common nr_common
|
||||
add_library(PHY_RU ${PHY_SRC_RU})
|
||||
target_link_libraries(PHY_RU PRIVATE asn1_lte_rrc_hdrs UTIL)
|
||||
|
||||
#Library for mex functions
|
||||
#########################3
|
||||
set(PHY_MEX_UE
|
||||
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/linear_preprocessing_rec.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
|
||||
${OPENAIR1_DIR}/PHY/TOOLS/log2_approx.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/lte_mcs.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/get_pmi.c
|
||||
${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pmch_common.c
|
||||
${OPENAIR1_DIR}/PHY/TOOLS/cadd_vv.c
|
||||
${OPENAIR1_DIR}/PHY/TOOLS/cmult_sv.c
|
||||
${OPENAIR1_DIR}/PHY/TOOLS/cmult_vv.c
|
||||
${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c
|
||||
${OPENAIR1_DIR}/PHY/TOOLS/simde_operations.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation_avx2.c
|
||||
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_ue_measurements.c
|
||||
)
|
||||
add_library(PHY_MEX ${PHY_MEX_UE})
|
||||
target_link_libraries(PHY_MEX PRIVATE asn1_lte_rrc_hdrs UTIL)
|
||||
|
||||
#Layer 2 library
|
||||
#####################
|
||||
set(MAC_DIR ${OPENAIR2_DIR}/LAYER2/MAC)
|
||||
@@ -1474,6 +1355,7 @@ add_library(L2_UE
|
||||
${MAC_SRC_UE}
|
||||
)
|
||||
target_link_libraries(L2_UE PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||
target_link_libraries(L2_UE PRIVATE GTPV1U)
|
||||
|
||||
add_library(L2_UE_LTE_NR
|
||||
${L2_RRC_SRC_UE}
|
||||
@@ -1942,6 +1824,7 @@ target_link_libraries(lte-softmodem PRIVATE
|
||||
target_link_libraries(lte-softmodem PRIVATE pthread m CONFIG_LIB rt sctp)
|
||||
target_link_libraries(lte-softmodem PRIVATE ${T_LIB})
|
||||
target_link_libraries(lte-softmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||
target_link_libraries(lte-softmodem PRIVATE ${blas_LIBRARIES} ${cblas_LIBRARIES} ${lapacke_LIBRARIES} ${lapack_LIBRARIES})
|
||||
|
||||
if(E2_AGENT)
|
||||
target_compile_definitions(lte-softmodem PRIVATE ${E2AP_VERSION} ${KPM_VERSION} E2_AGENT)
|
||||
@@ -1997,6 +1880,7 @@ target_link_libraries(lte-uesoftmodem PRIVATE
|
||||
target_link_libraries(lte-uesoftmodem PRIVATE pthread m CONFIG_LIB rt sctp)
|
||||
target_link_libraries(lte-uesoftmodem PRIVATE ${T_LIB})
|
||||
target_link_libraries(lte-uesoftmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||
target_link_libraries(lte-uesoftmodem PRIVATE ${blas_LIBRARIES} ${cblas_LIBRARIES} ${lapacke_LIBRARIES} ${lapack_LIBRARIES})
|
||||
|
||||
# force the generation of ASN.1 so that we don't need to wait during the build
|
||||
target_link_libraries(lte-uesoftmodem PRIVATE
|
||||
@@ -2043,12 +1927,6 @@ if(E2_AGENT)
|
||||
endif()
|
||||
|
||||
|
||||
add_dependencies(nr-softmodem ldpc_orig ldpc_optim ldpc_optim8seg ldpc)
|
||||
|
||||
if (ENABLE_LDPC_T2)
|
||||
add_dependencies(nr-softmodem ldpc_t2)
|
||||
endif()
|
||||
|
||||
# force the generation of ASN.1 so that we don't need to wait during the build
|
||||
target_link_libraries(nr-softmodem PRIVATE
|
||||
asn1_lte_rrc asn1_nr_rrc asn1_s1ap asn1_ngap asn1_m2ap asn1_m3ap asn1_x2ap asn1_f1ap asn1_lpp)
|
||||
@@ -2079,6 +1957,7 @@ add_executable(nr-uesoftmodem
|
||||
${rrc_h}
|
||||
${s1ap_h}
|
||||
${OPENAIR_DIR}/executables/nr-uesoftmodem.c
|
||||
${OPENAIR_DIR}/executables/position_interface.c
|
||||
${OPENAIR_DIR}/executables/nr-ue.c
|
||||
${OPENAIR_DIR}/executables/softmodem-common.c
|
||||
${OPENAIR_DIR}/radio/COMMON/common_lib.c
|
||||
@@ -2100,12 +1979,6 @@ target_link_libraries(nr-uesoftmodem PRIVATE pthread m CONFIG_LIB rt nr_ue_phy_m
|
||||
target_link_libraries(nr-uesoftmodem PRIVATE ${T_LIB})
|
||||
target_link_libraries(nr-uesoftmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||
|
||||
add_dependencies( nr-uesoftmodem ldpc_orig ldpc_optim ldpc_optim8seg ldpc )
|
||||
if (ENABLE_LDPC_CUDA)
|
||||
add_dependencies(nr-uesoftmodem ldpc_cuda)
|
||||
add_dependencies(nr-softmodem ldpc_cuda)
|
||||
endif()
|
||||
|
||||
# force the generation of ASN.1 so that we don't need to wait during the build
|
||||
target_link_libraries(nr-uesoftmodem PRIVATE
|
||||
asn1_lte_rrc asn1_nr_rrc asn1_s1ap asn1_ngap asn1_m2ap asn1_m3ap asn1_x2ap asn1_f1ap asn1_lpp)
|
||||
@@ -2156,17 +2029,11 @@ target_link_libraries(smallblocktest PRIVATE
|
||||
|
||||
|
||||
add_executable(ldpctest
|
||||
${PHY_NR_CODINGIF}
|
||||
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/ldpctest.c
|
||||
)
|
||||
|
||||
add_dependencies(ldpctest ldpc_orig ldpc_optim ldpc_optim8seg ldpc)
|
||||
if (ENABLE_LDPC_CUDA)
|
||||
add_dependencies(ldpctest ldpc_cuda)
|
||||
endif()
|
||||
target_link_libraries(ldpctest PRIVATE
|
||||
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON -Wl,--end-group
|
||||
m pthread dl shlib_loader ${T_LIB}
|
||||
m pthread dl shlib_loader ${T_LIB} nr_coding_segment_utils
|
||||
)
|
||||
|
||||
add_executable(nr_dlschsim
|
||||
@@ -2260,10 +2127,6 @@ add_executable(nr_ulsim
|
||||
${PHY_INTERFACE_DIR}/queue_t.c
|
||||
)
|
||||
|
||||
if (ENABLE_LDPC_T2)
|
||||
add_dependencies(nr_ulsim ldpc_t2)
|
||||
endif()
|
||||
|
||||
target_link_libraries(nr_ulsim PRIVATE
|
||||
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_UE_NR MAC_NR_COMMON nr_rrc CONFIG_LIB L2_NR HASHTABLE x2ap SECURITY ngap -lz -Wl,--end-group
|
||||
m pthread ${T_LIB} ITTI dl shlib_loader nr_ue_phy_meas
|
||||
@@ -2322,14 +2185,14 @@ if (${T_TRACER})
|
||||
#all "add_library" definitions
|
||||
ITTI lte_rrc nr_rrc s1ap x2ap m2ap m3ap f1ap
|
||||
params_libconfig oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif oai_iqplayer
|
||||
oai_eth_transpro oai_mobipass coding HASHTABLE UTIL OMG_SUMO
|
||||
oai_eth_transpro oai_mobipass HASHTABLE UTIL OMG_SUMO
|
||||
SECURITY SCHED_LIB SCHED_NR_LIB SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB default_sched remote_sched RAL
|
||||
NFAPI_LIB NFAPI_PNF_LIB NFAPI_VNF_LIB NFAPI_USER_LIB
|
||||
MISC_NFAPI_LTE_LIB MISC_NFAPI_NR_LIB
|
||||
PHY_COMMON PHY PHY_UE PHY_NR PHY_NR_COMMON PHY_NR_UE PHY_RU PHY_MEX
|
||||
PHY_COMMON PHY PHY_UE PHY_NR PHY_NR_COMMON PHY_NR_UE PHY_RU
|
||||
L2 L2_LTE L2_NR L2_LTE_NR L2_UE NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON MAC_UE_NR ngap
|
||||
CN_UTILS GTPV1U SCTP_CLIENT MME_APP LIB_NAS_UE NB_IoT SIMU OPENAIR0_LIB
|
||||
ldpc_orig ldpc_optim ldpc_optim8seg ldpc_t2 ldpc_cl ldpc_cuda ldpc dfts config_internals nr_common)
|
||||
dfts config_internals nr_common)
|
||||
if (TARGET ${i})
|
||||
add_dependencies(${i} generate_T)
|
||||
endif()
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.dlsim100rbtm2}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.dlsim100rbtm2 }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.dlsimbasic}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.dlsimbasic }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.ldpctest}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.ldpctest }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrdlschsim}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrdlschsim }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrdlsimbasic}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrdlsimbasic }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrdlsimdmrsptrs}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrdlsimdmrsptrs }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrdlsimmcsmimo}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrdlsimmcsmimo }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrdlsimoffset}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrdlsimoffset }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrpbschsim106rb}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrpbschsim106rb }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrpbchsim217rb}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrpbchsim217rb }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrpbchsim273rb}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrpbchsim273rb }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrpbchsim273rb}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrpbchsim273rb }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrprachsim}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrprachsim }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrpsbchsim}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrpsbchsim }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrpucchsim}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrpucchsim }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrulschsim}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrulschsim }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrulsim3gpp}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrulsim3gpp }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrulsimmimo}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrulsimmimo }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrulsimmisc}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrulsimmisc }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
ports:
|
||||
@@ -39,6 +44,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.nrulsimscfdma}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.nrulsimscfdma }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.polartest}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.polartest }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.smallblocktest}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.smallblocktest }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,6 +18,11 @@ spec:
|
||||
- name: physim
|
||||
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.global.resources.define}}
|
||||
resources:
|
||||
requests:
|
||||
cpu: {{ .Values.global.resources.requests.cpu | quote }}
|
||||
{{- end}}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
env:
|
||||
@@ -37,6 +42,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.nodeName.ulsim}}
|
||||
{{- if .Values.global.nodeName}}
|
||||
nodeName: {{ .Values.global.nodeName.ulsim }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,41 +1,21 @@
|
||||
# Default values for oai-physim.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
global:
|
||||
serviceAccountName: oai-physim-sa
|
||||
namespace: "OAICICD_PROJECT"
|
||||
image:
|
||||
image:
|
||||
registry: local
|
||||
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran/oai-physim
|
||||
version: TAG
|
||||
# pullPolicy: IfNotPresent or Never or Always
|
||||
pullPolicy: Always
|
||||
# removing the node selector
|
||||
nodeSelector: {}
|
||||
# It is not a good way of assigning pods to the nodes: this way we bypass the scheduler. At the moment we don't provide the resource information of these pods.
|
||||
# Therefore, Openshift assigns the pods to the same node because it thinks the pods don't consume much resources. This isn't the case, they consume a lot of resources.
|
||||
nodeName:
|
||||
dlsim100rbtm2: acamas
|
||||
dlsimbasic: acamas
|
||||
ldpctest: acamas
|
||||
nrdlschsim: acamas
|
||||
nrdlsimbasic: acamas
|
||||
nrdlsimdmrsptrs: acamas
|
||||
nrdlsimmcsmimo: acamas
|
||||
nrdlsimoffset: dedale
|
||||
nrpbschsim106rb: dedale
|
||||
nrpbchsim217rb: dedale
|
||||
nrpbchsim273rb: dedale
|
||||
nrpbchsimscs: dedale
|
||||
nrpsbchsim: dedale
|
||||
nrprachsim: dedale
|
||||
nrpucchsim: dedale
|
||||
nrulschsim: demophon
|
||||
nrulsim3gpp: demophon
|
||||
nrulsimmimo: demophon
|
||||
nrulsimmisc: demophon
|
||||
nrulsimscfdma: demophon
|
||||
polartest: demophon
|
||||
smallblocktest: demophon
|
||||
ulsim: demophon
|
||||
# will place on two nodes intel 3rd gen and 5th gen with RT kernel
|
||||
nodeSelector:
|
||||
type: ran
|
||||
nodeName: ''
|
||||
resources:
|
||||
define: false
|
||||
requests:
|
||||
cpu: 1.5
|
||||
|
||||
@@ -658,9 +658,6 @@ pipeline {
|
||||
if ("MERGE".equals(env.gitlabActionType)) {
|
||||
addGitLabMRComment comment: message
|
||||
def message2 = message + " -- MergeRequest #" + env.gitlabMergeRequestIid + " (" + env.gitlabMergeRequestTitle + ")"
|
||||
sendSocialMediaMessage('ci-enb', 'good', message2)
|
||||
} else {
|
||||
sendSocialMediaMessage('ci-enb', 'good', message)
|
||||
}
|
||||
echo "Pipeline is SUCCESSFUL"
|
||||
}
|
||||
@@ -672,9 +669,6 @@ pipeline {
|
||||
def fullMessage = message + '\n\nList of failing test stages:' + failingStages
|
||||
addGitLabMRComment comment: fullMessage
|
||||
def message2 = message + " -- MergeRequest #" + env.gitlabMergeRequestIid + " (" + env.gitlabMergeRequestTitle + ")"
|
||||
sendSocialMediaMessage('ci-enb', 'danger', message2)
|
||||
} else {
|
||||
sendSocialMediaMessage('ci-enb', 'danger', message)
|
||||
}
|
||||
echo "Pipeline FAILED"
|
||||
}
|
||||
@@ -798,9 +792,3 @@ def finalizeSlaveJob(jobName) {
|
||||
return artifactUrl
|
||||
}
|
||||
}
|
||||
|
||||
// Abstraction function to send social media messages:
|
||||
// like on Slack or Mattermost
|
||||
def sendSocialMediaMessage(pipeChannel, pipeColor, pipeMessage) {
|
||||
slackSend channel: pipeChannel, color: pipeColor, message: pipeMessage
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER):
|
||||
py_param_file_present = False
|
||||
py_params={}
|
||||
|
||||
force_local = False
|
||||
while len(argvs) > 1:
|
||||
myArgv = argvs.pop(1) # 0th is this file's name
|
||||
|
||||
@@ -54,6 +55,9 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER):
|
||||
if re.match('^\-\-help$', myArgv, re.IGNORECASE):
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
sys.exit(0)
|
||||
if re.match('^\-\-local$', myArgv, re.IGNORECASE):
|
||||
force_local = True
|
||||
|
||||
|
||||
#--apply=<filename> as parameters file, to replace inline parameters
|
||||
elif re.match('^\-\-Apply=(.+)$', myArgv, re.IGNORECASE):
|
||||
@@ -271,4 +275,4 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER):
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
sys.exit('Invalid Parameter: ' + myArgv)
|
||||
|
||||
return py_param_file_present, py_params, mode
|
||||
return py_param_file_present, py_params, mode, force_local
|
||||
|
||||
@@ -73,9 +73,9 @@ then
|
||||
do
|
||||
IS_NFAPI=`echo $FILE | grep -E -c "nfapi/open-nFAPI|nfapi/oai_integration/vendor_ext" || true`
|
||||
IS_OAI_LICENCE_PRESENT=`grep -E -c "OAI Public License" $FILE || true`
|
||||
IS_BSD_LICENCE_PRESENT=`grep -E -c "the terms of the BSD Licence|License-Identifier: BSD-2-Clause" $FILE || true`
|
||||
IS_BSD_LICENCE_PRESENT=`grep -E -c "the terms of the BSD Licence|License-Identifier: BSD-2-Clause|License-Identifier: BSD-3-Clause" $FILE || true`
|
||||
IS_MIT_LICENCE_PRESENT=`grep -E -c "MIT License" $FILE || true`
|
||||
IS_EXCEPTION=`echo $FILE | grep -E -c "common/utils/collection/tree.h|common/utils/collection/queue.h|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h|openair1/PHY/CODING/crc.h|openair1/PHY/CODING/crcext.h|openair1/PHY/CODING/types.h|openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_offload.c|openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_offload.h" || true`
|
||||
IS_EXCEPTION=`echo $FILE | grep -E -c "common/utils/collection/tree.h|common/utils/collection/queue.h|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h|openair1/PHY/CODING/crc.h|openair1/PHY/CODING/crcext.h|openair1/PHY/CODING/types.h" || true`
|
||||
if [ $IS_OAI_LICENCE_PRESENT -eq 0 ] && [ $IS_BSD_LICENCE_PRESENT -eq 0 ] && [ $IS_MIT_LICENCE_PRESENT -eq 0 ]
|
||||
then
|
||||
if [ $IS_NFAPI -eq 0 ] && [ $IS_EXCEPTION -eq 0 ]
|
||||
@@ -184,9 +184,9 @@ do
|
||||
then
|
||||
IS_NFAPI=`echo $FULLFILE | grep -E -c "nfapi/open-nFAPI|nfapi/oai_integration/vendor_ext" || true`
|
||||
IS_OAI_LICENCE_PRESENT=`grep -E -c "OAI Public License" $FULLFILE || true`
|
||||
IS_BSD_LICENCE_PRESENT=`grep -E -c "the terms of the BSD Licence|License-Identifier: BSD-2-Clause" $FULLFILE || true`
|
||||
IS_BSD_LICENCE_PRESENT=`grep -E -c "the terms of the BSD Licence|License-Identifier: BSD-2-Clause|License-Identifier: BSD-3-Clause" $FULLFILE || true`
|
||||
IS_MIT_LICENCE_PRESENT=`grep -E -c "MIT License" $FULLFILE || true`
|
||||
IS_EXCEPTION=`echo $FULLFILE | grep -E -c "common/utils/collection/tree.h|common/utils/collection/queue.h|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h|openair1/PHY/CODING/crc.h|openair1/PHY/CODING/crcext.h|openair1/PHY/CODING/types.h|openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_offload.c|openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_offload.h" || true`
|
||||
IS_EXCEPTION=`echo $FULLFILE | grep -E -c "common/utils/collection/tree.h|common/utils/collection/queue.h|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h|openair1/PHY/CODING/crc.h|openair1/PHY/CODING/crcext.h|openair1/PHY/CODING/types.h" || true`
|
||||
if [ $IS_OAI_LICENCE_PRESENT -eq 0 ] && [ $IS_BSD_LICENCE_PRESENT -eq 0 ] && [ $IS_MIT_LICENCE_PRESENT -eq 0 ]
|
||||
then
|
||||
if [ $IS_NFAPI -eq 0 ] && [ $IS_EXCEPTION -eq 0 ]
|
||||
|
||||
@@ -64,21 +64,21 @@ adb_ue_2:
|
||||
oc-cn5g:
|
||||
Host: avra
|
||||
Namespace: "oaicicd-core-for-ci-ran"
|
||||
CNPath: "/opt/oai-cn5g-fed-develop-2024-april-00102"
|
||||
CNPath: "/opt/oai-cn5g-fed-develop-2025-jan"
|
||||
NetworkScript: echo "inet 172.21.6.102"
|
||||
RunIperf3Server: False
|
||||
|
||||
oc-cn5g-20897:
|
||||
Host: cacofonix
|
||||
Namespace: "oaicicd-core-for-fhi72"
|
||||
CNPath: "/opt/oai-cn5g-fed-develop-2024-april-20897"
|
||||
CNPath: "/opt/oai-cn5g-fed-develop-2025-jan"
|
||||
NetworkScript: echo "inet 172.21.6.105"
|
||||
RunIperf3Server: False
|
||||
|
||||
oc-cn5g-20897-aerial2:
|
||||
Host: aerial2
|
||||
Namespace: "oaicicd-core-for-fhi72"
|
||||
CNPath: "/opt/oai-cn5g-fed-develop-2024-april-20897"
|
||||
Namespace: "oaicicd-core-for-nvidia-aerial"
|
||||
CNPath: "/opt/oai-cn5g-fed-develop-2025-jan"
|
||||
NetworkScript: echo "inet 172.21.6.105"
|
||||
RunIperf3Server: False
|
||||
|
||||
|
||||
@@ -129,19 +129,9 @@ class Cluster:
|
||||
|
||||
def _recreate_entitlements(self):
|
||||
# recreating entitlements, don't care if deletion fails
|
||||
self.cmd.run('oc delete secret etc-pki-entitlement')
|
||||
ret = self.cmd.run('ls /etc/pki/entitlement/???????????????????.pem | tail -1', silent=True)
|
||||
regres1 = re.search(r"/etc/pki/entitlement/[0-9]+.pem", ret.stdout)
|
||||
ret = self.cmd.run('ls /etc/pki/entitlement/???????????????????-key.pem | tail -1', silent=True)
|
||||
regres2 = re.search(r"/etc/pki/entitlement/[0-9]+-key.pem", ret.stdout)
|
||||
if regres1 is None or regres2 is None:
|
||||
logging.error("could not find entitlements")
|
||||
return False
|
||||
file1 = regres1.group(0)
|
||||
file2 = regres2.group(0)
|
||||
ret = self.cmd.run(f'oc create secret generic etc-pki-entitlement --from-file {file1} --from-file {file2}')
|
||||
regres = re.search(r"secret/etc-pki-entitlement created", ret.stdout)
|
||||
if ret.returncode != 0 or regres is None:
|
||||
self.cmd.run(f'oc delete secret etc-pki-entitlement')
|
||||
ret = self.cmd.run(f"oc get secret etc-pki-entitlement -n openshift-config-managed -o json | jq 'del(.metadata.resourceVersion)' | jq 'del(.metadata.creationTimestamp)' | jq 'del(.metadata.uid)' | jq 'del(.metadata.namespace)' | oc create -f -", silent=True)
|
||||
if ret.returncode != 0:
|
||||
logging.error("could not create secret/etc-pki-entitlement")
|
||||
return False
|
||||
return True
|
||||
@@ -218,7 +208,7 @@ class Cluster:
|
||||
return -1
|
||||
return int(result.group("size"))
|
||||
|
||||
def _deploy_pod(self, filename, timeout = 30):
|
||||
def _deploy_pod(self, filename, timeout = 120):
|
||||
ret = self.cmd.run(f'oc create -f {filename}')
|
||||
result = re.search(f'pod/(?P<pod>[a-zA-Z0-9_\-]+) created', ret.stdout)
|
||||
if result is None:
|
||||
@@ -226,11 +216,9 @@ class Cluster:
|
||||
return None
|
||||
pod = result.group("pod")
|
||||
logging.debug(f'checking if pod {pod} is in Running state')
|
||||
while timeout > 0:
|
||||
ret = self.cmd.run(f'oc get pod {pod} -o json | jq -Mc .status.phase', silent=True)
|
||||
if re.search('"Running"', ret.stdout) is not None: return pod
|
||||
timeout -= 1
|
||||
time.sleep(1)
|
||||
ret = self.cmd.run(f'oc wait --for=condition=ready pod {pod} --timeout={timeout}s', silent=True)
|
||||
if ret.returncode == 0:
|
||||
return pod
|
||||
logging.error(f'pod {pod} did not reach Running state')
|
||||
self._undeploy_pod(filename)
|
||||
return None
|
||||
|
||||
@@ -217,6 +217,8 @@ class RemoteCmd(Cmd):
|
||||
return client
|
||||
|
||||
def _lookup_ssh_config(hostname):
|
||||
if is_local(hostname):
|
||||
raise ValueError("Using localhost as SSH target is not allowed: use LocalCmd instead.")
|
||||
ssh_config = paramiko.SSHConfig()
|
||||
user_config_file = os.path.expanduser("~/.ssh/config")
|
||||
if os.path.exists(user_config_file):
|
||||
|
||||
@@ -137,9 +137,7 @@ class PhySim:
|
||||
logging.debug(f'\u001B[1m Now using project {ocProjectName}\u001B[0m')
|
||||
|
||||
# Using helm charts deployment
|
||||
mySSH.command(f'grep -rl OAICICD_PROJECT ./charts/ | xargs sed -i -e "s#OAICICD_PROJECT#{ocProjectName}#"', '\$', 30)
|
||||
mySSH.command(f'sed -i -e "s#TAG#{imageTag}#g" ./charts/physims/values.yaml', '\$', 6)
|
||||
mySSH.command('helm install physim ./charts/physims/ --wait 2>&1 | tee -a cmake_targets/log/physim_helm_summary.txt', '\$', 30)
|
||||
mySSH.command(f'helm install physim ./charts/physims/ --set global.image.version={imageTag} --wait 2>&1 | tee -a cmake_targets/log/physim_helm_summary.txt', '\$', 30)
|
||||
if mySSH.getBefore().count('STATUS: deployed') == 0:
|
||||
logging.error('\u001B[1m Deploying PhySim Failed using helm chart on OC Cluster\u001B[0m')
|
||||
mySSH.command('helm uninstall physim | tee -a cmake_targets/log/physim_helm_summary.txt 2>&1', '\$', 30)
|
||||
|
||||
@@ -91,8 +91,8 @@ gNBs =
|
||||
ra_ResponseWindow = 4;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -90,7 +90,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -92,7 +92,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
@@ -194,7 +194,7 @@ RUs = (
|
||||
local_rf = "yes"
|
||||
nb_tx = 1
|
||||
nb_rx = 1
|
||||
att_tx = 10;
|
||||
att_tx = 18;
|
||||
att_rx = 10;
|
||||
bands = [78];
|
||||
max_pdschReferenceSignalPower = -27;
|
||||
|
||||
43
ci-scripts/conf_files/gnb-pnf.band66.rfsim.conf
Normal file
43
ci-scripts/conf_files/gnb-pnf.band66.rfsim.conf
Normal file
@@ -0,0 +1,43 @@
|
||||
L1s = (
|
||||
{
|
||||
num_cc = 1;
|
||||
tr_n_preference = "nfapi";
|
||||
remote_n_address = "192.168.71.140"; // vnf addr
|
||||
local_n_address = "192.168.71.141"; // pnf addr
|
||||
local_n_portc = 50000; // pnf p5 port [!]
|
||||
remote_n_portc = 50001; // vnf p5 port
|
||||
local_n_portd = 50010; // pnf p7 port
|
||||
remote_n_portd = 50011; // vnf p7 port
|
||||
prach_dtx_threshold = 120;
|
||||
pucch0_dtx_threshold = 150;
|
||||
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
|
||||
}
|
||||
);
|
||||
|
||||
RUs = ({
|
||||
local_rf = "yes";
|
||||
nb_tx = 1;
|
||||
nb_rx = 1;
|
||||
att_tx = 0;
|
||||
att_rx = 0;
|
||||
bands = [7];
|
||||
max_pdschReferenceSignalPower = -27;
|
||||
max_rxgain = 114;
|
||||
sf_extension = 0;
|
||||
eNB_instances = [0];
|
||||
});
|
||||
|
||||
rfsimulator :
|
||||
{
|
||||
serveraddr = "server";
|
||||
serverport = 4043;
|
||||
options = (); #("saviq"); or/and "chanmod"
|
||||
modelname = "AWGN";
|
||||
IQfile = "/tmp/rfsimulator.iqs";
|
||||
};
|
||||
|
||||
log_config: {
|
||||
global_log_level = "info";
|
||||
hw_log_level = "info";
|
||||
phy_log_level = "info";
|
||||
};
|
||||
31
ci-scripts/conf_files/gnb-pnf.band77.usrpn310.4x4.conf
Normal file
31
ci-scripts/conf_files/gnb-pnf.band77.usrpn310.4x4.conf
Normal file
@@ -0,0 +1,31 @@
|
||||
usrp-tx-thread-config = 1;
|
||||
tune-offset = 30720000;
|
||||
|
||||
L1s = ({
|
||||
num_cc = 1;
|
||||
tr_n_preference = "nfapi";
|
||||
remote_n_address = "127.0.0.1"; // vnf addr
|
||||
local_n_address = "127.0.0.1"; // pnf addr
|
||||
local_n_portc = 50000; // pnf p5 port [!]
|
||||
remote_n_portc = 50001; // vnf p5 port
|
||||
local_n_portd = 50010; // pnf p7 port
|
||||
remote_n_portd = 50011; // vnf p7 port
|
||||
prach_dtx_threshold = 120;
|
||||
pusch_dtx_threshold = 20;
|
||||
max_ldpc_iterations = 10;
|
||||
});
|
||||
|
||||
RUs = ({
|
||||
local_rf = "yes"
|
||||
nb_tx = 4;
|
||||
nb_rx = 4;
|
||||
att_tx = 0;
|
||||
att_rx = 0;
|
||||
bands = [77];
|
||||
max_pdschReferenceSignalPower = -27;
|
||||
max_rxgain = 75;
|
||||
eNB_instances = [0];
|
||||
#clock_src = "internal";
|
||||
sdr_addrs = "addr=192.168.80.53, clock_source=internal,time_source=internal"
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
||||
Active_gNBs = ( "5G-GOA-gNB");
|
||||
# Asn1_verbosity, choice in: none, info, annoying
|
||||
Asn1_verbosity = "none";
|
||||
|
||||
@@ -7,20 +7,18 @@ gNBs =
|
||||
{
|
||||
////////// Identification parameters:
|
||||
gNB_ID = 0xe00;
|
||||
|
||||
cell_type = "CELL_MACRO_GNB";
|
||||
|
||||
gNB_name = "gNB-Eurecom-5GNRBox";
|
||||
gNB_name = "5G-GOA-gNB";
|
||||
|
||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||
tracking_area_code = 100;
|
||||
|
||||
plmn_list = ({ mcc = 208; mnc = 93; mnc_length = 2; snssaiList = ({ sst = 1 }) });
|
||||
tracking_area_code = 1;
|
||||
plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1 }) });
|
||||
|
||||
tr_s_preference = "local_mac"
|
||||
nr_cellid = 12345678L;
|
||||
|
||||
////////// Physical parameters:
|
||||
|
||||
sib1_tda = 5;
|
||||
min_rxtxtime = 6;
|
||||
|
||||
servingCellConfigCommon = (
|
||||
{
|
||||
@@ -30,44 +28,46 @@ gNBs =
|
||||
|
||||
# downlinkConfigCommon
|
||||
#frequencyInfoDL
|
||||
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
|
||||
absoluteFrequencySSB = 641032;
|
||||
dl_frequencyBand = 78;
|
||||
# this is 3600 MHz
|
||||
dl_absoluteFrequencyPointA = 640000;
|
||||
# this is 2150.43 MHz + 14 PRBs@15kHz SCS (same as initial BWP), points to Subcarrier 0 of RB#10 of SSB block
|
||||
absoluteFrequencySSB = 430590;
|
||||
dl_frequencyBand = 66;
|
||||
# this is 2150.43 MHz
|
||||
dl_absoluteFrequencyPointA = 430086;
|
||||
#scs-SpecificCarrierList
|
||||
dl_offstToCarrier = 0;
|
||||
dl_offstToCarrier = 0;
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
dl_subcarrierSpacing = 1;
|
||||
dl_carrierBandwidth = 106;
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
dl_subcarrierSpacing = 0;
|
||||
dl_carrierBandwidth = 25;
|
||||
#initialDownlinkBWP
|
||||
#genericParameters
|
||||
# this is RBstart=41,L=24 (275*(L-1))+RBstart
|
||||
initialDLBWPlocationAndBandwidth = 6366;
|
||||
# this is RBstart=0,L=25 (275*(L-1))+RBstart
|
||||
initialDLBWPlocationAndBandwidth = 6600;
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
initialDLBWPsubcarrierSpacing = 1;
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
initialDLBWPsubcarrierSpacing = 0;
|
||||
#pdcch-ConfigCommon
|
||||
initialDLBWPcontrolResourceSetZero = 12;
|
||||
initialDLBWPsearchSpaceZero = 0;
|
||||
initialDLBWPcontrolResourceSetZero = 2;
|
||||
initialDLBWPsearchSpaceZero = 0;
|
||||
|
||||
#uplinkConfigCommon
|
||||
#uplinkConfigCommon
|
||||
#frequencyInfoUL
|
||||
ul_frequencyBand = 78;
|
||||
ul_frequencyBand = 66;
|
||||
# this is 1750.43 MHz
|
||||
ul_absoluteFrequencyPointA = 350086;
|
||||
#scs-SpecificCarrierList
|
||||
ul_offstToCarrier = 0;
|
||||
ul_offstToCarrier = 0;
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
ul_subcarrierSpacing = 1;
|
||||
ul_carrierBandwidth = 106;
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
ul_subcarrierSpacing = 0;
|
||||
ul_carrierBandwidth = 25;
|
||||
pMax = 20;
|
||||
#initialUplinkBWP
|
||||
#genericParameters
|
||||
initialULBWPlocationAndBandwidth = 6366;
|
||||
initialULBWPlocationAndBandwidth = 6600;
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
initialULBWPsubcarrierSpacing = 1;
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
initialULBWPsubcarrierSpacing = 0;
|
||||
#rach-ConfigCommon
|
||||
#rach-ConfigGeneric
|
||||
prach_ConfigurationIndex = 98;
|
||||
@@ -84,11 +84,11 @@ gNBs =
|
||||
powerRampingStep = 1;
|
||||
#ra_ReponseWindow
|
||||
#1,2,4,8,10,20,40,80
|
||||
ra_ResponseWindow = 4;
|
||||
ra_ResponseWindow = 5;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
@@ -99,12 +99,11 @@ gNBs =
|
||||
prach_RootSequenceIndex_PR = 2;
|
||||
prach_RootSequenceIndex = 1;
|
||||
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
|
||||
#
|
||||
msg1_SubcarrierSpacing = 1,
|
||||
|
||||
#
|
||||
msg1_SubcarrierSpacing = 0;
|
||||
# restrictedSetConfig
|
||||
# 0=unrestricted, 1=restricted type A, 2=restricted type B
|
||||
restrictedSetConfig = 0,
|
||||
restrictedSetConfig = 0;
|
||||
|
||||
msg3_DeltaPreamble = 1;
|
||||
p0_NominalWithGrant =-90;
|
||||
@@ -119,7 +118,7 @@ gNBs =
|
||||
ssb_PositionsInBurst_Bitmap = 1;
|
||||
|
||||
# ssb_periodicityServingCell
|
||||
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
|
||||
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
|
||||
ssb_periodicityServingCell = 2;
|
||||
|
||||
# dmrs_TypeA_position
|
||||
@@ -127,15 +126,15 @@ gNBs =
|
||||
dmrs_TypeA_Position = 0;
|
||||
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
subcarrierSpacing = 1;
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
subcarrierSpacing = 0;
|
||||
|
||||
|
||||
#tdd-UL-DL-ConfigurationCommon
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
referenceSubcarrierSpacing = 1;
|
||||
# pattern1
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
referenceSubcarrierSpacing = 0;
|
||||
# pattern1
|
||||
# dl_UL_TransmissionPeriodicity
|
||||
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
|
||||
dl_UL_TransmissionPeriodicity = 6;
|
||||
@@ -144,7 +143,7 @@ gNBs =
|
||||
nrofUplinkSlots = 2;
|
||||
nrofUplinkSymbols = 4;
|
||||
|
||||
ssPBCH_BlockPower = 10;
|
||||
ssPBCH_BlockPower = -25;
|
||||
}
|
||||
|
||||
);
|
||||
@@ -158,56 +157,36 @@ gNBs =
|
||||
SCTP_OUTSTREAMS = 2;
|
||||
};
|
||||
|
||||
|
||||
////////// AMF parameters:
|
||||
amf_ip_address = ({ ipv4 = "192.168.199.223"; });
|
||||
|
||||
|
||||
|
||||
NETWORK_INTERFACES :
|
||||
{
|
||||
|
||||
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.199.222/24";
|
||||
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.10.100/24";
|
||||
GNB_PORT_FOR_NGU = 2152; # Spec 2152
|
||||
GNB_IPV4_ADDRESS_FOR_X2C = "192.168.20.20/24";
|
||||
GNB_PORT_FOR_X2C = 36422; # Spec 36422
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
////////// AMF parameters:
|
||||
amf_ip_address = ({ ipv4 = "192.168.71.132"; });
|
||||
|
||||
NETWORK_INTERFACES :
|
||||
{
|
||||
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.71.140/26";
|
||||
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.71.140/26";
|
||||
GNB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||
};
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
MACRLCs = (
|
||||
{
|
||||
num_cc = 1;
|
||||
tr_s_preference = "local_L1";
|
||||
tr_n_preference = "local_RRC";
|
||||
}
|
||||
{
|
||||
num_cc = 1;
|
||||
tr_s_preference = "nfapi";
|
||||
remote_s_address = "192.168.71.141"; // pnf addr [!]
|
||||
local_s_address = "192.168.71.140"; // vnf addr
|
||||
local_s_portc = 50001; // vnf p5 port
|
||||
remote_s_portc = 50000; // pnf p5 port [!]
|
||||
local_s_portd = 50011; // vnf p7 port [!]
|
||||
remote_s_portd = 50010; // pnf p7 port [!]
|
||||
tr_n_preference = "local_RRC";
|
||||
pusch_TargetSNRx10 = 150;
|
||||
pucch_TargetSNRx10 = 200;
|
||||
}
|
||||
);
|
||||
|
||||
L1s = (
|
||||
{
|
||||
num_cc = 1;
|
||||
tr_n_preference = "local_mac";
|
||||
}
|
||||
);
|
||||
|
||||
RUs = (
|
||||
{
|
||||
local_rf = "yes"
|
||||
nb_tx = 1
|
||||
nb_rx = 1
|
||||
att_tx = 0
|
||||
att_rx = 0;
|
||||
bands = [7];
|
||||
max_pdschReferenceSignalPower = -27;
|
||||
max_rxgain = 75;
|
||||
eNB_instances = [0];
|
||||
sdr_addrs = "addr=192.168.10.2,mgmt_addr=192.168.10.2,second_addr=192.168.20.2";
|
||||
clock_src = "external";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
security = {
|
||||
# preferred ciphering algorithms
|
||||
# the first one of the list that an UE supports in chosen
|
||||
@@ -225,15 +204,15 @@ security = {
|
||||
drb_integrity = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
hw_log_level ="info";
|
||||
phy_log_level ="info";
|
||||
mac_log_level ="info";
|
||||
rlc_log_level ="info";
|
||||
pdcp_log_level ="info";
|
||||
rrc_log_level ="info";
|
||||
ngap_log_level ="info";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
hw_log_level ="info";
|
||||
phy_log_level ="info";
|
||||
mac_log_level ="info";
|
||||
rlc_log_level ="info";
|
||||
pdcp_log_level ="info";
|
||||
rrc_log_level ="info";
|
||||
ngap_log_level ="debug";
|
||||
f1ap_log_level ="info";
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
||||
Active_gNBs = ( "gNB-OAI");
|
||||
# Asn1_verbosity, choice in: none, info, annoying
|
||||
Asn1_verbosity = "none";
|
||||
|
||||
@@ -7,20 +7,23 @@ gNBs =
|
||||
{
|
||||
////////// Identification parameters:
|
||||
gNB_ID = 0xe00;
|
||||
|
||||
cell_type = "CELL_MACRO_GNB";
|
||||
|
||||
gNB_name = "gNB-Eurecom-5GNRBox";
|
||||
gNB_name = "gNB-OAI";
|
||||
|
||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||
tracking_area_code = 1;
|
||||
plmn_list = ({ mcc = 208; mnc = 97; mnc_length = 2; snssaiList = ({ sst = 1; }) });
|
||||
|
||||
plmn_list = ({mcc = 222; mnc = 01; mnc_length = 2;});
|
||||
|
||||
tr_s_preference = "local_mac"
|
||||
nr_cellid = 12345678L;
|
||||
|
||||
////////// Physical parameters:
|
||||
|
||||
pdsch_AntennaPorts_XP = 2;
|
||||
pusch_AntennaPorts = 4;
|
||||
pdsch_AntennaPorts_N1 = 2;
|
||||
maxMIMO_layers = 4;
|
||||
do_CSIRS = 1;
|
||||
do_SRS = 1;
|
||||
|
||||
servingCellConfigCommon = (
|
||||
{
|
||||
#spCellConfigCommon
|
||||
@@ -29,44 +32,44 @@ gNBs =
|
||||
|
||||
# downlinkConfigCommon
|
||||
#frequencyInfoDL
|
||||
# this is 3600 MHz + 12 PRBs@30kHz SCS
|
||||
absoluteFrequencySSB = 640288;
|
||||
dl_frequencyBand = 78;
|
||||
# this is 3600 MHz
|
||||
dl_absoluteFrequencyPointA = 640000;
|
||||
# this is 4100.16 MHz
|
||||
absoluteFrequencySSB = 673344;
|
||||
# this is 4071 MHz
|
||||
dl_absoluteFrequencyPointA = 671400;
|
||||
dl_frequencyBand = 77;
|
||||
#scs-SpecificCarrierList
|
||||
dl_offstToCarrier = 0;
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
dl_subcarrierSpacing = 1;
|
||||
dl_carrierBandwidth = 24;
|
||||
dl_carrierBandwidth = 162;
|
||||
#initialDownlinkBWP
|
||||
#genericParameters
|
||||
# this is RBstart=0,L=24 (275*(L-1))+RBstart
|
||||
initialDLBWPlocationAndBandwidth = 6325;
|
||||
# this is RBstart=0,L=162 (275*(275-L+1))+(274-RBstart))
|
||||
initialDLBWPlocationAndBandwidth = 31624;
|
||||
#
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
initialDLBWPsubcarrierSpacing = 1;
|
||||
#pdcch-ConfigCommon
|
||||
initialDLBWPcontrolResourceSetZero = 0;
|
||||
initialDLBWPcontrolResourceSetZero = 12;
|
||||
initialDLBWPsearchSpaceZero = 0;
|
||||
#pdsch-ConfigCommon
|
||||
|
||||
#uplinkConfigCommon
|
||||
#uplinkConfigCommon
|
||||
#frequencyInfoUL
|
||||
ul_frequencyBand = 78;
|
||||
ul_frequencyBand = 77;
|
||||
#scs-SpecificCarrierList
|
||||
ul_offstToCarrier = 0;
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
ul_subcarrierSpacing = 1;
|
||||
ul_carrierBandwidth = 24;
|
||||
ul_carrierBandwidth = 162;
|
||||
pMax = 20;
|
||||
#initialUplinkBWP
|
||||
#genericParameters
|
||||
initialULBWPlocationAndBandwidth = 6325;
|
||||
#genericParameters
|
||||
initialULBWPlocationAndBandwidth = 31624;
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
initialULBWPsubcarrierSpacing = 1;
|
||||
#rach-ConfigCommon
|
||||
#rach-ConfigGeneric
|
||||
@@ -75,8 +78,8 @@ gNBs =
|
||||
#0 = one, 1=two, 2=four, 3=eight
|
||||
prach_msg1_FDM = 0;
|
||||
prach_msg1_FrequencyStart = 0;
|
||||
zeroCorrelationZoneConfig = 13;
|
||||
preambleReceivedTargetPower = -100;
|
||||
zeroCorrelationZoneConfig = 12;
|
||||
preambleReceivedTargetPower = -96;
|
||||
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
|
||||
preambleTransMax = 6;
|
||||
#powerRampingStep
|
||||
@@ -88,8 +91,8 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14; //15;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
ra_ContentionResolutionTimer = 7;
|
||||
@@ -99,9 +102,8 @@ gNBs =
|
||||
prach_RootSequenceIndex_PR = 2;
|
||||
prach_RootSequenceIndex = 1;
|
||||
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
|
||||
#
|
||||
#
|
||||
msg1_SubcarrierSpacing = 1,
|
||||
|
||||
# restrictedSetConfig
|
||||
# 0=unrestricted, 1=restricted type A, 2=restricted type B
|
||||
restrictedSetConfig = 0,
|
||||
@@ -114,12 +116,12 @@ gNBs =
|
||||
# 0 = neither, 1= group hopping, 2=sequence hopping
|
||||
pucchGroupHopping = 0;
|
||||
hoppingId = 40;
|
||||
p0_nominal = -90;
|
||||
p0_nominal = -70;
|
||||
|
||||
ssb_PositionsInBurst_Bitmap = 1; #0x80;
|
||||
ssb_PositionsInBurst_Bitmap = 1;
|
||||
|
||||
# ssb_periodicityServingCell
|
||||
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
|
||||
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
|
||||
ssb_periodicityServingCell = 2;
|
||||
|
||||
# dmrs_TypeA_position
|
||||
@@ -127,22 +129,22 @@ gNBs =
|
||||
dmrs_TypeA_Position = 0;
|
||||
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
subcarrierSpacing = 1;
|
||||
|
||||
|
||||
#tdd-UL-DL-ConfigurationCommon
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
referenceSubcarrierSpacing = 1;
|
||||
# pattern1
|
||||
# pattern1
|
||||
# dl_UL_TransmissionPeriodicity
|
||||
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
|
||||
dl_UL_TransmissionPeriodicity = 6;
|
||||
nrofDownlinkSlots = 7; //8; //7;
|
||||
nrofDownlinkSymbols = 6; //0; //6;
|
||||
nrofUplinkSlots = 2;
|
||||
nrofUplinkSymbols = 4; //0; //4;
|
||||
dl_UL_TransmissionPeriodicity = 5;
|
||||
nrofDownlinkSlots = 3;
|
||||
nrofDownlinkSymbols = 6;
|
||||
nrofUplinkSlots = 1;
|
||||
nrofUplinkSymbols = 4;
|
||||
|
||||
ssPBCH_BlockPower = -25;
|
||||
}
|
||||
@@ -159,88 +161,64 @@ gNBs =
|
||||
};
|
||||
|
||||
|
||||
////////// MME parameters:
|
||||
mme_ip_address = ({ ipv4 = "192.168.18.99"; });
|
||||
|
||||
///X2
|
||||
enable_x2 = "yes";
|
||||
t_reloc_prep = 1000; /* unit: millisecond */
|
||||
tx2_reloc_overall = 2000; /* unit: millisecond */
|
||||
t_dc_prep = 1000; /* unit: millisecond */
|
||||
t_dc_overall = 2000; /* unit: millisecond */
|
||||
target_enb_x2_ip_address = ({ ipv4 = "192.168.18.199"; });
|
||||
////////// AMF parameters:
|
||||
amf_ip_address = ({ ipv4 = "192.168.61.132"; });
|
||||
|
||||
NETWORK_INTERFACES :
|
||||
{
|
||||
|
||||
GNB_IPV4_ADDRESS_FOR_S1_MME = "192.168.18.198/24";
|
||||
GNB_IPV4_ADDRESS_FOR_S1U = "192.168.18.198/24";
|
||||
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.61.129/26";
|
||||
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.61.129/26";
|
||||
GNB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||
GNB_IPV4_ADDRESS_FOR_X2C = "192.168.18.198/24";
|
||||
GNB_PORT_FOR_X2C = 36422; # Spec 36422
|
||||
};
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
MACRLCs = (
|
||||
{
|
||||
num_cc = 1;
|
||||
tr_s_preference = "local_L1";
|
||||
tr_n_preference = "local_RRC";
|
||||
pusch_TargetSNRx10 = 200;
|
||||
pucch_TargetSNRx10 = 200;
|
||||
}
|
||||
);
|
||||
|
||||
L1s = (
|
||||
{
|
||||
num_cc = 1;
|
||||
tr_n_preference = "local_mac";
|
||||
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
|
||||
num_cc = 1;
|
||||
tr_s_preference = "nfapi";
|
||||
remote_s_address = "127.0.0.1"; // pnf addr [!]
|
||||
local_s_address = "127.0.0.1"; // vnf addr
|
||||
local_s_portc = 50001; // vnf p5 port
|
||||
remote_s_portc = 50000; // pnf p5 port [!]
|
||||
local_s_portd = 50011; // vnf p7 port [!]
|
||||
remote_s_portd = 50010; // pnf p7 port [!]
|
||||
|
||||
tr_n_preference = "local_RRC";
|
||||
pusch_TargetSNRx10 = 250;
|
||||
pucch_TargetSNRx10 = 250;
|
||||
pusch_FailureThres = 100;
|
||||
ul_max_mcs = 28;
|
||||
}
|
||||
);
|
||||
|
||||
RUs = (
|
||||
{
|
||||
local_rf = "yes"
|
||||
nb_tx = 1
|
||||
nb_rx = 1
|
||||
att_tx = 0
|
||||
att_rx = 0;
|
||||
bands = [7];
|
||||
max_pdschReferenceSignalPower = -27;
|
||||
max_rxgain = 114;
|
||||
eNB_instances = [0];
|
||||
clock_src = "external";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
security = {
|
||||
# preferred ciphering algorithms
|
||||
# the first one of the list that an UE supports in chosen
|
||||
# valid values: nea0, nea1, nea2, nea3
|
||||
ciphering_algorithms = ( "nea0" );
|
||||
ciphering_algorithms = ( "nea1", "nea0" );
|
||||
|
||||
# preferred integrity algorithms
|
||||
# the first one of the list that an UE supports in chosen
|
||||
# valid values: nia0, nia1, nia2, nia3
|
||||
integrity_algorithms = ( "nia2", "nia0" );
|
||||
integrity_algorithms = ( "nia1", "nia0" );
|
||||
|
||||
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
|
||||
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
|
||||
drb_ciphering = "yes";
|
||||
drb_integrity = "no";
|
||||
drb_integrity = "yes";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
hw_log_level ="info";
|
||||
phy_log_level ="info";
|
||||
mac_log_level ="info";
|
||||
rlc_log_level ="info";
|
||||
pdcp_log_level ="info";
|
||||
rrc_log_level ="info";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
hw_log_level ="info";
|
||||
phy_log_level ="info";
|
||||
mac_log_level ="info";
|
||||
rlc_log_level ="info";
|
||||
pdcp_log_level ="info";
|
||||
rrc_log_level ="info";
|
||||
ngap_log_level ="debug";
|
||||
f1ap_log_level ="debug";
|
||||
};
|
||||
@@ -35,13 +35,6 @@ gNBs =
|
||||
do_SRS = 0;
|
||||
min_rxtxtime = 2;
|
||||
|
||||
pdcch_ConfigSIB1 = (
|
||||
{
|
||||
controlResourceSetZero = 12;
|
||||
searchSpaceZero = 0;
|
||||
}
|
||||
);
|
||||
|
||||
servingCellConfigCommon = (
|
||||
{
|
||||
#spCellConfigCommon
|
||||
@@ -116,8 +109,8 @@ gNBs =
|
||||
ra_ResponseWindow = 5;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -90,7 +90,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -89,7 +89,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -31,11 +31,11 @@ gNBs =
|
||||
|
||||
# downlinkConfigCommon
|
||||
#frequencyInfoDL
|
||||
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
|
||||
absoluteFrequencySSB = 641032;
|
||||
# this is 3319.68 MHz
|
||||
absoluteFrequencySSB = 621312;
|
||||
dl_frequencyBand = 78;
|
||||
# this is 3600 MHz
|
||||
dl_absoluteFrequencyPointA = 640000;
|
||||
# this is 3300.6 MHz
|
||||
dl_absoluteFrequencyPointA = 620040;
|
||||
#scs-SpecificCarrierList
|
||||
dl_offstToCarrier = 0;
|
||||
# subcarrierSpacing
|
||||
@@ -89,7 +89,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -89,7 +89,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -91,7 +91,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -84,8 +84,8 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14; //15;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
ra_ContentionResolutionTimer = 7;
|
||||
|
||||
@@ -89,8 +89,8 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14; //15;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
ra_ContentionResolutionTimer = 7;
|
||||
|
||||
@@ -88,8 +88,8 @@ gNBs =
|
||||
ra_ResponseWindow = 5;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -87,7 +87,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -88,7 +88,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
@@ -148,6 +148,13 @@ gNBs =
|
||||
#ext2
|
||||
#ntn_Config_r17
|
||||
cellSpecificKoffset_r17 = 478;
|
||||
ta-Common-r17 = 29314900;
|
||||
positionX-r17 = 0;
|
||||
positionY-r17 = 0;
|
||||
positionZ-r17 = 32433846;
|
||||
velocityVX-r17 = 0;
|
||||
velocityVY-r17 = 0;
|
||||
velocityVZ-r17 = 0;
|
||||
}
|
||||
|
||||
);
|
||||
|
||||
@@ -91,8 +91,8 @@ gNBs =
|
||||
ra_ResponseWindow = 4;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -24,13 +24,6 @@ gNBs =
|
||||
do_CSIRS = 1;
|
||||
do_SRS = 0;
|
||||
|
||||
pdcch_ConfigSIB1 = (
|
||||
{
|
||||
controlResourceSetZero = 11;
|
||||
searchSpaceZero = 0;
|
||||
}
|
||||
);
|
||||
|
||||
servingCellConfigCommon = (
|
||||
{
|
||||
#spCellConfigCommon
|
||||
@@ -95,8 +88,8 @@ gNBs =
|
||||
ra_ResponseWindow = 5;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -1,81 +1,79 @@
|
||||
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
||||
Active_gNBs = ( "oai-du");
|
||||
# Asn1_verbosity, choice in: none, info, annoying
|
||||
Asn1_verbosity = "none";
|
||||
|
||||
gNBs =
|
||||
(
|
||||
{
|
||||
////////// Identification parameters:
|
||||
gNB_ID = 0xe00;
|
||||
|
||||
cell_type = "CELL_MACRO_GNB";
|
||||
|
||||
gNB_name = "gNB-Eurecom-5GNRBox";
|
||||
|
||||
gNB_name = "oai-du";
|
||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||
tracking_area_code = 1;
|
||||
|
||||
plmn_list = ({mcc = 222; mnc = 01; mnc_length = 2;});
|
||||
|
||||
tr_s_preference = "local_mac"
|
||||
plmn_list = ({ mcc = 208; mnc = 97; mnc_length = 2; snssaiList = ( { sst = 1; }); });
|
||||
nr_cellid = 1;
|
||||
|
||||
////////// Physical parameters:
|
||||
pdsch_AntennaPorts_XP = 2;
|
||||
pusch_AntennaPorts = 4;
|
||||
pdsch_AntennaPorts_N1 = 2;
|
||||
maxMIMO_layers = 2;
|
||||
do_CSIRS = 1;
|
||||
do_SRS = 0;
|
||||
force_UL256qam_off = 1;
|
||||
|
||||
servingCellConfigCommon = (
|
||||
{
|
||||
#spCellConfigCommon
|
||||
|
||||
#spCellConfigCommon
|
||||
physCellId = 0;
|
||||
|
||||
# downlinkConfigCommon
|
||||
#frequencyInfoDL
|
||||
# this is 3600 MHz + 84 PRBs@30kHz SCS (same as initial BWP)
|
||||
absoluteFrequencySSB = 641272; //641032; #641968; 641968=start of ssb at 3600MHz + 82 RBs 641032=center of SSB at center of cell
|
||||
dl_frequencyBand = 78;
|
||||
# this is 3600 MHz
|
||||
dl_absoluteFrequencyPointA = 640000;
|
||||
# this is 3300.24 + 134*12*30e3 = 3348.48 MHz (5G NR GSCN: 7741)
|
||||
absoluteFrequencySSB = 649920; #JF maybe we should adjust a bit
|
||||
dl_frequencyBand = 78;
|
||||
# this is 3300.24 MHz
|
||||
dl_absoluteFrequencyPointA = 646724;
|
||||
#scs-SpecificCarrierList
|
||||
dl_offstToCarrier = 0;
|
||||
dl_offstToCarrier = 0;
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
dl_subcarrierSpacing = 1;
|
||||
dl_carrierBandwidth = 106;
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
dl_subcarrierSpacing = 1;
|
||||
dl_carrierBandwidth = 273;
|
||||
#initialDownlinkBWP
|
||||
#genericParameters
|
||||
# this is RBstart=84,L=13 (275*(L-1))+RBstart
|
||||
initialDLBWPlocationAndBandwidth = 6368;
|
||||
# this is RBstart=0,L=162 (275*(275-L+1))+(274-RBstart))
|
||||
initialDLBWPlocationAndBandwidth = 1099;
|
||||
#
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
initialDLBWPsubcarrierSpacing = 1;
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
initialDLBWPsubcarrierSpacing = 1;
|
||||
#pdcch-ConfigCommon
|
||||
initialDLBWPcontrolResourceSetZero = 0;
|
||||
initialDLBWPsearchSpaceZero = 0;
|
||||
|
||||
#uplinkConfigCommon
|
||||
initialDLBWPcontrolResourceSetZero = 12;
|
||||
initialDLBWPsearchSpaceZero = 0;
|
||||
#uplinkConfigCommon
|
||||
#frequencyInfoUL
|
||||
ul_frequencyBand = 78;
|
||||
ul_frequencyBand = 78;
|
||||
#scs-SpecificCarrierList
|
||||
ul_offstToCarrier = 0;
|
||||
ul_offstToCarrier = 0;
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
ul_subcarrierSpacing = 1;
|
||||
ul_carrierBandwidth = 106;
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
ul_subcarrierSpacing = 1;
|
||||
ul_carrierBandwidth = 273;
|
||||
pMax = 20;
|
||||
#initialUplinkBWP
|
||||
#genericParameters
|
||||
initialULBWPlocationAndBandwidth = 6368;
|
||||
initialULBWPlocationAndBandwidth = 1099;
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
initialULBWPsubcarrierSpacing = 1;
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
initialULBWPsubcarrierSpacing = 1;
|
||||
#rach-ConfigCommon
|
||||
#rach-ConfigGeneric
|
||||
prach_ConfigurationIndex = 98;
|
||||
prach_ConfigurationIndex = 148; # JF check this and other PRACH related params
|
||||
#prach_msg1_FDM
|
||||
#0 = one, 1=two, 2=four, 3=eight
|
||||
prach_msg1_FDM = 0;
|
||||
prach_msg1_FrequencyStart = 0;
|
||||
zeroCorrelationZoneConfig = 13;
|
||||
preambleReceivedTargetPower = -100;
|
||||
zeroCorrelationZoneConfig = 12;
|
||||
preambleReceivedTargetPower = -96;
|
||||
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
|
||||
preambleTransMax = 6;
|
||||
#powerRampingStep
|
||||
@@ -87,8 +85,8 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14; //15;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
ra_ContentionResolutionTimer = 7;
|
||||
@@ -98,57 +96,46 @@ gNBs =
|
||||
prach_RootSequenceIndex_PR = 2;
|
||||
prach_RootSequenceIndex = 1;
|
||||
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
|
||||
#
|
||||
#
|
||||
msg1_SubcarrierSpacing = 1,
|
||||
|
||||
# restrictedSetConfig
|
||||
# 0=unrestricted, 1=restricted type A, 2=restricted type B
|
||||
restrictedSetConfig = 0,
|
||||
|
||||
msg3_DeltaPreamble = 1;
|
||||
p0_NominalWithGrant =-90;
|
||||
|
||||
p0_NominalWithGrant = -90;
|
||||
# pucch-ConfigCommon setup :
|
||||
# pucchGroupHopping
|
||||
# 0 = neither, 1= group hopping, 2=sequence hopping
|
||||
pucchGroupHopping = 0;
|
||||
hoppingId = 40;
|
||||
p0_nominal = -90;
|
||||
|
||||
ssb_PositionsInBurst_Bitmap = 1; #0x80;
|
||||
|
||||
# ssb_PositionsInBurs_BitmapPR
|
||||
# 1=short, 2=medium, 3=long
|
||||
ssb_PositionsInBurst_Bitmap = 1;
|
||||
# ssb_periodicityServingCell
|
||||
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
|
||||
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
|
||||
ssb_periodicityServingCell = 2;
|
||||
|
||||
# dmrs_TypeA_position
|
||||
# 0 = pos2, 1 = pos3
|
||||
dmrs_TypeA_Position = 0;
|
||||
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
subcarrierSpacing = 1;
|
||||
|
||||
|
||||
#tdd-UL-DL-ConfigurationCommon
|
||||
# subcarrierSpacing
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||
referenceSubcarrierSpacing = 1;
|
||||
# pattern1
|
||||
# pattern1
|
||||
# dl_UL_TransmissionPeriodicity
|
||||
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
|
||||
dl_UL_TransmissionPeriodicity = 6;
|
||||
nrofDownlinkSlots = 7; //8; //7;
|
||||
nrofDownlinkSymbols = 6; //0; //6;
|
||||
nrofUplinkSlots = 2;
|
||||
nrofUplinkSymbols = 4; //0; //4;
|
||||
|
||||
ssPBCH_BlockPower = -25;
|
||||
dl_UL_TransmissionPeriodicity = 5; #6;
|
||||
nrofDownlinkSlots = 3; #7;
|
||||
nrofDownlinkSymbols = 6;
|
||||
nrofUplinkSlots = 1; #2;
|
||||
nrofUplinkSymbols = 4;
|
||||
ssPBCH_BlockPower = -10;
|
||||
}
|
||||
|
||||
);
|
||||
|
||||
|
||||
# ------- SCTP definitions
|
||||
SCTP :
|
||||
{
|
||||
@@ -157,63 +144,64 @@ gNBs =
|
||||
SCTP_OUTSTREAMS = 2;
|
||||
};
|
||||
|
||||
|
||||
////////// MME parameters:
|
||||
amf_ip_address = ({ ipv4 = "192.168.69.131"; });
|
||||
|
||||
///X2
|
||||
enable_x2 = "yes";
|
||||
t_reloc_prep = 1000; /* unit: millisecond */
|
||||
tx2_reloc_overall = 2000; /* unit: millisecond */
|
||||
t_dc_prep = 1000; /* unit: millisecond */
|
||||
t_dc_overall = 2000; /* unit: millisecond */
|
||||
target_enb_x2_ip_address = ({ ipv4 = "192.168.18.199"; });
|
||||
////////// AMF parameters:
|
||||
amf_ip_address = ({ ipv4 = "172.21.6.103"; });
|
||||
|
||||
NETWORK_INTERFACES :
|
||||
{
|
||||
|
||||
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.18.198/24";
|
||||
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.18.198/24";
|
||||
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.21.18.20";
|
||||
GNB_IPV4_ADDRESS_FOR_NGU = "172.21.18.20";
|
||||
GNB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||
GNB_IPV4_ADDRESS_FOR_X2C = "192.168.18.198/24";
|
||||
GNB_PORT_FOR_X2C = 36422; # Spec 36422
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
MACRLCs = (
|
||||
{
|
||||
num_cc = 1;
|
||||
tr_s_preference = "local_L1";
|
||||
tr_n_preference = "local_RRC";
|
||||
pusch_TargetSNRx10 = 200;
|
||||
pucch_TargetSNRx10 = 200;
|
||||
}
|
||||
{
|
||||
num_cc = 1;
|
||||
tr_s_preference = "local_L1";
|
||||
tr_n_preference = "local_RRC";
|
||||
pusch_TargetSNRx10 = 220;
|
||||
pucch_TargetSNRx10 = 220;
|
||||
ul_bler_target_upper=.35;
|
||||
ul_bler_target_lower=.15;
|
||||
pusch_FailureThres = 100;
|
||||
ul_max_mcs = 28;
|
||||
}
|
||||
);
|
||||
|
||||
L1s = (
|
||||
{
|
||||
num_cc = 1;
|
||||
tr_n_preference = "local_mac";
|
||||
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
|
||||
prach_dtx_threshold = 130;
|
||||
pucch0_dtx_threshold = 80;
|
||||
pusch_dtx_threshold = 10;
|
||||
max_ldpc_iterations = 10;
|
||||
tx_amp_backoff_dB = 12; #9; needs to match O-RU configuration # JF important to check
|
||||
L1_rx_thread_core = 3;
|
||||
L1_tx_thread_core = 4; # relevant after merge of l1_tx_thread
|
||||
phase_compensation = 0; # needs to match O-RU configuration # JF to be tested
|
||||
}
|
||||
);
|
||||
|
||||
RUs = (
|
||||
{
|
||||
local_rf = "yes"
|
||||
nb_tx = 1
|
||||
nb_rx = 1
|
||||
att_tx = 0
|
||||
att_rx = 0;
|
||||
bands = [7];
|
||||
max_pdschReferenceSignalPower = -27;
|
||||
max_rxgain = 114;
|
||||
eNB_instances = [0];
|
||||
clock_src = "internal";
|
||||
}
|
||||
);
|
||||
|
||||
{
|
||||
local_rf = "no";
|
||||
nb_tx = 4;
|
||||
nb_rx = 4;
|
||||
att_tx = 0
|
||||
att_rx = 0;
|
||||
bands = [78];
|
||||
max_pdschReferenceSignalPower = -27;
|
||||
max_rxgain = 75;
|
||||
sf_extension = 0;
|
||||
eNB_instances = [0];
|
||||
ru_thread_core = 6;
|
||||
sl_ahead = 10; #5;
|
||||
##beamforming 1x2 matrix: 1 layer x 2 antennas
|
||||
bf_weights = [0x00007fff, 0x0000,0x00007fff, 0x0000];
|
||||
tr_preference = "raw_if4p5"; # important: activate FHI7.2
|
||||
do_precoding = 0; # needs to match O-RU configuration
|
||||
}
|
||||
);
|
||||
|
||||
security = {
|
||||
# preferred ciphering algorithms
|
||||
@@ -232,14 +220,36 @@ security = {
|
||||
drb_integrity = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
hw_log_level ="info";
|
||||
phy_log_level ="info";
|
||||
mac_log_level ="info";
|
||||
rlc_log_level ="info";
|
||||
pdcp_log_level ="info";
|
||||
rrc_log_level ="info";
|
||||
};
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
hw_log_level ="info";
|
||||
phy_log_level ="info";
|
||||
mac_log_level ="info";
|
||||
rlc_log_level ="info";
|
||||
pdcp_log_level ="info";
|
||||
rrc_log_level ="info";
|
||||
ngap_log_level ="info";
|
||||
f1ap_log_level ="info";
|
||||
};
|
||||
|
||||
fhi_72 = {
|
||||
dpdk_devices = ("0000:c3:11.0", "0000:c3:11.1");
|
||||
dpdk_iova_mode = "VA";
|
||||
system_core = 0;
|
||||
io_core = 1;
|
||||
worker_cores = (2);
|
||||
ru_addr = ("00:E0:0C:00:AE:06", "00:E0:0C:00:AE:06");
|
||||
mtu = 9000;
|
||||
fh_config = ({
|
||||
T1a_cp_dl = (285, 470);
|
||||
T1a_cp_ul = (285, 429);
|
||||
T1a_up = (125, 350);
|
||||
Ta4 = (110, 180);
|
||||
ru_config = {
|
||||
iq_width = 9;
|
||||
iq_width_prach = 9;
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
@@ -91,8 +91,8 @@ gNBs = (
|
||||
ra_ResponseWindow = 4;
|
||||
# ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
# 1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
# oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
# one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
# ra_ContentionResolutionTimer
|
||||
# (0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -26,14 +26,6 @@ gNBs =
|
||||
pdsch_AntennaPorts_XP = 1;
|
||||
pusch_AntennaPorts = 1;
|
||||
|
||||
|
||||
pdcch_ConfigSIB1 = (
|
||||
{
|
||||
controlResourceSetZero = 12;
|
||||
searchSpaceZero = 0;
|
||||
}
|
||||
);
|
||||
|
||||
servingCellConfigCommon = (
|
||||
{
|
||||
#spCellConfigCommon
|
||||
@@ -97,8 +89,8 @@ gNBs =
|
||||
ra_ResponseWindow = 4;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -91,8 +91,8 @@ gNBs =
|
||||
ra_ResponseWindow = 5;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -85,8 +85,8 @@ gNBs =
|
||||
ra_ResponseWindow = 4;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -21,12 +21,6 @@ gNBs =
|
||||
do_CSIRS = 0;
|
||||
do_SRS = 0;
|
||||
min_rxtxtime = 6;
|
||||
pdcch_ConfigSIB1 = (
|
||||
{
|
||||
controlResourceSetZero = 12;
|
||||
searchSpaceZero = 0;
|
||||
}
|
||||
);
|
||||
|
||||
servingCellConfigCommon = (
|
||||
{
|
||||
@@ -94,7 +88,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -77,8 +77,8 @@ gNBs:
|
||||
ra_ResponseWindow: 5
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR: 3
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR: 4
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB: 15
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -90,8 +90,8 @@ gNBs =
|
||||
ra_ResponseWindow = 4;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -84,7 +84,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
@@ -193,7 +193,7 @@ RUs = (
|
||||
local_rf = "yes"
|
||||
nb_tx = 1
|
||||
nb_rx = 1
|
||||
att_tx = 10;
|
||||
att_tx = 18;
|
||||
att_rx = 10;
|
||||
bands = [78];
|
||||
max_pdschReferenceSignalPower = -27;
|
||||
|
||||
@@ -103,8 +103,8 @@ gNBs =
|
||||
ra_ResponseWindow = 4;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -104,8 +104,8 @@ gNBs =
|
||||
ra_ResponseWindow = 4;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -86,7 +86,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -26,13 +26,6 @@ gNBs =
|
||||
sib1_tda = 15;
|
||||
# force_UL256qam_off = 1;
|
||||
|
||||
pdcch_ConfigSIB1 = (
|
||||
{
|
||||
controlResourceSetZero = 11;
|
||||
searchSpaceZero = 0;
|
||||
}
|
||||
);
|
||||
|
||||
servingCellConfigCommon = (
|
||||
{
|
||||
#spCellConfigCommon
|
||||
@@ -82,7 +75,7 @@ gNBs =
|
||||
initialULBWPsubcarrierSpacing = 1;
|
||||
#rach-ConfigCommon
|
||||
#rach-ConfigGeneric
|
||||
prach_ConfigurationIndex = 151;
|
||||
prach_ConfigurationIndex = 152;
|
||||
#prach_msg1_FDM
|
||||
#0 = one, 1=two, 2=four, 3=eight
|
||||
prach_msg1_FDM = 0;
|
||||
@@ -99,8 +92,8 @@ gNBs =
|
||||
ra_ResponseWindow = 5;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -88,8 +88,8 @@ gNBs =
|
||||
ra_ResponseWindow = 5;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -75,7 +75,7 @@ gNBs =
|
||||
initialULBWPsubcarrierSpacing = 1;
|
||||
#rach-ConfigCommon
|
||||
#rach-ConfigGeneric
|
||||
prach_ConfigurationIndex = 100;
|
||||
prach_ConfigurationIndex = 101;
|
||||
#prach_msg1_FDM
|
||||
#0 = one, 1=two, 2=four, 3=eight
|
||||
prach_msg1_FDM = 0;
|
||||
@@ -92,8 +92,8 @@ gNBs =
|
||||
ra_ResponseWindow = 4;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -75,7 +75,7 @@ gNBs =
|
||||
initialULBWPsubcarrierSpacing = 1;
|
||||
#rach-ConfigCommon
|
||||
#rach-ConfigGeneric
|
||||
prach_ConfigurationIndex = 100;
|
||||
prach_ConfigurationIndex = 101;
|
||||
#prach_msg1_FDM
|
||||
#0 = one, 1=two, 2=four, 3=eight
|
||||
prach_msg1_FDM = 0;
|
||||
@@ -92,8 +92,8 @@ gNBs =
|
||||
ra_ResponseWindow = 4;
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -26,11 +26,11 @@ gNBs =
|
||||
|
||||
# downlinkConfigCommon
|
||||
#frequencyInfoDL
|
||||
# this is 3300.30 MHz + (19 PRBs + 10 SCs)@30kHz SCS (GSCN: 7715)
|
||||
absoluteFrequencySSB = 620736;
|
||||
# this is 3610.56 MHz
|
||||
absoluteFrequencySSB = 640704;
|
||||
dl_frequencyBand = 78;
|
||||
# this is 3300.30 MHz
|
||||
dl_absoluteFrequencyPointA = 620020;
|
||||
# this is 3599.94 MHz
|
||||
dl_absoluteFrequencyPointA = 639996;
|
||||
#scs-SpecificCarrierList
|
||||
dl_offstToCarrier = 0;
|
||||
# subcarrierSpacing
|
||||
@@ -84,7 +84,7 @@ gNBs =
|
||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||
#one (0..15) 4,8,12,16,...60,64
|
||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
|
||||
#ra_ContentionResolutionTimer
|
||||
#(0..7) 8,16,24,32,40,48,56,64
|
||||
|
||||
@@ -6,6 +6,12 @@ uicc0 = {
|
||||
nssai_sst=1;
|
||||
}
|
||||
|
||||
position0 = {
|
||||
x = 0.0;
|
||||
y = 0.0;
|
||||
z = 6377900.0;
|
||||
}
|
||||
|
||||
thread-pool = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
|
||||
|
||||
#/* configuration for channel modelisation */
|
||||
@@ -34,4 +40,4 @@ channelmod = {
|
||||
ds_tdl = 0;
|
||||
}
|
||||
);
|
||||
};
|
||||
};
|
||||
@@ -10,7 +10,7 @@ Ref :
|
||||
feprx : 46.0
|
||||
feptx_prec : 15.0
|
||||
feptx_ofdm : 35.0
|
||||
feptx_total : 57.0
|
||||
feptx_total : 50.0
|
||||
L1 Tx processing : 260.0
|
||||
DLSCH encoding : 160.0
|
||||
L1 Rx processing : 420.0
|
||||
|
||||
@@ -10,7 +10,7 @@ Ref :
|
||||
feprx : 43.0
|
||||
feptx_prec : 13.0
|
||||
feptx_ofdm : 33.0
|
||||
feptx_total : 55.0
|
||||
feptx_total : 50.0
|
||||
L1 Tx processing : 200.0
|
||||
DLSCH encoding : 100.0
|
||||
L1 Rx processing : 330.0
|
||||
|
||||
@@ -43,6 +43,8 @@ def GenericHelp(vers):
|
||||
print(' InitiateHtml, FinalizeHtml')
|
||||
print(' TerminateeNB, TerminateHSS, TerminateMME, TerminateSPGW')
|
||||
print(' LogCollectBuild, LogCollecteNB, LogCollectHSS, LogCollectMME, LogCollectSPGW, LogCollectPing, LogCollectIperf')
|
||||
print(' --local Force local execution: rewrites the test xml script before running to always execute on localhost. Assumes')
|
||||
print(' images are available locally, will not remove any images and will run inside the current repo directory')
|
||||
|
||||
def GitSrvHelp(repository,branch,commit,mergeallow,targetbranch):
|
||||
print(' --ranRepository=[OAI RAN Repository URL] -- ' + repository)
|
||||
|
||||
@@ -212,13 +212,17 @@ def ExecuteActionWithParam(action):
|
||||
|
||||
elif action == 'Initialize_UE' or action == 'Attach_UE' or action == 'Detach_UE' or action == 'Terminate_UE' or action == 'CheckStatusUE' or action == 'DataEnable_UE' or action == 'DataDisable_UE':
|
||||
CiTestObj.ue_ids = test.findtext('id').split(' ')
|
||||
if test.findtext('nodes'):
|
||||
CiTestObj.nodes = test.findtext('nodes').split(' ')
|
||||
if len(CiTestObj.ue_ids) != len(CiTestObj.nodes):
|
||||
logging.error('Number of Nodes are not equal to the total number of UEs')
|
||||
sys.exit("Mismatch in number of Nodes and UIs")
|
||||
if force_local:
|
||||
# Change all execution targets to localhost
|
||||
CiTestObj.nodes = ['localhost'] * len(CiTestObj.ue_ids)
|
||||
else:
|
||||
CiTestObj.nodes = [None] * len(CiTestObj.ue_ids)
|
||||
if test.findtext('nodes'):
|
||||
CiTestObj.nodes = test.findtext('nodes').split(' ')
|
||||
if len(CiTestObj.ue_ids) != len(CiTestObj.nodes):
|
||||
logging.error('Number of Nodes are not equal to the total number of UEs')
|
||||
sys.exit("Mismatch in number of Nodes and UIs")
|
||||
else:
|
||||
CiTestObj.nodes = [None] * len(CiTestObj.ue_ids)
|
||||
if action == 'Initialize_UE':
|
||||
success = CiTestObj.InitializeUE(HTML)
|
||||
elif action == 'Attach_UE':
|
||||
@@ -238,13 +242,17 @@ def ExecuteActionWithParam(action):
|
||||
CiTestObj.ping_args = test.findtext('ping_args')
|
||||
CiTestObj.ping_packetloss_threshold = test.findtext('ping_packetloss_threshold')
|
||||
CiTestObj.ue_ids = test.findtext('id').split(' ')
|
||||
if test.findtext('nodes'):
|
||||
CiTestObj.nodes = test.findtext('nodes').split(' ')
|
||||
if len(CiTestObj.ue_ids) != len(CiTestObj.nodes):
|
||||
logging.error('Number of Nodes are not equal to the total number of UEs')
|
||||
sys.exit("Mismatch in number of Nodes and UIs")
|
||||
if force_local:
|
||||
# Change all execution targets to localhost
|
||||
CiTestObj.nodes = ['localhost'] * len(CiTestObj.ue_ids)
|
||||
else:
|
||||
CiTestObj.nodes = [None] * len(CiTestObj.ue_ids)
|
||||
if test.findtext('nodes'):
|
||||
CiTestObj.nodes = test.findtext('nodes').split(' ')
|
||||
if len(CiTestObj.ue_ids) != len(CiTestObj.nodes):
|
||||
logging.error('Number of Nodes are not equal to the total number of UEs')
|
||||
sys.exit("Mismatch in number of Nodes and UIs")
|
||||
else:
|
||||
CiTestObj.nodes = [None] * len(CiTestObj.ue_ids)
|
||||
ping_rttavg_threshold = test.findtext('ping_rttavg_threshold') or ''
|
||||
success = CiTestObj.Ping(HTML,EPC,CONTAINERS)
|
||||
|
||||
@@ -252,15 +260,19 @@ def ExecuteActionWithParam(action):
|
||||
CiTestObj.iperf_args = test.findtext('iperf_args')
|
||||
CiTestObj.ue_ids = test.findtext('id').split(' ')
|
||||
CiTestObj.svr_id = test.findtext('svr_id') or None
|
||||
if test.findtext('nodes'):
|
||||
CiTestObj.nodes = test.findtext('nodes').split(' ')
|
||||
if len(CiTestObj.ue_ids) != len(CiTestObj.nodes):
|
||||
logging.error('Number of Nodes are not equal to the total number of UEs')
|
||||
sys.exit("Mismatch in number of Nodes and UIs")
|
||||
if force_local:
|
||||
# Change all execution targets to localhost
|
||||
CiTestObj.nodes = ['localhost'] * len(CiTestObj.ue_ids)
|
||||
else:
|
||||
CiTestObj.nodes = [None] * len(CiTestObj.ue_ids)
|
||||
if test.findtext('nodes'):
|
||||
CiTestObj.nodes = test.findtext('nodes').split(' ')
|
||||
if len(CiTestObj.ue_ids) != len(CiTestObj.nodes):
|
||||
logging.error('Number of Nodes are not equal to the total number of UEs')
|
||||
sys.exit("Mismatch in number of Nodes and UIs")
|
||||
else:
|
||||
CiTestObj.nodes = [None] * len(CiTestObj.ue_ids)
|
||||
if test.findtext('svr_node'):
|
||||
CiTestObj.svr_node = test.findtext('svr_node')
|
||||
CiTestObj.svr_node = test.findtext('svr_node') if not force_local else 'localhost'
|
||||
CiTestObj.iperf_packetloss_threshold = test.findtext('iperf_packetloss_threshold')
|
||||
CiTestObj.iperf_bitrate_threshold = test.findtext('iperf_bitrate_threshold') or '90'
|
||||
CiTestObj.iperf_profile = test.findtext('iperf_profile') or 'balanced'
|
||||
@@ -356,6 +368,9 @@ def ExecuteActionWithParam(action):
|
||||
elif action == 'Undeploy_Object':
|
||||
success = CONTAINERS.UndeployObject(HTML, RAN)
|
||||
elif action == 'Create_Workspace':
|
||||
if force_local:
|
||||
# Do not create a working directory when running locally. Current repo directory will be used
|
||||
return True
|
||||
success = CONTAINERS.Create_Workspace(HTML)
|
||||
|
||||
elif action == 'Run_Physim':
|
||||
@@ -375,6 +390,9 @@ def ExecuteActionWithParam(action):
|
||||
success = CONTAINERS.Push_Image_to_Local_Registry(HTML, svr_id)
|
||||
|
||||
elif action == 'Pull_Local_Registry' or action == 'Clean_Test_Server_Images':
|
||||
if force_local:
|
||||
# Do not pull or remove images when running locally. User is supposed to handle image creation & cleanup
|
||||
return True
|
||||
svr_id = test.findtext('svr_id')
|
||||
images = test.findtext('images').split()
|
||||
# hack: for FlexRIC, we need to overwrite the tag to use
|
||||
@@ -463,7 +481,9 @@ CLUSTER = cls_cluster.Cluster()
|
||||
#-----------------------------------------------------------
|
||||
|
||||
import args_parse
|
||||
py_param_file_present, py_params, mode = args_parse.ArgsParse(sys.argv,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER)
|
||||
# Force local execution, move all execution targets to localhost
|
||||
force_local = False
|
||||
py_param_file_present, py_params, mode, force_local = args_parse.ArgsParse(sys.argv,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER)
|
||||
|
||||
|
||||
|
||||
|
||||
35
ci-scripts/run_locally.sh
Executable file
35
ci-scripts/run_locally.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
SHORT_COMMIT_SHA=$(git rev-parse --short=8 HEAD)
|
||||
COMMIT_SHA=$(git rev-parse HEAD)
|
||||
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||||
REPO_PATH=$(dirname $(realpath $0))/../
|
||||
TESTCASE=$1
|
||||
|
||||
if [ $# -eq 0 ]
|
||||
then
|
||||
echo "Provide a testcase as an argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# The script assumes you've build the following images:
|
||||
#
|
||||
# docker build . -f docker/Dockerfile.gNB.ubuntu22 -t oai-gnb
|
||||
# docker build . -f docker/Dockerfile.nrUE.ubuntu22 -t oai-nr-ue
|
||||
#
|
||||
# The images above depend on the following images:
|
||||
#
|
||||
# docker build . -f docker/Dockerfile.build.ubuntu22 -t ran-build
|
||||
# dokcer build . -f docker/Dockerfile.base.ubuntu22 -t ran-base
|
||||
|
||||
docker tag oai-nr-ue oai-ci/oai-nr-ue:develop-${SHORT_COMMIT_SHA}
|
||||
docker tag oai-gnb oai-ci/oai-gnb:develop-${SHORT_COMMIT_SHA}
|
||||
|
||||
python3 main.py --mode=TesteNB --ranRepository=NONE --ranBranch=${CURRENT_BRANCH} \
|
||||
--ranCommitID=${COMMIT_SHA} --ranAllowMerge=false \
|
||||
--ranTargetBranch=NONE --eNBIPAddress=NONE --eNBUserName=NONE --eNBPassword=NONE \
|
||||
--eNBSourceCodePath=NONE --EPCIPAddress=NONE --EPCType=OAI --eNBPassword=NONE \
|
||||
--eNBSourceCodePath=${REPO_PATH} --EPCIPAddress=NONE \
|
||||
--EPCUserName=NONE --EPCPassword=NONE --EPCSourceCodePath=NONE \
|
||||
--XMLTestFile=xml_files/${TESTCASE} --local
|
||||
@@ -133,7 +133,7 @@
|
||||
<class>Ping</class>
|
||||
<desc>Ping ext-dn from both UEs</desc>
|
||||
<id>rfsim5g_ue rfsim5g_ue2</id>
|
||||
<nodes>selfix selfix</nodes>
|
||||
<nodes>carabe carabe</nodes>
|
||||
<ping_args>-c 20 192.168.70.135</ping_args>
|
||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||
</testCase>
|
||||
@@ -142,14 +142,14 @@
|
||||
<class>Attach_UE</class>
|
||||
<desc>Attach OAI UE 1 and 2</desc>
|
||||
<id>rfsim5g_ue rfsim5g_ue2</id>
|
||||
<nodes>selfix selfix</nodes>
|
||||
<nodes>carabe carabe</nodes>
|
||||
</testCase>
|
||||
|
||||
<testCase id="444444">
|
||||
<class>Detach_UE</class>
|
||||
<desc>Detach OAI UE 1 and 2</desc>
|
||||
<id>rfsim5g_ue rfsim5g_ue2</id>
|
||||
<nodes>selfix selfix</nodes>
|
||||
<nodes>carabe carabe</nodes>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100001">
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
-->
|
||||
<testCaseList>
|
||||
<htmlTabRef>rfsim-5gnr-fdd-u0-25prb</htmlTabRef>
|
||||
<htmlTabName>Monolithic SA FDD u0 25PRB gNB</htmlTabName>
|
||||
<htmlTabName>VNF-PNF nFAPI FDD u0 25PRB gNB</htmlTabName>
|
||||
<htmlTabIcon>wrench</htmlTabIcon>
|
||||
<TestCaseRequestedList>
|
||||
111111
|
||||
@@ -62,9 +62,9 @@
|
||||
|
||||
<testCase id="000002">
|
||||
<class>Deploy_Object</class>
|
||||
<desc>Deploy OAI 5G gNB+nrUE RF sim SA</desc>
|
||||
<desc>Deploy OAI 5G VNF+PNF+nrUE RF sim SA</desc>
|
||||
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_u0_25prb</yaml_path>
|
||||
<services>oai-gnb oai-nr-ue</services>
|
||||
<services>oai-vnf oai-pnf oai-nr-ue</services>
|
||||
<eNB_instance>0</eNB_instance>
|
||||
<eNB_serverId>0</eNB_serverId>
|
||||
</testCase>
|
||||
@@ -122,6 +122,7 @@
|
||||
<class>Undeploy_Object</class>
|
||||
<always_exec>true</always_exec>
|
||||
<desc>Undeploy all OAI 5G stack</desc>
|
||||
<services>oai-vnf oai-pnf</services>
|
||||
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_u0_25prb</yaml_path>
|
||||
<d_retx_th>1,0,0,0</d_retx_th>
|
||||
<u_retx_th>1,0,0,0</u_retx_th>
|
||||
|
||||
171
ci-scripts/xml_files/container_sa_fhi72_metanoia_up2_2x2.xml
Normal file
171
ci-scripts/xml_files/container_sa_fhi72_metanoia_up2_2x2.xml
Normal file
@@ -0,0 +1,171 @@
|
||||
<!--
|
||||
|
||||
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The OpenAirInterface Software Alliance licenses this file to You under
|
||||
the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.openairinterface.org/?page_id=698
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
contact@openairinterface.org
|
||||
|
||||
-->
|
||||
<testCaseList>
|
||||
<htmlTabRef>test-5g-fhi72-metanoia-2x2</htmlTabRef>
|
||||
<htmlTabName>100 MHz TDD SA METANOIA</htmlTabName>
|
||||
<htmlTabIcon>tasks</htmlTabIcon>
|
||||
<TestCaseRequestedList>
|
||||
200000
|
||||
110000
|
||||
800813
|
||||
120000
|
||||
102000
|
||||
102001
|
||||
100100
|
||||
100010
|
||||
100020
|
||||
100030
|
||||
100040
|
||||
103000
|
||||
100002
|
||||
130000
|
||||
777777
|
||||
888888
|
||||
</TestCaseRequestedList>
|
||||
<TestCaseExclusionList></TestCaseExclusionList>
|
||||
|
||||
<testCase id="200000">
|
||||
<class>Custom_Script</class>
|
||||
<desc>Setup sriov and network interfaces Metanoia</desc>
|
||||
<node>cacofonix</node>
|
||||
<script>yaml_files/sa_fhi_7.2_metanoia_2x2_gnb/setup_sriov_metanoia.sh</script>
|
||||
<command_fail>yes</command_fail>
|
||||
</testCase>
|
||||
|
||||
<testCase id="110000">
|
||||
<class>Pull_Local_Registry</class>
|
||||
<desc>Pull Images from Local Registry</desc>
|
||||
<svr_id>0</svr_id>
|
||||
<images>oai-gnb-fhi72</images>
|
||||
</testCase>
|
||||
|
||||
<testCase id="800813">
|
||||
<class>Create_Workspace</class>
|
||||
<desc>Create new Workspace for server 0</desc>
|
||||
<eNB_instance>0</eNB_instance>
|
||||
<eNB_serverId>0</eNB_serverId>
|
||||
</testCase>
|
||||
|
||||
<testCase id="120000">
|
||||
<class>Deploy_Object</class>
|
||||
<desc>Deploy gNB (TDD/Band78/100MHz/Metanoia) in a container</desc>
|
||||
<yaml_path>ci-scripts/yaml_files/sa_fhi_7.2_metanoia_2x2_gnb</yaml_path>
|
||||
<eNB_instance>0</eNB_instance>
|
||||
<eNB_serverId>0</eNB_serverId>
|
||||
</testCase>
|
||||
|
||||
<testCase id="102001">
|
||||
<class>Attach_UE</class>
|
||||
<desc>Attach UE</desc>
|
||||
<id>up2-fhi72</id>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100100">
|
||||
<class>Ping</class>
|
||||
<desc>Ping: 100 pings in 10 sec</desc>
|
||||
<id>up2-fhi72</id>
|
||||
<ping_args>-c 100 -i 0.1 172.21.6.104</ping_args>
|
||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100010">
|
||||
<class>Iperf</class>
|
||||
<desc>iperf (DL/570Mbps/UDP)(30 sec)(multi-ue profile)</desc>
|
||||
<iperf_args>-u -b 570M -t 30 -R</iperf_args>
|
||||
<id>up2-fhi72</id>
|
||||
<iperf_packetloss_threshold>20</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
<iperf_profile>balanced</iperf_profile>
|
||||
<svr_id>oc-cn5g-20897</svr_id>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100030">
|
||||
<class>Iperf</class>
|
||||
<desc>iperf (DL/TCP)(30 sec)(multi-ue profile)</desc>
|
||||
<iperf_args>-t 30 -R</iperf_args>
|
||||
<id>up2-fhi72</id>
|
||||
<iperf_tcp_rate_target>80</iperf_tcp_rate_target>
|
||||
<svr_id>oc-cn5g-20897</svr_id>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100020">
|
||||
<class>Iperf</class>
|
||||
<desc>iperf (UL/100Mbps/UDP)(30 sec)(multi-ue profile)</desc>
|
||||
<iperf_args>-u -b 100M -t 30</iperf_args>
|
||||
<id>up2-fhi72</id>
|
||||
<iperf_packetloss_threshold>20</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
<iperf_profile>balanced</iperf_profile>
|
||||
<svr_id>oc-cn5g-20897</svr_id>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100040">
|
||||
<class>Iperf</class>
|
||||
<desc>iperf (UL/TCP)(30 sec)(multi-ue profile)</desc>
|
||||
<iperf_args>-t 30</iperf_args>
|
||||
<id>up2-fhi72</id>
|
||||
<iperf_tcp_rate_target>80</iperf_tcp_rate_target>
|
||||
<svr_id>oc-cn5g-20897</svr_id>
|
||||
</testCase>
|
||||
|
||||
<testCase id="103000">
|
||||
<class>Detach_UE</class>
|
||||
<always_exec>true</always_exec>
|
||||
<desc>Detach UE</desc>
|
||||
<id>up2-fhi72</id>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100002">
|
||||
<class>IdleSleep</class>
|
||||
<desc>Sleep</desc>
|
||||
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
|
||||
</testCase>
|
||||
|
||||
<testCase id="130000">
|
||||
<class>Undeploy_Object</class>
|
||||
<always_exec>true</always_exec>
|
||||
<desc>Undeploy gNB</desc>
|
||||
<yaml_path>ci-scripts/yaml_files/sa_fhi_7.2_metanoia_2x2_gnb</yaml_path>
|
||||
<eNB_instance>0</eNB_instance>
|
||||
<eNB_serverId>0</eNB_serverId>
|
||||
</testCase>
|
||||
|
||||
<testCase id="777777">
|
||||
<class>Clean_Test_Server_Images</class>
|
||||
<always_exec>true</always_exec>
|
||||
<desc>Clean Test Images on Test Server</desc>
|
||||
<svr_id>0</svr_id>
|
||||
<images>oai-gnb-fhi72</images>
|
||||
</testCase>
|
||||
|
||||
<testCase id="888888">
|
||||
<class>Custom_Script</class>
|
||||
<always_exec>true</always_exec>
|
||||
<desc>Set CPU to idle state, set kernel parameters to default values</desc>
|
||||
<node>cacofonix</node>
|
||||
<script>yaml_files/sa_fhi_7.2_metanoia_2x2_gnb/setup_cleanup.sh</script>
|
||||
<command_fail>yes</command_fail>
|
||||
</testCase>
|
||||
|
||||
</testCaseList>
|
||||
@@ -22,7 +22,7 @@
|
||||
-->
|
||||
<testCaseList>
|
||||
<htmlTabRef>TEST-SA-FR1-N310-4x4-60MHz</htmlTabRef>
|
||||
<htmlTabName>60 MHz 4x4 TDD SA</htmlTabName>
|
||||
<htmlTabName>nFAPI 60 MHz 4x4 TDD SA</htmlTabName>
|
||||
<htmlTabIcon>tasks</htmlTabIcon>
|
||||
<TestCaseRequestedList>
|
||||
100000
|
||||
@@ -85,7 +85,7 @@
|
||||
</testCase>
|
||||
<testCase id="030101">
|
||||
<class>Deploy_Object</class>
|
||||
<desc>Deploy gNB (TDD/Band77/60MHz/N310) in a container</desc>
|
||||
<desc>Deploy VNF-PNF (TDD/Band77/60MHz/N310) in a container</desc>
|
||||
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_4x4_60MHz</yaml_path>
|
||||
<eNB_instance>0</eNB_instance>
|
||||
<eNB_serverId>0</eNB_serverId>
|
||||
@@ -144,11 +144,11 @@
|
||||
<testCase id="030201">
|
||||
<class>Undeploy_Object</class>
|
||||
<always_exec>true</always_exec>
|
||||
<desc>Undeploy gNB</desc>
|
||||
<desc>Undeploy VNF-PNF</desc>
|
||||
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_4x4_60MHz</yaml_path>
|
||||
<eNB_instance>0</eNB_instance>
|
||||
<eNB_serverId>0</eNB_serverId>
|
||||
<services>oai-gnb</services>
|
||||
<services>oai-vnf oai-pnf</services>
|
||||
<d_retx_th>10,100,100,100</d_retx_th>
|
||||
<u_retx_th>10,100,100,100</u_retx_th>
|
||||
</testCase>
|
||||
|
||||
@@ -24,19 +24,36 @@
|
||||
<htmlTabName>Test T2 Offload Decoder</htmlTabName>
|
||||
<htmlTabIcon>tasks</htmlTabIcon>
|
||||
<TestCaseRequestedList>
|
||||
010204
|
||||
010111 010112 010121 010122 010131 010132
|
||||
010211 010212 010221 010222 010231 010232
|
||||
010311 010312 010321 010322 010331 010332
|
||||
402010
|
||||
</TestCaseRequestedList>
|
||||
<TestCaseExclusionList></TestCaseExclusionList>
|
||||
|
||||
<testCase id="010204">
|
||||
<class>Custom_Command</class>
|
||||
<desc>Disable Sleep States</desc>
|
||||
<node>caracal</node>
|
||||
<command>sudo cpupower idle-set -D 0</command>
|
||||
</testCase>
|
||||
|
||||
<testCase id="402010">
|
||||
<class>Custom_Command</class>
|
||||
<always_exec>true</always_exec>
|
||||
<desc>Enable Sleep States</desc>
|
||||
<node>caracal</node>
|
||||
<command>sudo cpupower idle-set -E</command>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010111">
|
||||
<class>Run_Physim</class>
|
||||
<desc>Run nr_ulsim with CPU: SNR = 30, MCS = 5, 106 PRBs, 1 layer</desc>
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>300</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m5 -r106 -R106 -C10 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r106 -R106 -C10 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010112">
|
||||
@@ -45,7 +62,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>100</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m5 -r106 -R106 -C10 -o -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r106 -R106 -C10 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010121">
|
||||
@@ -54,7 +71,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>300</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m15 -r106 -R106 -C10 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r106 -R106 -C10 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010122">
|
||||
@@ -63,7 +80,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>150</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m15 -r106 -R106 -C10 -o -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r106 -R106 -C10 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010131">
|
||||
@@ -72,7 +89,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>250</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m25 -r106 -R106 -C10 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r106 -R106 -C10 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010132">
|
||||
@@ -81,7 +98,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>250</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m25 -r106 -R106 -C10 -o -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r106 -R106 -C10 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010211">
|
||||
@@ -90,7 +107,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>300</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m5 -r273 -R273 -C10 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010212">
|
||||
@@ -99,7 +116,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>150</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m5 -r273 -R273 -C10 -o -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010221">
|
||||
@@ -108,7 +125,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>400</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m15 -r273 -R273 -C10 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010222">
|
||||
@@ -117,7 +134,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>350</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m15 -r273 -R273 -C10 -o -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010231">
|
||||
@@ -126,7 +143,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>400</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m25 -r273 -R273 -C10 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010232">
|
||||
@@ -135,7 +152,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>550</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m25 -r273 -R273 -C10 -o -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010311">
|
||||
@@ -144,7 +161,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>300</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m5 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010312">
|
||||
@@ -153,7 +170,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>250</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m5 -r273 -R273 -C10 -o -W2 -z2 -y2 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -W2 -z2 -y2 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010321">
|
||||
@@ -162,7 +179,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>600</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m15 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010322">
|
||||
@@ -171,7 +188,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>650</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m15 -r273 -R273 -C10 -o -W2 -z2 -y2 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -W2 -z2 -y2 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010331">
|
||||
@@ -180,7 +197,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>650</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m25 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010332">
|
||||
@@ -189,7 +206,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_ulsim</physim_test>
|
||||
<physim_time_threshold>1100</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -m25 -r273 -R273 -C10 -o -W2 -z2 -y2 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -W2 -z2 -y2 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
</testCaseList>
|
||||
|
||||
@@ -24,20 +24,37 @@
|
||||
<htmlTabName>Test T2 Offload Encoder</htmlTabName>
|
||||
<htmlTabIcon>tasks</htmlTabIcon>
|
||||
<TestCaseRequestedList>
|
||||
102040
|
||||
000111 000112 000121 000122 000131 000132
|
||||
000211 000212 000221 000222 000231 000232
|
||||
000311 000312 000321 000322 000331 000332
|
||||
000411 000412 000421 000422 000431 000432
|
||||
040201
|
||||
</TestCaseRequestedList>
|
||||
<TestCaseExclusionList></TestCaseExclusionList>
|
||||
|
||||
<testCase id="102040">
|
||||
<class>Custom_Command</class>
|
||||
<desc>Disable Sleep States</desc>
|
||||
<node>caracal</node>
|
||||
<command>sudo cpupower idle-set -D 0</command>
|
||||
</testCase>
|
||||
|
||||
<testCase id="040201">
|
||||
<class>Custom_Command</class>
|
||||
<always_exec>true</always_exec>
|
||||
<desc>Enable Sleep States</desc>
|
||||
<node>caracal</node>
|
||||
<command>sudo cpupower idle-set -E</command>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000111">
|
||||
<class>Run_Physim</class>
|
||||
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 5, 106 PRBs, 1 layer</desc>
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>230</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e5 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000112">
|
||||
@@ -46,7 +63,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>100</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e5 -b106 -R106 -c -X4,5,6,7,8,9 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b106 -R106 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000121">
|
||||
@@ -55,7 +72,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>300</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e15 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000122">
|
||||
@@ -64,7 +81,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>100</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e15 -b106 -R106 -c -X4,5,6,7,8,9 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b106 -R106 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000131">
|
||||
@@ -73,7 +90,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>350</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e25 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000132">
|
||||
@@ -82,7 +99,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>200</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e25 -b106 -R106 -c -X4,5,6,7,8,9 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b106 -R106 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000211">
|
||||
@@ -91,7 +108,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>300</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e5 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000212">
|
||||
@@ -100,7 +117,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>150</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e5 -b273 -R273 -c -X4,5,6,7,8,9 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000221">
|
||||
@@ -109,7 +126,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>350</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e15 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000222">
|
||||
@@ -118,7 +135,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>250</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e15 -b273 -R273 -c -X4,5,6,7,8,9 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000231">
|
||||
@@ -127,7 +144,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>400</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e25 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000232">
|
||||
@@ -136,7 +153,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>400</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e25 -b273 -R273 -c -X4,5,6,7,8,9 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000311">
|
||||
@@ -145,7 +162,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>400</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e5 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000312">
|
||||
@@ -154,7 +171,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>200</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e5 -b273 -R273 -c -X4,5,6,7,8,9 -x2 -z2 -y2 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X4,5,6,7,8,9 -x2 -z2 -y2 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000321">
|
||||
@@ -163,7 +180,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>450</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e15 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000322">
|
||||
@@ -172,7 +189,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>500</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e15 -b273 -R273 -c -X4,5,6,7,8,9 -x2 -z2 -y2 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X4,5,6,7,8,9 -x2 -z2 -y2 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000331">
|
||||
@@ -181,7 +198,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>500</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e25 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000332">
|
||||
@@ -190,7 +207,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>500</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e25 -b273 -R273 -c -X4,5,6,7,8,9 -x2 -z2 -y2 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X4,5,6,7,8,9 -x2 -z2 -y2 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000411">
|
||||
@@ -199,7 +216,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>400</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e5 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000412">
|
||||
@@ -208,7 +225,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>200</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e5 -b273 -R273 -c -X4,5,6,7,8,9 -x2 -z4 -y4 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X4,5,6,7,8,9 -x2 -z4 -y4 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000421">
|
||||
@@ -217,7 +234,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>400</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e15 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000422">
|
||||
@@ -226,7 +243,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>300</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e15 -b273 -R273 -c -X4,5,6,7,8,9 -x2 -z4 -y4 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X4,5,6,7,8,9 -x2 -z4 -y4 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000431">
|
||||
@@ -235,7 +252,7 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>450</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e25 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args>
|
||||
</testCase>
|
||||
|
||||
<testCase id="000432">
|
||||
@@ -244,6 +261,6 @@
|
||||
<always_exec>true</always_exec>
|
||||
<physim_test>nr_dlsim</physim_test>
|
||||
<physim_time_threshold>450</physim_time_threshold>
|
||||
<physim_run_args>-n100 -s30 -S30.2 -e25 -b273 -R273 -c -X4,5,6,7,8,9 -x2 -z4 -y4 -P --ldpc_offload.dpdk_dev d8:00.0</physim_run_args>
|
||||
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X4,5,6,7,8,9 -x2 -z4 -y4 -P --loader.ldpc.shlibversion _t2 --nrLDPC_coding_t2.dpdk_dev d8:00.0 --nrLDPC_coding_t2.dpdk_core_list 11-12</physim_run_args>
|
||||
</testCase>
|
||||
</testCaseList>
|
||||
|
||||
@@ -110,7 +110,7 @@ services:
|
||||
- NET_ADMIN # for interface bringup
|
||||
- NET_RAW # for ping
|
||||
environment:
|
||||
USE_ADDITIONAL_OPTIONS: --band 66 -C 2152680000 --CO -400000000 -r 25 --numerology 0 --ssb 48 --rfsim --rfsimulator.prop_delay 238.74 --ntn-koffset 478 --ntn-ta-common 477.48 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time
|
||||
USE_ADDITIONAL_OPTIONS: --band 66 -C 2152680000 --CO -400000000 -r 25 --numerology 0 --ssb 48 --rfsim --rfsimulator.prop_delay 238.74 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time
|
||||
depends_on:
|
||||
- oai-gnb
|
||||
networks:
|
||||
|
||||
@@ -80,13 +80,15 @@ services:
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
oai-gnb:
|
||||
|
||||
oai-vnf:
|
||||
image: ${REGISTRY:-oaisoftwarealliance}/${GNB_IMG:-oai-gnb}:${TAG:-develop}
|
||||
container_name: rfsim5g-oai-gnb
|
||||
container_name: rfsim5g-oai-vnf
|
||||
cap_drop:
|
||||
- ALL
|
||||
environment:
|
||||
USE_ADDITIONAL_OPTIONS: --rfsim --log_config.global_log_options level,nocolor,time
|
||||
USE_ADDITIONAL_OPTIONS: --nfapi VNF --log_config.global_log_options level,nocolor,time
|
||||
NFAPI_TRACE_LEVEL: info
|
||||
ASAN_OPTIONS: detect_leaks=0
|
||||
depends_on:
|
||||
- oai-ext-dn
|
||||
@@ -94,7 +96,29 @@ services:
|
||||
public_net:
|
||||
ipv4_address: 192.168.71.140
|
||||
volumes:
|
||||
- ../../conf_files/gnb.sa.band66.u0.25prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
|
||||
- ../../conf_files/gnb-vnf.sa.band66.u0.25prb.nfapi.conf:/opt/oai-gnb/etc/gnb.conf
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep nr-softmodem"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
oai-pnf:
|
||||
image: ${REGISTRY:-oaisoftwarealliance}/${GNB_IMG:-oai-gnb}:${TAG:-develop}
|
||||
container_name: rfsim5g-oai-pnf
|
||||
cap_drop:
|
||||
- ALL
|
||||
environment:
|
||||
USE_ADDITIONAL_OPTIONS: --nfapi PNF --rfsim --log_config.global_log_options level,nocolor,time
|
||||
NFAPI_TRACE_LEVEL: info
|
||||
ASAN_OPTIONS: detect_leaks=0
|
||||
depends_on:
|
||||
- oai-vnf
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.71.141
|
||||
volumes:
|
||||
- ../../conf_files/gnb-pnf.band66.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep nr-softmodem"
|
||||
interval: 10s
|
||||
@@ -110,9 +134,9 @@ services:
|
||||
- NET_ADMIN # for interface bringup
|
||||
- NET_RAW # for ping
|
||||
environment:
|
||||
USE_ADDITIONAL_OPTIONS: --rfsim -r 25 --numerology 0 --uicc0.imsi 208990100001100 --band 66 -C 2152680000 --CO -400000000 --ssb 48 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time
|
||||
USE_ADDITIONAL_OPTIONS: --rfsim -r 25 --numerology 0 --uicc0.imsi 208990100001100 --band 66 -C 2152680000 --CO -400000000 --ssb 48 --rfsimulator.serveraddr 192.168.71.141 --log_config.global_log_options level,nocolor,time
|
||||
depends_on:
|
||||
- oai-gnb
|
||||
- oai-pnf
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.71.150
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
services:
|
||||
oai-gnb:
|
||||
oai-vnf:
|
||||
image: ${REGISTRY:-oaisoftwarealliance}/${GNB_IMG:-oai-gnb}:${TAG:-develop}
|
||||
network_mode: "host"
|
||||
container_name: oai-gnb
|
||||
container_name: oai-vnf
|
||||
cap_drop:
|
||||
- ALL
|
||||
cap_add:
|
||||
@@ -10,9 +10,30 @@ services:
|
||||
- IPC_LOCK
|
||||
environment:
|
||||
TZ: Europe/Paris
|
||||
USE_ADDITIONAL_OPTIONS: --log_config.global_log_options level,nocolor,time
|
||||
USE_ADDITIONAL_OPTIONS: --nfapi VNF
|
||||
NFAPI_TRACE_LEVEL: info
|
||||
volumes:
|
||||
- ../../conf_files/gnb.sa.band77.162prb.usrpn310.4x4.conf:/opt/oai-gnb/etc/gnb.conf
|
||||
- ../../conf_files/gnb-vnf.sa.band77.162prb.nfapi.4x4.conf:/opt/oai-gnb/etc/gnb.conf
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep nr-softmodem"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
oai-pnf:
|
||||
image: ${REGISTRY:-oaisoftwarealliance}/${GNB_IMG:-oai-gnb}:${TAG:-develop}
|
||||
network_mode: "host"
|
||||
container_name: oai-pnf
|
||||
cap_drop:
|
||||
- ALL
|
||||
cap_add:
|
||||
- SYS_NICE
|
||||
- IPC_LOCK
|
||||
environment:
|
||||
TZ: Europe/Paris
|
||||
USE_ADDITIONAL_OPTIONS: --nfapi PNF
|
||||
NFAPI_TRACE_LEVEL: info
|
||||
volumes:
|
||||
- ../../conf_files/gnb-pnf.band77.usrpn310.4x4.conf:/opt/oai-gnb/etc/gnb.conf
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep nr-softmodem"
|
||||
interval: 10s
|
||||
|
||||
87
ci-scripts/yaml_files/sa_fhi_7.2_metanoia_2x2_gnb/README.md
Normal file
87
ci-scripts/yaml_files/sa_fhi_7.2_metanoia_2x2_gnb/README.md
Normal file
@@ -0,0 +1,87 @@
|
||||
<table style="border-collapse: collapse; border: none;">
|
||||
<tr style="border-collapse: collapse; border: none;">
|
||||
<td style="border-collapse: collapse; border: none;">
|
||||
<a href="http://www.openairinterface.org/">
|
||||
<img src="../../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
|
||||
</img>
|
||||
</a>
|
||||
</td>
|
||||
<td style="border-collapse: collapse; border: none; vertical-align: center;">
|
||||
<b><font size = "5">OAI O-RAN 7.2 Front-haul Docker Compose</font></b>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||

|
||||
|
||||
This docker-compose is designed to use `OAI-gNB` with a 7.2 compatible Radio Unit. Before using this docker compose you have to configure
|
||||
the host machine as per the [ORAN_FHI7.2_Tutorial](../../../doc/ORAN_FHI7.2_Tutorial.md). The container image used by the docker compose file is tested only on `Ubuntu 22.04` and `RHEL 9.4` docker host.
|
||||
|
||||
## Build Image (Optional)
|
||||
|
||||
Refer to [OAI Docker/Podman Build and Usage Procedures](../../../docker/README.md)
|
||||
|
||||
## Configure Networking
|
||||
|
||||
### SR-IOV Virtual Functions (VFs)
|
||||
|
||||
In docker-compose environment there is no automated method
|
||||
to configure the VFs on the fly. The user will have to manually configure
|
||||
C/U plane VFs before starting the container `OAI-gNB`.
|
||||
|
||||
You can follow the step
|
||||
[configure-network-interfaces-and-dpdk-vfs](../../../doc/ORAN_FHI7.2_Tutorial.md#configure-network-interfaces-and-dpdk-vfs).
|
||||
|
||||
### Interface towards AMF (N2)
|
||||
|
||||
For `N2` interface we are using `macvlan` driver of docker.
|
||||
|
||||
You can use the `bridge` driver, in situation
|
||||
|
||||
- When the core network is running on the same machine
|
||||
- or different machine but you have configured
|
||||
needed `ip route` and forwarding to access the core network from RAN host.
|
||||
|
||||
To configure docker `macvlan` network
|
||||
you need to choose `ipam.config` and `driver_opts.parent` are per your environment
|
||||
|
||||
```
|
||||
oai-net:
|
||||
driver: macvlan
|
||||
name: oai-net
|
||||
ipam:
|
||||
config:
|
||||
- subnet: "172.21.16.0/22"
|
||||
ip_range: "172.21.18.20/32"
|
||||
gateway: "172.21.19.254"
|
||||
driver_opts:
|
||||
com.docker.network.bridge.name: "oai-net"
|
||||
parent: ens7f0
|
||||
```
|
||||
|
||||
To configure `bridge` network you need to choose `ipam.config.subnet` as per your environment.
|
||||
|
||||
```
|
||||
oai-net:
|
||||
driver: bridge
|
||||
name: oai-net
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.72.128/26
|
||||
driver_opts:
|
||||
com.docker.network.bridge.name: "oai-net"
|
||||
```
|
||||
|
||||
## Deploy OAI-gNB Container
|
||||
|
||||
The [configuration file](../../conf_files/gnb.sa.band77.273prb.fhi72.4x4.2L-metanoia.conf) used by docker compose is configured for Metanoia RU.
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
To check the logs
|
||||
|
||||
```bash
|
||||
docker logs oai-gnb -f
|
||||
```
|
||||
@@ -0,0 +1,39 @@
|
||||
services:
|
||||
oai-gnb:
|
||||
image: ${REGISTRY:-oaisoftwarealliance}/oai-gnb-fhi72:${TAG:-develop}
|
||||
cap_add:
|
||||
- IPC_LOCK
|
||||
- SYS_NICE
|
||||
cap_drop:
|
||||
- ALL
|
||||
container_name: oai-gnb
|
||||
environment:
|
||||
TZ: Europe/Paris
|
||||
USE_ADDITIONAL_OPTIONS: --sa --thread-pool 7,8,9,10,11,12
|
||||
devices:
|
||||
- /dev/vfio:/dev/vfio/
|
||||
volumes:
|
||||
- ../../conf_files/gnb.sa.band77.273prb.fhi72.4x4.2L-metanoia.conf:/opt/oai-gnb/etc/gnb.conf
|
||||
- /dev/hugepages:/dev/hugepages
|
||||
# Please change these values based on your system
|
||||
cpuset: "0,1,2,3,4,5,6,7,8,9,10,11,12"
|
||||
networks:
|
||||
oai-net:
|
||||
ipv4_address: 172.21.18.20
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep nr-softmodem"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
networks:
|
||||
oai-net:
|
||||
driver: macvlan
|
||||
name: oai-net
|
||||
ipam:
|
||||
config:
|
||||
- subnet: "172.21.16.0/22"
|
||||
ip_range: "172.21.18.20/32"
|
||||
gateway: "172.21.19.254"
|
||||
driver_opts:
|
||||
com.docker.network.bridge.name: "oai-net"
|
||||
parent: ens7f0
|
||||
@@ -0,0 +1,5 @@
|
||||
set -e
|
||||
sudo cpupower idle-set -E > /dev/null
|
||||
sudo sysctl kernel.sched_rt_runtime_us=950000
|
||||
sudo sysctl kernel.timer_migration=1
|
||||
exit 0
|
||||
@@ -0,0 +1,20 @@
|
||||
set -e
|
||||
sudo cpupower idle-set -D 0 > /dev/null
|
||||
sudo sysctl kernel.sched_rt_runtime_us=-1
|
||||
sudo sysctl kernel.timer_migration=0
|
||||
sudo ethtool -G ens7f1 rx 8160 tx 8160
|
||||
sudo sh -c 'echo 0 > /sys/class/net/ens7f1/device/sriov_numvfs'
|
||||
sudo sh -c 'echo 3 > /sys/class/net/ens7f1/device/sriov_numvfs'
|
||||
sudo modprobe -r iavf
|
||||
sudo modprobe iavf
|
||||
# this next 2 lines is for C/U planes
|
||||
sudo ip link set ens7f1 vf 0 mac 00:11:22:33:44:55 vlan 3 spoofchk off mtu 9000
|
||||
sudo ip link set ens7f1 vf 1 mac 00:11:22:33:44:54 vlan 3 spoofchk off mtu 9000
|
||||
sleep 1
|
||||
# These are the DPDK bindings for C/U-planes on vlan 1
|
||||
sudo /usr/local/bin/dpdk-devbind.py --unbind c3:11.0
|
||||
sudo /usr/local/bin/dpdk-devbind.py --unbind c3:11.1
|
||||
sudo modprobe vfio-pci
|
||||
sudo /usr/local/bin/dpdk-devbind.py --bind vfio-pci c3:11.0
|
||||
sudo /usr/local/bin/dpdk-devbind.py --bind vfio-pci c3:11.1
|
||||
exit 0
|
||||
@@ -105,11 +105,7 @@ add_definitions("-DFIRMWARE_VERSION=\"${FIRMWARE_VERSION}\"")
|
||||
##########################
|
||||
# NAS LAYER OPTIONS
|
||||
##########################
|
||||
add_boolean_option(ENABLE_NAS_UE_LOGGING True "????")
|
||||
add_boolean_option(NAS_BUILT_IN_EPC False "MME NAS layer not present in this executable")
|
||||
add_boolean_option(NAS_BUILT_IN_UE False "UE NAS layer present in this executable")
|
||||
add_boolean_option(NAS_UE True "NAS UE INSTANCE (<> NAS_MME)")
|
||||
add_boolean_option(NAS_MME False "NAS_UE and NAS_MME are incompatible options")
|
||||
|
||||
################################################################################
|
||||
# SECU LIB
|
||||
|
||||
@@ -318,7 +318,8 @@
|
||||
(Test25: Format 2 11-bit 2/273 PRB),
|
||||
(Test26: Format 2 12-bit 8/273 PRB),
|
||||
(Test27: Format 2 19-bit 8/273 PRB),
|
||||
(Test28: Format 2 64-bit 16/273 PRB)</desc>
|
||||
(Test28: Format 2 64-bit 16/273 PRB),
|
||||
(Test29: Format 2 64-bit 16/273 PRB Delay 2us)</desc>
|
||||
<main_exec>nr_pucchsim</main_exec>
|
||||
<main_exec_args>-R 106 -i 1 -P 0 -b 1 -s-2 -n1000
|
||||
-R 106 -i 1 -P 0 -b 2 -s-2 -n1000
|
||||
@@ -347,8 +348,9 @@
|
||||
-R 273 -z8 -i 1 -P 2 -b 11 -s6 -n1000
|
||||
-R 273 -z8 -i 1 -P 2 -q8 -b 12 -s-3 -n1000
|
||||
-R 273 -z8 -i 1 -P 2 -q8 -b 19 -s-3 -n1000
|
||||
-R 273 -z8 -i 1 -P 2 -q16 -b 64 -s-3 -n1000</main_exec_args>
|
||||
<tags>test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 test20 test21 test22 test23 test24 test25 test26 test27 test28</tags>
|
||||
-R 273 -z8 -i 1 -P 2 -q16 -b 64 -s-3 -n1000
|
||||
-R 273 -z8 -i 1 -P 2 -q16 -b 64 -s-3 -d 2 -n1000</main_exec_args>
|
||||
<tags>test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 test20 test21 test22 test23 test24 test25 test26 test27 test28 test29</tags>
|
||||
<search_expr_true>PUCCH test OK</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
|
||||
@@ -46,7 +46,7 @@ BUILD_DOXYGEN=0
|
||||
DISABLE_HARDWARE_DEPENDENCY="False"
|
||||
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||
CMAKE_CMD="$CMAKE"
|
||||
OPTIONAL_LIBRARIES="telnetsrv enbscope uescope nrscope ldpc_cuda ldpc_t2 websrv oai_iqplayer imscope"
|
||||
OPTIONAL_LIBRARIES="telnetsrv enbscope uescope nrscope ldpc_cuda ldpc_t2 ldpc_xdma websrv oai_iqplayer imscope"
|
||||
TARGET_LIST=""
|
||||
BUILD_TOOL_OPT="-j$(nproc)"
|
||||
|
||||
|
||||
@@ -83,12 +83,15 @@ find_path(xran_INCLUDE_DIR
|
||||
xran_pkt.h
|
||||
xran_pkt_up.h
|
||||
xran_sync_api.h
|
||||
PATHS ${xran_LOCATION}
|
||||
PATH_SUFFIXES api
|
||||
HINTS ${xran_LOCATION}
|
||||
PATH_SUFFIXES api include
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
find_library(xran_LIBRARY
|
||||
NAMES xran
|
||||
PATHS ${xran_LOCATION}/build
|
||||
HINTS ${xran_LOCATION}
|
||||
PATH_SUFFIXES build api
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if (NOT xran_LIBRARY)
|
||||
message(FATAL_ERROR "could not detect xran build artifacts at ${xran_LOCATION}/build")
|
||||
|
||||
@@ -131,6 +131,7 @@ check_supported_distribution() {
|
||||
"rocky9.2") return 0 ;;
|
||||
"rocky9.3") return 0 ;;
|
||||
"rocky9.4") return 0 ;;
|
||||
"rocky9.5") return 0 ;;
|
||||
esac
|
||||
return 1
|
||||
}
|
||||
@@ -225,7 +226,7 @@ compilations() {
|
||||
ret=$?
|
||||
} > $dlog/$logfile 2>&1
|
||||
# Print the errors and warnings for CI purposes
|
||||
grep -E -A3 "warning:|error:" $dlog/$logfile || true
|
||||
grep -E -A5 -B5 "warning:|error:| Error " $dlog/$logfile || true
|
||||
check_warnings "$dlog/$logfile"
|
||||
if [[ $ret -eq 0 ]]; then
|
||||
echo_success "$targets compiled"
|
||||
|
||||
@@ -3,7 +3,7 @@ add_subdirectory(config/yaml)
|
||||
|
||||
configure_file(oai_version.h.in oai_version.h @ONLY)
|
||||
|
||||
add_library(instrumentation INTERFACE instrumentation.h)
|
||||
add_library(instrumentation INTERFACE)
|
||||
target_include_directories(instrumentation INTERFACE .)
|
||||
if (TRACY_ENABLE)
|
||||
target_link_libraries(instrumentation INTERFACE Tracy::TracyClient)
|
||||
|
||||
@@ -108,6 +108,7 @@ void *config_allocate_new(configmodule_interface_t *cfg, int sz, bool autoFree)
|
||||
// add the memory piece in the managed memory pieces list
|
||||
pthread_mutex_lock(&cfg->memBlocks_mutex);
|
||||
int newBlockIdx=cfg->numptrs++;
|
||||
AssertFatal(newBlockIdx < sizeofArray(cfg->oneBlock), "reached maximum number of dynamically allocatable blocks\n");
|
||||
oneBlock_t* tmp=&cfg->oneBlock[newBlockIdx];
|
||||
tmp->ptrs = (char *)ptr;
|
||||
tmp->ptrsAllocated = true;
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
#include "common/config/config_paramdesc.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#define CONFIG_MAX_OOPT_PARAMS 10 // maximum number of parameters in the -O option (-O <cfgmode>:P1:P2...
|
||||
#define CONFIG_MAX_ALLOCATEDPTRS 2048 // maximum number of parameters that can be dynamicaly allocated in the config module
|
||||
#define CONFIG_MAX_ALLOCATEDPTRS 32768 // maximum number of parameters that can be dynamicaly allocated in the config module
|
||||
|
||||
/* default values for configuration module parameters */
|
||||
#define CONFIG_LIBCONFIGFILE "libconfig" // use libconfig file
|
||||
|
||||
@@ -32,7 +32,9 @@
|
||||
|
||||
#ifndef __RAN_CONTEXT_H__
|
||||
#define __RAN_CONTEXT_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <pthread.h>
|
||||
#include <stdint.h>
|
||||
|
||||
@@ -111,6 +113,8 @@ typedef struct {
|
||||
} RAN_CONTEXT_t;
|
||||
|
||||
extern RAN_CONTEXT_t RC;
|
||||
|
||||
#define NB_eNB_INST RC.nb_inst
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -228,6 +228,10 @@ It can also be retrieved when using the telnet server, as explained [below](###
|
||||
| `<flag>_debug` | `boolean` | 0 = false | Triggers the activation of conditional code identified by the specified flag.
|
||||
| `<flag>_dump` | `boolean` | 0 = false| Triggers buffer dump, on the console in text form or in a file in matlab format, depending on the developper choice and forcasted usage|
|
||||
|
||||
Example: dump all ASN.1 structures during operation with
|
||||
`--log_config.ASN1_debug`. To get a list of all flag/dump options, provide an
|
||||
invalid flag, e.g. `--log_config.HELP_debug`.
|
||||
|
||||
### Using the configuration file to configure the logging facility
|
||||
The following example sets all components log level to info, exept for hw,phy,mac,rlc,pdcp,rrc which log levels are set to error or warning.
|
||||
```bash
|
||||
|
||||
@@ -120,28 +120,6 @@ mapping * log_option_names_ptr(void)
|
||||
return log_options;
|
||||
}
|
||||
|
||||
static mapping log_maskmap[] = {{"PRACH", DEBUG_PRACH},
|
||||
{"RU", DEBUG_RU},
|
||||
{"UE_PHYPROC", DEBUG_UE_PHYPROC},
|
||||
{"LTEESTIM", DEBUG_LTEESTIM},
|
||||
{"DLCELLSPEC", DEBUG_DLCELLSPEC},
|
||||
{"ULSCH", DEBUG_ULSCH},
|
||||
{"RRC", DEBUG_RRC},
|
||||
{"PDCP", DEBUG_PDCP},
|
||||
{"DFT", DEBUG_DFT},
|
||||
{"ASN1", DEBUG_ASN1},
|
||||
{"CTRLSOCKET", DEBUG_CTRLSOCKET},
|
||||
{"SECURITY", DEBUG_SECURITY},
|
||||
{"NAS", DEBUG_NAS},
|
||||
{"RLC", DEBUG_RLC},
|
||||
{"DLSCH_DECOD", DEBUG_DLSCH_DECOD},
|
||||
{"UE_TIMING", UE_TIMING},
|
||||
{NULL, -1}};
|
||||
mapping * log_maskmap_ptr(void)
|
||||
{
|
||||
return log_maskmap;
|
||||
}
|
||||
|
||||
/* .log_format = 0x13 uncolored standard messages
|
||||
* .log_format = 0x93 colored standard messages */
|
||||
/* keep white space in first position; switching it to 0 allows colors to be disabled*/
|
||||
@@ -327,6 +305,9 @@ int write_file_matlab(const char *fname, const char *vname, void *data, int leng
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define FLAG_SETDEBUG(flag) g_log->debug_mask.DEBUG_##flag = *logparams_debug[i++].uptr;
|
||||
#define FLAG_SETDUMP(flag) g_log->dump_mask.DEBUG_##flag = *logparams_dump[i++].uptr;
|
||||
|
||||
/* get log parameters from configuration file */
|
||||
void log_getconfig(log_t *g_log)
|
||||
{
|
||||
@@ -335,8 +316,6 @@ void log_getconfig(log_t *g_log)
|
||||
paramdef_t logparams_defaults[] = LOG_GLOBALPARAMS_DESC;
|
||||
paramdef_t logparams_level[MAX_LOG_PREDEF_COMPONENTS];
|
||||
paramdef_t logparams_logfile[MAX_LOG_PREDEF_COMPONENTS];
|
||||
paramdef_t logparams_debug[sizeofArray(log_maskmap)];
|
||||
paramdef_t logparams_dump[sizeofArray(log_maskmap)];
|
||||
int ret = config_get(config_get_if(), logparams_defaults, sizeofArray(logparams_defaults), CONFIG_STRING_LOG_PREFIX);
|
||||
|
||||
if (ret <0) {
|
||||
@@ -404,37 +383,45 @@ void log_getconfig(log_t *g_log)
|
||||
}
|
||||
|
||||
/* build then read the debug and dump parameter array */
|
||||
for (int i=0; log_maskmap[i].name != NULL ; i++) {
|
||||
sprintf(logparams_debug[i].optname, LOG_CONFIG_DEBUG_FORMAT, log_maskmap[i].name);
|
||||
sprintf(logparams_dump[i].optname, LOG_CONFIG_DUMP_FORMAT, log_maskmap[i].name);
|
||||
logparams_debug[i].defuintval = 0;
|
||||
logparams_debug[i].type = TYPE_UINT;
|
||||
logparams_debug[i].paramflags = PARAMFLAG_BOOL;
|
||||
logparams_debug[i].uptr = NULL;
|
||||
logparams_debug[i].chkPptr = NULL;
|
||||
logparams_debug[i].numelt = 0;
|
||||
logparams_dump[i].defuintval = 0;
|
||||
logparams_dump[i].type = TYPE_UINT;
|
||||
logparams_dump[i].paramflags = PARAMFLAG_BOOL;
|
||||
logparams_dump[i].uptr = NULL;
|
||||
logparams_dump[i].chkPptr = NULL;
|
||||
logparams_dump[i].numelt = 0;
|
||||
int sz = 0;
|
||||
for (const char *const *ptr = flag_name; strlen(*ptr) > 1; ptr++)
|
||||
sz++;
|
||||
paramdef_t logparams_debug[sz];
|
||||
paramdef_t logparams_dump[sz];
|
||||
for (int i = 0; i < sz; i++) {
|
||||
logparams_debug[i] = (paramdef_t){
|
||||
.type = TYPE_UINT,
|
||||
.paramflags = PARAMFLAG_BOOL,
|
||||
};
|
||||
sprintf(logparams_debug[i].optname, LOG_CONFIG_DEBUG_FORMAT, flag_name[i]);
|
||||
logparams_dump[i] = (paramdef_t){.type = TYPE_UINT, .paramflags = PARAMFLAG_BOOL};
|
||||
sprintf(logparams_dump[i].optname, LOG_CONFIG_DUMP_FORMAT, flag_name[i]);
|
||||
}
|
||||
|
||||
config_get(config_get_if(), logparams_debug, sizeofArray(log_maskmap) - 1, CONFIG_STRING_LOG_PREFIX);
|
||||
config_get(config_get_if(), logparams_dump, sizeofArray(log_maskmap) - 1, CONFIG_STRING_LOG_PREFIX);
|
||||
config_get(config_get_if(), logparams_debug, sz, CONFIG_STRING_LOG_PREFIX);
|
||||
config_get(config_get_if(), logparams_dump, sz, CONFIG_STRING_LOG_PREFIX);
|
||||
|
||||
if (config_check_unknown_cmdlineopt(config_get_if(), CONFIG_STRING_LOG_PREFIX) > 0)
|
||||
bool old = CONFIG_ISFLAGSET(CONFIG_NOABORTONCHKF);
|
||||
CONFIG_SETRTFLAG(CONFIG_NOABORTONCHKF);
|
||||
if (config_check_unknown_cmdlineopt(config_get_if(), CONFIG_STRING_LOG_PREFIX) > 0) {
|
||||
printf("Existing log_config options:\n");
|
||||
printf(" Boolean options:\n");
|
||||
for (int i = 0; i < sz; i++)
|
||||
printf(" %s, \t%s\n", logparams_debug[i].optname, logparams_dump[i].optname);
|
||||
printf(" Log level per module (");
|
||||
for (int i = 0; log_level_names[i].name != NULL; i++)
|
||||
printf("%s ", log_level_names[i].name);
|
||||
printf(")\n");
|
||||
for (int i = 0; i < MAX_LOG_PREDEF_COMPONENTS; i++)
|
||||
printf(" %s\n", logparams_level[i].optname);
|
||||
exit(1);
|
||||
|
||||
/* set the debug mask according to the debug parameters values */
|
||||
for (int i=0; log_maskmap[i].name != NULL ; i++) {
|
||||
if (*(logparams_debug[i].uptr) )
|
||||
g_log->debug_mask = g_log->debug_mask | log_maskmap[i].value;
|
||||
|
||||
if (*(logparams_dump[i].uptr) )
|
||||
g_log->dump_mask = g_log->dump_mask | log_maskmap[i].value;
|
||||
}
|
||||
if (!old)
|
||||
CONFIG_CLEARRTFLAG(CONFIG_NOABORTONCHKF);
|
||||
int i = 0;
|
||||
FOREACH_FLAG(FLAG_SETDEBUG);
|
||||
i = 0;
|
||||
FOREACH_FLAG(FLAG_SETDUMP);
|
||||
|
||||
/* log globally enabled/disabled */
|
||||
set_glog_onlinelog(consolelog);
|
||||
@@ -651,6 +638,10 @@ void log_dump(int component,
|
||||
wbuf=malloc((buffsize * 10) + 64 + MAX_LOG_TOTAL);
|
||||
break;
|
||||
|
||||
case LOG_DUMP_C16:
|
||||
wbuf = malloc((buffsize * 10) + 64 + MAX_LOG_TOTAL);
|
||||
break;
|
||||
|
||||
case LOG_DUMP_CHAR:
|
||||
default:
|
||||
wbuf=malloc((buffsize * 3 ) + 64 + MAX_LOG_TOTAL);
|
||||
@@ -669,6 +660,21 @@ void log_dump(int component,
|
||||
pos = pos + sprintf(wbuf+pos,"%04.4lf ", (double)((double *)buffer)[i]);
|
||||
break;
|
||||
|
||||
case LOG_DUMP_I16: {
|
||||
int16_t *tmp = ((int16_t *)buffer) + i;
|
||||
pos = pos + sprintf(wbuf + pos, "%d, ", *tmp);
|
||||
} break;
|
||||
|
||||
case LOG_DUMP_C16: {
|
||||
int16_t *tmp = ((int16_t *)buffer) + i * 2;
|
||||
pos = pos + sprintf(wbuf + pos, "(%d,%d), ", *tmp, *(tmp + 1));
|
||||
} break;
|
||||
|
||||
case LOG_DUMP_C32: {
|
||||
int32_t *tmp = ((int32_t *)buffer) + i * 2;
|
||||
pos = pos + sprintf(wbuf + pos, "(%d,%d), ", *tmp, *(tmp + 1));
|
||||
} break;
|
||||
|
||||
case LOG_DUMP_CHAR:
|
||||
default:
|
||||
pos = pos + sprintf(wbuf+pos,"%02x ", (unsigned char)((unsigned char *)buffer)[i]);
|
||||
|
||||
@@ -88,7 +88,7 @@ extern "C" {
|
||||
#define NUM_LOG_LEVEL 6 /*!< \brief the number of message levels users have with LOG (OAILOG_DISABLE is not available to user as a level, so it is not included)*/
|
||||
/** @}*/
|
||||
|
||||
#define SET_LOG_OPTION(O) g_log->flag = (g_log->flag | O)
|
||||
#define SET_LOG_OPTION(O) g_log->flag = (g_log->flag | O)
|
||||
#define CLEAR_LOG_OPTION(O) g_log->flag = (g_log->flag & (~O))
|
||||
|
||||
/** @defgroup macros to identify a debug entity
|
||||
@@ -99,28 +99,37 @@ extern "C" {
|
||||
* server.
|
||||
* @brief
|
||||
* @{*/
|
||||
#define DEBUG_PRACH (1<<0)
|
||||
#define DEBUG_RU (1<<1)
|
||||
#define DEBUG_UE_PHYPROC (1<<2)
|
||||
#define DEBUG_LTEESTIM (1<<3)
|
||||
#define DEBUG_DLCELLSPEC (1<<4)
|
||||
#define DEBUG_ULSCH (1<<5)
|
||||
#define DEBUG_RRC (1<<6)
|
||||
#define DEBUG_PDCP (1<<7)
|
||||
#define DEBUG_DFT (1<<8)
|
||||
#define DEBUG_ASN1 (1<<9)
|
||||
#define DEBUG_CTRLSOCKET (1<<10)
|
||||
#define DEBUG_SECURITY (1<<11)
|
||||
#define DEBUG_NAS (1<<12)
|
||||
#define DEBUG_RLC (1<<13)
|
||||
#define DEBUG_DLSCH_DECOD (1<<14)
|
||||
#define UE_TIMING (1<<20)
|
||||
|
||||
#define SET_LOG_DEBUG(B) g_log->debug_mask = (g_log->debug_mask | B)
|
||||
#define CLEAR_LOG_DEBUG(B) g_log->debug_mask = (g_log->debug_mask & (~B))
|
||||
#define FOREACH_FLAG(FLAG_DEF) \
|
||||
FLAG_DEF(PRACH) \
|
||||
FLAG_DEF(UE_PHYPROC) \
|
||||
FLAG_DEF(LTEESTIM) \
|
||||
FLAG_DEF(DLCELLSPEC) \
|
||||
FLAG_DEF(ULSCH) \
|
||||
FLAG_DEF(RRC) \
|
||||
FLAG_DEF(PDCP) \
|
||||
FLAG_DEF(DFT) \
|
||||
FLAG_DEF(ASN1) \
|
||||
FLAG_DEF(CTRLSOCKET) \
|
||||
FLAG_DEF(SECURITY) \
|
||||
FLAG_DEF(NAS) \
|
||||
FLAG_DEF(DLSCH_DECOD) \
|
||||
FLAG_DEF(UE_TIMING) \
|
||||
FLAG_DEF(F1AP)
|
||||
|
||||
#define SET_LOG_DUMP(B) g_log->dump_mask = (g_log->dump_mask | B)
|
||||
#define CLEAR_LOG_DUMP(B) g_log->dump_mask = (g_log->dump_mask & (~B))
|
||||
#define FLAG_BITF(flag) uint64_t DEBUG_##flag: 1;
|
||||
typedef struct {
|
||||
FOREACH_FLAG(FLAG_BITF)
|
||||
} debug_flags_t;
|
||||
|
||||
#define FLAG_TEXT(flag) #flag,
|
||||
static const char *const flag_name[] = {FOREACH_FLAG(FLAG_TEXT) ""};
|
||||
|
||||
#define SET_LOG_DEBUG(B) g_log->debug_mask.B = true
|
||||
#define CLEAR_LOG_DEBUG(B) g_log->debug_mask.B = false
|
||||
|
||||
#define SET_LOG_DUMP(B) g_log->dump_mask.B = true
|
||||
#define CLEAR_LOG_DUMP(B) g_log->dump_mask.B = false
|
||||
|
||||
#define FOREACH_COMP(COMP_DEF) \
|
||||
COMP_DEF(PHY, log) \
|
||||
@@ -215,8 +224,8 @@ typedef struct {
|
||||
char level2string[NUM_LOG_LEVEL];
|
||||
int flag;
|
||||
char *filelog_name;
|
||||
uint64_t debug_mask;
|
||||
uint64_t dump_mask;
|
||||
debug_flags_t debug_mask;
|
||||
debug_flags_t dump_mask;
|
||||
} log_t;
|
||||
|
||||
#ifdef LOG_MAIN
|
||||
@@ -230,7 +239,28 @@ extern "C" {
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define FLAG_DEBUG_SET(flag) \
|
||||
if (strcmp(name, #flag) == 0) { \
|
||||
g_log->debug_mask.DEBUG_##flag = val; \
|
||||
return true; \
|
||||
};
|
||||
static inline bool set_log_debug(char *name, bool val)
|
||||
{
|
||||
FOREACH_FLAG(FLAG_DEBUG_SET);
|
||||
printf("Error: setting log debug of %s option, not existing\n", name);
|
||||
return false;
|
||||
}
|
||||
#define FLAG_DUMP_SET(flag) \
|
||||
if (strcmp(name, #flag) == 0) { \
|
||||
g_log->dump_mask.DEBUG_##flag = val; \
|
||||
return true; \
|
||||
};
|
||||
static inline bool set_log_dump(char *name, bool val)
|
||||
{
|
||||
FOREACH_FLAG(FLAG_DUMP_SET);
|
||||
printf("Error: setting log dump of %s option, not existing\n", name);
|
||||
return false;
|
||||
}
|
||||
/*----------------------------------------------------------------------------*/
|
||||
int logInit (void);
|
||||
void logTerm (void);
|
||||
@@ -335,6 +365,9 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int
|
||||
* @{*/
|
||||
#define LOG_DUMP_CHAR 0
|
||||
#define LOG_DUMP_DOUBLE 1
|
||||
#define LOG_DUMP_I16 2
|
||||
#define LOG_DUMP_C16 3
|
||||
#define LOG_DUMP_C32 4
|
||||
// debugging macros
|
||||
#define LOG_F LOG_I /* because LOG_F was originaly to dump a message or buffer but is also used as a regular level...., to dump use LOG_DUMPMSG */
|
||||
|
||||
@@ -415,15 +448,15 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int
|
||||
/* macro used to dump a buffer or a message as in openair2/RRC/LTE/RRC_eNB.c, replaces LOG_F macro */
|
||||
#define LOG_DUMPMSG(c, f, b, s, x...) \
|
||||
do { \
|
||||
if (g_log->dump_mask & f) \
|
||||
if (g_log->dump_mask.f) \
|
||||
log_dump(c, b, s, LOG_DUMP_CHAR, x); \
|
||||
} while (0)
|
||||
|
||||
/* bitmask dependent macros, to isolate debugging code */
|
||||
#define LOG_DEBUGFLAG(D) (g_log->debug_mask & D)
|
||||
#define LOG_DEBUGFLAG(D) (g_log->debug_mask.D)
|
||||
|
||||
/* bitmask dependent macros, to generate debug file such as matlab file or message dump */
|
||||
#define LOG_DUMPFLAG(D) (g_log->dump_mask & D)
|
||||
#define LOG_DUMPFLAG(D) (g_log->dump_mask.D)
|
||||
|
||||
#define LOG_M(file, vector, data, len, dec, format) \
|
||||
do { \
|
||||
@@ -526,11 +559,11 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int
|
||||
} while (0)
|
||||
|
||||
#define nfapi_log(FILE, FNC, LN, COMP, LVL, FMT...)
|
||||
#define LOG_DEBUGFLAG(D) (g_log->debug_mask & D)
|
||||
#define LOG_DUMPFLAG(D) (g_log->dump_mask & D)
|
||||
#define LOG_DEBUGFLAG(D) (g_log->debug_mask.D)
|
||||
#define LOG_DUMPFLAG(D) (g_log->dump_mask.D)
|
||||
#define LOG_DUMPMSG(c, f, b, s, x...) \
|
||||
do { \
|
||||
if (g_log->dump_mask & f) \
|
||||
if (g_log->dump_mask.f) \
|
||||
log_dump(c, b, s, LOG_DUMP_CHAR, x); \
|
||||
} while (0) /* */
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user