Merge remote-tracking branch 'origin/develop' into ci-adding-back-lte-if4-5-tests
--> fixing conflict in ci-scripts/cls_containerize.py
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
[submodule "openair2/E2AP/flexric"]
|
||||||
|
path = openair2/E2AP/flexric
|
||||||
|
url = https://gitlab.eurecom.fr/mosaic5g/flexric.git
|
||||||
|
branch = remotes/origin/mir_dev
|
||||||
+95
-301
@@ -37,15 +37,6 @@ include("cmake_targets/macros.cmake")
|
|||||||
###################################
|
###################################
|
||||||
include(FindPkgConfig)
|
include(FindPkgConfig)
|
||||||
|
|
||||||
pkg_search_module(OPENSSL openssl REQUIRED)
|
|
||||||
include_directories(${OPENSSL_INCLUDE_DIRS})
|
|
||||||
|
|
||||||
pkg_search_module(CONFIG libconfig REQUIRED)
|
|
||||||
include_directories(${CONFIG_INCLUDE_DIRS})
|
|
||||||
|
|
||||||
pkg_search_module(CRYPTO libcrypto REQUIRED)
|
|
||||||
include_directories(${CRYPTO_INCLUDE_DIRS})
|
|
||||||
|
|
||||||
# Check if asn1c is installed, and check if it supports all options we need
|
# Check if asn1c is installed, and check if it supports all options we need
|
||||||
# a user can provide ASN1C_EXEC to override an asn1c to use (e.g., parallel
|
# a user can provide ASN1C_EXEC to override an asn1c to use (e.g., parallel
|
||||||
# installation)
|
# installation)
|
||||||
@@ -64,80 +55,6 @@ check_option(${ASN1C_EXEC} -no-gen-JER ASN1C_EXEC)
|
|||||||
check_option(${ASN1C_EXEC} -no-gen-BER ASN1C_EXEC)
|
check_option(${ASN1C_EXEC} -no-gen-BER ASN1C_EXEC)
|
||||||
check_option(${ASN1C_EXEC} -no-gen-OER ASN1C_EXEC)
|
check_option(${ASN1C_EXEC} -no-gen-OER ASN1C_EXEC)
|
||||||
|
|
||||||
#uhd 4.0 and iris installs by default in /usr/local
|
|
||||||
include_directories("/usr/local/include/")
|
|
||||||
#use native cmake method as this package is not in pkg-config
|
|
||||||
add_list2_option(RF_BOARD "None" "RF head type" "None" "OAI_USRP" "OAI_BLADERF" "OAI_LMSSDR" "OAI_SIMU")
|
|
||||||
if (${RF_BOARD} STREQUAL "OAI_USRP")
|
|
||||||
find_package(Boost REQUIRED)
|
|
||||||
|
|
||||||
elseif (${RF_BOARD} STREQUAL "OAI_IRIS")
|
|
||||||
include_directories("radio/IRIS/USERSPACE/LIB/")
|
|
||||||
|
|
||||||
set(HW_SOURCE ${HW_SOURCE}
|
|
||||||
radio/IRIS/USERSPACE/LIB/iris_lib.cpp)
|
|
||||||
LINK_DIRECTORIES("/usr/local/lib")
|
|
||||||
set(option_HW_lib "-lSoapySDR -rdynamic -ldl")
|
|
||||||
|
|
||||||
elseif (${RF_BOARD} STREQUAL "OAI_AW2SORI")
|
|
||||||
include_directories("radio/AW2SORI")
|
|
||||||
set(HW_SOURCE ${HW_SOURCE}
|
|
||||||
${OPENAIR_DIR}/radio/AW2SORI/ARCH/AW2SORI/oaiori.c)
|
|
||||||
LINK_DIRECTORIES("/usr/local/lib")
|
|
||||||
set(openair_HW_lib "-shared -fPIC -msse4 -g -ggdb -lori")
|
|
||||||
|
|
||||||
endif (${RF_BOARD} STREQUAL "OAI_USRP")
|
|
||||||
|
|
||||||
pkg_search_module(OPENPGM openpgm-5.1 openpgm-5.2)
|
|
||||||
if(NOT ${OPENPGM_FOUND})
|
|
||||||
message("PACKAGE openpgm-5.1 is required by binaries such as oaisim: will fail later if this target is built")
|
|
||||||
else()
|
|
||||||
include_directories(${OPENPGM_INCLUDE_DIRS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
pkg_search_module(XPM xpm)
|
|
||||||
if(NOT ${XPM_FOUND})
|
|
||||||
message("PACKAGE xpm not found: some targets will fail")
|
|
||||||
else()
|
|
||||||
include_directories(${XPM_INCLUDE_DIRS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Atlas is required by some packages, but not found in pkg-config
|
|
||||||
# So, here are some hacks here. Hope this gets fixed in future!
|
|
||||||
if(EXISTS "/usr/include/atlas/cblas.h" OR EXISTS "/usr/include/cblas.h")
|
|
||||||
include_directories("/usr/include/atlas")
|
|
||||||
LINK_DIRECTORIES("/usr/lib/lapack")
|
|
||||||
LINK_DIRECTORIES("/usr/lib64")
|
|
||||||
LINK_DIRECTORIES("/usr/lib64/atlas") #Added because atlas libraries in CentOS 7 are here!
|
|
||||||
|
|
||||||
if(EXISTS "/usr/lib64/libblas.so" OR EXISTS "/usr/lib/libblas.so") #Case for CentOS7
|
|
||||||
list(APPEND ATLAS_LIBRARIES blas)
|
|
||||||
|
|
||||||
else() # Case for Ubuntu
|
|
||||||
list(APPEND ATLAS_LIBRARIES cblas)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(EXISTS "/usr/lib/atlas/libtatlas.so" OR EXISTS "/usr/lib64/atlas/libtatlas.so") #Case for CentOS7
|
|
||||||
list(APPEND ATLAS_LIBRARIES tatlas)
|
|
||||||
else()
|
|
||||||
list(APPEND ATLAS_LIBRARIES atlas) #Case for Ubuntu
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND ATLAS_LIBRARIES lapack)
|
|
||||||
|
|
||||||
# for ubuntu 17.10, directories are different
|
|
||||||
elseif(EXISTS "/usr/include/x86_64-linux-gnu/cblas.h")
|
|
||||||
|
|
||||||
include_directories("/usr/include/x86_64-linux-gnu")
|
|
||||||
LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu")
|
|
||||||
list(APPEND ATLAS_LIBRARIES cblas)
|
|
||||||
list(APPEND ATLAS_LIBRARIES atlas)
|
|
||||||
list(APPEND ATLAS_LIBRARIES lapack)
|
|
||||||
|
|
||||||
else()
|
|
||||||
message("No Blas/Atlas libs found, some targets will fail")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Base directories, compatible with legacy OAI building #
|
# Base directories, compatible with legacy OAI building #
|
||||||
#########################################################
|
#########################################################
|
||||||
@@ -328,6 +245,12 @@ endif()
|
|||||||
# asn1c skeletons need this
|
# asn1c skeletons need this
|
||||||
add_definitions(-DHAVE_NETINET_IN_H)
|
add_definitions(-DHAVE_NETINET_IN_H)
|
||||||
|
|
||||||
|
#########################
|
||||||
|
##### E2 AGENT
|
||||||
|
#########################
|
||||||
|
set(E2_AGENT "OFF" CACHE STRING "O-RAN-compliant E2 Agent")
|
||||||
|
set_property(CACHE E2_AGENT PROPERTY STRINGS "ON" "OFF")
|
||||||
|
|
||||||
##################################################
|
##################################################
|
||||||
# ASN.1 grammar C code generation & dependencies #
|
# ASN.1 grammar C code generation & dependencies #
|
||||||
##################################################
|
##################################################
|
||||||
@@ -347,6 +270,9 @@ add_library(nr_rrc ${OPENAIR2_DIR}/RRC/NR/MESSAGES/asn1_msg.c)
|
|||||||
target_link_libraries(nr_rrc PUBLIC asn1_nr_rrc asn1_lte_rrc)
|
target_link_libraries(nr_rrc PUBLIC asn1_nr_rrc asn1_lte_rrc)
|
||||||
|
|
||||||
|
|
||||||
|
# S1AP and NGAP need crypt library
|
||||||
|
pkg_check_modules(libcrypt REQUIRED libcrypt)
|
||||||
|
|
||||||
# S1AP
|
# S1AP
|
||||||
##############
|
##############
|
||||||
set(S1AP_DIR ${OPENAIR3_DIR}/S1AP)
|
set(S1AP_DIR ${OPENAIR3_DIR}/S1AP)
|
||||||
@@ -368,6 +294,8 @@ add_library(s1ap
|
|||||||
)
|
)
|
||||||
target_link_libraries(s1ap PUBLIC asn1_s1ap)
|
target_link_libraries(s1ap PUBLIC asn1_s1ap)
|
||||||
target_link_libraries(s1ap PRIVATE nr_rrc asn1_nr_rrc_hdrs lte_rrc)
|
target_link_libraries(s1ap PRIVATE nr_rrc asn1_nr_rrc_hdrs lte_rrc)
|
||||||
|
target_include_directories(s1ap PRIVATE ${libcrypt_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(s1ap PUBLIC ${libcrypt_LIBRARIES})
|
||||||
|
|
||||||
# NGAP
|
# NGAP
|
||||||
##############
|
##############
|
||||||
@@ -389,6 +317,8 @@ add_library(ngap
|
|||||||
)
|
)
|
||||||
target_link_libraries(ngap PUBLIC asn1_ngap)
|
target_link_libraries(ngap PUBLIC asn1_ngap)
|
||||||
target_link_libraries(ngap PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
target_link_libraries(ngap PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
||||||
|
target_include_directories(ngap PRIVATE ${libcrypt_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(ngap PRIVATE ${libcrypt_LIBRARIES})
|
||||||
|
|
||||||
#M2AP
|
#M2AP
|
||||||
##############
|
##############
|
||||||
@@ -493,114 +423,24 @@ target_link_libraries(f1ap PRIVATE ngap nr_rrc)
|
|||||||
add_list1_option(NB_ANTENNAS_RX "4" "Number of antennas in reception" "1" "2" "4")
|
add_list1_option(NB_ANTENNAS_RX "4" "Number of antennas in reception" "1" "2" "4")
|
||||||
add_list1_option(NB_ANTENNAS_TX "4" "Number of antennas in transmission" "1" "2" "4")
|
add_list1_option(NB_ANTENNAS_TX "4" "Number of antennas in transmission" "1" "2" "4")
|
||||||
|
|
||||||
#NOKIA config enhancement
|
|
||||||
set (CONFIG_ROOTDIR ${OPENAIR_DIR}/common/config)
|
set (CONFIG_ROOTDIR ${OPENAIR_DIR}/common/config)
|
||||||
add_library(CONFIG_LIB
|
add_library(CONFIG_LIB
|
||||||
${CONFIG_ROOTDIR}/config_load_configmodule.c
|
${CONFIG_ROOTDIR}/config_load_configmodule.c
|
||||||
${CONFIG_ROOTDIR}/config_userapi.c
|
${CONFIG_ROOTDIR}/config_userapi.c
|
||||||
${CONFIG_ROOTDIR}/config_cmdline.c
|
${CONFIG_ROOTDIR}/config_cmdline.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# CONFIG_LIB is a wrapper around a particular config implementation, default is
|
||||||
|
# libconfig in params_libconfig below
|
||||||
|
pkg_check_modules(libconfig REQUIRED libconfig)
|
||||||
target_link_libraries(CONFIG_LIB PRIVATE dl UTIL)
|
target_link_libraries(CONFIG_LIB PRIVATE dl UTIL)
|
||||||
add_library(params_libconfig MODULE ${CONFIG_ROOTDIR}/libconfig/config_libconfig.c)
|
add_library(params_libconfig MODULE ${CONFIG_ROOTDIR}/libconfig/config_libconfig.c)
|
||||||
target_link_libraries(params_libconfig config)
|
target_include_directories(params_libconfig PRIVATE ${libconfig_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(params_libconfig PRIVATE ${libconfig_LIBRARIES})
|
||||||
|
|
||||||
# shared library loader
|
# shared library loader
|
||||||
set (SHLIB_LOADER_SOURCES
|
add_library(shlib_loader OBJECT common/utils/load_module_shlib.c)
|
||||||
${OPENAIR_DIR}/common/utils/load_module_shlib.c
|
target_link_libraries(shlib_loader PRIVATE CONFIG_LIB)
|
||||||
)
|
|
||||||
# include RF devices / transport protocols library modules
|
|
||||||
######################################################################
|
|
||||||
|
|
||||||
set(HWLIB_USRP_SOURCE
|
|
||||||
${OPENAIR_DIR}/radio/USRP/USERSPACE/LIB/usrp_lib.cpp
|
|
||||||
)
|
|
||||||
add_library(oai_usrpdevif MODULE ${HWLIB_USRP_SOURCE} )
|
|
||||||
target_include_directories(oai_usrpdevif PRIVATE
|
|
||||||
"${OPENAIR_DIR}/radio/USRP/USERSPACE/LIB/"
|
|
||||||
${Boost_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
target_link_libraries(oai_usrpdevif uhd)
|
|
||||||
|
|
||||||
include_directories("${OPENAIR_DIR}/radio/BLADERF/USERSPACE/LIB/")
|
|
||||||
set(HWLIB_BLADERF_SOURCE
|
|
||||||
${OPENAIR_DIR}/radio/BLADERF/USERSPACE/LIB/bladerf_lib.c
|
|
||||||
)
|
|
||||||
add_library(oai_bladerfdevif MODULE ${HWLIB_BLADERF_SOURCE} )
|
|
||||||
target_link_libraries(oai_bladerfdevif bladeRF)
|
|
||||||
|
|
||||||
include_directories("${OPENAIR_DIR}/radio/LMSSDR/USERSPACE/LIB/")
|
|
||||||
|
|
||||||
set(HWLIB_LMSSDR_SOURCE
|
|
||||||
${OPENAIR_DIR}/radio/LMSSDR/USERSPACE/LIB/lms_lib.cpp
|
|
||||||
)
|
|
||||||
add_library(oai_lmssdrdevif MODULE ${HWLIB_LMSSDR_SOURCE} )
|
|
||||||
target_include_directories(oai_lmssdrdevif PRIVATE /usr/local/include/lime)
|
|
||||||
target_link_libraries(oai_lmssdrdevif LimeSuite )
|
|
||||||
|
|
||||||
|
|
||||||
include_directories("${OPENAIR_DIR}/radio/ETHERNET/USERSPACE/LIB/")
|
|
||||||
set(TPLIB_ETHERNET_SOURCE
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/USERSPACE/LIB/ethernet_lib.c
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/USERSPACE/LIB/eth_udp.c
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/USERSPACE/LIB/eth_raw.c
|
|
||||||
)
|
|
||||||
add_library(oai_eth_transpro MODULE ${TPLIB_ETHERNET_SOURCE} )
|
|
||||||
|
|
||||||
include_directories("${OPENAIR_DIR}/radio/AW2SORI/")
|
|
||||||
link_directories("/usr/local/lib")
|
|
||||||
set(HWLIB_AW2SORI_SOURCE
|
|
||||||
${OPENAIR_DIR}/radio/AW2SORI/oaiori.c
|
|
||||||
)
|
|
||||||
add_library(aw2sori_transpro MODULE ${HWLIB_AW2SORI_SOURCE})
|
|
||||||
target_compile_options(aw2sori_transpro PRIVATE -shared -fPIC -msse4 -g -ggdb -DLITE_COMPILATION)
|
|
||||||
target_link_libraries(aw2sori_transpro libori.so)
|
|
||||||
|
|
||||||
include_directories("${OPENAIR_DIR}/radio/IRIS/USERSPACE/LIB/")
|
|
||||||
set(option_HWIRISLIB_lib "-l SoapySDR")
|
|
||||||
set(HWLIB_IRIS_SOURCE
|
|
||||||
${OPENAIR_DIR}/radio/IRIS/USERSPACE/LIB/iris_lib.cpp
|
|
||||||
)
|
|
||||||
add_library(oai_irisdevif MODULE ${HWLIB_IRIS_SOURCE})
|
|
||||||
target_include_directories(oai_irisdevif PRIVATE /usr/local/lib/SoapySDR/modules0.7/)
|
|
||||||
target_link_libraries(oai_irisdevif SoapySDR)
|
|
||||||
|
|
||||||
# Benetel 4G library
|
|
||||||
######################################################################
|
|
||||||
|
|
||||||
|
|
||||||
include_directories ("/usr/include/dpdk")
|
|
||||||
|
|
||||||
set(HWLIB_BENETEL_4G_SOURCE
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/4g/benetel.c
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/4g/shared_buffers.c
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/4g/low.c
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/4g/low_dpdk.c
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/4g/dpdk_driver.c
|
|
||||||
)
|
|
||||||
add_library(benetel_4g MODULE ${HWLIB_BENETEL_4G_SOURCE} )
|
|
||||||
|
|
||||||
set_target_properties(benetel_4g PROPERTIES COMPILE_FLAGS "-fvisibility=hidden -I$ENV{RTE_SDK}/$ENV{RTE_TARGET}/include")
|
|
||||||
|
|
||||||
SET(DPDK_LIBS "-Wl,-rpath,$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -Wl,--whole-archive -L$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -ldpdk -Wl,--no-whole-archive")
|
|
||||||
target_link_libraries(benetel_4g PRIVATE ${DPDK_LIBS})
|
|
||||||
target_link_libraries(benetel_4g PRIVATE pthread dl rt m numa)
|
|
||||||
|
|
||||||
# Benetel 5G library
|
|
||||||
######################################################################
|
|
||||||
|
|
||||||
set(HWLIB_BENETEL_5G_SOURCE
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/5g/benetel.c
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/5g/shared_buffers.c
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/5g/low.c
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/5g/low_dpdk.c
|
|
||||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/5g/dpdk_driver.c
|
|
||||||
)
|
|
||||||
add_library(benetel_5g MODULE ${HWLIB_BENETEL_5G_SOURCE} )
|
|
||||||
|
|
||||||
set_target_properties(benetel_5g PROPERTIES COMPILE_FLAGS "-fvisibility=hidden -I$ENV{RTE_SDK}/$ENV{RTE_TARGET}/include")
|
|
||||||
|
|
||||||
SET(DPDK_LIBS "-Wl,-rpath,$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -Wl,--whole-archive -L$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -ldpdk -Wl,--no-whole-archive")
|
|
||||||
target_link_libraries(benetel_5g PRIVATE ${DPDK_LIBS})
|
|
||||||
target_link_libraries(benetel_5g PRIVATE pthread dl rt m numa)
|
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
|
|
||||||
@@ -629,7 +469,6 @@ include_directories ("${OPENAIR_DIR}/radio/COMMON")
|
|||||||
##############################################################
|
##############################################################
|
||||||
|
|
||||||
add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????" ON)
|
add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????" ON)
|
||||||
add_boolean_option(NAS_NETLINK False "useless ??? Must be True to compile nasmesh driver without rtai ????" ON)
|
|
||||||
add_boolean_option(OAI_NW_DRIVER_USE_NETLINK True "????" ON)
|
add_boolean_option(OAI_NW_DRIVER_USE_NETLINK True "????" ON)
|
||||||
|
|
||||||
add_boolean_option(UE_EXPANSION False "enable UE_EXPANSION with max 256 UE" ON)
|
add_boolean_option(UE_EXPANSION False "enable UE_EXPANSION with max 256 UE" ON)
|
||||||
@@ -637,19 +476,12 @@ add_boolean_option(PHY_TX_THREAD False "enable UE_EXPANSION w
|
|||||||
add_boolean_option(PRE_SCD_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)
|
add_boolean_option(UESIM_EXPANSION False "enable UESIM_EXPANSION with max 256 UE" ON)
|
||||||
|
|
||||||
########################
|
|
||||||
# Include order
|
|
||||||
##########################
|
|
||||||
add_boolean_option(ENB_MODE True "Swap the include directories between openair2 and openair3" ON)
|
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# SCHEDULING/REAL-TIME/PERF options
|
# SCHEDULING/REAL-TIME/PERF options
|
||||||
##########################
|
##########################
|
||||||
add_boolean_option(ENABLE_USE_CPU_EXECUTION_TIME False "Add data in vcd traces: disable it if perf issues" ON)
|
add_boolean_option(ENABLE_USE_CPU_EXECUTION_TIME False "Add data in vcd traces: disable it if perf issues" ON)
|
||||||
add_boolean_option(ENABLE_VCD False "always true now, time measurements of proc calls and var displays" ON)
|
add_boolean_option(ENABLE_VCD False "always true now, time measurements of proc calls and var displays" ON)
|
||||||
add_boolean_option(ENABLE_VCD_FIFO False "time measurements of proc calls and var displays sent to FIFO (one more thread)" ON)
|
add_boolean_option(ENABLE_VCD_FIFO False "time measurements of proc calls and var displays sent to FIFO (one more thread)" ON)
|
||||||
add_boolean_option(LINUX False "used in weird memcpy() in pdcp.c ???" ON)
|
|
||||||
add_boolean_option(LINUX_LIST False "used only in lists.c: either use OAI implementation of lists or Linux one (should be ON, but it is False" ON)
|
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# PHY options
|
# PHY options
|
||||||
@@ -659,7 +491,6 @@ add_integer_option(MAX_NUM_CCs 1 "????" ON)
|
|||||||
add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator" 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 False "Enable PHY layer debugging options" ON)
|
||||||
add_boolean_option(DEBUG_PHY_PROC False "Enable debugging of PHY layer procedures" ON)
|
add_boolean_option(DEBUG_PHY_PROC False "Enable debugging of PHY layer procedures" ON)
|
||||||
add_boolean_option(DEBUG_DLSCH False "Enable debugging of DLSCH physical layer channel" ON)
|
|
||||||
add_boolean_option(MEX False "Enabling compilation with mex" ON)
|
add_boolean_option(MEX False "Enabling compilation with mex" ON)
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
@@ -670,22 +501,10 @@ add_boolean_option(NAS_BUILT_IN_UE True "UE NAS layer present in this e
|
|||||||
add_boolean_option(NAS_UE True "NAS UE INSTANCE (<> NAS_MME)" ON)
|
add_boolean_option(NAS_UE True "NAS UE INSTANCE (<> NAS_MME)" ON)
|
||||||
|
|
||||||
|
|
||||||
##########################
|
|
||||||
# PDCP LAYER OPTIONS
|
|
||||||
##########################
|
|
||||||
#add_boolean_option(LINK_ENB_PDCP_TO_IP_DRIVER False "For eNB, PDCP communicate with a IP driver")
|
|
||||||
#add_boolean_option(LINK_ENB_PDCP_TO_GTPV1U True "For eNB, PDCP communicate with GTP-U protocol (eNB<->S-GW)")
|
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# RRC LAYER OPTIONS
|
# RRC LAYER OPTIONS
|
||||||
##########################
|
##########################
|
||||||
add_boolean_option(RRC_DEFAULT_RAB_IS_AM True "set the RLC mode to AM for the default bearer, otherwise it is UM." ON)
|
add_boolean_option(RRC_DEFAULT_RAB_IS_AM True "set the LTE RLC mode to AM for the default bearer, otherwise it is UM." ON)
|
||||||
|
|
||||||
|
|
||||||
##########################
|
|
||||||
# S1AP LAYER OPTIONS
|
|
||||||
##########################
|
|
||||||
# none
|
|
||||||
|
|
||||||
# add the binary tree to the search path for include files
|
# add the binary tree to the search path for include files
|
||||||
#######################################################
|
#######################################################
|
||||||
@@ -702,19 +521,11 @@ include_directories("${OPENAIR_BIN_DIR}")
|
|||||||
# Legacy exact order
|
# Legacy exact order
|
||||||
|
|
||||||
include_directories("${OPENAIR_DIR}/executables")
|
include_directories("${OPENAIR_DIR}/executables")
|
||||||
if(ENB_MODE)
|
include_directories("${OPENAIR2_DIR}/COMMON")
|
||||||
include_directories("${OPENAIR2_DIR}/COMMON")
|
include_directories("${OPENAIR2_DIR}/UTIL")
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL")
|
include_directories("${OPENAIR2_DIR}/UTIL/LOG")
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/LOG")
|
include_directories("${OPENAIR3_DIR}/COMMON")
|
||||||
include_directories("${OPENAIR3_DIR}/COMMON")
|
include_directories("${OPENAIR3_DIR}/UTILS")
|
||||||
include_directories("${OPENAIR3_DIR}/UTILS")
|
|
||||||
else()
|
|
||||||
include_directories("${OPENAIR3_DIR}/COMMON")
|
|
||||||
include_directories("${OPENAIR3_DIR}/UTILS")
|
|
||||||
include_directories("${OPENAIR2_DIR}/COMMON")
|
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL")
|
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/LOG")
|
|
||||||
endif()
|
|
||||||
include_directories("${NFAPI_DIR}/nfapi/public_inc")
|
include_directories("${NFAPI_DIR}/nfapi/public_inc")
|
||||||
include_directories("${NFAPI_DIR}/common/public_inc")
|
include_directories("${NFAPI_DIR}/common/public_inc")
|
||||||
include_directories("${NFAPI_DIR}/pnf/public_inc")
|
include_directories("${NFAPI_DIR}/pnf/public_inc")
|
||||||
@@ -753,22 +564,14 @@ include_directories("${OPENAIR3_DIR}/ocp-gtpu")
|
|||||||
include_directories("${OPENAIR3_DIR}/M3AP")
|
include_directories("${OPENAIR3_DIR}/M3AP")
|
||||||
include_directories("${OPENAIR3_DIR}/MME_APP")
|
include_directories("${OPENAIR3_DIR}/MME_APP")
|
||||||
include_directories("${OPENAIR_DIR}/radio/COMMON")
|
include_directories("${OPENAIR_DIR}/radio/COMMON")
|
||||||
include_directories("${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/PHY")
|
|
||||||
include_directories("${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/MAC")
|
|
||||||
include_directories("${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/RRC")
|
|
||||||
include_directories("${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/PDCP")
|
|
||||||
include_directories("${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/S1AP")
|
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/OSA")
|
include_directories("${OPENAIR2_DIR}/UTIL/OSA")
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/MEM")
|
include_directories("${OPENAIR2_DIR}/UTIL/MEM")
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/LISTS")
|
include_directories("${OPENAIR2_DIR}/UTIL/LISTS")
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/FIFO")
|
include_directories("${OPENAIR2_DIR}/UTIL/FIFO")
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/MATH")
|
include_directories("${OPENAIR2_DIR}/UTIL/MATH")
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/TIMER")
|
include_directories("${OPENAIR2_DIR}/UTIL/TIMER")
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/OMG")
|
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/OTG")
|
include_directories("${OPENAIR2_DIR}/UTIL/OTG")
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/CLI")
|
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/OPT")
|
include_directories("${OPENAIR2_DIR}/UTIL/OPT")
|
||||||
include_directories("${OPENAIR2_DIR}/UTIL/OMV")
|
|
||||||
include_directories("${OPENAIR_DIR}")
|
include_directories("${OPENAIR_DIR}")
|
||||||
|
|
||||||
###########
|
###########
|
||||||
@@ -810,8 +613,10 @@ set(SECURITY_SRC
|
|||||||
${OPENAIR3_DIR}/SECU/nas_stream_eia2.c
|
${OPENAIR3_DIR}/SECU/nas_stream_eia2.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
pkg_check_modules(OpenSSL openssl REQUIRED)
|
||||||
add_library(SECURITY ${SECURITY_SRC} $<TARGET_OBJECTS:ds>)
|
add_library(SECURITY ${SECURITY_SRC} $<TARGET_OBJECTS:ds>)
|
||||||
target_include_directories(SECURITY PRIVATE ${OPENAIR_DIR}/common/utils/ds/)
|
target_include_directories(SECURITY PRIVATE ${OPENAIR_DIR}/common/utils/ds/)
|
||||||
|
target_link_libraries(SECURITY PRIVATE ${OpenSSL_LIBRARIES})
|
||||||
|
|
||||||
# Physical Channel Procedures Scheduling
|
# Physical Channel Procedures Scheduling
|
||||||
################################"
|
################################"
|
||||||
@@ -1071,6 +876,7 @@ set(PHY_SRC_COMMON
|
|||||||
${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c
|
${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c
|
${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/lut.c
|
${OPENAIR1_DIR}/PHY/TOOLS/lut.c
|
||||||
|
${OPENAIR1_DIR}/PHY/TOOLS/simde_operations.c
|
||||||
)
|
)
|
||||||
|
|
||||||
set(PHY_SRC
|
set(PHY_SRC
|
||||||
@@ -1206,6 +1012,7 @@ set(PHY_SRC_UE
|
|||||||
${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c
|
${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c
|
${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/lut.c
|
${OPENAIR1_DIR}/PHY/TOOLS/lut.c
|
||||||
|
${OPENAIR1_DIR}/PHY/TOOLS/simde_operations.c
|
||||||
${PHY_POLARSRC}
|
${PHY_POLARSRC}
|
||||||
${PHY_SMALLBLOCKSRC}
|
${PHY_SMALLBLOCKSRC}
|
||||||
${PHY_NR_CODINGIF}
|
${PHY_NR_CODINGIF}
|
||||||
@@ -1258,6 +1065,7 @@ set(PHY_SRC_UE
|
|||||||
${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c
|
${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c
|
${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/lut.c
|
${OPENAIR1_DIR}/PHY/TOOLS/lut.c
|
||||||
|
${OPENAIR1_DIR}/PHY/TOOLS/simde_operations.c
|
||||||
${OPENAIR1_DIR}/PHY/INIT/nr_init_ue.c
|
${OPENAIR1_DIR}/PHY/INIT/nr_init_ue.c
|
||||||
# ${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/pucch_uci_test.c
|
# ${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/pucch_uci_test.c
|
||||||
${PHY_POLARSRC}
|
${PHY_POLARSRC}
|
||||||
@@ -1280,8 +1088,16 @@ target_link_libraries(PHY_COMMON PRIVATE asn1_lte_rrc_hdrs)
|
|||||||
add_library(PHY ${PHY_SRC})
|
add_library(PHY ${PHY_SRC})
|
||||||
target_link_libraries(PHY PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
target_link_libraries(PHY PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
||||||
|
|
||||||
|
pkg_check_modules(blas REQUIRED blas)
|
||||||
|
pkg_check_modules(lapacke REQUIRED lapacke)
|
||||||
|
|
||||||
add_library(PHY_UE ${PHY_SRC_UE})
|
add_library(PHY_UE ${PHY_SRC_UE})
|
||||||
target_link_libraries(PHY_UE PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
target_link_libraries(PHY_UE PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
||||||
|
# RHEL needs also cblas, but Ubuntu does not have it. So `cblas_LIBRARIES` will
|
||||||
|
# be empty for Ubuntu, a no-op
|
||||||
|
pkg_check_modules(cblas cblas)
|
||||||
|
target_link_libraries(PHY_UE PRIVATE ${blas_LIBRARIES} ${cblas_LIBRARIES} ${lapacke_LIBRARIES})
|
||||||
|
target_include_directories(PHY_UE PRIVATE ${blas_INCLUDE_DIRS} ${lapacke_INCLUDE_DIRS})
|
||||||
|
|
||||||
add_library(PHY_NR_COMMON ${PHY_NR_SRC_COMMON})
|
add_library(PHY_NR_COMMON ${PHY_NR_SRC_COMMON})
|
||||||
|
|
||||||
@@ -1306,14 +1122,15 @@ set(PHY_MEX_UE
|
|||||||
${OPENAIR1_DIR}/PHY/TOOLS/cadd_vv.c
|
${OPENAIR1_DIR}/PHY/TOOLS/cadd_vv.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/cmult_sv.c
|
${OPENAIR1_DIR}/PHY/TOOLS/cmult_sv.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/cmult_vv.c
|
${OPENAIR1_DIR}/PHY/TOOLS/cmult_vv.c
|
||||||
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation_avx2.c
|
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.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
|
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_ue_measurements.c
|
||||||
${OPENAIR_DIR}/common/utils/LOG/log.c
|
${OPENAIR_DIR}/common/utils/LOG/log.c
|
||||||
${OPENAIR_DIR}/common/utils/T/T.c
|
${OPENAIR_DIR}/common/utils/T/T.c
|
||||||
${OPENAIR_DIR}/common/utils/T/local_tracer.c
|
${OPENAIR_DIR}/common/utils/T/local_tracer.c
|
||||||
)
|
)
|
||||||
add_library(PHY_MEX ${PHY_MEX_UE} ${CONFIG_LIB})
|
add_library(PHY_MEX ${PHY_MEX_UE})
|
||||||
target_link_libraries(PHY_MEX PRIVATE asn1_lte_rrc_hdrs)
|
target_link_libraries(PHY_MEX PRIVATE asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
#Layer 2 library
|
#Layer 2 library
|
||||||
@@ -1362,12 +1179,6 @@ set(NR_PDCP_SRC
|
|||||||
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.c
|
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.c
|
||||||
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.c
|
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.c
|
||||||
${OPENAIR2_DIR}/LAYER2/nr_pdcp/asn1_utils.c
|
${OPENAIR2_DIR}/LAYER2/nr_pdcp/asn1_utils.c
|
||||||
#hack: include these files to compile the nr phy simulators
|
|
||||||
#these files should not be here, will be removed at some point when the
|
|
||||||
#computation is done directly inside nr_pdcp_integrity_nia1.c instead
|
|
||||||
#of reusing code of osa_stream_eia.c
|
|
||||||
#${OPENAIR2_DIR}/UTIL/OSA/osa_stream_eia.c
|
|
||||||
#${OPENAIR2_DIR}/UTIL/OSA/osa_snow3g.c
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set(NR_SDAP_SRC
|
set(NR_SDAP_SRC
|
||||||
@@ -1571,6 +1382,11 @@ add_library(L2
|
|||||||
)
|
)
|
||||||
target_link_libraries(L2 PRIVATE x2ap s1ap lte_rrc m2ap)
|
target_link_libraries(L2 PRIVATE x2ap s1ap lte_rrc m2ap)
|
||||||
target_link_libraries(L2 PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
target_link_libraries(L2 PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
||||||
|
if(E2_AGENT)
|
||||||
|
target_link_libraries(L2 PUBLIC e2_agent e2_ran_func)
|
||||||
|
target_compile_definitions(L2 PRIVATE E2_AGENT)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
add_library(MAC_NR ${MAC_NR_SRC})
|
add_library(MAC_NR ${MAC_NR_SRC})
|
||||||
target_link_libraries(MAC_NR PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
target_link_libraries(MAC_NR PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
||||||
@@ -1601,6 +1417,11 @@ add_library(e1_pdcp_if
|
|||||||
target_link_libraries(e1_pdcp_if PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(e1_pdcp_if PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
target_link_libraries(L2_NR PRIVATE f1ap x2ap s1ap ngap nr_rrc e1ap)
|
target_link_libraries(L2_NR PRIVATE f1ap x2ap s1ap ngap nr_rrc e1ap)
|
||||||
|
if(E2_AGENT)
|
||||||
|
target_link_libraries(L2_NR PUBLIC e2_agent e2_ran_func)
|
||||||
|
target_compile_definitions(L2_NR PRIVATE E2_AGENT)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
add_library(L2_LTE_NR
|
add_library(L2_LTE_NR
|
||||||
${L2_RRC_SRC}
|
${L2_RRC_SRC}
|
||||||
@@ -1996,11 +1817,6 @@ set (NBIOT_SOURCES
|
|||||||
)
|
)
|
||||||
add_library(NB_IoT MODULE ${NBIOT_SOURCES} )
|
add_library(NB_IoT MODULE ${NBIOT_SOURCES} )
|
||||||
|
|
||||||
# shared library loader
|
|
||||||
set (SHLIB_LOADER_SOURCES
|
|
||||||
${OPENAIR_DIR}/common/utils/load_module_shlib.c
|
|
||||||
)
|
|
||||||
|
|
||||||
add_library(LIB_5GNAS_GNB
|
add_library(LIB_5GNAS_GNB
|
||||||
${NAS_SRC}/COMMON/nr_common.c
|
${NAS_SRC}/COMMON/nr_common.c
|
||||||
${NAS_SRC}/gNB/network_process_nas.c
|
${NAS_SRC}/gNB/network_process_nas.c
|
||||||
@@ -2009,7 +1825,7 @@ add_library(LIB_5GNAS_GNB
|
|||||||
)
|
)
|
||||||
|
|
||||||
target_include_directories(LIB_5GNAS_GNB PRIVATE ${OPENAIR_DIR}/common/utils/ds/)
|
target_include_directories(LIB_5GNAS_GNB PRIVATE ${OPENAIR_DIR}/common/utils/ds/)
|
||||||
target_link_libraries(LIB_5GNAS_GNB PRIVATE SECURITY ${CRYPTO_LIBRARIES})
|
target_link_libraries(LIB_5GNAS_GNB PRIVATE SECURITY)
|
||||||
target_link_libraries(LIB_5GNAS_GNB PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(LIB_5GNAS_GNB PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
# Simulation library
|
# Simulation library
|
||||||
@@ -2029,6 +1845,8 @@ set (SIMUSRC
|
|||||||
)
|
)
|
||||||
add_library(SIMU STATIC ${SIMUSRC} )
|
add_library(SIMU STATIC ${SIMUSRC} )
|
||||||
target_include_directories(SIMU PUBLIC ${OPENAIR1_DIR}/SIMULATION/TOOLS ${OPENAIR1_DIR}/SIMULATION/RF)
|
target_include_directories(SIMU PUBLIC ${OPENAIR1_DIR}/SIMULATION/TOOLS ${OPENAIR1_DIR}/SIMULATION/RF)
|
||||||
|
target_link_libraries(SIMU PRIVATE ${blas_LIBRARIES} ${cblas_LIBRARIES} ${lapacke_LIBRARIES})
|
||||||
|
target_include_directories(SIMU PRIVATE ${blas_INCLUDE_DIRS} ${lapacke_INCLUDE_DIRS})
|
||||||
|
|
||||||
# Qt-based scope
|
# Qt-based scope
|
||||||
add_boolean_option(ENABLE_NRQTSCOPE OFF "Build the Qt-Scope" OFF)
|
add_boolean_option(ENABLE_NRQTSCOPE OFF "Build the Qt-Scope" OFF)
|
||||||
@@ -2059,16 +1877,6 @@ include_directories("${NFAPI_DIR}/nfapi/inc")
|
|||||||
include_directories("${NFAPI_DIR}/sim_common/inc")
|
include_directories("${NFAPI_DIR}/sim_common/inc")
|
||||||
include_directories("${NFAPI_DIR}/pnf_sim/inc")
|
include_directories("${NFAPI_DIR}/pnf_sim/inc")
|
||||||
|
|
||||||
list(APPEND ATLAS_LIBRARIES lapack lapacke)
|
|
||||||
|
|
||||||
|
|
||||||
add_library(rfsimulator MODULE
|
|
||||||
${OPENAIR_DIR}/radio/rfsimulator/simulator.c
|
|
||||||
${OPENAIR_DIR}/radio/rfsimulator/apply_channelmod.c
|
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c
|
|
||||||
)
|
|
||||||
target_link_libraries(rfsimulator PRIVATE SIMU ${ATLAS_LIBRARIES})
|
|
||||||
|
|
||||||
add_library(oai_iqplayer MODULE
|
add_library(oai_iqplayer MODULE
|
||||||
${OPENAIR_DIR}/radio/iqplayer/iqplayer_lib.c
|
${OPENAIR_DIR}/radio/iqplayer/iqplayer_lib.c
|
||||||
)
|
)
|
||||||
@@ -2120,17 +1928,12 @@ add_library(minimal_lib
|
|||||||
${OPENAIR_DIR}/common/utils/minimal_stub.c
|
${OPENAIR_DIR}/common/utils/minimal_stub.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
)
|
)
|
||||||
target_link_libraries(minimal_lib pthread dl ${T_LIB} CONFIG_LIB)
|
target_link_libraries(minimal_lib pthread dl ${T_LIB})
|
||||||
|
|
||||||
add_executable(nfapi_test
|
add_executable(nfapi_test
|
||||||
${OPENAIR_DIR}/openair2/NR_PHY_INTERFACE/nfapi_5g_test.c
|
${OPENAIR_DIR}/openair2/NR_PHY_INTERFACE/nfapi_5g_test.c
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(replay_node
|
|
||||||
${OPENAIR_DIR}/radio/rfsimulator/stored_node.c
|
|
||||||
)
|
|
||||||
target_link_libraries (replay_node minimal_lib)
|
|
||||||
|
|
||||||
add_executable(measurement_display
|
add_executable(measurement_display
|
||||||
${OPENAIR_DIR}/common/utils/threadPool/measurement_display.c)
|
${OPENAIR_DIR}/common/utils/threadPool/measurement_display.c)
|
||||||
target_link_libraries (measurement_display minimal_lib)
|
target_link_libraries (measurement_display minimal_lib)
|
||||||
@@ -2138,7 +1941,7 @@ target_link_libraries (measurement_display minimal_lib)
|
|||||||
add_executable(test5Gnas
|
add_executable(test5Gnas
|
||||||
${OPENAIR_DIR}/openair3/TEST/test5Gnas.c
|
${OPENAIR_DIR}/openair3/TEST/test5Gnas.c
|
||||||
)
|
)
|
||||||
target_link_libraries (test5Gnas LIB_5GNAS_GNB CONFIG_LIB minimal_lib )
|
target_link_libraries (test5Gnas LIB_5GNAS_GNB minimal_lib )
|
||||||
|
|
||||||
|
|
||||||
# lte-softmodem is both eNB and UE implementation
|
# lte-softmodem is both eNB and UE implementation
|
||||||
@@ -2163,7 +1966,6 @@ add_executable(lte-softmodem
|
|||||||
${OPENAIR_DIR}/common/utils/lte/prach_utils.c
|
${OPENAIR_DIR}/common/utils/lte/prach_utils.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/phy_scope_interface.c
|
${OPENAIR1_DIR}/PHY/TOOLS/phy_scope_interface.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
add_dependencies(lte-softmodem oai_iqplayer)
|
add_dependencies(lte-softmodem oai_iqplayer)
|
||||||
|
|
||||||
@@ -2171,13 +1973,17 @@ target_link_libraries(lte-softmodem PRIVATE
|
|||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
lte_rrc nr_rrc s1ap m2ap x2ap m3ap GTPV1U SECURITY UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_LIB SCHED_RU_LIB
|
lte_rrc nr_rrc s1ap m2ap x2ap m3ap GTPV1U SECURITY UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_LIB SCHED_RU_LIB
|
||||||
PHY_COMMON PHY PHY_RU L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
PHY_COMMON PHY PHY_RU L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
||||||
${NAS_UE_LIB} ITTI SIMU SIMU_ETH
|
${NAS_UE_LIB} ITTI SIMU SIMU_ETH shlib_loader
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries(lte-softmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp)
|
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 ${T_LIB})
|
||||||
target_link_libraries(lte-softmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(lte-softmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
|
if(E2_AGENT)
|
||||||
|
target_compile_definitions(lte-softmodem PRIVATE E2_AGENT)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(oairu
|
add_executable(oairu
|
||||||
${OPENAIR_DIR}/executables/lte-ru.c
|
${OPENAIR_DIR}/executables/lte-ru.c
|
||||||
${OPENAIR_DIR}/executables/ru_control.c
|
${OPENAIR_DIR}/executables/ru_control.c
|
||||||
@@ -2188,12 +1994,10 @@ add_executable(oairu
|
|||||||
${OPENAIR_DIR}/executables/main_ru.c
|
${OPENAIR_DIR}/executables/main_ru.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${OPENAIR_DIR}/common/utils/lte/prach_utils.c
|
${OPENAIR_DIR}/common/utils/lte/prach_utils.c
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
target_link_libraries(oairu PRIVATE
|
target_link_libraries(oairu PRIVATE
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
SCHED_RU_LIB
|
SCHED_RU_LIB PHY_COMMON PHY_RU UTIL shlib_loader
|
||||||
PHY_COMMON PHY_RU UTIL
|
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries(oairu PRIVATE pthread m CONFIG_LIB rt ${T_LIB})
|
target_link_libraries(oairu PRIVATE pthread m CONFIG_LIB rt ${T_LIB})
|
||||||
@@ -2221,7 +2025,6 @@ add_executable(lte-uesoftmodem
|
|||||||
${OPENAIR_DIR}/common/utils/lte/prach_utils.c
|
${OPENAIR_DIR}/common/utils/lte/prach_utils.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/phy_scope_interface.c
|
${OPENAIR1_DIR}/PHY/TOOLS/phy_scope_interface.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (NOT ${NOS1})
|
if (NOT ${NOS1})
|
||||||
@@ -2232,10 +2035,10 @@ target_link_libraries(lte-uesoftmodem PRIVATE
|
|||||||
lte_rrc nr_rrc s1ap x2ap m2ap m3ap
|
lte_rrc nr_rrc s1ap x2ap m2ap m3ap
|
||||||
SECURITY UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON
|
SECURITY UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON
|
||||||
PHY_UE PHY_RU L2_UE L2_LTE SIMU SIMU_ETH NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
PHY_UE PHY_RU L2_UE L2_LTE SIMU SIMU_ETH NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
||||||
${NAS_UE_LIB} ITTI ${ATLAS_LIBRARIES}
|
${NAS_UE_LIB} ITTI shlib_loader
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries(lte-uesoftmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${ATLAS_LIBRARIES})
|
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 ${T_LIB})
|
||||||
target_link_libraries(lte-uesoftmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(lte-uesoftmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
@@ -2265,7 +2068,6 @@ add_executable(nr-softmodem
|
|||||||
${PHY_INTERFACE_DIR}/queue_t.c
|
${PHY_INTERFACE_DIR}/queue_t.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/phy_scope_interface.c
|
${OPENAIR1_DIR}/PHY/TOOLS/phy_scope_interface.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(nr-softmodem PRIVATE
|
target_link_libraries(nr-softmodem PRIVATE
|
||||||
@@ -2273,10 +2075,10 @@ target_link_libraries(nr-softmodem PRIVATE
|
|||||||
UTIL HASHTABLE SCTP_CLIENT SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU GTPV1U SECURITY
|
UTIL HASHTABLE SCTP_CLIENT SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU GTPV1U SECURITY
|
||||||
ITTI ${NAS_UE_LIB} lte_rrc nr_rrc
|
ITTI ${NAS_UE_LIB} lte_rrc nr_rrc
|
||||||
ngap s1ap L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB SIMU SIMU_ETH
|
ngap s1ap L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB SIMU SIMU_ETH
|
||||||
x2ap f1ap m2ap m3ap e1ap
|
x2ap f1ap m2ap m3ap e1ap shlib_loader
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries(nr-softmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${ATLAS_LIBRARIES})
|
target_link_libraries(nr-softmodem PRIVATE pthread m CONFIG_LIB rt sctp)
|
||||||
target_link_libraries(nr-softmodem PRIVATE ${T_LIB})
|
target_link_libraries(nr-softmodem PRIVATE ${T_LIB})
|
||||||
target_link_libraries(nr-softmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(nr-softmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
@@ -2289,6 +2091,10 @@ endif()
|
|||||||
# force the generation of ASN.1 so that we don't need to wait during the build
|
# force the generation of ASN.1 so that we don't need to wait during the build
|
||||||
target_link_libraries(nr-softmodem PRIVATE
|
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)
|
asn1_lte_rrc asn1_nr_rrc asn1_s1ap asn1_ngap asn1_m2ap asn1_m3ap asn1_x2ap asn1_f1ap asn1_lpp)
|
||||||
|
if(E2_AGENT)
|
||||||
|
target_compile_definitions(nr-softmodem PRIVATE E2_AGENT)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
add_executable(nr-cuup
|
add_executable(nr-cuup
|
||||||
executables/nr-cuup.c
|
executables/nr-cuup.c
|
||||||
@@ -2299,13 +2105,12 @@ add_executable(nr-cuup
|
|||||||
${NR_PDCP_SRC}
|
${NR_PDCP_SRC}
|
||||||
${NR_SDAP_SRC}
|
${NR_SDAP_SRC}
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(nr-cuup PRIVATE
|
target_link_libraries(nr-cuup PRIVATE
|
||||||
CONFIG_LIB ITTI SCTP_CLIENT
|
CONFIG_LIB ITTI SCTP_CLIENT
|
||||||
GTPV1U e1ap e1_pdcp_if f1ap SIMU_ETH
|
GTPV1U e1ap e1_pdcp_if f1ap SIMU_ETH
|
||||||
z sctp dl pthread)
|
z sctp dl pthread shlib_loader)
|
||||||
target_link_libraries(nr-cuup PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
target_link_libraries(nr-cuup PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
||||||
|
|
||||||
# nr-uesoftmodem is UE implementation
|
# nr-uesoftmodem is UE implementation
|
||||||
@@ -2327,7 +2132,6 @@ add_executable(nr-uesoftmodem
|
|||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/phy_scope_interface.c
|
${OPENAIR1_DIR}/PHY/TOOLS/phy_scope_interface.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(nr-uesoftmodem PRIVATE
|
target_link_libraries(nr-uesoftmodem PRIVATE
|
||||||
@@ -2335,10 +2139,10 @@ target_link_libraries(nr-uesoftmodem PRIVATE
|
|||||||
nr_rrc SECURITY UTIL HASHTABLE SCHED_RU_LIB SCHED_NR_UE_LIB
|
nr_rrc SECURITY UTIL HASHTABLE SCHED_RU_LIB SCHED_NR_UE_LIB
|
||||||
PHY_COMMON PHY_NR_COMMON PHY_NR_UE NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB
|
PHY_COMMON PHY_NR_COMMON PHY_NR_UE NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB
|
||||||
NFAPI_USER_LIB MISC_NFAPI_NR_LIB
|
NFAPI_USER_LIB MISC_NFAPI_NR_LIB
|
||||||
ITTI ${ATLAS_LIBRARIES} LIB_5GNAS_GNB LIB_NAS_SIMUE ${NAS_SIM_LIB} SIMU SIMU_ETH
|
ITTI LIB_5GNAS_GNB LIB_NAS_SIMUE ${NAS_SIM_LIB} SIMU SIMU_ETH shlib_loader
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries(nr-uesoftmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${ATLAS_LIBRARIES})
|
target_link_libraries(nr-uesoftmodem PRIVATE pthread m CONFIG_LIB rt)
|
||||||
target_link_libraries(nr-uesoftmodem PRIVATE ${T_LIB})
|
target_link_libraries(nr-uesoftmodem PRIVATE ${T_LIB})
|
||||||
target_link_libraries(nr-uesoftmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(nr-uesoftmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
@@ -2368,7 +2172,7 @@ add_executable(dlsim_tm4
|
|||||||
)
|
)
|
||||||
target_link_libraries (dlsim_tm4
|
target_link_libraries (dlsim_tm4
|
||||||
-Wl,--start-group SIMU UTIL SCHED_LIB SCHED_RU_LIB PHY ITTI -Wl,--end-group
|
-Wl,--start-group SIMU UTIL SCHED_LIB SCHED_RU_LIB PHY ITTI -Wl,--end-group
|
||||||
pthread m rt CONFIG_LIB ${ATLAS_LIBRARIES} ${T_LIB}
|
pthread m rt CONFIG_LIB ${T_LIB}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(rftest
|
add_executable(rftest
|
||||||
@@ -2376,32 +2180,29 @@ add_executable(rftest
|
|||||||
${OPENAIR_DIR}/openair1/PHY/TOOLS/calibration_scope.c
|
${OPENAIR_DIR}/openair1/PHY/TOOLS/calibration_scope.c
|
||||||
${OPENAIR_DIR}/radio/COMMON/common_lib.c
|
${OPENAIR_DIR}/radio/COMMON/common_lib.c
|
||||||
${OPENAIR_DIR}/executables/softmodem-common.c
|
${OPENAIR_DIR}/executables/softmodem-common.c
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
target_link_libraries(rftest PRIVATE minimal_lib CONFIG_LIB PHY_NR_COMMON UTIL pthread dl m ${T_LIB} )
|
target_link_libraries(rftest PRIVATE minimal_lib PHY_NR_COMMON UTIL forms pthread dl m ${T_LIB} shlib_loader)
|
||||||
target_link_libraries(rftest PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
target_link_libraries(rftest PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
|
||||||
|
|
||||||
add_executable(polartest
|
add_executable(polartest
|
||||||
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/polartest.c
|
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/polartest.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
target_link_libraries(polartest PRIVATE
|
target_link_libraries(polartest PRIVATE
|
||||||
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_COMMON PHY_NR_UE CONFIG_LIB -Wl,--end-group
|
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_COMMON PHY_NR_UE CONFIG_LIB -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} dl
|
m pthread dl
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(smallblocktest
|
add_executable(smallblocktest
|
||||||
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/smallblocktest.c
|
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/smallblocktest.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(smallblocktest PRIVATE
|
target_link_libraries(smallblocktest PRIVATE
|
||||||
-Wl,--start-group UTIL SIMU PHY_NR PHY_COMMON PHY_NR_COMMON CONFIG_LIB -Wl,--end-group
|
-Wl,--start-group UTIL SIMU PHY_NR PHY_COMMON PHY_NR_COMMON -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} dl
|
m pthread dl shlib_loader
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -2409,7 +2210,6 @@ add_executable(ldpctest
|
|||||||
${PHY_NR_CODINGIF}
|
${PHY_NR_CODINGIF}
|
||||||
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/ldpctest.c
|
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/ldpctest.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies( ldpctest ldpc_orig ldpc_optim ldpc_optim8seg ldpc ldpc_parityCheck)
|
add_dependencies( ldpctest ldpc_orig ldpc_optim ldpc_optim8seg ldpc ldpc_parityCheck)
|
||||||
@@ -2417,8 +2217,8 @@ if (ENABLE_LDPC_CUDA)
|
|||||||
add_dependencies(ldpctest ldpc_cuda)
|
add_dependencies(ldpctest ldpc_cuda)
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(ldpctest PRIVATE
|
target_link_libraries(ldpctest PRIVATE
|
||||||
-Wl,--start-group UTIL SIMU PHY_NR PHY_COMMON PHY_NR_COMMON CONFIG_LIB -Wl,--end-group
|
-Wl,--start-group UTIL SIMU PHY_NR PHY_COMMON PHY_NR_COMMON -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} dl
|
m pthread dl shlib_loader
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(nr_dlschsim
|
add_executable(nr_dlschsim
|
||||||
@@ -2426,11 +2226,10 @@ add_executable(nr_dlschsim
|
|||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/nr_dummy_functions.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/nr_dummy_functions.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_dlschsim PRIVATE
|
target_link_libraries(nr_dlschsim PRIVATE
|
||||||
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
|
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI dl
|
m pthread ${T_LIB} ITTI dl shlib_loader
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_dlschsim PRIVATE asn1_nr_rrc_hdrs)
|
target_link_libraries(nr_dlschsim PRIVATE asn1_nr_rrc_hdrs)
|
||||||
|
|
||||||
@@ -2439,11 +2238,10 @@ add_executable(nr_pbchsim
|
|||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/nr_dummy_functions.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/nr_dummy_functions.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_pbchsim PRIVATE
|
target_link_libraries(nr_pbchsim PRIVATE
|
||||||
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
|
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI dl
|
m pthread ${T_LIB} ITTI dl shlib_loader
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_pbchsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(nr_pbchsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
@@ -2454,11 +2252,10 @@ add_executable(nr_pucchsim
|
|||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/nr_dummy_functions.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/nr_dummy_functions.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_pucchsim PRIVATE
|
target_link_libraries(nr_pucchsim PRIVATE
|
||||||
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
|
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI dl
|
m pthread ${T_LIB} ITTI dl shlib_loader
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_pucchsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(nr_pucchsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
@@ -2473,11 +2270,10 @@ add_executable(nr_dlsim
|
|||||||
${NFAPI_USER_DIR}/gnb_ind_vars.c
|
${NFAPI_USER_DIR}/gnb_ind_vars.c
|
||||||
${PHY_INTERFACE_DIR}/queue_t.c
|
${PHY_INTERFACE_DIR}/queue_t.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_dlsim PRIVATE
|
target_link_libraries(nr_dlsim PRIVATE
|
||||||
-Wl,--start-group UTIL SIMU SIMU_ETH PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON nr_rrc CONFIG_LIB L2_NR HASHTABLE x2ap SECURITY ngap -lz -Wl,--end-group
|
-Wl,--start-group UTIL SIMU SIMU_ETH PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON nr_rrc CONFIG_LIB L2_NR HASHTABLE x2ap SECURITY ngap -lz -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI ${OPENSSL_LIBRARIES} dl
|
m pthread ${T_LIB} ITTI dl shlib_loader
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_dlsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(nr_dlsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
@@ -2486,10 +2282,10 @@ add_executable(nr_prachsim
|
|||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/nr_dummy_functions.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/nr_dummy_functions.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES})
|
)
|
||||||
target_link_libraries(nr_prachsim PRIVATE
|
target_link_libraries(nr_prachsim PRIVATE
|
||||||
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_RU PHY_NR_UE MAC_NR_COMMON SCHED_NR_LIB CONFIG_LIB -lz -Wl,--end-group
|
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_RU PHY_NR_UE MAC_NR_COMMON SCHED_NR_LIB CONFIG_LIB -lz -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI ${OPENSSL_LIBRARIES} dl)
|
m pthread ${T_LIB} ITTI dl shlib_loader)
|
||||||
target_link_libraries(nr_prachsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(nr_prachsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
add_executable(nr_ulschsim
|
add_executable(nr_ulschsim
|
||||||
@@ -2498,11 +2294,10 @@ add_executable(nr_ulschsim
|
|||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${PHY_INTERFACE_DIR}/queue_t.c
|
${PHY_INTERFACE_DIR}/queue_t.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_ulschsim PRIVATE
|
target_link_libraries(nr_ulschsim PRIVATE
|
||||||
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
|
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI dl
|
m pthread ${T_LIB} ITTI dl shlib_loader
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_ulschsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(nr_ulschsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
@@ -2517,7 +2312,6 @@ add_executable(nr_ulsim
|
|||||||
${NFAPI_USER_DIR}/gnb_ind_vars.c
|
${NFAPI_USER_DIR}/gnb_ind_vars.c
|
||||||
${PHY_INTERFACE_DIR}/queue_t.c
|
${PHY_INTERFACE_DIR}/queue_t.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (ENABLE_LDPC_T1)
|
if (ENABLE_LDPC_T1)
|
||||||
@@ -2526,7 +2320,7 @@ endif()
|
|||||||
|
|
||||||
target_link_libraries(nr_ulsim PRIVATE
|
target_link_libraries(nr_ulsim PRIVATE
|
||||||
-Wl,--start-group UTIL SIMU SIMU_ETH PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON nr_rrc CONFIG_LIB L2_NR HASHTABLE x2ap SECURITY ngap -lz -Wl,--end-group
|
-Wl,--start-group UTIL SIMU SIMU_ETH PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON nr_rrc CONFIG_LIB L2_NR HASHTABLE x2ap SECURITY ngap -lz -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI ${OPENSSL_LIBRARIES} dl
|
m pthread ${T_LIB} ITTI dl shlib_loader
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_ulsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
target_link_libraries(nr_ulsim PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
@@ -2538,12 +2332,11 @@ foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim pr
|
|||||||
${OPENAIR_DIR}/common/utils/lte/prach_utils.c
|
${OPENAIR_DIR}/common/utils/lte/prach_utils.c
|
||||||
${OPENAIR1_DIR}/PHY/INIT/lte_param_init.c
|
${OPENAIR1_DIR}/PHY/INIT/lte_param_init.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
${NFAPI_USER_DIR}/nfapi.c
|
${NFAPI_USER_DIR}/nfapi.c
|
||||||
)
|
)
|
||||||
target_link_libraries (${myExe} PRIVATE
|
target_link_libraries (${myExe} PRIVATE
|
||||||
-Wl,--start-group SIMU UTIL SCHED_LIB SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_NR_COMMON PHY PHY_UE PHY_RU ITTI -Wl,--end-group
|
-Wl,--start-group SIMU UTIL SCHED_LIB SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_NR_COMMON PHY PHY_UE PHY_RU ITTI -Wl,--end-group
|
||||||
pthread m rt CONFIG_LIB ${ATLAS_LIBRARIES} ${T_LIB} dl
|
pthread m rt CONFIG_LIB ${T_LIB} dl shlib_loader
|
||||||
)
|
)
|
||||||
target_link_libraries(${myExe} PRIVATE asn1_lte_rrc_hdrs)
|
target_link_libraries(${myExe} PRIVATE asn1_lte_rrc_hdrs)
|
||||||
|
|
||||||
@@ -2564,7 +2357,7 @@ foreach(myExe s1ap
|
|||||||
${OPENAIR3_DIR}/TEST/test_${myExe}.c
|
${OPENAIR3_DIR}/TEST/test_${myExe}.c
|
||||||
)
|
)
|
||||||
target_link_libraries (test_${myExe}
|
target_link_libraries (test_${myExe}
|
||||||
-Wl,--start-group SECURITY UTIL -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} CONFIG_LIB
|
-Wl,--start-group SECURITY UTIL -Wl,--end-group m rt CONFIG_LIB
|
||||||
)
|
)
|
||||||
endforeach(myExe)
|
endforeach(myExe)
|
||||||
|
|
||||||
@@ -2687,3 +2480,4 @@ add_subdirectory(doc)
|
|||||||
add_subdirectory(openair1)
|
add_subdirectory(openair1)
|
||||||
add_subdirectory(openair2)
|
add_subdirectory(openair2)
|
||||||
add_subdirectory(openair3)
|
add_subdirectory(openair3)
|
||||||
|
add_subdirectory(radio)
|
||||||
|
|||||||
@@ -464,6 +464,26 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stage ("SA-OAIUE-CN5G") {
|
||||||
|
when { expression {do5Gtest} }
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
triggerCN5GSlaveJob ('RAN-SA-OAIUE-CN5G', 'RAN-SA-OAIUE-CN5G')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
script {
|
||||||
|
finalizeSlaveJob('RAN-SA-OAIUE-CN5G')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
failure {
|
||||||
|
script {
|
||||||
|
currentBuild.result = 'FAILURE'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage ("DockerHub-Push") {
|
stage ("DockerHub-Push") {
|
||||||
|
|||||||
@@ -0,0 +1,242 @@
|
|||||||
|
#!/bin/groovy
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Location of the executor node
|
||||||
|
def pythonExecutor = params.pythonExecutor
|
||||||
|
|
||||||
|
// Location of the test XML file to be run
|
||||||
|
def testXMLFile = params.pythonTestXmlFile
|
||||||
|
def mainPythonAllXmlFiles = ""
|
||||||
|
def buildStageStatus = true
|
||||||
|
|
||||||
|
// Name of the test stage
|
||||||
|
def testStageName = params.pipelineTestStageName
|
||||||
|
|
||||||
|
// Name of the resource
|
||||||
|
def lockResources = []
|
||||||
|
if (params.LockResources != null && params.LockResources.trim().length() > 0)
|
||||||
|
params.LockResources.trim().split(",").each{lockResources += [resource: it.trim()]}
|
||||||
|
|
||||||
|
// Global Parameters. Normally they should be populated when the master job
|
||||||
|
// triggers the slave job with parameters
|
||||||
|
def eNB_Repository
|
||||||
|
def eNB_Branch
|
||||||
|
def eNB_CommitID
|
||||||
|
def eNB_AllowMergeRequestProcess = false
|
||||||
|
def eNB_TargetBranch
|
||||||
|
|
||||||
|
// Flags
|
||||||
|
def scmEvent = false
|
||||||
|
def upstreamEvent = false
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------
|
||||||
|
// Pipeline start
|
||||||
|
pipeline {
|
||||||
|
agent {
|
||||||
|
label pythonExecutor
|
||||||
|
}
|
||||||
|
options {
|
||||||
|
timestamps()
|
||||||
|
ansiColor('xterm')
|
||||||
|
lock(extra: lockResources)
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('Verify Parameters') {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
|
||||||
|
|
||||||
|
JOB_TIMESTAMP = sh returnStdout: true, script: 'date --utc --rfc-3339=seconds | sed -e "s#+00:00##"'
|
||||||
|
JOB_TIMESTAMP = JOB_TIMESTAMP.trim()
|
||||||
|
|
||||||
|
def allParametersPresent = true
|
||||||
|
|
||||||
|
// It is already to late to check it
|
||||||
|
if (params.pythonExecutor != null) {
|
||||||
|
echo "eNB CI executor node : ${pythonExecutor}"
|
||||||
|
}
|
||||||
|
// If not present picking a default Stage Name
|
||||||
|
if (params.pipelineTestStageName == null) {
|
||||||
|
// picking default
|
||||||
|
testStageName = 'Template Test Stage'
|
||||||
|
}
|
||||||
|
if (params.LockResources == null) {
|
||||||
|
echo "no LockResources given"
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.eNB_IPAddress == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.eNB_SourceCodePath == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.eNB_Credentials == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.eNB1_IPAddress == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.eNB1_SourceCodePath == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.eNB1_Credentials == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
// the following 4 parameters should be pushed by the master trigger
|
||||||
|
// if not present, take the job GIT variables (used for developing)
|
||||||
|
if (params.eNB_Repository == null) {
|
||||||
|
eNB_Repository = env.GIT_URL
|
||||||
|
} else {
|
||||||
|
eNB_Repository = params.eNB_Repository
|
||||||
|
}
|
||||||
|
echo "eNB_Repository : ${eNB_Repository}"
|
||||||
|
if (params.eNB_Branch == null) {
|
||||||
|
eNB_Branch = env.GIT_BRANCH
|
||||||
|
} else {
|
||||||
|
eNB_Branch = params.eNB_Branch
|
||||||
|
}
|
||||||
|
echo "eNB_Branch : ${eNB_Branch}"
|
||||||
|
if (params.eNB_CommitID == null) {
|
||||||
|
eNB_CommitID = env.GIT_COMMIT
|
||||||
|
} else {
|
||||||
|
eNB_CommitID = params.eNB_CommitID
|
||||||
|
}
|
||||||
|
echo "eNB_CommitID : ${eNB_CommitID}"
|
||||||
|
if (params.eNB_mergeRequest != null) {
|
||||||
|
eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
|
||||||
|
if (eNB_AllowMergeRequestProcess) {
|
||||||
|
if (params.eNB_TargetBranch != null) {
|
||||||
|
eNB_TargetBranch = params.eNB_TargetBranch
|
||||||
|
} else {
|
||||||
|
eNB_TargetBranch = 'develop'
|
||||||
|
}
|
||||||
|
echo "eNB_TargetBranch : ${eNB_TargetBranch}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (params.EPC_IPAddress == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.EPC_Type == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.EPC_SourceCodePath == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.EPC_Credentials == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.OC_Credentials == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (params.OC_ProjectName == null) {
|
||||||
|
allParametersPresent = false
|
||||||
|
}
|
||||||
|
if (allParametersPresent) {
|
||||||
|
echo "All parameters are present"
|
||||||
|
if (eNB_AllowMergeRequestProcess) {
|
||||||
|
sh "git fetch"
|
||||||
|
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
|
||||||
|
} else {
|
||||||
|
sh "git fetch"
|
||||||
|
sh "git checkout -f ${eNB_CommitID}"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo "Some parameters are missing"
|
||||||
|
sh "./ci-scripts/fail.sh"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ("Deploy and Test") {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
dir ('ci-scripts') {
|
||||||
|
echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
|
||||||
|
// If not present picking a default XML file
|
||||||
|
if (params.pythonTestXmlFile == null) {
|
||||||
|
// picking default
|
||||||
|
testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
|
||||||
|
echo "Test XML file(default): ${testXMLFile}"
|
||||||
|
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
|
||||||
|
} else {
|
||||||
|
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
||||||
|
for (xmlFile in myXmlTestSuite) {
|
||||||
|
if (fileExists(xmlFile)) {
|
||||||
|
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
|
||||||
|
echo "Test XML file : ${xmlFile}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
withCredentials([
|
||||||
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
|
||||||
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
|
||||||
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
||||||
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password']
|
||||||
|
]) {
|
||||||
|
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
|
||||||
|
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
||||||
|
for (xmlFile in myXmlTestSuite) {
|
||||||
|
if (fileExists(xmlFile)) {
|
||||||
|
try {
|
||||||
|
sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath}"
|
||||||
|
} catch (Exception e) {
|
||||||
|
currentBuild.result = 'FAILURE'
|
||||||
|
buildStageStatus = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage ("Log Collection") {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
dir ('ci-scripts') {
|
||||||
|
// Zipping all archived log files
|
||||||
|
sh "mkdir test_logs"
|
||||||
|
sh "mv *.log* test_logs || true"
|
||||||
|
sh "zip -r -qq test_logs_${env.BUILD_ID}.zip *test_log*/"
|
||||||
|
sh "rm -rf *test_log*/"
|
||||||
|
if (fileExists("test_logs_${env.BUILD_ID}.zip")) {
|
||||||
|
archiveArtifacts artifacts: "test_logs_${env.BUILD_ID}.zip"
|
||||||
|
}
|
||||||
|
if (fileExists("test_logs_CN.zip")){
|
||||||
|
sh "mv test_logs_CN.zip test_logs_CN_${env.BUILD_ID}.zip"
|
||||||
|
archiveArtifacts artifacts: "test_logs_CN_${env.BUILD_ID}.zip"
|
||||||
|
}
|
||||||
|
if (fileExists("test_results.html")) {
|
||||||
|
sh "mv test_results.html test_results-${env.JOB_NAME}.html"
|
||||||
|
sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
|
||||||
|
archiveArtifacts artifacts: "test_results-${env.JOB_NAME}.html"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+76
-17
@@ -4,7 +4,7 @@ idefix:
|
|||||||
TermScript: sudo -S killall --signal SIGKILL quectel-CM
|
TermScript: sudo -S killall --signal SIGKILL quectel-CM
|
||||||
AttachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 wup
|
AttachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 wup
|
||||||
DetachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 detach
|
DetachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 detach
|
||||||
UENetworkScript: ip a show dev wwan0
|
NetworkScript: ip a show dev wwan0
|
||||||
IF: wwan0
|
IF: wwan0
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
Trace: True
|
Trace: True
|
||||||
@@ -15,7 +15,7 @@ nrmodule2_quectel:
|
|||||||
TermScript: sudo -S killall --signal SIGKILL quectel-CM
|
TermScript: sudo -S killall --signal SIGKILL quectel-CM
|
||||||
AttachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 wup
|
AttachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 wup
|
||||||
DetachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 detach
|
DetachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 detach
|
||||||
UENetworkScript: ip a show dev wwan0
|
NetworkScript: ip a show dev wwan0
|
||||||
IF: wwan0
|
IF: wwan0
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
LogStore: /media/ci_qlogs
|
LogStore: /media/ci_qlogs
|
||||||
@@ -29,7 +29,7 @@ adb_ue_1:
|
|||||||
CheckStatusScript: /home/oaicicd/ci_ctl_adb.sh check R3CM40LZPHT
|
CheckStatusScript: /home/oaicicd/ci_ctl_adb.sh check R3CM40LZPHT
|
||||||
DataEnableScript: adb -s R3CM40LZPHT shell "svc data enable"
|
DataEnableScript: adb -s R3CM40LZPHT shell "svc data enable"
|
||||||
DataDisableScript: adb -s R3CM40LZPHT shell "svc data disable"
|
DataDisableScript: adb -s R3CM40LZPHT shell "svc data disable"
|
||||||
UENetworkScript: adb -s R3CM40LZPHT shell "ip address show | grep rmnet_data0"
|
NetworkScript: adb -s R3CM40LZPHT shell "ip address show | grep rmnet_data0"
|
||||||
CmdPrefix: adb -s R3CM40LZPHT shell
|
CmdPrefix: adb -s R3CM40LZPHT shell
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
LogStore: /media/usb-drive/ci_adb_1-logs
|
LogStore: /media/usb-drive/ci_adb_1-logs
|
||||||
@@ -42,7 +42,7 @@ adb_ue_2:
|
|||||||
CheckStatusScript: /home/oaicicd/ci_ctl_adb.sh check 5200c00db4413517
|
CheckStatusScript: /home/oaicicd/ci_ctl_adb.sh check 5200c00db4413517
|
||||||
DataEnableScript: adb -s 5200c00db4413517 shell "svc data enable"
|
DataEnableScript: adb -s 5200c00db4413517 shell "svc data enable"
|
||||||
DataDisableScript: adb -s 5200c00db4413517 shell "svc data disable"
|
DataDisableScript: adb -s 5200c00db4413517 shell "svc data disable"
|
||||||
UENetworkScript: adb -s 5200c00db4413517 shell "ip address show | grep rmnet"
|
NetworkScript: adb -s 5200c00db4413517 shell "ip address show | grep rmnet"
|
||||||
CmdPrefix: adb -s 5200c00db4413517 shell
|
CmdPrefix: adb -s 5200c00db4413517 shell
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
LogStore: /media/usb-drive/ci_adb_2-logs
|
LogStore: /media/usb-drive/ci_adb_2-logs
|
||||||
@@ -55,74 +55,133 @@ amarisoft_ue_1:
|
|||||||
Host: amariue
|
Host: amariue
|
||||||
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":1}'
|
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":1}'
|
||||||
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":1}'
|
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":1}'
|
||||||
UENetworkScript: ip netns exec ue1 ip a show dev pdn0
|
NetworkScript: ip netns exec ue1 ip a show dev pdn0
|
||||||
CmdPrefix: ip netns exec ue1
|
CmdPrefix: ip netns exec ue1
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
amarisoft_ue_2:
|
amarisoft_ue_2:
|
||||||
Host: amariue
|
Host: amariue
|
||||||
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":2}'
|
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":2}'
|
||||||
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":2}'
|
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":2}'
|
||||||
UENetworkScript: ip netns exec ue2 ip a show dev pdn0
|
NetworkScript: ip netns exec ue2 ip a show dev pdn0
|
||||||
CmdPrefix: ip netns exec ue2
|
CmdPrefix: ip netns exec ue2
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
amarisoft_ue_3:
|
amarisoft_ue_3:
|
||||||
Host: amariue
|
Host: amariue
|
||||||
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":3}'
|
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":3}'
|
||||||
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":3}'
|
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":3}'
|
||||||
UENetworkScript: ip netns exec ue3 ip a show dev pdn0
|
NetworkScript: ip netns exec ue3 ip a show dev pdn0
|
||||||
CmdPrefix: ip netns exec ue3
|
CmdPrefix: ip netns exec ue3
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
amarisoft_ue_4:
|
amarisoft_ue_4:
|
||||||
Host: amariue
|
Host: amariue
|
||||||
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":4}'
|
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":4}'
|
||||||
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":4}'
|
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":4}'
|
||||||
UENetworkScript: ip netns exec ue4 ip a show dev pdn0
|
NetworkScript: ip netns exec ue4 ip a show dev pdn0
|
||||||
CmdPrefix: ip netns exec ue4
|
CmdPrefix: ip netns exec ue4
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
amarisoft_ue_5:
|
amarisoft_ue_5:
|
||||||
Host: amariue
|
Host: amariue
|
||||||
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":5}'
|
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":5}'
|
||||||
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":5}'
|
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":5}'
|
||||||
UENetworkScript: ip netns exec ue5 ip a show dev pdn0
|
NetworkScript: ip netns exec ue5 ip a show dev pdn0
|
||||||
CmdPrefix: ip netns exec ue5
|
CmdPrefix: ip netns exec ue5
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
amarisoft_ue_6:
|
amarisoft_ue_6:
|
||||||
Host: amariue
|
Host: amariue
|
||||||
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":6}'
|
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":6}'
|
||||||
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":6}'
|
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":6}'
|
||||||
UENetworkScript: ip netns exec ue6 ip a show dev pdn0
|
NetworkScript: ip netns exec ue6 ip a show dev pdn0
|
||||||
CmdPrefix: ip netns exec ue6
|
CmdPrefix: ip netns exec ue6
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
amarisoft_ue_7:
|
amarisoft_ue_7:
|
||||||
Host: amariue
|
Host: amariue
|
||||||
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":7}'
|
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":7}'
|
||||||
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":7}'
|
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":7}'
|
||||||
UENetworkScript: ip netns exec ue7 ip a show dev pdn0
|
NetworkScript: ip netns exec ue7 ip a show dev pdn0
|
||||||
CmdPrefix: ip netns exec ue7
|
CmdPrefix: ip netns exec ue7
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
amarisoft_ue_8:
|
amarisoft_ue_8:
|
||||||
Host: amariue
|
Host: amariue
|
||||||
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":8}'
|
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":8}'
|
||||||
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":8}'
|
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":8}'
|
||||||
UENetworkScript: ip netns exec ue8 ip a show dev pdn0
|
NetworkScript: ip netns exec ue8 ip a show dev pdn0
|
||||||
CmdPrefix: ip netns exec ue8
|
CmdPrefix: ip netns exec ue8
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
amarisoft_ue_9:
|
amarisoft_ue_9:
|
||||||
Host: amariue
|
Host: amariue
|
||||||
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":9}'
|
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":9}'
|
||||||
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":9}'
|
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":9}'
|
||||||
UENetworkScript: ip netns exec ue9 ip a show dev pdn0
|
NetworkScript: ip netns exec ue9 ip a show dev pdn0
|
||||||
CmdPrefix: ip netns exec ue9
|
CmdPrefix: ip netns exec ue9
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
amarisoft_ue_10:
|
amarisoft_ue_10:
|
||||||
Host: amariue
|
Host: amariue
|
||||||
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":10}'
|
AttachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":10}'
|
||||||
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":10}'
|
DetachScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":10}'
|
||||||
UENetworkScript: ip netns exec ue10 ip a show dev pdn0
|
NetworkScript: ip netns exec ue10 ip a show dev pdn0
|
||||||
CmdPrefix: ip netns exec ue10
|
CmdPrefix: ip netns exec ue10
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
|
|
||||||
oai_ue_obelix:
|
oai_ue_caracal:
|
||||||
Host: obelix
|
Host: caracal
|
||||||
UENetworkScript: ip a show dev oaitun_ue1
|
AttachScript: 'docker start oai-nr-ue'
|
||||||
|
DetachScript: 'docker stop oai-nr-ue'
|
||||||
|
NetworkScript: ip a show dev oaitun_ue1
|
||||||
IF: oaitun_ue1
|
IF: oaitun_ue1
|
||||||
|
MTU: 1500
|
||||||
|
|
||||||
|
rfsim5g_gnb_nos1:
|
||||||
|
Host: localhost
|
||||||
|
NetworkScript: docker exec rfsim5g-oai-gnb ip a show dev oaitun_enb1
|
||||||
|
CmdPrefix: docker exec rfsim5g-oai-gnb
|
||||||
|
IF: oaitun_enb1
|
||||||
|
|
||||||
|
rfsim5g_ue:
|
||||||
|
Host: localhost
|
||||||
|
NetworkScript: docker exec rfsim5g-oai-nr-ue ip a show dev oaitun_ue1
|
||||||
|
CmdPrefix: docker exec rfsim5g-oai-nr-ue
|
||||||
|
IF: oaitun_ue1
|
||||||
|
|
||||||
|
rfsim5g_ext_dn:
|
||||||
|
Host: localhost
|
||||||
|
NetworkScript: docker exec rfsim5g-oai-ext-dn ip a show dev eth0
|
||||||
|
CmdPrefix: docker exec rfsim5g-oai-ext-dn
|
||||||
|
|
||||||
|
rfsim4g_ue:
|
||||||
|
Host: localhost
|
||||||
|
NetworkScript: docker exec rfsim4g-oai-lte-ue0 ip a show dev oaitun_ue1
|
||||||
|
CmdPrefix: docker exec rfsim4g-oai-lte-ue0
|
||||||
|
IF: oaitun_ue1
|
||||||
|
|
||||||
|
rfsim4g_ext_dn:
|
||||||
|
Host: localhost
|
||||||
|
NetworkScript: docker exec rfsim4g-trf-gen ip a show dev eth0
|
||||||
|
CmdPrefix: docker exec rfsim4g-trf-gen
|
||||||
|
|
||||||
|
rfsim4g_enb_nos1:
|
||||||
|
Host: localhost
|
||||||
|
NetworkScript: docker exec rfsim4g-oai-enb ip a show dev oaitun_enb1
|
||||||
|
CmdPrefix: docker exec rfsim4g-oai-enb
|
||||||
|
IF: oaitun_enb1
|
||||||
|
|
||||||
|
l2sim5g_ue:
|
||||||
|
Host: localhost
|
||||||
|
NetworkScript: docker exec l2sim-oai-nr-ue0 ip a show dev oaitun_ue1
|
||||||
|
CmdPrefix: docker exec l2sim-oai-nr-ue0
|
||||||
|
IF: oaitun_ue1
|
||||||
|
|
||||||
|
l2sim5g_ext_dn:
|
||||||
|
Host: localhost
|
||||||
|
NetworkScript: docker exec l2sim-oai-ext-dn ip a show dev eth0
|
||||||
|
CmdPrefix: docker exec l2sim-oai-ext-dn
|
||||||
|
|
||||||
|
l2sim4g_ue:
|
||||||
|
Host: localhost
|
||||||
|
NetworkScript: docker exec l2sim4g-oai-lte-ue1 ip a show dev oaitun_ue1
|
||||||
|
CmdPrefix: docker exec l2sim4g-oai-lte-ue1
|
||||||
|
IF: oaitun_ue1
|
||||||
|
|
||||||
|
l2sim4g_ext_dn:
|
||||||
|
Host: localhost
|
||||||
|
NetworkScript: docker exec l2sim4g-trf-gen ip a show dev eth0
|
||||||
|
CmdPrefix: docker exec l2sim4g-trf-gen
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ class Cluster:
|
|||||||
self.ranTargetBranch = ""
|
self.ranTargetBranch = ""
|
||||||
self.cmd = None
|
self.cmd = None
|
||||||
self.imageToPull = ''
|
self.imageToPull = ''
|
||||||
|
self.testSvrId = None
|
||||||
|
|
||||||
def _recreate_entitlements(self):
|
def _recreate_entitlements(self):
|
||||||
# recreating entitlements, don't care if deletion fails
|
# recreating entitlements, don't care if deletion fails
|
||||||
@@ -195,12 +196,13 @@ class Cluster:
|
|||||||
self.cmd.run(f'oc delete -f {filename}')
|
self.cmd.run(f'oc delete -f {filename}')
|
||||||
|
|
||||||
def PullClusterImage(self, HTML, RAN):
|
def PullClusterImage(self, HTML, RAN):
|
||||||
|
if self.testSvrId == None: self.testSvrId = self.eNBIPAddress
|
||||||
if self.imageToPull == '':
|
if self.imageToPull == '':
|
||||||
HELP.GenericHelp(CONST.Version)
|
HELP.GenericHelp(CONST.Version)
|
||||||
HELP.EPCSrvHelp(self.imageToPull)
|
sys.exit('Insufficient Parameter')
|
||||||
sys.exit('Insufficient eNB Parameters')
|
logging.debug(f'Pull OC image {self.imageToPull} to server {self.testSvrId}')
|
||||||
self.testCase_id = HTML.testCase_id
|
self.testCase_id = HTML.testCase_id
|
||||||
cmd = cls_cmd.getConnection(self.eNBIPAddress)
|
cmd = cls_cmd.getConnection(self.testSvrId)
|
||||||
succeeded = OC_login(cmd, self.OCUserName, self.OCPassword, CI_OC_RAN_NAMESPACE)
|
succeeded = OC_login(cmd, self.OCUserName, self.OCPassword, CI_OC_RAN_NAMESPACE)
|
||||||
if not succeeded:
|
if not succeeded:
|
||||||
logging.error('\u001B[1m OC Cluster Login Failed\u001B[0m')
|
logging.error('\u001B[1m OC Cluster Login Failed\u001B[0m')
|
||||||
|
|||||||
@@ -118,11 +118,14 @@ class LocalCmd(Cmd):
|
|||||||
def getBefore(self):
|
def getBefore(self):
|
||||||
return self.cp.stdout
|
return self.cp.stdout
|
||||||
|
|
||||||
def copyin(self, scpIp, scpUser, scpPw, src, tgt):
|
def copyin(self, src, tgt, recursive=False):
|
||||||
self.run(f'cp -r {src} {tgt}')
|
if src[0] != '/' or tgt[0] != '/':
|
||||||
|
raise Exception('support only absolute file paths!')
|
||||||
|
opt = '-r' if recursive else ''
|
||||||
|
self.run(f'cp {opt} {src} {tgt}')
|
||||||
|
|
||||||
def copyout(self, scpIp, scpUser, scpPw, src, tgt):
|
def copyout(self, src, tgt, recursive=False):
|
||||||
self.run(f'cp -r {src} {tgt}')
|
self.copyin(src, tgt, recursive)
|
||||||
|
|
||||||
class RemoteCmd(Cmd):
|
class RemoteCmd(Cmd):
|
||||||
def __init__(self, hostname, d=None):
|
def __init__(self, hostname, d=None):
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ import cls_cmd
|
|||||||
import sshconnection as SSH
|
import sshconnection as SSH
|
||||||
import helpreadme as HELP
|
import helpreadme as HELP
|
||||||
import constants as CONST
|
import constants as CONST
|
||||||
|
import cls_oaicitest
|
||||||
#-----------------------------------------------------------
|
#-----------------------------------------------------------
|
||||||
# Helper functions used here and in other classes
|
# Helper functions used here and in other classes
|
||||||
# (e.g., cls_cluster.py)
|
# (e.g., cls_cluster.py)
|
||||||
@@ -838,7 +838,7 @@ class Containerize():
|
|||||||
|
|
||||||
mySSH.command('cd ' + lSourcePath + '/' + self.yamlPath[self.eNB_instance], '\$', 5)
|
mySSH.command('cd ' + lSourcePath + '/' + self.yamlPath[self.eNB_instance], '\$', 5)
|
||||||
mySSH.command('cp docker-compose.y*ml ci-docker-compose.yml', '\$', 5)
|
mySSH.command('cp docker-compose.y*ml ci-docker-compose.yml', '\$', 5)
|
||||||
imagesList = ['oai-enb', 'oai-gnb', 'oai-nr-cuup', 'oai-gnb-aw2s']
|
imagesList = ['oai-enb', 'oai-gnb', 'oai-nr-cuup', 'oai-gnb-aw2s', 'oai-nr-ue']
|
||||||
for image in imagesList:
|
for image in imagesList:
|
||||||
imageTag = ImageTagToUse(image, self.ranCommitID, self.ranBranch, self.ranAllowMerge)
|
imageTag = ImageTagToUse(image, self.ranCommitID, self.ranBranch, self.ranAllowMerge)
|
||||||
mySSH.command(f'sed -i -e "s#image: {image}:latest#image: oai-ci/{imageTag}#" ci-docker-compose.yml', '\$', 2)
|
mySSH.command(f'sed -i -e "s#image: {image}:latest#image: oai-ci/{imageTag}#" ci-docker-compose.yml', '\$', 2)
|
||||||
@@ -875,6 +875,7 @@ class Containerize():
|
|||||||
else:
|
else:
|
||||||
time.sleep(10)
|
time.sleep(10)
|
||||||
cnt += 1
|
cnt += 1
|
||||||
|
|
||||||
mySSH.command('docker inspect --format="ImageUsed: {{.Config.Image}}" ' + containerName, '\$', 5)
|
mySSH.command('docker inspect --format="ImageUsed: {{.Config.Image}}" ' + containerName, '\$', 5)
|
||||||
for stdoutLine in mySSH.getBefore().split('\n'):
|
for stdoutLine in mySSH.getBefore().split('\n'):
|
||||||
if stdoutLine.count('ImageUsed: oai-ci'):
|
if stdoutLine.count('ImageUsed: oai-ci'):
|
||||||
@@ -901,7 +902,7 @@ class Containerize():
|
|||||||
cnt = 0
|
cnt = 0
|
||||||
while (cnt < 20):
|
while (cnt < 20):
|
||||||
mySSH.command('docker logs ' + containerName + ' | egrep --text --color=never -i "wait|sync|Starting"', '\$', 30)
|
mySSH.command('docker logs ' + containerName + ' | egrep --text --color=never -i "wait|sync|Starting"', '\$', 30)
|
||||||
result = re.search('got sync|Starting F1AP at CU|Waiting for RUs to be configured', mySSH.getBefore())
|
result = re.search('got sync|Starting F1AP at CU|Got sync|Waiting for RUs to be configured', mySSH.getBefore())
|
||||||
if result is None:
|
if result is None:
|
||||||
time.sleep(6)
|
time.sleep(6)
|
||||||
cnt += 1
|
cnt += 1
|
||||||
@@ -991,7 +992,6 @@ class Containerize():
|
|||||||
mySSH.command('docker volume prune --force', '\$', 20)
|
mySSH.command('docker volume prune --force', '\$', 20)
|
||||||
|
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
|
|
||||||
# Analyzing log file!
|
# Analyzing log file!
|
||||||
files = ','.join([f'{s}-{HTML.testCase_id}' for s in services])
|
files = ','.join([f'{s}-{HTML.testCase_id}' for s in services])
|
||||||
if len(services) > 1:
|
if len(services) > 1:
|
||||||
@@ -1003,6 +1003,16 @@ class Containerize():
|
|||||||
HTML.htmleNBFailureMsg='Could not copy logfile to analyze it!'
|
HTML.htmleNBFailureMsg='Could not copy logfile to analyze it!'
|
||||||
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.ENB_PROCESS_NOLOGFILE_TO_ANALYZE)
|
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.ENB_PROCESS_NOLOGFILE_TO_ANALYZE)
|
||||||
self.exitStatus = 1
|
self.exitStatus = 1
|
||||||
|
# use function for UE log analysis, when oai-nr-ue container is used
|
||||||
|
elif 'oai-nr-ue' in services:
|
||||||
|
self.exitStatus == 0
|
||||||
|
logging.debug('\u001B[1m Analyzing UE logfile ' + filename + ' \u001B[0m')
|
||||||
|
logStatus = cls_oaicitest.OaiCiTest().AnalyzeLogFile_UE(f'{filename}', HTML, RAN)
|
||||||
|
if (logStatus < 0):
|
||||||
|
fullStatus = False
|
||||||
|
HTML.CreateHtmlTestRow('UE log Analysis', 'KO', logStatus)
|
||||||
|
else:
|
||||||
|
HTML.CreateHtmlTestRow('UE log Analysis', 'OK', CONST.ALL_PROCESSES_OK)
|
||||||
else:
|
else:
|
||||||
for svcName in services:
|
for svcName in services:
|
||||||
filename = f'{svcName}-{HTML.testCase_id}.log'
|
filename = f'{svcName}-{HTML.testCase_id}.log'
|
||||||
@@ -1339,62 +1349,6 @@ class Containerize():
|
|||||||
|
|
||||||
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', [message])
|
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', [message])
|
||||||
|
|
||||||
def PingFromContainer(self, HTML, RAN, UE):
|
|
||||||
myCmd = cls_cmd.LocalCmd()
|
|
||||||
self.exitStatus = 0
|
|
||||||
ymlPath = self.yamlPath[0].split('/')
|
|
||||||
logPath = '../cmake_targets/log/' + ymlPath[1]
|
|
||||||
cmd = f'mkdir -p {logPath}'
|
|
||||||
myCmd.run(cmd, silent=True)
|
|
||||||
|
|
||||||
cmd = f'docker exec {self.pingContName} /bin/bash -c "ping {self.pingOptions}" 2>&1 | tee {logPath}/ping_{HTML.testCase_id}.log'
|
|
||||||
pingStatus = myCmd.run(cmd, timeout=100, reportNonZero=False)
|
|
||||||
myCmd.close()
|
|
||||||
|
|
||||||
result = re.search(', (?P<packetloss>[0-9\.]+)% packet loss, time [0-9\.]+ms', pingStatus.stdout)
|
|
||||||
if result is None:
|
|
||||||
self.PingExit(HTML, RAN, UE, False, 'Packet Loss Not Found')
|
|
||||||
return
|
|
||||||
|
|
||||||
packetloss = result.group('packetloss')
|
|
||||||
if float(packetloss) == 100:
|
|
||||||
self.PingExit(HTML, RAN, UE, False, 'Packet Loss is 100%')
|
|
||||||
return
|
|
||||||
|
|
||||||
result = re.search('rtt min\/avg\/max\/mdev = (?P<rtt_min>[0-9\.]+)\/(?P<rtt_avg>[0-9\.]+)\/(?P<rtt_max>[0-9\.]+)\/[0-9\.]+ ms', pingStatus.stdout)
|
|
||||||
if result is None:
|
|
||||||
self.PingExit(HTML, RAN, UE, False, 'Ping RTT_Min RTT_Avg RTT_Max Not Found!')
|
|
||||||
return
|
|
||||||
|
|
||||||
rtt_min = result.group('rtt_min')
|
|
||||||
rtt_avg = result.group('rtt_avg')
|
|
||||||
rtt_max = result.group('rtt_max')
|
|
||||||
pal_msg = 'Packet Loss : ' + packetloss + '%'
|
|
||||||
min_msg = 'RTT(Min) : ' + rtt_min + ' ms'
|
|
||||||
avg_msg = 'RTT(Avg) : ' + rtt_avg + ' ms'
|
|
||||||
max_msg = 'RTT(Max) : ' + rtt_max + ' ms'
|
|
||||||
|
|
||||||
message = 'ping result\n'
|
|
||||||
message += ' ' + pal_msg + '\n'
|
|
||||||
message += ' ' + min_msg + '\n'
|
|
||||||
message += ' ' + avg_msg + '\n'
|
|
||||||
message += ' ' + max_msg + '\n'
|
|
||||||
packetLossOK = True
|
|
||||||
if float(packetloss) > float(self.pingLossThreshold):
|
|
||||||
message += '\nPacket Loss too high'
|
|
||||||
packetLossOK = False
|
|
||||||
elif float(packetloss) > 0:
|
|
||||||
message += '\nPacket Loss is not 0%'
|
|
||||||
self.PingExit(HTML, RAN, UE, packetLossOK, message)
|
|
||||||
|
|
||||||
if packetLossOK:
|
|
||||||
logging.debug('\u001B[1;37;44m ping result \u001B[0m')
|
|
||||||
logging.debug('\u001B[1;34m ' + pal_msg + '\u001B[0m')
|
|
||||||
logging.debug('\u001B[1;34m ' + min_msg + '\u001B[0m')
|
|
||||||
logging.debug('\u001B[1;34m ' + avg_msg + '\u001B[0m')
|
|
||||||
logging.debug('\u001B[1;34m ' + max_msg + '\u001B[0m')
|
|
||||||
logging.info('\u001B[1m Ping Test PASS\u001B[0m')
|
|
||||||
|
|
||||||
def PingExit(self, HTML, RAN, UE, status, message):
|
def PingExit(self, HTML, RAN, UE, status, message):
|
||||||
if status:
|
if status:
|
||||||
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', [message])
|
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', [message])
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ class Module_UE:
|
|||||||
"detach": m.get('DetachScript'),
|
"detach": m.get('DetachScript'),
|
||||||
"initialize": m.get('InitScript'),
|
"initialize": m.get('InitScript'),
|
||||||
"terminate": m.get('TermScript'),
|
"terminate": m.get('TermScript'),
|
||||||
"getNetwork": m.get('UENetworkScript'),
|
"getNetwork": m.get('NetworkScript'),
|
||||||
"check": m.get('CheckStatusScript'),
|
"check": m.get('CheckStatusScript'),
|
||||||
"dataEnable": m.get('DataEnableScript'),
|
"dataEnable": m.get('DataEnableScript'),
|
||||||
"dataDisable": m.get('DataDisableScript'),
|
"dataDisable": m.get('DataDisableScript'),
|
||||||
|
|||||||
+21
-24
@@ -511,37 +511,34 @@ class OaiCiTest():
|
|||||||
return (False, f"UE {ue.getName()} has no IP address")
|
return (False, f"UE {ue.getName()} has no IP address")
|
||||||
ping_log_file = f'ping_{self.testCase_id}_{ue.getName()}.log'
|
ping_log_file = f'ping_{self.testCase_id}_{ue.getName()}.log'
|
||||||
ping_time = re.findall("-c *(\d+)",str(self.ping_args))
|
ping_time = re.findall("-c *(\d+)",str(self.ping_args))
|
||||||
#target address is different depending on EPC type
|
local_ping_log_file = f'{os.getcwd()}/{ping_log_file}'
|
||||||
if re.match('OAI-Rel14-Docker', EPC.Type, re.IGNORECASE):
|
# if has pattern %cn_ip%, replace with core IP address, else we assume the IP is present
|
||||||
Target = EPC.MmeIPAddress
|
if re.search('%cn_ip%', self.ping_args):
|
||||||
elif re.match('OAICN5G', EPC.Type, re.IGNORECASE):
|
#target address is different depending on EPC type
|
||||||
Target = EPC.MmeIPAddress
|
if re.match('OAI-Rel14-Docker', EPC.Type, re.IGNORECASE):
|
||||||
elif re.match('OC-OAI-CN5G', EPC.Type, re.IGNORECASE):
|
self.ping_args = re.sub('%cn_ip%', EPC.MmeIPAddress, self.ping_args)
|
||||||
Target = "172.21.6.100"
|
elif re.match('OAICN5G', EPC.Type, re.IGNORECASE):
|
||||||
else:
|
self.ping_args = re.sub('%cn_ip%', EPC.MmeIPAddress, self.ping_args)
|
||||||
Target = EPC.IPAddress
|
elif re.match('OC-OAI-CN5G', EPC.Type, re.IGNORECASE):
|
||||||
|
self.ping_args = re.sub('%cn_ip%', '172.21.6.100', self.ping_args)
|
||||||
|
else:
|
||||||
|
self.ping_args = re.sub('%cn_ip%', EPC.IPAddress, self.ping_args)
|
||||||
#ping from module NIC rather than IP address to make sure round trip is over the air
|
#ping from module NIC rather than IP address to make sure round trip is over the air
|
||||||
interface = f'-I {ue.getIFName()}' if ue.getIFName() else ''
|
interface = f'-I {ue.getIFName()}' if ue.getIFName() else ''
|
||||||
ping_cmd = f'{ue.getCmdPrefix()} ping {interface} {self.ping_args} {Target} &> /tmp/{ping_log_file}'
|
ping_cmd = f'{ue.getCmdPrefix()} ping {interface} {self.ping_args} 2>&1 | tee /tmp/{ping_log_file}'
|
||||||
cmd = cls_cmd.getConnection(ue.getHost())
|
cmd = cls_cmd.getConnection(ue.getHost())
|
||||||
response = cmd.run(ping_cmd, timeout=int(ping_time[0])*1.5)
|
response = cmd.run(ping_cmd, timeout=int(ping_time[0])*1.5)
|
||||||
if response.returncode != 0:
|
if response.returncode != 0:
|
||||||
ping_status = -1
|
|
||||||
else:
|
|
||||||
#copy the ping log file to have it locally for analysis (ping stats)
|
|
||||||
cmd.copyin(src=f'/tmp/{ping_log_file}', tgt=ping_log_file)
|
|
||||||
|
|
||||||
cmd.close()
|
|
||||||
|
|
||||||
# TIMEOUT CASE
|
|
||||||
ue_header = f'UE {ue.getName()} ({ueIP})'
|
|
||||||
if ping_status < 0:
|
|
||||||
message = ue_header + ': ping crashed: TIMEOUT?'
|
message = ue_header + ': ping crashed: TIMEOUT?'
|
||||||
logging.error('\u001B[1;37;41m ' + message + ' \u001B[0m')
|
logging.error('\u001B[1;37;41m ' + message + ' \u001B[0m')
|
||||||
return (False, message)
|
return (False, message)
|
||||||
#search is done on cat result
|
|
||||||
logging.debug('Analyzing Ping log file : ' + os.getcwd() + '/' + ping_log_file)
|
#copy the ping log file to have it locally for analysis (ping stats)
|
||||||
with open(ping_log_file, 'r') as f:
|
cmd.copyin(src=f'/tmp/{ping_log_file}', tgt=local_ping_log_file)
|
||||||
|
cmd.close()
|
||||||
|
|
||||||
|
ue_header = f'UE {ue.getName()} ({ueIP})'
|
||||||
|
with open(local_ping_log_file, 'r') as f:
|
||||||
ping_output = "".join(f.readlines())
|
ping_output = "".join(f.readlines())
|
||||||
result = re.search(', (?P<packetloss>[0-9\.]+)% packet loss, time [0-9\.]+ms', ping_output)
|
result = re.search(', (?P<packetloss>[0-9\.]+)% packet loss, time [0-9\.]+ms', ping_output)
|
||||||
if result is None:
|
if result is None:
|
||||||
@@ -1062,7 +1059,7 @@ class OaiCiTest():
|
|||||||
cmd = cls_cmd.getConnection(ue.getHost())
|
cmd = cls_cmd.getConnection(ue.getHost())
|
||||||
cmd.run(f'rm /tmp/{server_filename}', reportNonZero=False)
|
cmd.run(f'rm /tmp/{server_filename}', reportNonZero=False)
|
||||||
port = f'{5002+idx}'
|
port = f'{5002+idx}'
|
||||||
cmd.run(f'{ue.getCmdPrefix()} iperf3 -c {cn_target_ip} -p {port} {iperf_opt} --get-server-output &> /tmp/{server_filename}', timeout=iperf_time*1.5)
|
cmd.run(f'{ue.getCmdPrefix()} iperf3 -B {ue.getIP()} -c {cn_target_ip} -p {port} {iperf_opt} --get-server-output &> /tmp/{server_filename}', timeout=iperf_time*1.5)
|
||||||
cmd.copyin(f'/tmp/{server_filename}', server_filename)
|
cmd.copyin(f'/tmp/{server_filename}', server_filename)
|
||||||
cmd.close()
|
cmd.close()
|
||||||
if udpIperf:
|
if udpIperf:
|
||||||
|
|||||||
@@ -208,6 +208,10 @@ RUs = (
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
THREAD_STRUCT = (
|
THREAD_STRUCT = (
|
||||||
{
|
{
|
||||||
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
||||||
|
|||||||
@@ -241,6 +241,10 @@ RUs =
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
THREAD_STRUCT =
|
THREAD_STRUCT =
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -241,6 +241,10 @@ RUs =
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
THREAD_STRUCT =
|
THREAD_STRUCT =
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -241,6 +241,10 @@ RUs =
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
THREAD_STRUCT =
|
THREAD_STRUCT =
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -241,6 +241,10 @@ RUs =
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
THREAD_STRUCT =
|
THREAD_STRUCT =
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
|
|||||||
+4
@@ -374,6 +374,10 @@ RUs = (
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
THREAD_STRUCT = (
|
THREAD_STRUCT = (
|
||||||
{
|
{
|
||||||
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
||||||
@@ -217,13 +217,6 @@ THREAD_STRUCT = (
|
|||||||
worker_config = "WORKER_ENABLE";
|
worker_config = "WORKER_ENABLE";
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
rfsimulator: {
|
|
||||||
serveraddr = "server";
|
|
||||||
serverport = "4043";
|
|
||||||
options = (); #("saviq"); or/and "chanmod"
|
|
||||||
modelname = "AWGN";
|
|
||||||
IQfile = "/tmp/rfsimulator.iqs"
|
|
||||||
}
|
|
||||||
|
|
||||||
log_config :
|
log_config :
|
||||||
{
|
{
|
||||||
|
|||||||
+4
@@ -234,6 +234,10 @@ RUs = (
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
THREAD_STRUCT = (
|
THREAD_STRUCT = (
|
||||||
{
|
{
|
||||||
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
||||||
+4
@@ -212,6 +212,10 @@ RUs = (
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
THREAD_STRUCT = (
|
THREAD_STRUCT = (
|
||||||
{
|
{
|
||||||
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
||||||
@@ -0,0 +1,264 @@
|
|||||||
|
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
||||||
|
# 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";
|
||||||
|
|
||||||
|
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||||
|
tracking_area_code = 1;
|
||||||
|
|
||||||
|
plmn_list = ({mcc = 208; mnc = 99; mnc_length = 2;});
|
||||||
|
|
||||||
|
tr_s_preference = "local_mac"
|
||||||
|
|
||||||
|
////////// Physical parameters:
|
||||||
|
|
||||||
|
min_rxtxtime = 6;
|
||||||
|
|
||||||
|
servingCellConfigCommon = (
|
||||||
|
{
|
||||||
|
#spCellConfigCommon
|
||||||
|
|
||||||
|
physCellId = 0;
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
#scs-SpecificCarrierList
|
||||||
|
dl_offstToCarrier = 0;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
dl_subcarrierSpacing = 1;
|
||||||
|
dl_carrierBandwidth = 106;
|
||||||
|
#initialDownlinkBWP
|
||||||
|
#genericParameters
|
||||||
|
# this is RBstart=41,L=24 (275*(L-1))+RBstart
|
||||||
|
initialDLBWPlocationAndBandwidth = 6368;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
initialDLBWPsubcarrierSpacing = 1;
|
||||||
|
#pdcch-ConfigCommon
|
||||||
|
initialDLBWPcontrolResourceSetZero = 12;
|
||||||
|
initialDLBWPsearchSpaceZero = 0;
|
||||||
|
|
||||||
|
#uplinkConfigCommon
|
||||||
|
#frequencyInfoUL
|
||||||
|
ul_frequencyBand = 78;
|
||||||
|
#scs-SpecificCarrierList
|
||||||
|
ul_offstToCarrier = 0;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
ul_subcarrierSpacing = 1;
|
||||||
|
ul_carrierBandwidth = 106;
|
||||||
|
pMax = 20;
|
||||||
|
#initialUplinkBWP
|
||||||
|
#genericParameters
|
||||||
|
initialULBWPlocationAndBandwidth = 6368;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
initialULBWPsubcarrierSpacing = 1;
|
||||||
|
#rach-ConfigCommon
|
||||||
|
#rach-ConfigGeneric
|
||||||
|
prach_ConfigurationIndex = 98;
|
||||||
|
#prach_msg1_FDM
|
||||||
|
#0 = one, 1=two, 2=four, 3=eight
|
||||||
|
prach_msg1_FDM = 0;
|
||||||
|
prach_msg1_FrequencyStart = 0;
|
||||||
|
zeroCorrelationZoneConfig = 13;
|
||||||
|
preambleReceivedTargetPower = -118;
|
||||||
|
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
|
||||||
|
preambleTransMax = 6;
|
||||||
|
#powerRampingStep
|
||||||
|
# 0=dB0,1=dB2,2=dB4,3=dB6
|
||||||
|
powerRampingStep = 1;
|
||||||
|
#ra_ReponseWindow
|
||||||
|
#1,2,4,8,10,20,40,80
|
||||||
|
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 = 4;
|
||||||
|
#oneHalf (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;
|
||||||
|
rsrp_ThresholdSSB = 19;
|
||||||
|
#prach-RootSequenceIndex_PR
|
||||||
|
#1 = 839, 2 = 139
|
||||||
|
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;
|
||||||
|
|
||||||
|
# pucch-ConfigCommon setup :
|
||||||
|
# pucchGroupHopping
|
||||||
|
# 0 = neither, 1= group hopping, 2=sequence hopping
|
||||||
|
pucchGroupHopping = 0;
|
||||||
|
hoppingId = 40;
|
||||||
|
p0_nominal = -90;
|
||||||
|
# ssb_PositionsInBurs_BitmapPR
|
||||||
|
# 1=short, 2=medium, 3=long
|
||||||
|
ssb_PositionsInBurst_PR = 2;
|
||||||
|
ssb_PositionsInBurst_Bitmap = 1;
|
||||||
|
|
||||||
|
# ssb_periodicityServingCell
|
||||||
|
# 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
|
||||||
|
subcarrierSpacing = 1;
|
||||||
|
|
||||||
|
|
||||||
|
#tdd-UL-DL-ConfigurationCommon
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
referenceSubcarrierSpacing = 1;
|
||||||
|
# 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;
|
||||||
|
nrofDownlinkSymbols = 6;
|
||||||
|
nrofUplinkSlots = 2;
|
||||||
|
nrofUplinkSymbols = 4;
|
||||||
|
|
||||||
|
ssPBCH_BlockPower = -25;
|
||||||
|
}
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
# ------- SCTP definitions
|
||||||
|
SCTP :
|
||||||
|
{
|
||||||
|
# Number of streams to use in input/output
|
||||||
|
SCTP_INSTREAMS = 2;
|
||||||
|
SCTP_OUTSTREAMS = 2;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
////////// MME parameters:
|
||||||
|
mme_ip_address = ( { ipv4 = "192.168.12.26";
|
||||||
|
ipv6 = "192:168:30::17";
|
||||||
|
port = 36412 ;
|
||||||
|
active = "yes";
|
||||||
|
preference = "ipv4";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
NETWORK_INTERFACES :
|
||||||
|
{
|
||||||
|
|
||||||
|
GNB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
||||||
|
GNB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.111/24";
|
||||||
|
GNB_INTERFACE_NAME_FOR_S1U = "eth0";
|
||||||
|
GNB_IPV4_ADDRESS_FOR_S1U = "192.168.12.111/24";
|
||||||
|
GNB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
MACRLCs = (
|
||||||
|
{
|
||||||
|
num_cc = 1;
|
||||||
|
tr_s_preference = "local_L1";
|
||||||
|
tr_n_preference = "local_RRC";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
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 = 50;
|
||||||
|
eNB_instances = [0];
|
||||||
|
## beamforming 1x2 matrix: 1 layer x 2 antennas
|
||||||
|
bf_weights = [0x00007fff, 0x0000];
|
||||||
|
## beamforming 1x4 matrix: 1 layer x 4 antennas
|
||||||
|
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
|
||||||
|
## beamforming 2x2 matrix:
|
||||||
|
#bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
|
||||||
|
## beamforming 4x4 matrix:
|
||||||
|
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
|
||||||
|
|
||||||
|
sdr_addrs = "addr=192.168.10.2,second_addr=192.168.20.2";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
|
THREAD_STRUCT = (
|
||||||
|
{
|
||||||
|
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
||||||
|
parallel_config = "PARALLEL_RU_L1_TRX_SPLIT";
|
||||||
|
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
|
||||||
|
worker_config = "WORKER_ENABLE";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
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" );
|
||||||
|
|
||||||
|
# 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" );
|
||||||
|
|
||||||
|
# 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";
|
||||||
|
};
|
||||||
|
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
|
||||||
@@ -1,282 +0,0 @@
|
|||||||
Active_gNBs = ( "gNB-OAI");
|
|
||||||
# Asn1_verbosity, choice in: none, info, annoying
|
|
||||||
Asn1_verbosity = "none";
|
|
||||||
|
|
||||||
gNBs =
|
|
||||||
(
|
|
||||||
{
|
|
||||||
////////// Identification parameters:
|
|
||||||
gNB_ID = 0xe00;
|
|
||||||
|
|
||||||
# cell_type = "CELL_MACRO_GNB";
|
|
||||||
|
|
||||||
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, sd = 0x010203 }) });
|
|
||||||
|
|
||||||
nr_cellid = 12345678L
|
|
||||||
|
|
||||||
# tr_s_preference = "local_mac"
|
|
||||||
|
|
||||||
////////// Physical parameters:
|
|
||||||
|
|
||||||
pusch_AntennaPorts = 2;
|
|
||||||
pdsch_AntennaPorts_XP = 2;
|
|
||||||
ul_prbblacklist = "51,52,53,54"
|
|
||||||
do_SRS = 0;
|
|
||||||
do_CSIRS = 1;
|
|
||||||
|
|
||||||
servingCellConfigCommon = (
|
|
||||||
{
|
|
||||||
#spCellConfigCommon
|
|
||||||
|
|
||||||
physCellId = 0;
|
|
||||||
|
|
||||||
# downlinkConfigCommon
|
|
||||||
#frequencyInfoDL
|
|
||||||
# this is 3301.68 MHz + 22*12*30e-3 MHz = 3309.6
|
|
||||||
#absoluteFrequencySSB = 620640;
|
|
||||||
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
|
|
||||||
absoluteFrequencySSB = 621312;
|
|
||||||
# this is 3503.28 MHz + 22*12*30e-3 MHz = 3511.2
|
|
||||||
#absoluteFrequencySSB = 634080;
|
|
||||||
# this is 3600.48 MHz
|
|
||||||
#absoluteFrequencySSB = 640032;
|
|
||||||
#dl_frequencyBand = 78;
|
|
||||||
# this is 3301.68 MHz
|
|
||||||
#dl_absoluteFrequencyPointA = 620112;
|
|
||||||
# this is 3300.60 MHz
|
|
||||||
dl_absoluteFrequencyPointA = 620040;
|
|
||||||
# this is 3502.56 MHz
|
|
||||||
#dl_absoluteFrequencyPointA = 633552;
|
|
||||||
# this is 3600.48 MHz
|
|
||||||
#dl_absoluteFrequencyPointA = 640032;
|
|
||||||
#scs-SpecificCarrierList
|
|
||||||
dl_offstToCarrier = 0;
|
|
||||||
# subcarrierSpacing
|
|
||||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
||||||
dl_subcarrierSpacing = 1;
|
|
||||||
dl_carrierBandwidth = 106;
|
|
||||||
#initialDownlinkBWP
|
|
||||||
#genericParameters
|
|
||||||
# this is RBstart=0,L=106 (275*(L-1))+RBstart
|
|
||||||
initialDLBWPlocationAndBandwidth = 28875;
|
|
||||||
# subcarrierSpacing
|
|
||||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
||||||
initialDLBWPsubcarrierSpacing = 1;
|
|
||||||
#pdcch-ConfigCommon
|
|
||||||
initialDLBWPcontrolResourceSetZero = 11;
|
|
||||||
initialDLBWPsearchSpaceZero = 0;
|
|
||||||
|
|
||||||
#uplinkConfigCommon
|
|
||||||
#frequencyInfoUL
|
|
||||||
ul_frequencyBand = 78;
|
|
||||||
#scs-SpecificCarrierList
|
|
||||||
ul_offstToCarrier = 0;
|
|
||||||
# subcarrierSpacing
|
|
||||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
||||||
ul_subcarrierSpacing = 1;
|
|
||||||
ul_carrierBandwidth = 106;
|
|
||||||
pMax = 20;
|
|
||||||
#initialUplinkBWP
|
|
||||||
#genericParameters
|
|
||||||
initialULBWPlocationAndBandwidth = 28875;
|
|
||||||
# subcarrierSpacing
|
|
||||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
||||||
initialULBWPsubcarrierSpacing = 1;
|
|
||||||
#rach-ConfigCommon
|
|
||||||
#rach-ConfigGeneric
|
|
||||||
prach_ConfigurationIndex = 98;
|
|
||||||
#prach_msg1_FDM
|
|
||||||
#0 = one, 1=two, 2=four, 3=eight
|
|
||||||
prach_msg1_FDM = 0;
|
|
||||||
prach_msg1_FrequencyStart = 0;
|
|
||||||
zeroCorrelationZoneConfig = 12;
|
|
||||||
preambleReceivedTargetPower = -104;
|
|
||||||
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
|
|
||||||
preambleTransMax = 6;
|
|
||||||
#powerRampingStep
|
|
||||||
# 0=dB0,1=dB2,2=dB4,3=dB6
|
|
||||||
powerRampingStep = 1;
|
|
||||||
#ra_ReponseWindow
|
|
||||||
#1,2,4,8,10,20,40,80
|
|
||||||
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 = 15;
|
|
||||||
#ra_ContentionResolutionTimer
|
|
||||||
#(0..7) 8,16,24,32,40,48,56,64
|
|
||||||
ra_ContentionResolutionTimer = 7;
|
|
||||||
rsrp_ThresholdSSB = 19;
|
|
||||||
#prach-RootSequenceIndex_PR
|
|
||||||
#1 = 839, 2 = 139
|
|
||||||
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;
|
|
||||||
|
|
||||||
# pucch-ConfigCommon setup :
|
|
||||||
# pucchGroupHopping
|
|
||||||
# 0 = neither, 1= group hopping, 2=sequence hopping
|
|
||||||
pucchGroupHopping = 0;
|
|
||||||
hoppingId = 40;
|
|
||||||
p0_nominal = -90;
|
|
||||||
# ssb_PositionsInBurs_BitmapPR
|
|
||||||
# 1=short, 2=medium, 3=long
|
|
||||||
ssb_PositionsInBurst_PR = 2;
|
|
||||||
ssb_PositionsInBurst_Bitmap = 1;
|
|
||||||
|
|
||||||
# ssb_periodicityServingCell
|
|
||||||
# 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
|
|
||||||
subcarrierSpacing = 1;
|
|
||||||
|
|
||||||
|
|
||||||
#tdd-UL-DL-ConfigurationCommon
|
|
||||||
# subcarrierSpacing
|
|
||||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
||||||
referenceSubcarrierSpacing = 1;
|
|
||||||
# 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;
|
|
||||||
nrofDownlinkSymbols = 6;
|
|
||||||
nrofUplinkSlots = 2;
|
|
||||||
nrofUplinkSymbols = 4;
|
|
||||||
|
|
||||||
ssPBCH_BlockPower = -25;
|
|
||||||
}
|
|
||||||
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
# ------- SCTP definitions
|
|
||||||
SCTP :
|
|
||||||
{
|
|
||||||
# Number of streams to use in input/output
|
|
||||||
SCTP_INSTREAMS = 2;
|
|
||||||
SCTP_OUTSTREAMS = 2;
|
|
||||||
};
|
|
||||||
|
|
||||||
////////// AMF parameters:
|
|
||||||
amf_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
|
|
||||||
ipv6 = "192:168:30::17";
|
|
||||||
active = "yes";
|
|
||||||
preference = "ipv4";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
NETWORK_INTERFACES :
|
|
||||||
{
|
|
||||||
|
|
||||||
GNB_INTERFACE_NAME_FOR_NG_AMF = "em1";
|
|
||||||
GNB_IPV4_ADDRESS_FOR_NG_AMF = "CI_GNB_IP_ADDR";
|
|
||||||
GNB_INTERFACE_NAME_FOR_NGU = "em1";
|
|
||||||
GNB_IPV4_ADDRESS_FOR_NGU = "CI_GNB_IP_ADDR";
|
|
||||||
GNB_PORT_FOR_S1U = 2152; # Spec 2152
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
MACRLCs = (
|
|
||||||
{
|
|
||||||
num_cc = 1;
|
|
||||||
tr_s_preference = "local_L1";
|
|
||||||
tr_n_preference = "local_RRC";
|
|
||||||
pusch_TargetSNRx10 = 220;
|
|
||||||
pucch_TargetSNRx10 = 220;
|
|
||||||
ulsch_max_frame_inactivity = 10;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
L1s = (
|
|
||||||
{
|
|
||||||
num_cc = 1;
|
|
||||||
tr_n_preference = "local_mac";
|
|
||||||
prach_dtx_threshold = 200;
|
|
||||||
# pucch0_dtx_threshold = 150;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
RUs = (
|
|
||||||
{
|
|
||||||
local_rf = "yes"
|
|
||||||
nb_tx = 2
|
|
||||||
nb_rx = 2
|
|
||||||
att_tx = 0
|
|
||||||
att_rx = 0;
|
|
||||||
bands = [78];
|
|
||||||
max_pdschReferenceSignalPower = -27;
|
|
||||||
max_rxgain = 75;
|
|
||||||
eNB_instances = [0];
|
|
||||||
##beamforming 1x2 matrix: 1 layer x 2 antennas
|
|
||||||
bf_weights = [0x00007fff, 0x0000];
|
|
||||||
##beamforming 1x4 matrix: 1 layer x 4 antennas
|
|
||||||
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
|
|
||||||
## beamforming 2x2 matrix:
|
|
||||||
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
|
|
||||||
## beamforming 4x4 matrix:
|
|
||||||
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
|
|
||||||
sf_extension = 0
|
|
||||||
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
THREAD_STRUCT = (
|
|
||||||
{
|
|
||||||
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
|
||||||
parallel_config = "PARALLEL_SINGLE_THREAD";
|
|
||||||
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
|
|
||||||
worker_config = "WORKER_ENABLE";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
security = {
|
|
||||||
# preferred ciphering algorithms
|
|
||||||
# the first one of the list that an UE supports in chosen
|
|
||||||
# valid values: nea0, nea1, nea2, nea3
|
|
||||||
ciphering_algorithms = ( "nea2" );
|
|
||||||
|
|
||||||
# preferred integrity algorithms
|
|
||||||
# the first one of the list that an UE supports in chosen
|
|
||||||
# valid values: nia0, nia1, nia2, nia3
|
|
||||||
integrity_algorithms = ( "nia1", "nia2" );
|
|
||||||
|
|
||||||
# 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 = "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";
|
|
||||||
f1ap_log_level ="info";
|
|
||||||
};
|
|
||||||
@@ -29,7 +29,7 @@ gNBs =
|
|||||||
# downlinkConfigCommon
|
# downlinkConfigCommon
|
||||||
#frequencyInfoDL
|
#frequencyInfoDL
|
||||||
# this is 3600 MHz + 84 PRBs@30kHz SCS (same as initial BWP)
|
# 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
|
absoluteFrequencySSB = 641272;
|
||||||
dl_frequencyBand = 78;
|
dl_frequencyBand = 78;
|
||||||
# this is 3600 MHz
|
# this is 3600 MHz
|
||||||
dl_absoluteFrequencyPointA = 640000;
|
dl_absoluteFrequencyPointA = 640000;
|
||||||
|
|||||||
@@ -0,0 +1,261 @@
|
|||||||
|
Active_gNBs = ( "gNB-OAI");
|
||||||
|
# Asn1_verbosity, choice in: none, info, annoying
|
||||||
|
Asn1_verbosity = "none";
|
||||||
|
|
||||||
|
gNBs =
|
||||||
|
(
|
||||||
|
{
|
||||||
|
////////// Identification parameters:
|
||||||
|
gNB_CU_ID = 0xe00;
|
||||||
|
|
||||||
|
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;}); });
|
||||||
|
|
||||||
|
nr_cellid = 12345678L
|
||||||
|
|
||||||
|
////////// Physical parameters:
|
||||||
|
|
||||||
|
min_rxtxtime = 5;
|
||||||
|
do_SRS = 0;
|
||||||
|
force_256qam_off = 1;
|
||||||
|
pdsch_AntennaPorts_N1 = 1;
|
||||||
|
pdsch_AntennaPorts_XP = 1;
|
||||||
|
pusch_AntennaPorts = 1;
|
||||||
|
|
||||||
|
|
||||||
|
pdcch_ConfigSIB1 = (
|
||||||
|
{
|
||||||
|
controlResourceSetZero = 12;
|
||||||
|
searchSpaceZero = 0;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
servingCellConfigCommon = (
|
||||||
|
{
|
||||||
|
#spCellConfigCommon
|
||||||
|
|
||||||
|
physCellId = 0;
|
||||||
|
|
||||||
|
# downlinkConfigCommon
|
||||||
|
#frequencyInfoDL
|
||||||
|
dl_frequencyBand = 78;
|
||||||
|
absoluteFrequencySSB = 634080;
|
||||||
|
dl_absoluteFrequencyPointA = 632808;
|
||||||
|
#scs-SpecificCarrierList
|
||||||
|
dl_offstToCarrier = 0;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
dl_subcarrierSpacing = 1;
|
||||||
|
dl_carrierBandwidth = 106;
|
||||||
|
#initialDownlinkBWP
|
||||||
|
#genericParameters
|
||||||
|
# this is RBstart=0,L=106 (275*(L-1))+RBstart
|
||||||
|
initialDLBWPlocationAndBandwidth = 28875;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
initialDLBWPsubcarrierSpacing = 1;
|
||||||
|
#pdcch-ConfigCommon
|
||||||
|
initialDLBWPcontrolResourceSetZero = 12;
|
||||||
|
initialDLBWPsearchSpaceZero = 0;
|
||||||
|
|
||||||
|
#uplinkConfigCommon
|
||||||
|
#frequencyInfoUL
|
||||||
|
ul_frequencyBand = 78;
|
||||||
|
#scs-SpecificCarrierList
|
||||||
|
ul_offstToCarrier = 0;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
ul_subcarrierSpacing = 1;
|
||||||
|
ul_carrierBandwidth = 106;
|
||||||
|
pMax = 20;
|
||||||
|
#initialUplinkBWP
|
||||||
|
#genericParameters
|
||||||
|
initialULBWPlocationAndBandwidth = 28875;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
initialULBWPsubcarrierSpacing = 1;
|
||||||
|
#rach-ConfigCommon
|
||||||
|
#rach-ConfigGeneric
|
||||||
|
prach_ConfigurationIndex = 98;
|
||||||
|
#prach_msg1_FDM
|
||||||
|
#0 = one, 1=two, 2=four, 3=eight
|
||||||
|
prach_msg1_FDM = 0;
|
||||||
|
prach_msg1_FrequencyStart = 0;
|
||||||
|
zeroCorrelationZoneConfig = 12;
|
||||||
|
preambleReceivedTargetPower = -96;
|
||||||
|
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
|
||||||
|
preambleTransMax = 6;
|
||||||
|
#powerRampingStep
|
||||||
|
# 0=dB0,1=dB2,2=dB4,3=dB6
|
||||||
|
powerRampingStep = 1;
|
||||||
|
#ra_ReponseWindow
|
||||||
|
#1,2,4,8,10,20,40,80
|
||||||
|
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 = 15;
|
||||||
|
#ra_ContentionResolutionTimer
|
||||||
|
#(0..7) 8,16,24,32,40,48,56,64
|
||||||
|
ra_ContentionResolutionTimer = 7;
|
||||||
|
rsrp_ThresholdSSB = 19;
|
||||||
|
#prach-RootSequenceIndex_PR
|
||||||
|
#1 = 839, 2 = 139
|
||||||
|
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;
|
||||||
|
|
||||||
|
# pucch-ConfigCommon setup :
|
||||||
|
# pucchGroupHopping
|
||||||
|
# 0 = neither, 1= group hopping, 2=sequence hopping
|
||||||
|
pucchGroupHopping = 0;
|
||||||
|
hoppingId = 40;
|
||||||
|
p0_nominal = -70;
|
||||||
|
# ssb_PositionsInBurs_BitmapPR
|
||||||
|
# 1=short, 2=medium, 3=long
|
||||||
|
ssb_PositionsInBurst_PR = 2;
|
||||||
|
ssb_PositionsInBurst_Bitmap = 1;
|
||||||
|
|
||||||
|
# ssb_periodicityServingCell
|
||||||
|
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spar e1
|
||||||
|
ssb_periodicityServingCell = 2;
|
||||||
|
|
||||||
|
# dmrs_TypeA_position
|
||||||
|
# 0 = pos2, 1 = pos3
|
||||||
|
dmrs_TypeA_Position = 0;
|
||||||
|
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
subcarrierSpacing = 1;
|
||||||
|
|
||||||
|
|
||||||
|
#tdd-UL-DL-ConfigurationCommon
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
referenceSubcarrierSpacing = 1;
|
||||||
|
# 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;
|
||||||
|
nrofDownlinkSymbols = 6;
|
||||||
|
nrofUplinkSlots = 2;
|
||||||
|
nrofUplinkSymbols = 4;
|
||||||
|
|
||||||
|
ssPBCH_BlockPower = -25;
|
||||||
|
}
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
# ------- SCTP definitions
|
||||||
|
SCTP :
|
||||||
|
{
|
||||||
|
# Number of streams to use in input/output
|
||||||
|
SCTP_INSTREAMS = 2;
|
||||||
|
SCTP_OUTSTREAMS = 2;
|
||||||
|
};
|
||||||
|
|
||||||
|
////////// AMF parameters:
|
||||||
|
amf_ip_address = ( { ipv4 = "172.21.6.100";
|
||||||
|
ipv6 = "192:168:30::17";
|
||||||
|
active = "yes";
|
||||||
|
preference = "ipv4";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
NETWORK_INTERFACES :
|
||||||
|
{
|
||||||
|
|
||||||
|
GNB_INTERFACE_NAME_FOR_NG_AMF = "eno33np0";
|
||||||
|
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.21.16.124/22";
|
||||||
|
GNB_INTERFACE_NAME_FOR_NGU = "eno33np0";
|
||||||
|
GNB_IPV4_ADDRESS_FOR_NGU = "172.21.16.124/22";
|
||||||
|
GNB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
MACRLCs = (
|
||||||
|
{
|
||||||
|
num_cc = 1;
|
||||||
|
tr_s_preference = "local_L1";
|
||||||
|
tr_n_preference = "local_RRC";
|
||||||
|
pusch_TargetSNRx10 = 180;
|
||||||
|
pucch_TargetSNRx10 = 200;
|
||||||
|
ulsch_max_frame_inactivity = 1;
|
||||||
|
ul_max_mcs = 16;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
L1s = (
|
||||||
|
{
|
||||||
|
num_cc = 1;
|
||||||
|
tr_n_preference = "local_mac";
|
||||||
|
prach_dtx_threshold = 120;
|
||||||
|
#pucch0_dtx_threshold = 150;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RUs = (
|
||||||
|
{
|
||||||
|
local_rf = "yes";
|
||||||
|
nb_tx = 1;
|
||||||
|
nb_rx = 1;
|
||||||
|
att_tx = 0;
|
||||||
|
att_rx = 0;
|
||||||
|
bands = [78];
|
||||||
|
max_pdschReferenceSignalPower = -27;
|
||||||
|
max_rxgain = 75;
|
||||||
|
eNB_instances = [0];
|
||||||
|
##beamforming 1x2 matrix: 1 layer x 2 antennas
|
||||||
|
bf_weights = [0x00007fff, 0x0000];
|
||||||
|
sf_extension = 0
|
||||||
|
sdr_addrs = "addr=192.168.80.52,clock_source=internal,time_source=internal"
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
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" );
|
||||||
|
|
||||||
|
# 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" );
|
||||||
|
|
||||||
|
# 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";
|
||||||
|
};
|
||||||
|
|
||||||
|
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";
|
||||||
|
f1ap_log_level ="debug";
|
||||||
|
gtpu_log_level ="info";
|
||||||
|
};
|
||||||
|
|
||||||
@@ -32,10 +32,10 @@ gNBs =
|
|||||||
# downlinkConfigCommon
|
# downlinkConfigCommon
|
||||||
#frequencyInfoDL
|
#frequencyInfoDL
|
||||||
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
|
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
|
||||||
absoluteFrequencySSB = 621312; # 641280
|
absoluteFrequencySSB = 621312;
|
||||||
dl_frequencyBand = 78;
|
dl_frequencyBand = 78;
|
||||||
# this is 3300.60 MHz
|
# this is 3300.60 MHz
|
||||||
dl_absoluteFrequencyPointA = 620040; # 640008
|
dl_absoluteFrequencyPointA = 620040;
|
||||||
#scs-SpecificCarrierList
|
#scs-SpecificCarrierList
|
||||||
dl_offstToCarrier = 0;
|
dl_offstToCarrier = 0;
|
||||||
# subcarrierSpacing
|
# subcarrierSpacing
|
||||||
|
|||||||
@@ -23,11 +23,7 @@ gNBs =
|
|||||||
|
|
||||||
////////// Physical parameters:
|
////////// Physical parameters:
|
||||||
|
|
||||||
#pusch_TargetSNRx10 = 200;
|
|
||||||
#pucch_TargetSNRx10 = 200;
|
|
||||||
ul_prbblacklist = "51,52,53,54"
|
|
||||||
min_rxtxtime = 6;
|
min_rxtxtime = 6;
|
||||||
do_SRS = 1;
|
|
||||||
|
|
||||||
servingCellConfigCommon = (
|
servingCellConfigCommon = (
|
||||||
{
|
{
|
||||||
@@ -37,23 +33,10 @@ gNBs =
|
|||||||
|
|
||||||
# downlinkConfigCommon
|
# downlinkConfigCommon
|
||||||
#frequencyInfoDL
|
#frequencyInfoDL
|
||||||
# this is 3301.68 MHz + 22*12*30e-3 MHz = 3309.6
|
|
||||||
#absoluteFrequencySSB = 620640;
|
|
||||||
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
|
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
|
||||||
absoluteFrequencySSB = 621312;
|
absoluteFrequencySSB = 621312;
|
||||||
# this is 3503.28 MHz + 22*12*30e-3 MHz = 3511.2
|
|
||||||
#absoluteFrequencySSB = 634080;
|
|
||||||
# this is 3600.48 MHz
|
|
||||||
#absoluteFrequencySSB = 640032;
|
|
||||||
#dl_frequencyBand = 78;
|
|
||||||
# this is 3301.68 MHz
|
|
||||||
#dl_absoluteFrequencyPointA = 620112;
|
|
||||||
# this is 3300.60 MHz
|
# this is 3300.60 MHz
|
||||||
dl_absoluteFrequencyPointA = 620040;
|
dl_absoluteFrequencyPointA = 620040;
|
||||||
# this is 3502.56 MHz
|
|
||||||
#dl_absoluteFrequencyPointA = 633552;
|
|
||||||
# this is 3600.48 MHz
|
|
||||||
#dl_absoluteFrequencyPointA = 640032;
|
|
||||||
#scs-SpecificCarrierList
|
#scs-SpecificCarrierList
|
||||||
dl_offstToCarrier = 0;
|
dl_offstToCarrier = 0;
|
||||||
# subcarrierSpacing
|
# subcarrierSpacing
|
||||||
@@ -208,7 +191,6 @@ MACRLCs = (
|
|||||||
tr_n_preference = "local_RRC";
|
tr_n_preference = "local_RRC";
|
||||||
pusch_TargetSNRx10 = 200;
|
pusch_TargetSNRx10 = 200;
|
||||||
pucch_TargetSNRx10 = 200;
|
pucch_TargetSNRx10 = 200;
|
||||||
ulsch_max_frame_inactivity = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -254,6 +236,10 @@ THREAD_STRUCT = (
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
# preferred ciphering algorithms
|
# preferred ciphering algorithms
|
||||||
# the first one of the list that an UE supports in chosen
|
# the first one of the list that an UE supports in chosen
|
||||||
|
|||||||
-14
@@ -25,7 +25,6 @@ gNBs =
|
|||||||
|
|
||||||
pdsch_AntennaPorts_XP = 2;
|
pdsch_AntennaPorts_XP = 2;
|
||||||
pusch_AntennaPorts = 2;
|
pusch_AntennaPorts = 2;
|
||||||
do_SRS = 0;
|
|
||||||
|
|
||||||
servingCellConfigCommon = (
|
servingCellConfigCommon = (
|
||||||
{
|
{
|
||||||
@@ -35,23 +34,10 @@ gNBs =
|
|||||||
|
|
||||||
# downlinkConfigCommon
|
# downlinkConfigCommon
|
||||||
#frequencyInfoDL
|
#frequencyInfoDL
|
||||||
# this is 3301.68 MHz + 22*12*30e-3 MHz = 3309.6
|
|
||||||
#absoluteFrequencySSB = 620640;
|
|
||||||
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
|
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
|
||||||
absoluteFrequencySSB = 621312;
|
absoluteFrequencySSB = 621312;
|
||||||
# this is 3503.28 MHz + 22*12*30e-3 MHz = 3511.2
|
|
||||||
#absoluteFrequencySSB = 634080;
|
|
||||||
# this is 3600.48 MHz
|
|
||||||
#absoluteFrequencySSB = 640032;
|
|
||||||
#dl_frequencyBand = 78;
|
|
||||||
# this is 3301.68 MHz
|
|
||||||
#dl_absoluteFrequencyPointA = 620112;
|
|
||||||
# this is 3300.60 MHz
|
# this is 3300.60 MHz
|
||||||
dl_absoluteFrequencyPointA = 620040;
|
dl_absoluteFrequencyPointA = 620040;
|
||||||
# this is 3502.56 MHz
|
|
||||||
#dl_absoluteFrequencyPointA = 633552;
|
|
||||||
# this is 3600.48 MHz
|
|
||||||
#dl_absoluteFrequencyPointA = 640032;
|
|
||||||
#scs-SpecificCarrierList
|
#scs-SpecificCarrierList
|
||||||
dl_offstToCarrier = 0;
|
dl_offstToCarrier = 0;
|
||||||
# subcarrierSpacing
|
# subcarrierSpacing
|
||||||
-1
@@ -25,7 +25,6 @@ gNBs =
|
|||||||
|
|
||||||
pusch_AntennaPorts = 2;
|
pusch_AntennaPorts = 2;
|
||||||
ul_prbblacklist = "51,52,53,54"
|
ul_prbblacklist = "51,52,53,54"
|
||||||
do_SRS = 0;
|
|
||||||
|
|
||||||
servingCellConfigCommon = (
|
servingCellConfigCommon = (
|
||||||
{
|
{
|
||||||
-3
@@ -25,10 +25,7 @@ gNBs =
|
|||||||
|
|
||||||
pdsch_AntennaPorts_XP = 2;
|
pdsch_AntennaPorts_XP = 2;
|
||||||
pusch_AntennaPorts = 2;
|
pusch_AntennaPorts = 2;
|
||||||
#pusch_TargetSNRx10 = 200;
|
|
||||||
#pucch_TargetSNRx10 = 200;
|
|
||||||
ul_prbblacklist = "79,80,81,82"
|
ul_prbblacklist = "79,80,81,82"
|
||||||
do_SRS = 0;
|
|
||||||
|
|
||||||
servingCellConfigCommon = (
|
servingCellConfigCommon = (
|
||||||
{
|
{
|
||||||
+5
-10
@@ -17,7 +17,7 @@ gNBs =
|
|||||||
|
|
||||||
////////// Physical parameters:
|
////////// Physical parameters:
|
||||||
|
|
||||||
sib1_tda = 15;
|
sib1_tda = 15;
|
||||||
min_rxtxtime = 6;
|
min_rxtxtime = 6;
|
||||||
|
|
||||||
servingCellConfigCommon = (
|
servingCellConfigCommon = (
|
||||||
@@ -219,6 +219,10 @@ RUs = (
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
rfsimulator: {
|
||||||
|
serveraddr = "server";
|
||||||
|
};
|
||||||
|
|
||||||
THREAD_STRUCT = (
|
THREAD_STRUCT = (
|
||||||
{
|
{
|
||||||
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
||||||
@@ -228,15 +232,6 @@ THREAD_STRUCT = (
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
rfsimulator :
|
|
||||||
{
|
|
||||||
serveraddr = "server";
|
|
||||||
serverport = "4043";
|
|
||||||
options = (); #("saviq"); or/and "chanmod"
|
|
||||||
modelname = "AWGN";
|
|
||||||
IQfile = "/tmp/rfsimulator.iqs";
|
|
||||||
};
|
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
# preferred ciphering algorithms
|
# preferred ciphering algorithms
|
||||||
# the first one of the list that an UE supports in chosen
|
# the first one of the list that an UE supports in chosen
|
||||||
@@ -17,8 +17,6 @@ gNBs =
|
|||||||
|
|
||||||
////////// Physical parameters:
|
////////// Physical parameters:
|
||||||
|
|
||||||
do_CSIRS = 0;
|
|
||||||
do_SRS = 0;
|
|
||||||
|
|
||||||
servingCellConfigCommon = (
|
servingCellConfigCommon = (
|
||||||
{
|
{
|
||||||
@@ -226,15 +224,6 @@ THREAD_STRUCT = (
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
rfsimulator :
|
|
||||||
{
|
|
||||||
serveraddr = "server";
|
|
||||||
serverport = "4043";
|
|
||||||
options = (); #("saviq"); or/and "chanmod"
|
|
||||||
modelname = "AWGN";
|
|
||||||
IQfile = "/tmp/rfsimulator.iqs";
|
|
||||||
};
|
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
# preferred ciphering algorithms
|
# preferred ciphering algorithms
|
||||||
# the first one of the list that an UE supports in chosen
|
# the first one of the list that an UE supports in chosen
|
||||||
|
|||||||
@@ -1,153 +0,0 @@
|
|||||||
# List of known PLMNS
|
|
||||||
PLMN: {
|
|
||||||
PLMN0: {
|
|
||||||
FULLNAME="OpenAirInterface";
|
|
||||||
SHORTNAME="OAICN";
|
|
||||||
MNC="96";
|
|
||||||
MCC="208";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
UE0:
|
|
||||||
{
|
|
||||||
USER: {
|
|
||||||
IMEI="356113022094149";
|
|
||||||
MANUFACTURER="OAI";
|
|
||||||
MODEL="LTE SoftModem";
|
|
||||||
PIN="0000";
|
|
||||||
};
|
|
||||||
|
|
||||||
SIM: {
|
|
||||||
MSIN="0100001111";
|
|
||||||
USIM_API_K="8baf473f2f8fd09487cccbd7097c6862";
|
|
||||||
OPC="e734f8734007d6c5ce7a0508809e7e9c";
|
|
||||||
MSISDN="33611123456";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Home PLMN Selector with Access Technology
|
|
||||||
HPLMN= "20896";
|
|
||||||
|
|
||||||
# User controlled PLMN Selector with Access Technology
|
|
||||||
UCPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Operator PLMN List
|
|
||||||
OPLMN_LIST = ("20896");
|
|
||||||
|
|
||||||
# Operator controlled PLMN Selector with Access Technology
|
|
||||||
OCPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Forbidden plmns
|
|
||||||
FPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Equivalent home plmns
|
|
||||||
EHPLMN_LIST = ();
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
UE1:
|
|
||||||
{
|
|
||||||
USER: {
|
|
||||||
IMEI="356113022094149";
|
|
||||||
MANUFACTURER="OAI";
|
|
||||||
MODEL="LTE SoftModem";
|
|
||||||
PIN="0000";
|
|
||||||
};
|
|
||||||
|
|
||||||
SIM: {
|
|
||||||
MSIN="0100001111";
|
|
||||||
USIM_API_K="8baf473f2f8fd09487cccbd7097c6862";
|
|
||||||
OPC="e734f8734007d6c5ce7a0508809e7e9c";
|
|
||||||
MSISDN="33611123456";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Home PLMN Selector with Access Technology
|
|
||||||
HPLMN= "20896";
|
|
||||||
|
|
||||||
# User controlled PLMN Selector with Access Technology
|
|
||||||
UCPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Operator PLMN List
|
|
||||||
OPLMN_LIST = ("20896");
|
|
||||||
|
|
||||||
# Operator controlled PLMN Selector with Access Technology
|
|
||||||
OCPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Forbidden plmns
|
|
||||||
FPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Equivalent home plmns
|
|
||||||
EHPLMN_LIST = ();
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
UE2:
|
|
||||||
{
|
|
||||||
USER: {
|
|
||||||
IMEI="356113022094149";
|
|
||||||
MANUFACTURER="OAI";
|
|
||||||
MODEL="LTE SoftModem";
|
|
||||||
PIN="0000";
|
|
||||||
};
|
|
||||||
|
|
||||||
SIM: {
|
|
||||||
MSIN="0100001111";
|
|
||||||
USIM_API_K="8baf473f2f8fd09487cccbd7097c6862";
|
|
||||||
OPC="e734f8734007d6c5ce7a0508809e7e9c";
|
|
||||||
MSISDN="33611123456";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Home PLMN Selector with Access Technology
|
|
||||||
HPLMN= "20896";
|
|
||||||
|
|
||||||
# User controlled PLMN Selector with Access Technology
|
|
||||||
UCPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Operator PLMN List
|
|
||||||
OPLMN_LIST = ("20896");
|
|
||||||
|
|
||||||
# Operator controlled PLMN Selector with Access Technology
|
|
||||||
OCPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Forbidden plmns
|
|
||||||
FPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Equivalent home plmns
|
|
||||||
EHPLMN_LIST = ();
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
UE3:
|
|
||||||
{
|
|
||||||
USER: {
|
|
||||||
IMEI="356113022094149";
|
|
||||||
MANUFACTURER="OAI";
|
|
||||||
MODEL="LTE SoftModem";
|
|
||||||
PIN="0000";
|
|
||||||
};
|
|
||||||
|
|
||||||
SIM: {
|
|
||||||
MSIN="0100001111";
|
|
||||||
USIM_API_K="8baf473f2f8fd09487cccbd7097c6862";
|
|
||||||
OPC="e734f8734007d6c5ce7a0508809e7e9c";
|
|
||||||
MSISDN="33611123456";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Home PLMN Selector with Access Technology
|
|
||||||
HPLMN= "20896";
|
|
||||||
|
|
||||||
# User controlled PLMN Selector with Access Technology
|
|
||||||
UCPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Operator PLMN List
|
|
||||||
OPLMN_LIST = ("20896");
|
|
||||||
|
|
||||||
# Operator controlled PLMN Selector with Access Technology
|
|
||||||
OCPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Forbidden plmns
|
|
||||||
FPLMN_LIST = ();
|
|
||||||
|
|
||||||
# Equivalent home plmns
|
|
||||||
EHPLMN_LIST = ();
|
|
||||||
|
|
||||||
};
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
uicc0 = {
|
|
||||||
imsi = "@FULL_IMSI@";
|
|
||||||
key = "@FULL_KEY@";
|
|
||||||
opc= "@OPC@";
|
|
||||||
dnn= "@DNN@";
|
|
||||||
nssai_sst=@NSSAI_SST@;
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
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";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
L1s = (
|
|
||||||
{
|
|
||||||
num_cc = 1;
|
|
||||||
tr_n_preference = "nfapi";
|
|
||||||
local_n_if_name = "ens3";
|
|
||||||
remote_n_address = "127.0.0.1"; //Proxy IP
|
|
||||||
local_n_address = "127.0.0.1";
|
|
||||||
local_n_portc = 50600;
|
|
||||||
remote_n_portc = 50601;
|
|
||||||
local_n_portd = 50610;
|
|
||||||
remote_n_portd = 50611;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
RUs = (
|
|
||||||
{
|
|
||||||
local_rf = "yes"
|
|
||||||
nb_tx = 1
|
|
||||||
nb_rx = 1
|
|
||||||
att_tx = 90
|
|
||||||
att_rx = 0;
|
|
||||||
bands = [7,38,42,43];
|
|
||||||
max_pdschReferenceSignalPower = -27;
|
|
||||||
max_rxgain = 125;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
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";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
L1s = (
|
|
||||||
{
|
|
||||||
num_cc = 1;
|
|
||||||
tr_n_preference = "nfapi";
|
|
||||||
local_n_if_name = "ens3";
|
|
||||||
remote_n_address = "CI_ENB_IP_ADDR";
|
|
||||||
local_n_address = "CI_UE_IP_ADDR";
|
|
||||||
local_n_portc = 50000;
|
|
||||||
remote_n_portc = 50001;
|
|
||||||
local_n_portd = 50010;
|
|
||||||
remote_n_portd = 50011;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
RUs = (
|
|
||||||
{
|
|
||||||
local_rf = "yes"
|
|
||||||
nb_tx = 1
|
|
||||||
nb_rx = 1
|
|
||||||
att_tx = 90
|
|
||||||
att_rx = 0;
|
|
||||||
bands = [7,38,42,43];
|
|
||||||
max_pdschReferenceSignalPower = -27;
|
|
||||||
max_rxgain = 125;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
+3
-16
@@ -374,17 +374,6 @@ def GetParametersFromXML(action):
|
|||||||
if (string_field is not None):
|
if (string_field is not None):
|
||||||
CONTAINERS.ran_checkers['u_retx_th'] = [float(x) for x in string_field.split(',')]
|
CONTAINERS.ran_checkers['u_retx_th'] = [float(x) for x in string_field.split(',')]
|
||||||
|
|
||||||
elif action == 'PingFromContainer':
|
|
||||||
string_field = test.findtext('container_name')
|
|
||||||
if (string_field is not None):
|
|
||||||
CONTAINERS.pingContName = string_field
|
|
||||||
string_field = test.findtext('options')
|
|
||||||
if (string_field is not None):
|
|
||||||
CONTAINERS.pingOptions = string_field
|
|
||||||
string_field = test.findtext('loss_threshold')
|
|
||||||
if (string_field is not None):
|
|
||||||
CONTAINERS.pingLossThreshold = string_field
|
|
||||||
|
|
||||||
elif action == 'IperfFromContainer':
|
elif action == 'IperfFromContainer':
|
||||||
string_field = test.findtext('server_container_name')
|
string_field = test.findtext('server_container_name')
|
||||||
if (string_field is not None):
|
if (string_field is not None):
|
||||||
@@ -431,10 +420,12 @@ def GetParametersFromXML(action):
|
|||||||
RAN.command = test.findtext('command')
|
RAN.command = test.findtext('command')
|
||||||
RAN.command_fail = test.findtext('command_fail') in ['True', 'true', 'Yes', 'yes']
|
RAN.command_fail = test.findtext('command_fail') in ['True', 'true', 'Yes', 'yes']
|
||||||
elif action == 'Pull_Cluster_Image':
|
elif action == 'Pull_Cluster_Image':
|
||||||
# CLUSTER.imageToPull.clear()
|
|
||||||
string_field = test.findtext('images_to_pull')
|
string_field = test.findtext('images_to_pull')
|
||||||
if (string_field is not None):
|
if (string_field is not None):
|
||||||
CLUSTER.imageToPull = string_field.split()
|
CLUSTER.imageToPull = string_field.split()
|
||||||
|
string_field = test.findtext('test_svr_id')
|
||||||
|
if (string_field is not None):
|
||||||
|
CLUSTER.testSvrId = string_field
|
||||||
else:
|
else:
|
||||||
logging.warning(f"unknown action {action} from option-parsing point-of-view")
|
logging.warning(f"unknown action {action} from option-parsing point-of-view")
|
||||||
|
|
||||||
@@ -881,10 +872,6 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
|
|||||||
CONTAINERS.UndeployGenObject(HTML, RAN, CiTestObj)
|
CONTAINERS.UndeployGenObject(HTML, RAN, CiTestObj)
|
||||||
if CONTAINERS.exitStatus==1:
|
if CONTAINERS.exitStatus==1:
|
||||||
RAN.prematureExit = True
|
RAN.prematureExit = True
|
||||||
elif action == 'PingFromContainer':
|
|
||||||
CONTAINERS.PingFromContainer(HTML, RAN, CiTestObj)
|
|
||||||
if CONTAINERS.exitStatus==1:
|
|
||||||
RAN.prematureExit = True
|
|
||||||
elif action == 'IperfFromContainer':
|
elif action == 'IperfFromContainer':
|
||||||
CONTAINERS.IperfFromContainer(HTML, RAN, CiTestObj)
|
CONTAINERS.IperfFromContainer(HTML, RAN, CiTestObj)
|
||||||
if CONTAINERS.exitStatus==1:
|
if CONTAINERS.exitStatus==1:
|
||||||
|
|||||||
@@ -40,7 +40,6 @@
|
|||||||
- Deploy_Run_PhySim
|
- Deploy_Run_PhySim
|
||||||
- DeployGenObject
|
- DeployGenObject
|
||||||
- UndeployGenObject
|
- UndeployGenObject
|
||||||
- PingFromContainer
|
|
||||||
- IperfFromContainer
|
- IperfFromContainer
|
||||||
- StatsFromGenObject
|
- StatsFromGenObject
|
||||||
- LicenceAndFormattingCheck
|
- LicenceAndFormattingCheck
|
||||||
|
|||||||
@@ -89,19 +89,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020001">
|
<testCase id="020001">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping trf-gen from LTE-UE 1</desc>
|
<desc>Ping trf-gen from LTE-UE 1</desc>
|
||||||
<container_name>l2sim4g-oai-lte-ue1</container_name>
|
<id>l2sim4g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.61.11</options>
|
<ping_args> -c 20 192.168.61.11</ping_args>
|
||||||
<loss_threshold>0</loss_threshold>
|
<ping_packetloss_threshold>0</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020002">
|
<testCase id="020002">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping LTE-UE 1 from trf-gen</desc>
|
<desc>Ping LTE-UE 1 from trf-gen</desc>
|
||||||
<container_name>l2sim4g-trf-gen</container_name>
|
<id>l2sim4g_ext_dn</id>
|
||||||
<options>-c 20 12.0.0.2</options>
|
<ping_args>-c 20 12.0.0.2</ping_args>
|
||||||
<loss_threshold>0</loss_threshold>
|
<ping_packetloss_threshold>0</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030011">
|
<testCase id="030011">
|
||||||
|
|||||||
@@ -95,19 +95,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020011">
|
<testCase id="020011">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping Traffic-Gen from LTE-UE</desc>
|
<desc>Ping Traffic-Gen from LTE-UE</desc>
|
||||||
<container_name>rfsim4g-oai-lte-ue0</container_name>
|
<id>rfsim4g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.61.11</options>
|
<ping_args> -c 20 192.168.61.11</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
||||||
<container_name>rfsim4g-trf-gen</container_name>
|
<id>rfsim4g_ext_dn</id>
|
||||||
<options>-c 20 12.0.0.2</options>
|
<ping_args>-c 20 12.0.0.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030011">
|
<testCase id="030011">
|
||||||
|
|||||||
@@ -75,19 +75,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020011">
|
<testCase id="020011">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping Traffic-Gen from LTE-UE</desc>
|
<desc>Ping Traffic-Gen from LTE-UE</desc>
|
||||||
<container_name>rfsim4g-oai-lte-ue0</container_name>
|
<id>rfsim4g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 10.0.1.1</options>
|
<ping_args> -c 20 10.0.1.1</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping LTE-UE from eNB</desc>
|
<desc>Ping LTE-UE from eNB</desc>
|
||||||
<container_name>rfsim4g-oai-enb</container_name>
|
<id>rfsim4g_enb_nos1</id>
|
||||||
<options>-I oaitun_enb1 -c 20 10.0.1.2</options>
|
<ping_args> -c 20 10.0.1.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030011">
|
<testCase id="030011">
|
||||||
|
|||||||
@@ -95,19 +95,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020011">
|
<testCase id="020011">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping Traffic-Gen from LTE-UE</desc>
|
<desc>Ping Traffic-Gen from LTE-UE</desc>
|
||||||
<container_name>rfsim4g-oai-lte-ue0</container_name>
|
<id>rfsim4g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.61.11</options>
|
<ping_args> -c 20 192.168.61.11</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
||||||
<container_name>rfsim4g-trf-gen</container_name>
|
<id>rfsim4g_ext_dn</id>
|
||||||
<options>-c 20 12.0.0.2</options>
|
<ping_args>-c 20 12.0.0.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030011">
|
<testCase id="030011">
|
||||||
|
|||||||
@@ -95,19 +95,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020011">
|
<testCase id="020011">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping Traffic-Gen from LTE-UE</desc>
|
<desc>Ping Traffic-Gen from LTE-UE</desc>
|
||||||
<container_name>rfsim4g-oai-lte-ue0</container_name>
|
<id>rfsim4g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.61.11</options>
|
<ping_args> -c 20 192.168.61.11</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
||||||
<container_name>rfsim4g-trf-gen</container_name>
|
<id>rfsim4g_ext_dn</id>
|
||||||
<options>-c 20 12.0.0.2</options>
|
<ping_args>-c 20 12.0.0.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030011">
|
<testCase id="030011">
|
||||||
|
|||||||
@@ -96,19 +96,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020011">
|
<testCase id="020011">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping Traffic-Gen from LTE-UE</desc>
|
<desc>Ping Traffic-Gen from LTE-UE</desc>
|
||||||
<container_name>rfsim4g-oai-lte-ue0</container_name>
|
<id>rfsim4g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.61.11</options>
|
<ping_args> -c 20 192.168.61.11</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
||||||
<container_name>rfsim4g-trf-gen</container_name>
|
<id>rfsim4g_ext_dn</id>
|
||||||
<options>-c 20 12.0.0.2</options>
|
<ping_args>-c 20 12.0.0.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030011">
|
<testCase id="030011">
|
||||||
|
|||||||
@@ -87,19 +87,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020021">
|
<testCase id="020021">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping ext-dn from NR-UE</desc>
|
<desc>Ping ext-dn from NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.73.135</options>
|
<ping_args> -c 20 192.168.73.135</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020022">
|
<testCase id="020022">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<id>rfsim5g_ext_dn</id>
|
||||||
<options>-c 20 12.1.1.2</options>
|
<ping_args>-c 20 12.1.1.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030021">
|
<testCase id="030021">
|
||||||
|
|||||||
@@ -87,19 +87,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020021">
|
<testCase id="020021">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping ext-dn from NR-UE</desc>
|
<desc>Ping ext-dn from NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.72.135</options>
|
<ping_args> -c 20 192.168.72.135</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020022">
|
<testCase id="020022">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<id>rfsim5g_ext_dn</id>
|
||||||
<options>-c 20 12.1.1.2</options>
|
<ping_args>-c 20 12.1.1.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030021">
|
<testCase id="030021">
|
||||||
|
|||||||
@@ -80,19 +80,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020011">
|
<testCase id="020011">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping ext-dn from NR-UE</desc>
|
<desc>Ping ext-dn from NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.72.135</options>
|
<ping_args> -c 20 192.168.72.135</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<id>rfsim5g_ext_dn</id>
|
||||||
<options>-c 20 12.1.1.2</options>
|
<ping_args>-c 20 12.1.1.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030011">
|
<testCase id="030011">
|
||||||
|
|||||||
@@ -87,19 +87,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020001">
|
<testCase id="020001">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping ext-dn from NR-UE</desc>
|
<desc>Ping ext-dn from NR-UE</desc>
|
||||||
<container_name>l2sim-oai-nr-ue0</container_name>
|
<id>l2sim5g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.72.135</options>
|
<ping_args> -c 20 192.168.72.135</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020002">
|
<testCase id="020002">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>l2sim-oai-ext-dn</container_name>
|
<id>l2sim5g_ext_dn</id>
|
||||||
<options>-c 20 12.1.1.2</options>
|
<ping_args>-c 20 12.1.1.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100001">
|
<testCase id="100001">
|
||||||
|
|||||||
@@ -91,35 +91,35 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020001">
|
<testCase id="020001">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping ext-dn from NR-UE</desc>
|
<desc>Ping ext-dn from NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.72.135</options>
|
<ping_args> -c 20 192.168.72.135</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020002">
|
<testCase id="020002">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<id>rfsim5g_ext_dn</id>
|
||||||
<options>-c 20 12.1.1.2</options>
|
<ping_args>-c 20 12.1.1.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020003">
|
<testCase id="020003">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping ext-dn from Second NR-UE</desc>
|
<desc>Ping ext-dn from Second NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue2</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.72.135</options>
|
<ping_args> -c 20 192.168.72.135</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020004">
|
<testCase id="020004">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping Second NR-UE from ext-dn</desc>
|
<desc>Ping Second NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<id>rfsim5g_ext_dn</id>
|
||||||
<options>-c 20 12.1.1.3</options>
|
<ping_args>-c 20 12.1.1.3</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030001">
|
<testCase id="030001">
|
||||||
|
|||||||
@@ -80,19 +80,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020001">
|
<testCase id="020001">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping ext-dn from NR-UE</desc>
|
<desc>Ping ext-dn from NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 -i0.2 192.168.72.135</options>
|
<ping_args> -c 20 -i0.2 192.168.72.135</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020002">
|
<testCase id="020002">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<id>rfsim5g_ext_dn</id>
|
||||||
<options>-c 20 12.1.1.2 -i0.2</options>
|
<ping_args>-c 20 12.1.1.2 -i0.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030001">
|
<testCase id="030001">
|
||||||
|
|||||||
@@ -80,19 +80,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020001">
|
<testCase id="020001">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping ext-dn from NR-UE</desc>
|
<desc>Ping ext-dn from NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.72.135</options>
|
<ping_args> -c 20 192.168.72.135</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020002">
|
<testCase id="020002">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<id>rfsim5g_ext_dn</id>
|
||||||
<options>-c 20 12.1.1.2</options>
|
<ping_args>-c 20 12.1.1.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030001">
|
<testCase id="030001">
|
||||||
|
|||||||
@@ -58,11 +58,11 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020021">
|
<testCase id="020021">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Test Connectivity (ping)</desc>
|
<desc>Test Connectivity (ping)</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 12.1.1.1</options>
|
<ping_args>-c 20 12.1.1.1</ping_args>
|
||||||
<loss_threshold>0</loss_threshold>
|
<ping_packetloss_threshold>0</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100022">
|
<testCase id="100022">
|
||||||
|
|||||||
@@ -62,19 +62,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020011">
|
<testCase id="020011">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping gNB from NR-UE</desc>
|
<desc>Ping gNB from NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-c20 -i0.2 10.0.1.1</options>
|
<ping_args>-c20 -i0.2 10.0.1.1</ping_args>
|
||||||
<loss_threshold>0</loss_threshold>
|
<ping_packetloss_threshold>0</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from gNB</desc>
|
<desc>Ping NR-UE from gNB</desc>
|
||||||
<container_name>rfsim5g-oai-gnb</container_name>
|
<id>rfsim5g_gnb_nos1</id>
|
||||||
<options>-c20 -i0.2 10.0.1.2</options>
|
<ping_args>-c20 -i0.2 10.0.1.2</ping_args>
|
||||||
<loss_threshold>0</loss_threshold>
|
<ping_packetloss_threshold>0</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030011">
|
<testCase id="030011">
|
||||||
|
|||||||
@@ -60,19 +60,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020001">
|
<testCase id="020001">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping gNB from NR-UE</desc>
|
<desc>Ping gNB from NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-c20 -i0.2 10.0.1.1</options>
|
<ping_args>-c20 -i0.2 10.0.1.1</ping_args>
|
||||||
<loss_threshold>0</loss_threshold>
|
<ping_packetloss_threshold>0</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020002">
|
<testCase id="020002">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from gNB</desc>
|
<desc>Ping NR-UE from gNB</desc>
|
||||||
<container_name>rfsim5g-oai-gnb</container_name>
|
<id>rfsim5g_gnb_nos1</id>
|
||||||
<options>-c20 -i0.2 10.0.1.2</options>
|
<ping_args>-c20 -i0.2 10.0.1.2</ping_args>
|
||||||
<loss_threshold>0</loss_threshold>
|
<ping_packetloss_threshold>0</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100001">
|
<testCase id="100001">
|
||||||
|
|||||||
@@ -60,19 +60,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020001">
|
<testCase id="020001">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping gNB from NR-UE</desc>
|
<desc>Ping gNB from NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-c20 -i0.2 10.0.1.1</options>
|
<ping_args>-c20 -i0.2 10.0.1.1</ping_args>
|
||||||
<loss_threshold>0</loss_threshold>
|
<ping_packetloss_threshold>0</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020002">
|
<testCase id="020002">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from gNB</desc>
|
<desc>Ping NR-UE from gNB</desc>
|
||||||
<container_name>rfsim5g-oai-gnb</container_name>
|
<id>rfsim5g_gnb_nos1</id>
|
||||||
<options>-c20 -i0.2 10.0.1.2</options>
|
<ping_args>-c20 -i0.2 10.0.1.2</ping_args>
|
||||||
<loss_threshold>0</loss_threshold>
|
<ping_packetloss_threshold>0</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100001">
|
<testCase id="100001">
|
||||||
|
|||||||
@@ -80,19 +80,19 @@
|
|||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020001">
|
<testCase id="020001">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping ext-dn from NR-UE</desc>
|
<desc>Ping ext-dn from NR-UE</desc>
|
||||||
<container_name>rfsim5g-oai-nr-ue</container_name>
|
<id>rfsim5g_ue</id>
|
||||||
<options>-I oaitun_ue1 -c 20 192.168.72.135</options>
|
<ping_args> -c 20 192.168.72.135</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="020002">
|
<testCase id="020002">
|
||||||
<class>PingFromContainer</class>
|
<class>Ping</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<id>rfsim5g_ext_dn</id>
|
||||||
<options>-c 20 12.1.1.2</options>
|
<ping_args>-c 20 12.1.1.2</ping_args>
|
||||||
<loss_threshold>5</loss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030001">
|
<testCase id="030001">
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
|
|||||||
<testCase id="040501">
|
<testCase id="040501">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
<desc>ping (5MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
|
|||||||
<testCase id="040502">
|
<testCase id="040502">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
<desc>ping (5MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -156,7 +156,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
|
|||||||
<testCase id="040503">
|
<testCase id="040503">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
<desc>ping (5MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<testCase id="040511">
|
<testCase id="040511">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (10MHz - 20 sec)</desc>
|
<desc>ping (10MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<testCase id="040512">
|
<testCase id="040512">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (10MHz - 20 sec)</desc>
|
<desc>ping (10MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<testCase id="040521">
|
<testCase id="040521">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (20MHz - 20 sec)</desc>
|
<desc>ping (20MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
|
|||||||
<testCase id="040501">
|
<testCase id="040501">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
<desc>ping (5MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
|
|||||||
<testCase id="040502">
|
<testCase id="040502">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
<desc>ping (5MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
|
|||||||
<testCase id="040511">
|
<testCase id="040511">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (10MHz - 20 sec)</desc>
|
<desc>ping (10MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
|
|||||||
<testCase id="040521">
|
<testCase id="040521">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (20MHz - 20 sec)</desc>
|
<desc>ping (20MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
|
|||||||
<testCase id="040522">
|
<testCase id="040522">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>ping (20MHz - 20 sec)</desc>
|
<desc>ping (20MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
||||||
<id>adb_ue_1 adb_ue_2</id>
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -102,7 +102,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20 pings</desc>
|
<desc>Ping: 20 pings</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>60</ping_rttavg_threshold>
|
<ping_rttavg_threshold>60</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100 pings, size 1024</desc>
|
<desc>Ping: 100 pings, size 1024</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 100 -s 1024 -i 0,2</ping_args>
|
<ping_args>-c 100 -s 1024 -i 0,2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>60</ping_rttavg_threshold>
|
<ping_rttavg_threshold>60</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -102,7 +102,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20 pings</desc>
|
<desc>Ping: 20 pings</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>60</ping_rttavg_threshold>
|
<ping_rttavg_threshold>60</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100 pings, size 1024</desc>
|
<desc>Ping: 100 pings, size 1024</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 100 -s 1024 -i 0,2</ping_args>
|
<ping_args>-c 100 -s 1024 -i 0,2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>60</ping_rttavg_threshold>
|
<ping_rttavg_threshold>60</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -151,7 +151,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -160,7 +160,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -123,7 +123,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec, multi-ue</desc>
|
<desc>Ping: 20pings in 20sec, multi-ue</desc>
|
||||||
<id>amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5</id>
|
<id>amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>25</ping_rttavg_threshold>
|
<ping_rttavg_threshold>25</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec, multi-ue</desc>
|
<desc>Ping: 100pings in 20sec, multi-ue</desc>
|
||||||
<id>amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5</id>
|
<id>amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>30</ping_rttavg_threshold>
|
<ping_rttavg_threshold>30</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -161,8 +161,6 @@
|
|||||||
<yaml_path>ci-scripts/yaml_files/sa_aw2s_gnb</yaml_path>
|
<yaml_path>ci-scripts/yaml_files/sa_aw2s_gnb</yaml_path>
|
||||||
<eNB_instance>0</eNB_instance>
|
<eNB_instance>0</eNB_instance>
|
||||||
<eNB_serverId>0</eNB_serverId>
|
<eNB_serverId>0</eNB_serverId>
|
||||||
<d_retx_th>20,100,100,100</d_retx_th>
|
|
||||||
<u_retx_th>20,100,100,100</u_retx_th>
|
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -113,7 +113,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -119,7 +119,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>25</ping_rttavg_threshold>
|
<ping_rttavg_threshold>25</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>110</ping_rttavg_threshold>
|
<ping_rttavg_threshold>110</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -137,7 +137,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>110</ping_rttavg_threshold>
|
<ping_rttavg_threshold>110</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -146,7 +146,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>110</ping_rttavg_threshold>
|
<ping_rttavg_threshold>110</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -0,0 +1,146 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
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-NRUE</htmlTabRef>
|
||||||
|
<htmlTabName>40 MHz TDD SA</htmlTabName>
|
||||||
|
<htmlTabIcon>tasks</htmlTabIcon>
|
||||||
|
<repeatCount>1</repeatCount>
|
||||||
|
<TestCaseRequestedList>
|
||||||
|
010000 010001
|
||||||
|
020000 020001
|
||||||
|
000001
|
||||||
|
001000
|
||||||
|
002000
|
||||||
|
000100
|
||||||
|
000200
|
||||||
|
040001 040000
|
||||||
|
</TestCaseRequestedList>
|
||||||
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="010000">
|
||||||
|
<class>Pull_Cluster_Image</class>
|
||||||
|
<desc>Pull Images from Cluster</desc>
|
||||||
|
<images_to_pull>oai-gnb</images_to_pull>
|
||||||
|
<test_svr_id>avra</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="010001">
|
||||||
|
<class>Pull_Cluster_Image</class>
|
||||||
|
<desc>Pull Images from Cluster</desc>
|
||||||
|
<images_to_pull>oai-nr-ue</images_to_pull>
|
||||||
|
<test_svr_id>caracal</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id = "030000">
|
||||||
|
<class>Custom_Command</class>
|
||||||
|
<desc>Reboot USRP N310</desc>
|
||||||
|
<node>avra</node>
|
||||||
|
<command>ssh root@192.168.80.52 reboot ; sleep 45</command>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id = "030001">
|
||||||
|
<class>Custom_Command</class>
|
||||||
|
<desc>Reboot USRP N310</desc>
|
||||||
|
<node>caracal</node>
|
||||||
|
<command>ssh root@192.168.20.2 reboot ; sleep 45</command>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="020000">
|
||||||
|
<class>Deploy_Object</class>
|
||||||
|
<desc>Deploy gNB (TDD/Band78/40MHz/N310) in a container</desc>
|
||||||
|
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_gnb</yaml_path>
|
||||||
|
<eNB_instance>0</eNB_instance>
|
||||||
|
<eNB_serverId>0</eNB_serverId>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="020001">
|
||||||
|
<class>Deploy_Object</class>
|
||||||
|
<desc>Deploy nrUE (TDD/Band78/40MHz/N310) in a container</desc>
|
||||||
|
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_nrue</yaml_path>
|
||||||
|
<eNB_instance>1</eNB_instance>
|
||||||
|
<eNB_serverId>1</eNB_serverId>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="000001">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach OAIUE</desc>
|
||||||
|
<id>oai_ue_caracal</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="000100">
|
||||||
|
<class>Iperf</class>
|
||||||
|
<desc>iperf (DL/20Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
||||||
|
<iperf_args>-u -b 20M -t 30 -i 1 -R</iperf_args>
|
||||||
|
<direction>IPERF3</direction>
|
||||||
|
<id>oai_ue_caracal</id>
|
||||||
|
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||||
|
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="000200">
|
||||||
|
<class>Iperf</class>
|
||||||
|
<desc>iperf (UL/5Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
||||||
|
<iperf_args>-u -b 5M -t 30 -i 1 </iperf_args>
|
||||||
|
<direction>IPERF3</direction>
|
||||||
|
<id>oai_ue_caracal</id>
|
||||||
|
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||||
|
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="001000">
|
||||||
|
<class>Ping</class>
|
||||||
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
|
<id>oai_ue_caracal</id>
|
||||||
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
|
<ping_rttavg_threshold>25</ping_rttavg_threshold>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="002000">
|
||||||
|
<class>Ping</class>
|
||||||
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
|
<id>oai_ue_caracal</id>
|
||||||
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
|
<ping_rttavg_threshold>30</ping_rttavg_threshold>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="040000">
|
||||||
|
<class>Undeploy_Object</class>
|
||||||
|
<desc>Undeploy gNB</desc>
|
||||||
|
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_gnb</yaml_path>
|
||||||
|
<eNB_instance>0</eNB_instance>
|
||||||
|
<eNB_serverId>0</eNB_serverId>
|
||||||
|
<d_retx_th>20,100,100,100</d_retx_th>
|
||||||
|
<u_retx_th>20,100,100,100</u_retx_th>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="040001">
|
||||||
|
<class>Undeploy_Object</class>
|
||||||
|
<desc>Undeploy nr UE</desc>
|
||||||
|
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_nrue</yaml_path>
|
||||||
|
<eNB_instance>1</eNB_instance>
|
||||||
|
<eNB_serverId>1</eNB_serverId>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
</testCaseList>
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
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-aw2s-cleanup</htmlTabRef>
|
||||||
|
<htmlTabName>CleanUp of test servers</htmlTabName>
|
||||||
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
|
222222
|
||||||
|
</TestCaseRequestedList>
|
||||||
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>1</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
</testCaseList>
|
||||||
|
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
<testCase id="030000">
|
<testCase id="030000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize eNB</desc>
|
<desc>Initialize eNB</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band38.nsa_2x2.100PRB.usrpn310.conf --usrp-tx-thread-config 1 --thread-pool 0,2,4,6 --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band38.nsa_2x2.100prb.usrpn310.conf --usrp-tx-thread-config 1 --thread-pool 0,2,4,6 --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
||||||
<eNB_instance>0</eNB_instance>
|
<eNB_instance>0</eNB_instance>
|
||||||
<eNB_serverId>0</eNB_serverId>
|
<eNB_serverId>0</eNB_serverId>
|
||||||
<air_interface>lte</air_interface>
|
<air_interface>lte</air_interface>
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
<testCase id="040000">
|
<testCase id="040000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB</desc>
|
<desc>Initialize gNB</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf -q --usrp-tx-thread-config 1 --T_stdout 2 --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.nsa.band78.106prb.usrpn310.2x2.conf -q --usrp-tx-thread-config 1 --T_stdout 2 --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
||||||
<eNB_instance>1</eNB_instance>
|
<eNB_instance>1</eNB_instance>
|
||||||
<eNB_serverId>1</eNB_serverId>
|
<eNB_serverId>1</eNB_serverId>
|
||||||
<air_interface>nr</air_interface>
|
<air_interface>nr</air_interface>
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 100 -i 0,2</ping_args>
|
<ping_args>-c 100 -i 0,2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|||||||
@@ -105,7 +105,7 @@
|
|||||||
<testCase id="031000">
|
<testCase id="031000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize eNB</desc>
|
<desc>Initialize eNB</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band38.nsa_2x2.100PRB.usrpn310.conf --usrp-tx-thread-config 1 --thread-pool 0,2,4,6 --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band38.nsa_2x2.100prb.usrpn310.conf --usrp-tx-thread-config 1 --thread-pool 0,2,4,6 --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
||||||
<eNB_instance>0</eNB_instance>
|
<eNB_instance>0</eNB_instance>
|
||||||
<eNB_serverId>0</eNB_serverId>
|
<eNB_serverId>0</eNB_serverId>
|
||||||
<air_interface>lte</air_interface>
|
<air_interface>lte</air_interface>
|
||||||
@@ -118,7 +118,7 @@
|
|||||||
<testCase id="041000">
|
<testCase id="041000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB</desc>
|
<desc>Initialize gNB</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf -q --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.nsa.band78.106prb.usrpn310.2x2.conf -q --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
||||||
<eNB_instance>1</eNB_instance>
|
<eNB_instance>1</eNB_instance>
|
||||||
<eNB_serverId>1</eNB_serverId>
|
<eNB_serverId>1</eNB_serverId>
|
||||||
<air_interface>nr</air_interface>
|
<air_interface>nr</air_interface>
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|||||||
@@ -141,7 +141,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -150,7 +150,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -114,7 +114,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|||||||
@@ -1,124 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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-SA-FR1-Tab1</htmlTabRef>
|
|
||||||
<htmlTabName>SA Ping DL UL with 1 AS UE</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
100000
|
|
||||||
010000
|
|
||||||
040000
|
|
||||||
010001
|
|
||||||
010002
|
|
||||||
050000
|
|
||||||
010100
|
|
||||||
010200
|
|
||||||
011111
|
|
||||||
080000
|
|
||||||
200000
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="100000">
|
|
||||||
<class>Custom_Command</class>
|
|
||||||
<desc>Disable Sleep States</desc>
|
|
||||||
<node>asterix</node>
|
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="200000">
|
|
||||||
<class>Custom_Command</class>
|
|
||||||
<desc>Enable Sleep States</desc>
|
|
||||||
<node>asterix</node>
|
|
||||||
<command>sudo cpupower idle-set -E</command>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize AS-UE Scenario</desc>
|
|
||||||
<id>amarisoft_ue</id>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="010001">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach UE</desc>
|
|
||||||
<id>amarisoft_ue_1</id>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="010002">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach UE</desc>
|
|
||||||
<id>amarisoft_ue_2</id>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="010100">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
<id>amarisoft_ue_1</id>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="010200">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
<id>amarisoft_ue_2</id>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="011111">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate UE</desc>
|
|
||||||
<id>amarisoft_ue</id>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040000">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize gNB</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.asue.conf --sa -q --usrp-tx-thread-config 1 --T_stdout 2 --tune-offset 30000000 --thread-pool 1,3,5,7,9,11,13,15 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
<air_interface>nr</air_interface>
|
|
||||||
<eNB_Trace>yes</eNB_Trace>
|
|
||||||
<eNB_Stats>yes</eNB_Stats>
|
|
||||||
<rt_stats_cfg>datalog_rt_stats.2x2.yaml</rt_stats_cfg>
|
|
||||||
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
|
|
||||||
<cmd_prefix>numactl --cpunodebind=netdev:ens2f0np0 --membind=netdev:ens2f0np0</cmd_prefix>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="050000">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>Ping Log Analysis</desc>
|
|
||||||
<id>amarisoft_ue_1 amarisoft_ue_2</id>
|
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="080000">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate gNB</desc>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
<air_interface>nr</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
<testCase id="050000">
|
<testCase id="050000">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 20pings in 20sec</desc>
|
<desc>Ping from CN to UE: 20pings in 20sec</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
||||||
<id>oai_ue_obelix</id>
|
<id>oai_ue_obelix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
<testCase id="040000">
|
<testCase id="040000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB</desc>
|
<desc>Initialize gNB</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.conf --gNBs.[0].min_rxtxtime 5 --sa --usrp-tx-thread-config 1 --tune-offset 30000000 --thread-pool 1,3,5,7,9,11,13,15 --gNBs.[0].min_rxtxtime 5 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.sa.band78.106prb.usrp310.2x2.conf --gNBs.[0].min_rxtxtime 5 --sa --usrp-tx-thread-config 1 --tune-offset 30000000 --thread-pool 1,3,5,7,9,11,13,15 --gNBs.[0].min_rxtxtime 5 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
||||||
<eNB_instance>0</eNB_instance>
|
<eNB_instance>0</eNB_instance>
|
||||||
<eNB_serverId>0</eNB_serverId>
|
<eNB_serverId>0</eNB_serverId>
|
||||||
<air_interface>nr</air_interface>
|
<air_interface>nr</air_interface>
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 20pings in 20sec</desc>
|
<desc>Ping from CN to UE: 20pings in 20sec</desc>
|
||||||
<id>oai_ue_obelix</id>
|
<id>oai_ue_obelix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
||||||
<id>oai_ue_obelix</id>
|
<id>oai_ue_obelix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 20pings in 20sec</desc>
|
<desc>Ping from CN to UE: 20pings in 20sec</desc>
|
||||||
<id>oai_ue_obelix</id>
|
<id>oai_ue_obelix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
||||||
<id>oai_ue_obelix</id>
|
<id>oai_ue_obelix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|||||||
@@ -86,7 +86,7 @@
|
|||||||
<testCase id="040000">
|
<testCase id="040000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB</desc>
|
<desc>Initialize gNB</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.ddsuu.2x2.usrpn310.conf --sa -q --usrp-tx-thread-config 1 --T_stdout 2 --tune-offset 30000000 --thread-pool 1,3,5,7,9,11,13,15 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.sa.band78.106prb.usrpn310.ddsuu-2x2.conf --sa -q --usrp-tx-thread-config 1 --T_stdout 2 --tune-offset 30000000 --thread-pool 1,3,5,7,9,11,13,15 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
||||||
<eNB_instance>0</eNB_instance>
|
<eNB_instance>0</eNB_instance>
|
||||||
<eNB_serverId>0</eNB_serverId>
|
<eNB_serverId>0</eNB_serverId>
|
||||||
<air_interface>nr</air_interface>
|
<air_interface>nr</air_interface>
|
||||||
@@ -114,7 +114,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 40pings in 40sec</desc>
|
<desc>Ping: 40pings in 40sec</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 40</ping_args>
|
<ping_args>-c 40 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>10</ping_rttavg_threshold>
|
<ping_rttavg_threshold>10</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
<desc>Ping: 100pings in 20sec</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 100 -i 0,2</ping_args>
|
<ping_args>-c 100 -i 0,2 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>10</ping_rttavg_threshold>
|
<ping_rttavg_threshold>10</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
<testCase id="042000">
|
<testCase id="042000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB</desc>
|
<desc>Initialize gNB</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.sa.fr1.162PRB.2x2.usrpn310.conf --sa -q --usrp-tx-thread-config 1 --tune-offset 30000000 --thread-pool 1,3,5,7,9,11,13,15 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.sa.band78.162prb.usrpn310.2x2.conf --sa -q --usrp-tx-thread-config 1 --tune-offset 30000000 --thread-pool 1,3,5,7,9,11,13,15 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
||||||
<eNB_instance>0</eNB_instance>
|
<eNB_instance>0</eNB_instance>
|
||||||
<eNB_serverId>0</eNB_serverId>
|
<eNB_serverId>0</eNB_serverId>
|
||||||
<air_interface>nr</air_interface>
|
<air_interface>nr</air_interface>
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 40pings in 40sec</desc>
|
<desc>Ping: 40pings in 40sec</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 40</ping_args>
|
<ping_args>-c 40 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>20</ping_rttavg_threshold>
|
<ping_rttavg_threshold>20</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
<testCase id="041000">
|
<testCase id="041000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB</desc>
|
<desc>Initialize gNB</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.conf --sa -q --usrp-tx-thread-config 1 --tune-offset 30000000 --thread-pool 1,3,5,7,9,11,13,15 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.sa.band78.106prb.usrp310.2x2.conf --sa -q --usrp-tx-thread-config 1 --tune-offset 30000000 --thread-pool 1,3,5,7,9,11,13,15 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
||||||
<eNB_instance>0</eNB_instance>
|
<eNB_instance>0</eNB_instance>
|
||||||
<eNB_serverId>0</eNB_serverId>
|
<eNB_serverId>0</eNB_serverId>
|
||||||
<air_interface>nr</air_interface>
|
<air_interface>nr</air_interface>
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 40pings in 40sec</desc>
|
<desc>Ping: 40pings in 40sec</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<ping_args>-c 40</ping_args>
|
<ping_args>-c 40 %cn_ip%</ping_args>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
<ping_rttavg_threshold>20</ping_rttavg_threshold>
|
<ping_rttavg_threshold>20</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
<testCase id="090101">
|
<testCase id="090101">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB USRP</desc>
|
<desc>Initialize gNB USRP</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.106PRB.usrpn300.conf --phy-test --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.106prb.usrpn300.phytest-dora.conf --phy-test --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
||||||
<air_interface>NR</air_interface>
|
<air_interface>NR</air_interface>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
<testCase id="090103">
|
<testCase id="090103">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB USRP (Tx-Write-Threading enabled)</desc>
|
<desc>Initialize gNB USRP (Tx-Write-Threading enabled)</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.106PRB.usrpn300.conf --phy-test --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.106prb.usrpn300.phytest-dora.conf --phy-test --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
||||||
<air_interface>NR</air_interface>
|
<air_interface>NR</air_interface>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
<testCase id="090101">
|
<testCase id="090101">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB USRP</desc>
|
<desc>Initialize gNB USRP</desc>
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.106PRB.usrpn300.conf --phy-test -q -U 787200 -T 106 -t 23 -D 130175 -m 28 -M 106 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.106prb.usrpn300.phytest-dora.conf --phy-test -q -U 787200 -T 106 -t 23 -D 130175 -m 28 -M 106 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
||||||
<rt_stats_cfg>datalog_rt_stats.default.yaml</rt_stats_cfg>
|
<rt_stats_cfg>datalog_rt_stats.default.yaml</rt_stats_cfg>
|
||||||
<air_interface>NR</air_interface>
|
<air_interface>NR</air_interface>
|
||||||
<USRP_IPAddress>192.168.20.2</USRP_IPAddress>
|
<USRP_IPAddress>192.168.20.2</USRP_IPAddress>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user