Merge remote-tracking branch 'origin/remove-flexran' into integration_2022_wk48
This commit is contained in:
+11
-188
@@ -370,9 +370,6 @@ endif()
|
||||
#############
|
||||
set(asn1_generated_dir ${OPENAIR_BIN_DIR})
|
||||
|
||||
set(protoc_call "${OPENAIR_CMAKE}/tools/generate_protobuf")
|
||||
set(protobuf_generated_dir ${OPENAIR_BIN_DIR})
|
||||
|
||||
# RRC
|
||||
######
|
||||
set (RRC_ASN1_VERSION "Rel15")
|
||||
@@ -1064,179 +1061,6 @@ include_directories("${OPENAIR2_DIR}/UTIL/OMV")
|
||||
include_directories("${OPENAIR2_DIR}/RRC/LTE/MESSAGES")
|
||||
include_directories("${OPENAIR_DIR}")
|
||||
|
||||
# flexran
|
||||
################
|
||||
# Make lfds as a own source code (even if it is a outside library)
|
||||
# only user: Flexran, please don't use lfds in any other component
|
||||
###################################################################
|
||||
|
||||
set(lfds7 ${OPENAIR2_DIR}/UTIL/LFDS/liblfds7.0.0/liblfds700/src/)
|
||||
file(GLOB lfds7_queue ${lfds7}/lfds700_queue/*.c)
|
||||
file(GLOB lfds7_ring ${lfds7}/lfds700_ringbuffer/*.c)
|
||||
file(GLOB lfds7_qbss ${lfds7}/lfds700_queue_bounded_singleconsumer_singleproducer/*.c)
|
||||
file(GLOB lfds7_stack ${lfds7}/lfds700_stack/*.c)
|
||||
file(GLOB lfds7_freelist ${lfds7}/lfds700_freelist/*.c)
|
||||
file(GLOB lfds7_btree ${lfds7}/lfds700_btree_addonly_unbalanced/*.c)
|
||||
file(GLOB lfds7_hash ${lfds7}/lfds700_hash_addonly/*.c)
|
||||
file(GLOB lfds7_ordered_list ${lfds7}/lfds700_list_addonly_ordered_singlylinked/*.c)
|
||||
file(GLOB lfds7_unordered_list ${lfds7}/lfds700_list_addonly_singlylinked_unordered/*.c)
|
||||
file(GLOB lfds7_misc ${lfds7}/lfds700_misc/*.c)
|
||||
|
||||
add_library(LFDS7
|
||||
${lfds7_queue} ${lfds7_ring} ${lfds7_qbss} ${lfds7_stack} ${lfds7_freelist} ${lfds7_btree} ${lfds7_hash} ${lfds7_ordered_list} ${lfds7_unordered_list} ${lfds7_misc}
|
||||
)
|
||||
|
||||
target_include_directories(LFDS7 PRIVATE "${lfds7}")
|
||||
# set the version of protobuf messages, V3 not supported yet
|
||||
add_list1_option(FLPT_VERSION V2 "FLPT MSG protobuf grammar version" V2 V3)
|
||||
|
||||
if (${FLPT_VERSION} STREQUAL "V2")
|
||||
set (FLPTDIR V2)
|
||||
elseif (${FLPT_VERSION} STREQUAL "V3")
|
||||
set (FLPTDIR V3)
|
||||
endif(${FLPT_VERSION} STREQUAL "V2")
|
||||
|
||||
set(FLPT_MSG_DIR ${OPENAIR2_DIR}/ENB_APP/MESSAGES/${FLPTDIR} )
|
||||
set(FLPT_MSG_FILES
|
||||
${FLPT_MSG_DIR}/header.proto
|
||||
${FLPT_MSG_DIR}/flexran.proto
|
||||
${FLPT_MSG_DIR}/stats_common.proto
|
||||
${FLPT_MSG_DIR}/stats_messages.proto
|
||||
${FLPT_MSG_DIR}/time_common.proto
|
||||
${FLPT_MSG_DIR}/controller_commands.proto
|
||||
${FLPT_MSG_DIR}/mac_primitives.proto
|
||||
${FLPT_MSG_DIR}/config_messages.proto
|
||||
${FLPT_MSG_DIR}/config_common.proto
|
||||
${FLPT_MSG_DIR}/control_delegation.proto
|
||||
)
|
||||
|
||||
set(FLPT_C_DIR ${protobuf_generated_dir}/FLPT_${FLPTDIR})
|
||||
#message("calling protoc_call=${protoc_call} FLPT_C_DIR=${FLPT_C_DIR} FLPT_MSG_FILES=${FLPT_MSG_FILES}")
|
||||
execute_process(COMMAND ${protoc_call} ${FLPT_C_DIR} ${FLPT_MSG_DIR} ${FLPT_MSG_FILES})
|
||||
file(GLOB FLPT_source ${FLPT_C_DIR}/*.c)
|
||||
set(FLPT_OAI_generated
|
||||
${FLPT_C_DIR}/header.pb-c.c
|
||||
${FLPT_C_DIR}/flexran.pb-c.c
|
||||
${FLPT_C_DIR}/stats_common.pb-c.c
|
||||
${FLPT_C_DIR}/stats_messages.pb-c.c
|
||||
${FLPT_C_DIR}/time_common.pb-c.c
|
||||
${FLPT_C_DIR}/controller_commands.pb-c.c
|
||||
${FLPT_C_DIR}/mac_primitives.pb-c.c
|
||||
${FLPT_C_DIR}/config_messages.pb-c.c
|
||||
${FLPT_C_DIR}/config_common.pb-c.c
|
||||
${FLPT_C_DIR}/control_delegation.pb-c.c
|
||||
)
|
||||
|
||||
file(GLOB flpt_h ${FLPT_C_DIR}/*.h)
|
||||
set(flpt_h ${flpt_h} )
|
||||
|
||||
add_library(FLPT_MSG
|
||||
${FLPT_OAI_generated}
|
||||
${FLPT_source}
|
||||
)
|
||||
target_link_libraries(FLPT_MSG LFDS7)
|
||||
add_dependencies(FLPT_MSG LFDS7)
|
||||
|
||||
set(FLPT_MSG_LIB FLPT_MSG)
|
||||
#message("prpt c dir is : ${FLPT_C_DIR}")
|
||||
include_directories (${FLPT_C_DIR})
|
||||
|
||||
add_library(ASYNC_IF
|
||||
${OPENAIR2_DIR}/UTIL/ASYNC_IF/socket_link.c
|
||||
${OPENAIR2_DIR}/UTIL/ASYNC_IF/link_manager.c
|
||||
${OPENAIR2_DIR}/UTIL/ASYNC_IF/message_queue.c
|
||||
${OPENAIR2_DIR}/UTIL/ASYNC_IF/ringbuffer_queue.c
|
||||
)
|
||||
set(ASYNC_IF_LIB ASYNC_IF)
|
||||
target_include_directories(ASYNC_IF PRIVATE "${OPENAIR2_DIR}/UTIL/LFDS/liblfds7.0.0/liblfds700/inc")
|
||||
include_directories(${OPENAIR2_DIR}/UTIL/ASYNC_IF)
|
||||
|
||||
add_library(FLEXRAN_AGENT
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent_handler.c
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent_common.c
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent_ran_api.c
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent_timer.c
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent_common_internal.c
|
||||
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/PHY/flexran_agent_phy.c
|
||||
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
|
||||
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
|
||||
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_internal.c
|
||||
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/PDCP/flexran_agent_pdcp.c
|
||||
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/S1AP/flexran_agent_s1ap.c
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent.c
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent_task_manager.c
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent_net_comm.c
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent_async.c
|
||||
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
|
||||
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.c
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent_app.c
|
||||
)
|
||||
add_dependencies(FLEXRAN_AGENT rrc_flag ASYNC_IF)
|
||||
target_link_libraries(FLEXRAN_AGENT ASYNC_IF LFDS7)
|
||||
target_include_directories(FLEXRAN_AGENT PRIVATE "${OPENAIR2_DIR}/UTIL/LFDS/liblfds7.0.0/liblfds700/inc")
|
||||
set(FLEXRAN_AGENT_LIB FLEXRAN_AGENT)
|
||||
add_library(flapp_sample SHARED
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_apps/sample.c
|
||||
)
|
||||
set_target_properties(flapp_sample PROPERTIES C_VISIBILITY_PRESET hidden)
|
||||
add_library(flapp_imsi SHARED
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_apps/imsi.c
|
||||
)
|
||||
set_target_properties(flapp_imsi PROPERTIES C_VISIBILITY_PRESET hidden)
|
||||
add_custom_target(flapp_all DEPENDS
|
||||
flapp_sample
|
||||
flapp_imsi
|
||||
)
|
||||
#include_directories(${OPENAIR2_DIR}/ENB_APP)
|
||||
|
||||
set(PROTOBUF_LIB "protobuf-c")
|
||||
|
||||
FIND_PATH(LIBYAML_INCLUDE_DIR NAMES yaml.h)
|
||||
FIND_LIBRARY(LIBYAML_LIBRARIES NAMES yaml libyaml)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Yaml DEFAULT_MSG LIBYAML_LIBRARIES LIBYAML_INCLUDE_DIR)
|
||||
MARK_AS_ADVANCED(LIBYAML_INCLUDE_DIR LIBYAML_LIBRARIES)
|
||||
|
||||
#set(PROTOBUF_LIB "protobuf") #for Cpp
|
||||
|
||||
# set the version of protobuf messages, V3 not supported yet
|
||||
add_list1_option(FSPT_VERSION V2 "FSPT MSG protobuf grammar version" V2 V3)
|
||||
|
||||
if (${FSPT_VERSION} STREQUAL "V2")
|
||||
set (FSPTDIR V2)
|
||||
elseif (${FSPT_VERSION} STREQUAL "V3")
|
||||
set (FSPTDIR V3)
|
||||
endif(${FSPT_VERSION} STREQUAL "V2")
|
||||
|
||||
set(FSPT_MSG_DIR ${OPENAIR_DIR}/targets/COMMON/MESSAGES/${FSPTDIR} )
|
||||
set(FSPT_MSG_FILES
|
||||
${FSPT_MSG_DIR}/flexsplit.proto
|
||||
)
|
||||
|
||||
set(FSPT_C_DIR ${protobuf_generated_dir}/FSPT_${FSPTDIR})
|
||||
message("calling protoc_call=${protoc_call} FSPT_C_DIR=${FSPT_C_DIR} FSPT_MSG_DIR=${FSPT_MSG_DIR} FSPT_MSG_FILES=${FSPT_MSG_FILES}")
|
||||
execute_process(COMMAND ${protoc_call} ${FSPT_C_DIR} ${FSPT_MSG_DIR} ${FSPT_MSG_FILES})
|
||||
file(GLOB FSPT_source ${FSPT_C_DIR}/*.c)
|
||||
set(FSPT_OAI_generated
|
||||
${FSPT_C_DIR}/flexsplit.pb-c.c
|
||||
)
|
||||
|
||||
file(GLOB fspt_h ${FSPT_C_DIR}/*.h)
|
||||
set(fspt_h ${fspt_h} )
|
||||
|
||||
add_library(FSPT_MSG
|
||||
${FSPT_OAI_generated}
|
||||
${FSPT_source}
|
||||
)
|
||||
set(FSPT_MSG_LIB FSPT_MSG)
|
||||
message("fspt c dir is : ${FSPT_C_DIR}")
|
||||
include_directories (${FSPT_C_DIR})
|
||||
|
||||
set(PROTOBUF_LIB "protobuf-c")
|
||||
|
||||
#set(PROTOBUF_LIB "protobuf") #for Cpp
|
||||
|
||||
###########
|
||||
# Utilities
|
||||
###############
|
||||
@@ -2656,11 +2480,11 @@ target_link_libraries (lte-softmodem
|
||||
-Wl,--start-group
|
||||
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U F1AP_LIB F1AP SECU_CN SECU_OSA 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
|
||||
${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB}
|
||||
${RAL_LIB} ${NAS_UE_LIB} ITTI
|
||||
-Wl,--end-group z dl)
|
||||
|
||||
target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
|
||||
target_link_libraries (lte-softmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES})
|
||||
target_link_libraries (lte-softmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS})
|
||||
target_link_libraries (lte-softmodem ${LIB_LMS_LIBRARIES})
|
||||
target_link_libraries (lte-softmodem ${T_LIB})
|
||||
|
||||
@@ -2696,9 +2520,9 @@ target_link_libraries (ocp-enb
|
||||
|
||||
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_LIB SCHED_RU_LIB
|
||||
PHY_COMMON PHY PHY_RU L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB MISC_NFAPI_LTE_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB SIMU_COMMON
|
||||
${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB}
|
||||
${RAL_LIB} ${NAS_UE_LIB} ITTI
|
||||
-Wl,--end-group z dl)
|
||||
target_link_libraries (ocp-enb ${LIBXML2_LIBRARIES} pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${LIB_LMS_LIBRARIES} ${T_LIB})
|
||||
target_link_libraries (ocp-enb ${LIBXML2_LIBRARIES} pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS} ${LIB_LMS_LIBRARIES} ${T_LIB})
|
||||
|
||||
add_executable(oairu
|
||||
${OPENAIR_TARGETS}/RT/USER/lte-ru.c
|
||||
@@ -2754,11 +2578,11 @@ target_link_libraries (lte-uesoftmodem
|
||||
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB
|
||||
SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON
|
||||
PHY_UE PHY_RU L2_UE L2_LTE SIMU_COMMON SIMU NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
||||
${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ATLAS_LIBRARIES}
|
||||
${RAL_LIB} ${NAS_UE_LIB} ITTI ${ATLAS_LIBRARIES}
|
||||
-Wl,--end-group z dl)
|
||||
|
||||
target_link_libraries (lte-uesoftmodem ${LIBXML2_LIBRARIES})
|
||||
target_link_libraries (lte-uesoftmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES})
|
||||
target_link_libraries (lte-uesoftmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS} ${ATLAS_LIBRARIES})
|
||||
target_link_libraries (lte-uesoftmodem ${LIB_LMS_LIBRARIES})
|
||||
target_link_libraries (lte-uesoftmodem ${T_LIB})
|
||||
|
||||
@@ -2787,19 +2611,18 @@ add_executable(nr-softmodem
|
||||
${XFORMSINTERFACE_SOURCE}
|
||||
${T_SOURCE}
|
||||
${SHLIB_LOADER_SOURCES}
|
||||
${OPENAIR2_DIR}/ENB_APP/flexran_agent_ran_api_to_fix.c
|
||||
)
|
||||
|
||||
target_link_libraries (nr-softmodem
|
||||
-Wl,--start-group
|
||||
UTIL HASHTABLE SCTP_CLIENT SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU GTPV1U SECU_CN SECU_OSA
|
||||
ITTI ${FLPT_MSG_LIB} ${FLEXRAN_AGENT_LIB} ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
|
||||
ITTI ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
|
||||
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
||||
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${FSPT_MSG_LIB}
|
||||
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB
|
||||
-Wl,--end-group z dl)
|
||||
|
||||
target_link_libraries (nr-softmodem ${LIBXML2_LIBRARIES})
|
||||
target_link_libraries (nr-softmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES})
|
||||
target_link_libraries (nr-softmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${CMAKE_DL_LIBS} ${ATLAS_LIBRARIES})
|
||||
target_link_libraries (nr-softmodem ${LIB_LMS_LIBRARIES})
|
||||
target_link_libraries (nr-softmodem ${T_LIB})
|
||||
|
||||
@@ -2842,7 +2665,7 @@ target_link_libraries (nr-uesoftmodem
|
||||
-Wl,--end-group z dl)
|
||||
|
||||
target_link_libraries (nr-uesoftmodem ${LIBXML2_LIBRARIES})
|
||||
target_link_libraries (nr-uesoftmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${XFORMS_LIBRARIES} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES})
|
||||
target_link_libraries (nr-uesoftmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${XFORMS_LIBRARIES} ${CMAKE_DL_LIBS} ${ATLAS_LIBRARIES})
|
||||
target_link_libraries (nr-uesoftmodem ${LIB_LMS_LIBRARIES})
|
||||
target_link_libraries (nr-uesoftmodem ${T_LIB})
|
||||
|
||||
@@ -3081,7 +2904,7 @@ if (${T_TRACER})
|
||||
#all "add_library" definitions
|
||||
ITTI RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP
|
||||
params_libconfig oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif oai_iqplayer
|
||||
oai_eth_transpro oai_mobipass coding FLPT_MSG FLEXRAN_AGENT HASHTABLE UTIL OMG_SUMO
|
||||
oai_eth_transpro oai_mobipass coding HASHTABLE UTIL OMG_SUMO
|
||||
SECU_OSA SECU_CN SCHED_LIB SCHED_NR_LIB SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB default_sched remote_sched RAL
|
||||
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_VNF_LIB NFAPI_USER_LIB
|
||||
PHY_COMMON PHY PHY_UE PHY_NR PHY_NR_COMMON PHY_NR_UE PHY_RU PHY_MEX
|
||||
|
||||
@@ -54,10 +54,6 @@ pipeline {
|
||||
echo "Platform is ${env.TESTPLATFORM_OWNER}"
|
||||
}
|
||||
|
||||
if (fileExists("flexran")) {
|
||||
sh "rm -Rf flexran > /dev/null 2>&1"
|
||||
}
|
||||
|
||||
echo '\u2705 \u001B[32mVerify Labels\u001B[0m'
|
||||
if ("MERGE".equals(env.gitlabActionType)) {
|
||||
LABEL_CHECK = sh returnStdout: true, script: 'ci-scripts/checkGitLabMergeRequestLabels.sh --mr-id ' + env.gitlabMergeRequestIid
|
||||
|
||||
@@ -110,7 +110,7 @@ MODIFIED_FILES=`git log $TARGET_INIT_COMMIT..$MERGE_COMMMIT --oneline --name-sta
|
||||
NB_WARNINGS_FILES=0
|
||||
|
||||
# Retrieve list of warnings
|
||||
LIST_WARNING_FILES=`egrep "error:|warning:" archives/*/*.txt | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto" | sed -e "s#^.*/home/ubuntu/tmp/##" -e "s#^.*/tmp/CI-eNB/##" -e "s#common/utils/.*/itti#common/utils/itti#" | awk -F ":" '{print $1}' | sort | uniq`
|
||||
LIST_WARNING_FILES=`egrep "error:|warning:" archives/*/*.txt | egrep -v "jobserver unavailable|Clock skew detected." | sed -e "s#^.*/home/ubuntu/tmp/##" -e "s#^.*/tmp/CI-eNB/##" -e "s#common/utils/.*/itti#common/utils/itti#" | awk -F ":" '{print $1}' | sort | uniq`
|
||||
|
||||
echo ""
|
||||
echo "List of files that have been modified by the Merge Request AND"
|
||||
|
||||
@@ -279,8 +279,6 @@ class Containerize():
|
||||
|
||||
self.testCase_id = ''
|
||||
|
||||
self.flexranCtrlDeployed = False
|
||||
self.flexranCtrlIpAddress = ''
|
||||
self.cli = ''
|
||||
self.cliBuildOptions = ''
|
||||
self.dockerfileprefix = ''
|
||||
|
||||
+3
-159
@@ -299,50 +299,6 @@ class OaiCiTest():
|
||||
HTML.CreateHtmlTabFooter(False)
|
||||
self.ConditionalExit()
|
||||
|
||||
def CheckFlexranCtrlInstallation(self,RAN,EPC,CONTAINERS):
|
||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '':
|
||||
return
|
||||
SSH = sshconnection.SSHConnection()
|
||||
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
||||
SSH.command('ls -ls /opt/flexran_rtc/*/rt_controller', '\$', 5)
|
||||
result = re.search('/opt/flexran_rtc/build/rt_controller', SSH.getBefore())
|
||||
if result is not None:
|
||||
RAN.flexranCtrlInstalled=True
|
||||
RAN.flexranCtrlIpAddress=EPC.IPAddress
|
||||
logging.debug('Flexran Controller is installed')
|
||||
else:
|
||||
# Maybe flexran-rtc is deployed into a container
|
||||
SSH.command('docker inspect --format="FLEX_RTC_IP_ADDR = {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" prod-flexran-rtc', '\$', 5)
|
||||
result = re.search('FLEX_RTC_IP_ADDR = (?P<flex_ip_addr>[0-9\.]+)', SSH.getBefore())
|
||||
if result is not None:
|
||||
RAN.flexranCtrlDeployed=True
|
||||
RAN.flexranCtrlIpAddress=result.group('flex_ip_addr')
|
||||
CONTAINERS.flexranCtrlDeployed=True
|
||||
CONTAINERS.flexranCtrlIpAddress=result.group('flex_ip_addr')
|
||||
logging.debug('Flexran Controller is deployed: ' + RAN.flexranCtrlIpAddress)
|
||||
SSH.close()
|
||||
|
||||
def InitializeFlexranCtrl(self, HTML,RAN,EPC):
|
||||
if RAN.flexranCtrlInstalled == False:
|
||||
return
|
||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
sys.exit('Insufficient Parameter')
|
||||
SSH = sshconnection.SSHConnection()
|
||||
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
||||
SSH.command('cd /opt/flexran_rtc', '\$', 5)
|
||||
SSH.command('echo ' + EPC.Password + ' | sudo -S rm -f log/*.log', '\$', 5)
|
||||
SSH.command('echo ' + EPC.Password + ' | sudo -S echo "build/rt_controller -c log_config/basic_log" > ./my-flexran-ctl.sh', '\$', 5)
|
||||
SSH.command('echo ' + EPC.Password + ' | sudo -S chmod 755 ./my-flexran-ctl.sh', '\$', 5)
|
||||
SSH.command('echo ' + EPC.Password + ' | sudo -S daemon --unsafe --name=flexran_rtc_daemon --chdir=/opt/flexran_rtc -o /opt/flexran_rtc/log/flexranctl_' + self.testCase_id + '.log ././my-flexran-ctl.sh', '\$', 5)
|
||||
SSH.command('ps -aux | grep --color=never rt_controller', '\$', 5)
|
||||
result = re.search('rt_controller -c ', SSH.getBefore())
|
||||
if result is not None:
|
||||
logging.debug('\u001B[1m Initialize FlexRan Controller Completed\u001B[0m')
|
||||
RAN.flexranCtrlStarted=True
|
||||
SSH.close()
|
||||
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
|
||||
|
||||
def InitializeUE_common(self, device_id, idx,COTS_UE):
|
||||
try:
|
||||
SSH = sshconnection.SSHConnection()
|
||||
@@ -1464,27 +1420,8 @@ class OaiCiTest():
|
||||
i += 1
|
||||
for job in multi_jobs:
|
||||
job.join()
|
||||
if (RAN.flexranCtrlInstalled and RAN.flexranCtrlStarted) or RAN.flexranCtrlDeployed:
|
||||
SSH = sshconnection.SSHConnection()
|
||||
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
||||
SSH.command('cd ' + EPC.SourceCodePath + '/scripts', '\$', 5)
|
||||
SSH.command('curl http://' + RAN.flexranCtrlIpAddress + ':9999/stats | jq \'.\' > check_status_' + self.testCase_id + '.log 2>&1', '\$', 5)
|
||||
SSH.command('cat check_status_' + self.testCase_id + '.log | jq \'.eNB_config[0].UE\' | grep -c rnti | sed -e "s#^#Nb Connected UE = #"', '\$', 5)
|
||||
result = re.search('Nb Connected UE = (?P<nb_ues>[0-9]+)', SSH.getBefore())
|
||||
passStatus = True
|
||||
if result is not None:
|
||||
nb_ues = int(result.group('nb_ues'))
|
||||
htmlOptions = 'Nb Connected UE(s) to eNB = ' + str(nb_ues)
|
||||
logging.debug('\u001B[1;37;44m ' + htmlOptions + ' \u001B[0m')
|
||||
if self.expectedNbOfConnectedUEs > -1:
|
||||
if nb_ues != self.expectedNbOfConnectedUEs:
|
||||
passStatus = False
|
||||
else:
|
||||
htmlOptions = 'N/A'
|
||||
SSH.close()
|
||||
else:
|
||||
passStatus = True
|
||||
htmlOptions = 'N/A'
|
||||
passStatus = True
|
||||
htmlOptions = 'N/A'
|
||||
|
||||
if (status_queue.empty()):
|
||||
HTML.CreateHtmlTestRow(htmlOptions, 'KO', CONST.ALL_PROCESSES_OK)
|
||||
@@ -3145,8 +3082,6 @@ class OaiCiTest():
|
||||
if logStatus < 0:
|
||||
result = logStatus
|
||||
RAN.eNBLogFiles[0]=''
|
||||
if RAN.flexranCtrlInstalled and RAN.flexranCtrlStarted:
|
||||
self.TerminateFlexranCtrl()
|
||||
return result
|
||||
|
||||
def CheckOAIUEProcessExist(self, initialize_OAI_UE_flag,HTML,RAN):
|
||||
@@ -3462,22 +3397,6 @@ class OaiCiTest():
|
||||
return global_status
|
||||
|
||||
|
||||
def TerminateFlexranCtrl(self,HTML,RAN,EPC):
|
||||
if RAN.flexranCtrlInstalled == False or RAN.flexranCtrlStarted == False:
|
||||
return
|
||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
sys.exit('Insufficient Parameter')
|
||||
SSH = sshconnection.SSHConnection()
|
||||
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
||||
SSH.command('echo ' + EPC.Password + ' | sudo -S daemon --name=flexran_rtc_daemon --stop', '\$', 5)
|
||||
time.sleep(1)
|
||||
SSH.command('echo ' + EPC.Password + ' | sudo -S killall --signal SIGKILL rt_controller', '\$', 5)
|
||||
time.sleep(1)
|
||||
SSH.close()
|
||||
RAN.flexranCtrlStarted=False
|
||||
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
|
||||
|
||||
def TerminateUE_common(self, device_id, idx,COTS_UE):
|
||||
try:
|
||||
SSH = sshconnection.SSHConnection()
|
||||
@@ -3628,13 +3547,6 @@ class OaiCiTest():
|
||||
logging.debug('Auto Termination of Instance ' + str(instance) + ' : ' + RAN.air_interface[instance])
|
||||
RAN.eNB_instance=instance
|
||||
RAN.TerminateeNB(HTML,EPC)
|
||||
if RAN.flexranCtrlInstalled and RAN.flexranCtrlStarted:
|
||||
self.testCase_id = 'AUTO-KILL-flexran-ctl'
|
||||
HTML.testCase_id = self.testCase_id
|
||||
self.desc = 'Automatic Termination of FlexRan CTL'
|
||||
HTML.desc = self.desc
|
||||
self.ShowTestID()
|
||||
self.TerminateFlexranCtrl(HTML,RAN,EPC)
|
||||
if CONTAINERS.yamlPath[0] != '':
|
||||
self.testCase_id = 'AUTO-KILL-CONTAINERS'
|
||||
HTML.testCase_id = self.testCase_id
|
||||
@@ -3662,13 +3574,6 @@ class OaiCiTest():
|
||||
logging.debug('Auto Termination of Instance ' + str(instance) + ' : ' + RAN.air_interface[instance])
|
||||
RAN.eNB_instance=instance
|
||||
RAN.TerminateeNB(HTML,EPC)
|
||||
if RAN.flexranCtrlInstalled and RAN.flexranCtrlStarted:
|
||||
self.testCase_id = 'AUTO-KILL-flexran-ctl'
|
||||
HTML.testCase_id = self.testCase_id
|
||||
self.desc = 'Automatic Termination of FlexRan CTL'
|
||||
HTML.desc = self.desc
|
||||
self.ShowTestID()
|
||||
self.TerminateFlexranCtrl(HTML,RAN,EPC)
|
||||
if CONTAINERS.yamlPath[0] != '':
|
||||
self.testCase_id = 'AUTO-KILL-CONTAINERS'
|
||||
HTML.testCase_id = self.testCase_id
|
||||
@@ -3712,9 +3617,6 @@ class OaiCiTest():
|
||||
ueIdx += 1
|
||||
cnt += 1
|
||||
|
||||
msg = "FlexRan Controller is connected to " + str(self.x2NbENBs) + " eNB(s)"
|
||||
logging.debug(msg)
|
||||
message += msg + '\n'
|
||||
cnt = 0
|
||||
while cnt < self.x2NbENBs:
|
||||
msg = " -- eNB: " + str(self.x2ENBBsIds[idx][cnt]) + " is connected to " + str(len(self.x2ENBConnectedUEs[idx][cnt])) + " UE(s)"
|
||||
@@ -3736,65 +3638,7 @@ class OaiCiTest():
|
||||
logging.debug(msg)
|
||||
fullMessage += msg + '\n'
|
||||
if self.x2_ho_options == 'network':
|
||||
if RAN.flexranCtrlInstalled and RAN.flexranCtrlStarted:
|
||||
self.x2ENBBsIds = []
|
||||
self.x2ENBConnectedUEs = []
|
||||
self.x2ENBBsIds.append([])
|
||||
self.x2ENBBsIds.append([])
|
||||
self.x2ENBConnectedUEs.append([])
|
||||
self.x2ENBConnectedUEs.append([])
|
||||
fullMessage += self.X2_Status(0, self.testCase_id + '_pre_ho.json')
|
||||
|
||||
msg = "Activating the X2 Net control on each eNB"
|
||||
logging.debug(msg)
|
||||
fullMessage += msg + '\n'
|
||||
eNB_cnt = self.x2NbENBs
|
||||
cnt = 0
|
||||
while cnt < eNB_cnt:
|
||||
cmd = "curl -XPOST http://" + EPC.IPAddress + ":9999/rrc/x2_ho_net_control/enb/" + str(self.x2ENBBsIds[0][cnt]) + "/1"
|
||||
logging.debug(cmd)
|
||||
fullMessage += cmd + '\n'
|
||||
subprocess.run(cmd, shell=True)
|
||||
cnt += 1
|
||||
# Waiting for the activation to be active
|
||||
time.sleep(10)
|
||||
msg = "Switching UE(s) from eNB to eNB"
|
||||
logging.debug(msg)
|
||||
fullMessage += msg + '\n'
|
||||
cnt = 0
|
||||
while cnt < eNB_cnt:
|
||||
ueIdx = 0
|
||||
while ueIdx < len(self.x2ENBConnectedUEs[0][cnt]):
|
||||
cmd = "curl -XPOST http://" + EPC.IPAddress() + ":9999/rrc/ho/senb/" + str(self.x2ENBBsIds[0][cnt]) + "/ue/" + str(self.x2ENBConnectedUEs[0][cnt][ueIdx]) + "/tenb/" + str(self.x2ENBBsIds[0][eNB_cnt - cnt - 1])
|
||||
logging.debug(cmd)
|
||||
fullMessage += cmd + '\n'
|
||||
subprocess.run(cmd, shell=True)
|
||||
ueIdx += 1
|
||||
cnt += 1
|
||||
time.sleep(10)
|
||||
# check
|
||||
logging.debug("Checking the Status after X2 Handover")
|
||||
fullMessage += self.X2_Status(1, self.testCase_id + '_post_ho.json')
|
||||
cnt = 0
|
||||
x2Status = True
|
||||
while cnt < eNB_cnt:
|
||||
if len(self.x2ENBConnectedUEs[0][cnt]) == len(self.x2ENBConnectedUEs[1][cnt]):
|
||||
x2Status = False
|
||||
cnt += 1
|
||||
if x2Status:
|
||||
msg = "X2 Handover was successful"
|
||||
logging.debug(msg)
|
||||
fullMessage += msg + '</pre>'
|
||||
html_queue.put(fullMessage)
|
||||
HTML.CreateHtmlTestRowQueue('N/A', 'OK', len(self.UEDevices), html_queue)
|
||||
else:
|
||||
msg = "X2 Handover FAILED"
|
||||
logging.error(msg)
|
||||
fullMessage += msg + '</pre>'
|
||||
html_queue.put(fullMessage)
|
||||
HTML.CreateHtmlTestRowQueue('N/A', 'OK', len(self.UEDevices), html_queue)
|
||||
else:
|
||||
HTML.CreateHtmlTestRow('Cannot perform requested X2 Handover', 'KO', CONST.ALL_PROCESSES_OK)
|
||||
HTML.CreateHtmlTestRow('Cannot perform requested X2 Handover', 'KO', CONST.ALL_PROCESSES_OK)
|
||||
|
||||
def LogCollectBuild(self,RAN):
|
||||
# Some pipelines are using "none" IP / Credentials
|
||||
|
||||
@@ -256,16 +256,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -203,15 +203,5 @@ log_config = {
|
||||
global_log_level = "info";
|
||||
pdcp_log_level = "info";
|
||||
rrc_log_level = "info";
|
||||
flexran_agent_log_level = "info";
|
||||
gtp_log_level = "info";
|
||||
};
|
||||
|
||||
NETWORK_CONTROLLER : {
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -203,15 +203,5 @@ log_config = {
|
||||
global_log_level = "info";
|
||||
pdcp_log_level = "info";
|
||||
rrc_log_level = "info";
|
||||
flexran_agent_log_level = "info";
|
||||
gtp_log_level = "info";
|
||||
};
|
||||
|
||||
NETWORK_CONTROLLER : {
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -203,15 +203,5 @@ log_config = {
|
||||
global_log_level = "info";
|
||||
pdcp_log_level = "info";
|
||||
rrc_log_level = "info";
|
||||
flexran_agent_log_level = "info";
|
||||
gtp_log_level = "info";
|
||||
};
|
||||
|
||||
NETWORK_CONTROLLER : {
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -100,16 +100,6 @@ log_config = {
|
||||
phy_log_level = "info";
|
||||
mac_log_level = "info";
|
||||
rlc_log_level = "info";
|
||||
flexran_agent_log_level = "info";
|
||||
};
|
||||
|
||||
NETWORK_CONTROLLER : {
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
THREAD_STRUCT = (
|
||||
|
||||
@@ -100,16 +100,6 @@ log_config = {
|
||||
phy_log_level = "info";
|
||||
mac_log_level = "info";
|
||||
rlc_log_level = "info";
|
||||
flexran_agent_log_level = "info";
|
||||
};
|
||||
|
||||
NETWORK_CONTROLLER : {
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
THREAD_STRUCT = (
|
||||
|
||||
@@ -100,16 +100,6 @@ log_config = {
|
||||
phy_log_level = "info";
|
||||
mac_log_level = "info";
|
||||
rlc_log_level = "info";
|
||||
flexran_agent_log_level = "info";
|
||||
};
|
||||
|
||||
NETWORK_CONTROLLER : {
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
THREAD_STRUCT = (
|
||||
|
||||
@@ -235,16 +235,6 @@ RUs = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "eth0";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
THREAD_STRUCT = (
|
||||
{
|
||||
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
||||
|
||||
@@ -437,16 +437,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -247,16 +247,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "eth0";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -391,16 +391,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "eth0";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -251,16 +251,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -251,16 +251,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -251,16 +251,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -216,13 +216,3 @@ THREAD_STRUCT = (
|
||||
worker_config = "WORKER_ENABLE";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -216,13 +216,3 @@ THREAD_STRUCT = (
|
||||
worker_config = "WORKER_ENABLE";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -216,13 +216,3 @@ THREAD_STRUCT = (
|
||||
worker_config = "WORKER_ENABLE";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -214,13 +214,3 @@ THREAD_STRUCT = (
|
||||
worker_config = "WORKER_ENABLE";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -243,16 +243,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -383,16 +383,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "ens3";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config : {
|
||||
global_log_level = "info";
|
||||
hw_log_level = "info";
|
||||
|
||||
@@ -252,16 +252,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "eth0";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -250,16 +250,6 @@ THREAD_STRUCT =
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "eth0";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -251,15 +251,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -251,16 +251,6 @@ THREAD_STRUCT =
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "eth0";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -245,16 +245,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -240,16 +240,6 @@ RUs = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "eth0";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
THREAD_STRUCT = (
|
||||
{
|
||||
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
||||
|
||||
@@ -216,13 +216,3 @@ THREAD_STRUCT = (
|
||||
worker_config = "WORKER_ENABLE";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "ens3";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -223,13 +223,3 @@ THREAD_STRUCT = (
|
||||
worker_config = "WORKER_ENABLE";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -223,13 +223,3 @@ THREAD_STRUCT = (
|
||||
worker_config = "WORKER_ENABLE";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -223,13 +223,3 @@ THREAD_STRUCT = (
|
||||
worker_config = "WORKER_ENABLE";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
@@ -250,16 +250,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -250,16 +250,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -250,16 +250,6 @@ THREAD_STRUCT = (
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_CONTROLLER :
|
||||
{
|
||||
FLEXRAN_ENABLED = "no";
|
||||
FLEXRAN_INTERFACE_NAME = "lo";
|
||||
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
|
||||
FLEXRAN_PORT = 2210;
|
||||
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
|
||||
FLEXRAN_AWAIT_RECONF = "no";
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="info";
|
||||
|
||||
@@ -638,10 +638,6 @@ class EPCManagement():
|
||||
# Checking for additional services
|
||||
mySSH.command('docker-compose config', '\$', 5)
|
||||
configResponse = mySSH.getBefore()
|
||||
if configResponse.count('flexran_rtc') == 1:
|
||||
mySSH.command('docker-compose up -d flexran_rtc', '\$', 60)
|
||||
listOfContainers += ' prod-flexran-rtc'
|
||||
expectedHealthyContainers += 1
|
||||
if configResponse.count('trf_gen') == 1:
|
||||
mySSH.command('docker-compose up -d trf_gen', '\$', 60)
|
||||
listOfContainers += ' prod-trf-gen'
|
||||
@@ -760,9 +756,6 @@ class EPCManagement():
|
||||
# Checking for additional services
|
||||
mySSH.command('docker-compose config', '\$', 5)
|
||||
configResponse = mySSH.getBefore()
|
||||
if configResponse.count('flexran_rtc') == 1:
|
||||
listOfContainers += ' prod-flexran-rtc'
|
||||
nbContainers += 1
|
||||
if configResponse.count('trf_gen') == 1:
|
||||
listOfContainers += ' prod-trf-gen'
|
||||
nbContainers += 1
|
||||
|
||||
@@ -796,7 +796,6 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
|
||||
logging.error('requested test is invalidly formatted: ' + test)
|
||||
sys.exit(1)
|
||||
if (EPC.IPAddress != '') and (EPC.IPAddress != 'none'):
|
||||
CiTestObj.CheckFlexranCtrlInstallation(RAN,EPC,CONTAINERS)
|
||||
EPC.SetMmeIPAddress()
|
||||
EPC.SetAmfIPAddress()
|
||||
|
||||
@@ -943,10 +942,6 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
|
||||
EPC.DeployEpc(HTML)
|
||||
elif action == 'Undeploy_EPC':
|
||||
EPC.UndeployEpc(HTML)
|
||||
elif action == 'Initialize_FlexranCtrl':
|
||||
CiTestObj.InitializeFlexranCtrl(HTML,RAN,EPC)
|
||||
elif action == 'Terminate_FlexranCtrl':
|
||||
CiTestObj.TerminateFlexranCtrl(HTML,RAN,EPC)
|
||||
elif action == 'IdleSleep':
|
||||
CiTestObj.IdleSleep(HTML)
|
||||
elif action == 'Perform_X2_Handover':
|
||||
|
||||
@@ -85,10 +85,6 @@ class RANManagement():
|
||||
self.eNBOptions = ['', '', '']
|
||||
self.eNBmbmsEnables = [False, False, False]
|
||||
self.eNBstatuses = [-1, -1, -1]
|
||||
self.flexranCtrlInstalled = False
|
||||
self.flexranCtrlStarted = False
|
||||
self.flexranCtrlDeployed = False
|
||||
self.flexranCtrlIpAddress = ''
|
||||
self.testCase_id = ''
|
||||
self.epcPcapFile = ''
|
||||
self.runtime_stats= ''
|
||||
@@ -443,11 +439,6 @@ class RANManagement():
|
||||
mySSH.command('sed -i -e \'s/CI_RRU1_IP_ADDR/' + self.eNB1IPAddress + '/\' ' + ci_full_config_file, '\$', 2);
|
||||
mySSH.command('sed -i -e \'s/CI_RRU2_IP_ADDR/' + self.eNB2IPAddress + '/\' ' + ci_full_config_file, '\$', 2);
|
||||
mySSH.command('sed -i -e \'s/CI_FR1_CTL_ENB_IP_ADDR/' + self.eNBIPAddress + '/\' ' + ci_full_config_file, '\$', 2);
|
||||
if (self.flexranCtrlInstalled and self.flexranCtrlStarted) or self.flexranCtrlDeployed:
|
||||
mySSH.command('sed -i -e \'s/FLEXRAN_ENABLED.*;/FLEXRAN_ENABLED = "yes";/\' ' + ci_full_config_file, '\$', 2);
|
||||
mySSH.command('sed -i -e \'s/CI_FLEXRAN_CTL_IP_ADDR/' + self.flexranCtrlIpAddress + '/\' ' + ci_full_config_file, '\$', 2);
|
||||
else:
|
||||
mySSH.command('sed -i -e \'s/FLEXRAN_ENABLED.*;/FLEXRAN_ENABLED = "no";/\' ' + ci_full_config_file, '\$', 2);
|
||||
self.eNBmbmsEnables[int(self.eNB_instance)] = False
|
||||
mySSH.command('grep --colour=never enable_enb_m2 ' + ci_full_config_file, '\$', 2);
|
||||
result = re.search('yes', mySSH.getBefore())
|
||||
|
||||
@@ -53,7 +53,7 @@ function details_table {
|
||||
echo " <th>Message</th>" >> $3
|
||||
echo " </tr>" >> $3
|
||||
|
||||
LIST_MESSAGES=`egrep "error:|warning:" $2 | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto|disabling jobserver mode"`
|
||||
LIST_MESSAGES=`egrep "error:|warning:" $2 | egrep -v "jobserver unavailable|Clock skew detected.|disabling jobserver mode"`
|
||||
COMPLETE_MESSAGE="start"
|
||||
for MESSAGE in $LIST_MESSAGES
|
||||
do
|
||||
@@ -146,7 +146,7 @@ function summary_table_row {
|
||||
else
|
||||
echo " <td bgcolor = \"red\" >$NB_ERRORS</th>" >> ./build_results.html
|
||||
fi
|
||||
NB_WARNINGS=`egrep "warning:" $2 | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto|disabling jobserver mode" | egrep -c "warning:"`
|
||||
NB_WARNINGS=`egrep "warning:" $2 | egrep -v "jobserver unavailable|Clock skew detected.|disabling jobserver mode" | egrep -c "warning:"`
|
||||
if [ $NB_WARNINGS -eq 0 ]
|
||||
then
|
||||
echo " <td bgcolor = \"green\" >$NB_WARNINGS</th>" >> ./build_results.html
|
||||
|
||||
@@ -20,8 +20,6 @@
|
||||
- Ping
|
||||
- Iperf
|
||||
- Reboot_UE
|
||||
- Initialize_FlexranCtrl
|
||||
- Terminate_FlexranCtrl
|
||||
- Deploy_EPC
|
||||
- Undeploy_EPC
|
||||
- Initialize_HSS
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
-->
|
||||
<testCaseList>
|
||||
<htmlTabRef>test-05-tm1-rrc-w-flex</htmlTabRef>
|
||||
<htmlTabName>Test-05MHz-TM1-RRC-Inactivity-FlexRan</htmlTabName>
|
||||
<htmlTabName>Test-05MHz-TM1-RRC-Inactivity</htmlTabName>
|
||||
<htmlTabIcon>tasks</htmlTabIcon>
|
||||
<repeatCount>1</repeatCount>
|
||||
<TestCaseRequestedList>
|
||||
@@ -70,19 +70,9 @@
|
||||
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050102">
|
||||
<class>Initialize_FlexranCtrl</class>
|
||||
<desc>Starting Flexran Controller</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050202">
|
||||
<class>Terminate_FlexranCtrl</class>
|
||||
<desc>Stopping Flexran Controller</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="030103">
|
||||
<class>Initialize_eNB</class>
|
||||
<desc>Initialize eNB (FDD/Band7/5MHz) for RRC Inactivity Timer testing -- with FlexRan Ctl</desc>
|
||||
<desc>Initialize eNB (FDD/Band7/5MHz) for RRC Inactivity Timer testing</desc>
|
||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
||||
</testCase>
|
||||
|
||||
|
||||
@@ -91,16 +91,6 @@
|
||||
<eNB_serverId>1</eNB_serverId>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050102">
|
||||
<class>Initialize_FlexranCtrl</class>
|
||||
<desc>Starting Flexran Controller</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050202">
|
||||
<class>Terminate_FlexranCtrl</class>
|
||||
<desc>Stopping Flexran Controller</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="040301">
|
||||
<class>Attach_UE</class>
|
||||
<desc>Attach UE</desc>
|
||||
@@ -188,16 +178,4 @@
|
||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050401">
|
||||
<class>Perform_X2_Handover</class>
|
||||
<desc>Doing a Flexran-Controlled X2 Handover</desc>
|
||||
<x2_ho_options>network</x2_ho_options>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050402">
|
||||
<class>Perform_X2_Handover</class>
|
||||
<desc>Doing a Flexran-Controlled X2 Handover</desc>
|
||||
<x2_ho_options>network</x2_ho_options>
|
||||
</testCase>
|
||||
|
||||
</testCaseList>
|
||||
|
||||
@@ -43,10 +43,4 @@
|
||||
<eNB_instance>1</eNB_instance>
|
||||
<eNB_serverId>1</eNB_serverId>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050202">
|
||||
<class>Terminate_FlexranCtrl</class>
|
||||
<desc>Stopping Flexran Controller</desc>
|
||||
</testCase>
|
||||
|
||||
</testCaseList>
|
||||
|
||||
@@ -48,16 +48,6 @@
|
||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050102">
|
||||
<class>Initialize_FlexranCtrl</class>
|
||||
<desc>Starting Flexran Controller</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050202">
|
||||
<class>Terminate_FlexranCtrl</class>
|
||||
<desc>Stopping Flexran Controller</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="030101">
|
||||
<class>Initialize_eNB</class>
|
||||
<desc>Initialize Master eNB (FDD/Band7/5MHz)</desc>
|
||||
@@ -177,16 +167,4 @@
|
||||
<iperf_profile>single-ue</iperf_profile>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050401">
|
||||
<class>Perform_X2_Handover</class>
|
||||
<desc>Doing a Flexran-Controlled X2 Handover</desc>
|
||||
<x2_ho_options>network</x2_ho_options>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050402">
|
||||
<class>Perform_X2_Handover</class>
|
||||
<desc>Doing a Flexran-Controlled X2 Handover</desc>
|
||||
<x2_ho_options>network</x2_ho_options>
|
||||
</testCase>
|
||||
|
||||
</testCaseList>
|
||||
|
||||
@@ -203,9 +203,6 @@ services:
|
||||
ENB_INTERFACE_NAME_FOR_S1U: eth0
|
||||
ENB_IPV4_ADDRESS_FOR_S1U: 192.168.61.1
|
||||
ENB_IPV4_ADDRESS_FOR_X2C: 192.168.61.1
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 192.168.61.1
|
||||
LOCAL_S_IF_NAME: 'lo:'
|
||||
REMOTE_S_ADDRESS: 127.0.0.1
|
||||
LOCAL_S_ADDRESS: 127.0.0.2
|
||||
|
||||
@@ -206,9 +206,6 @@ services:
|
||||
ENB_S1U_IF_NAME: eth0
|
||||
ENB_S1U_IP_ADDRESS: 192.168.61.20
|
||||
ENB_X2_IP_ADDRESS: 192.168.61.20
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 192.168.61.10
|
||||
USE_ADDITIONAL_OPTIONS: --rfsim --log_config.global_log_options level,nocolor,time
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep lte-softmodem"
|
||||
|
||||
@@ -28,9 +28,6 @@ services:
|
||||
ENB_S1U_IF_NAME: eth0
|
||||
ENB_S1U_IP_ADDRESS: 192.168.61.20
|
||||
ENB_X2_IP_ADDRESS: 192.168.61.20
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 192.168.61.10
|
||||
USE_ADDITIONAL_OPTIONS: --rfsim --log_config.global_log_options level,nocolor,time --noS1
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep lte-softmodem"
|
||||
|
||||
@@ -206,9 +206,6 @@ services:
|
||||
ENB_S1U_IF_NAME: eth0
|
||||
ENB_S1U_IP_ADDRESS: 192.168.61.20
|
||||
ENB_X2_IP_ADDRESS: 192.168.61.20
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 192.168.61.10
|
||||
USE_ADDITIONAL_OPTIONS: --rfsim --log_config.global_log_options level,nocolor,time
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep lte-softmodem"
|
||||
|
||||
@@ -206,9 +206,6 @@ services:
|
||||
ENB_S1U_IF_NAME: eth0
|
||||
ENB_S1U_IP_ADDRESS: 192.168.61.20
|
||||
ENB_X2_IP_ADDRESS: 192.168.61.20
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 192.168.61.10
|
||||
USE_ADDITIONAL_OPTIONS: --rfsim --log_config.global_log_options level,nocolor,time
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep lte-softmodem"
|
||||
|
||||
@@ -205,9 +205,6 @@ services:
|
||||
F1_CU_IP_ADDRESS: 192.168.61.20
|
||||
S1U_IF_NAME: eth0
|
||||
F1_CU_IP_ADDRESS: 192.168.61.20
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 192.168.61.10
|
||||
USE_ADDITIONAL_OPTIONS: --rfsim --log_config.global_log_options level,nocolor,time
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep lte-softmodem"
|
||||
|
||||
@@ -24,9 +24,6 @@ services:
|
||||
ENB_S1U_IF_NAME: eth0
|
||||
ENB_S1U_IP_ADDRESS: 192.168.61.30
|
||||
ENB_X2_IP_ADDRESS: 192.168.61.30
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: CI_FLEXRAN_CTL_IP_ADDR
|
||||
USE_ADDITIONAL_OPTIONS: --RUs.[0].max_rxgain 115 --RUs.[0].max_pdschReferenceSignalPower -27 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --log_config.global_log_options level,nocolor,time
|
||||
volumes:
|
||||
- /dev:/dev
|
||||
|
||||
@@ -27,9 +27,6 @@ services:
|
||||
ENB_S1U_IP_ADDRESS: 172.21.18.46
|
||||
ENB_X2_IP_ADDRESS: 172.21.18.46
|
||||
RRC_INACTIVITY_THRESHOLD: 0
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 172.21.18.48
|
||||
THREAD_PARALLEL_CONFIG: PARALLEL_SINGLE_THREAD
|
||||
USE_ADDITIONAL_OPTIONS: --log_config.global_log_options level,nocolor,time,line_num,function
|
||||
volumes:
|
||||
|
||||
@@ -27,9 +27,6 @@ services:
|
||||
ENB_S1U_IP_ADDRESS: 172.21.18.46
|
||||
ENB_X2_IP_ADDRESS: 172.21.18.46
|
||||
RRC_INACTIVITY_THRESHOLD: 30
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 172.21.18.48
|
||||
THREAD_PARALLEL_CONFIG: PARALLEL_SINGLE_THREAD
|
||||
USE_ADDITIONAL_OPTIONS: --log_config.global_log_options level,nocolor,time,line_num,function
|
||||
volumes:
|
||||
|
||||
@@ -27,9 +27,6 @@ services:
|
||||
ENB_S1U_IP_ADDRESS: 172.21.18.46
|
||||
ENB_X2_IP_ADDRESS: 172.21.18.46
|
||||
RRC_INACTIVITY_THRESHOLD: 0
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 172.21.18.48
|
||||
THREAD_PARALLEL_CONFIG: PARALLEL_SINGLE_THREAD
|
||||
USE_ADDITIONAL_OPTIONS: --RUs.[0].max_rxgain 120 --log_config.global_log_options level,nocolor,time,line_num,function
|
||||
volumes:
|
||||
|
||||
@@ -27,9 +27,6 @@ services:
|
||||
ENB_S1U_IP_ADDRESS: 172.21.18.46
|
||||
ENB_X2_IP_ADDRESS: 172.21.18.46
|
||||
RRC_INACTIVITY_THRESHOLD: 0
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 172.21.18.48
|
||||
THREAD_PARALLEL_CONFIG: PARALLEL_SINGLE_THREAD
|
||||
USE_ADDITIONAL_OPTIONS: --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].drx_Config_present prSetup --eNBs.[0].component_carriers.[0].drx_onDurationTimer psf1 --eNBs.[0].component_carriers.[0].drx_InactivityTimer psf1 --eNBs.[0].component_carriers.[0].drx_RetransmissionTimer psf1 --eNBs.[0].component_carriers.[0].drx_longDrx_CycleStartOffset_present prSf128 --eNBs.[0].component_carriers.[0].drx_longDrx_CycleStartOffset 0 --eNBs.[0].component_carriers.[0].drx_shortDrx_Cycle sf16 --eNBs.[0].component_carriers.[0].drx_shortDrx_ShortCycleTimer 3 --log_config.global_log_options level,nocolor,time,line_num,function
|
||||
volumes:
|
||||
|
||||
@@ -27,9 +27,6 @@ services:
|
||||
ENB_S1U_IP_ADDRESS: 172.21.18.46
|
||||
ENB_X2_IP_ADDRESS: 172.21.18.46
|
||||
RRC_INACTIVITY_THRESHOLD: 0
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 172.21.18.48
|
||||
THREAD_PARALLEL_CONFIG: PARALLEL_SINGLE_THREAD
|
||||
USE_ADDITIONAL_OPTIONS: --RUs.[0].max_rxgain 115 --log_config.global_log_options level,nocolor,time,line_num,function
|
||||
volumes:
|
||||
|
||||
@@ -27,9 +27,6 @@ services:
|
||||
ENB_S1U_IP_ADDRESS: 192.168.68.130
|
||||
ENB_X2_IP_ADDRESS: 192.168.68.130
|
||||
RRC_INACTIVITY_THRESHOLD: 0
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 172.21.16.136
|
||||
THREAD_PARALLEL_CONFIG: PARALLEL_SINGLE_THREAD
|
||||
USE_ADDITIONAL_OPTIONS: --log_config.global_log_options level,nocolor,time,line_num,function
|
||||
volumes:
|
||||
|
||||
@@ -22,9 +22,6 @@ services:
|
||||
GNB_S1U_IP_ADDRESS: 192.168.68.194
|
||||
GNB_X2_IP_ADDRESS: 192.168.68.194
|
||||
RRC_INACTIVITY_THRESHOLD: 0
|
||||
FLEXRAN_ENABLED: 'no'
|
||||
FLEXRAN_INTERFACE_NAME: eth0
|
||||
FLEXRAN_IPV4_ADDRESS: 172.21.16.136
|
||||
THREAD_PARALLEL_CONFIG: PARALLEL_RU_L1_TRX_SPLIT
|
||||
USE_ADDITIONAL_OPTIONS: -E -q --RUs.[0].sdr_addrs serial=30C51D4 --continuous-tx --log_config.global_log_options level,nocolor,time,line_num,function
|
||||
volumes:
|
||||
|
||||
@@ -259,9 +259,6 @@ function main() {
|
||||
RU=1
|
||||
echo_info "Will compile RRU"
|
||||
shift;;
|
||||
-a | --agent)
|
||||
echo_info "FlexRAN support is always compiled into the eNB"
|
||||
shift;;
|
||||
--UE)
|
||||
UE=1
|
||||
echo_info "Will compile UE"
|
||||
@@ -511,9 +508,6 @@ function main() {
|
||||
# flash_firmware_iris
|
||||
#fi
|
||||
fi
|
||||
echo_info "Installing protobuf/protobuf-c for flexran agent support"
|
||||
install_protobuf_c
|
||||
echo_success "protobuf/protobuf-c installation successful"
|
||||
fi
|
||||
|
||||
if [ "$INSTALL_OPTIONAL" = "1" ] ; then
|
||||
|
||||
@@ -245,89 +245,6 @@ compilations() {
|
||||
# External packages installers
|
||||
############################################
|
||||
|
||||
install_protobuf_from_source(){
|
||||
protobuf_install_log=$OPENAIR_DIR/cmake_targets/log/protobuf_install_log.txt
|
||||
echo_info "\nInstalling Google Protobuf from sources. The log file for Protobuf installation is here: $protobuf_install_log "
|
||||
(
|
||||
cd /tmp
|
||||
echo "Downloading protobuf"
|
||||
#rm -rf /tmp/protobuf-2.6.1.tar.gz* /tmp/protobuf-2.6.1
|
||||
#wget https://github.com/protocolbuffers/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz
|
||||
#tar -xzvf protobuf-2.6.1.tar.gz --owner $USER --group $USER --no-same-owner
|
||||
#cd protobuf-2.6.1/
|
||||
|
||||
if [ $IS_CONTAINER -eq 0 ]
|
||||
then
|
||||
rm -rf /tmp/protobuf-cpp-3.3.0.tar.gz* /tmp/protobuf-3.3.0
|
||||
wget --tries=3 --retry-connrefused https://github.com/protocolbuffers/protobuf/releases/download/v3.3.0/protobuf-cpp-3.3.0.tar.gz
|
||||
tar -xzvf protobuf-cpp-3.3.0.tar.gz --owner $(id -u) --group $(id -g) --no-same-owner
|
||||
cd protobuf-3.3.0/
|
||||
else
|
||||
export LD_LIBRARY_PATH=/usr/local/lib #protoc needs to know where toclook for shared libs
|
||||
rm -rf /tmp/protobuf
|
||||
git clone --depth=1 --branch=v3.3.0 https://github.com/protocolbuffers/protobuf.git /tmp/protobuf
|
||||
cd /tmp/protobuf
|
||||
git submodule update --init --recursive
|
||||
./autogen.sh
|
||||
fi
|
||||
./configure
|
||||
echo "Compiling protobuf"
|
||||
make -j`nproc`
|
||||
$SUDO make install
|
||||
$SUDO ldconfig
|
||||
if [[ -v CI_ENV ]]; then
|
||||
cd /tmp
|
||||
$SUDO rm -rf protobuf*
|
||||
fi
|
||||
) >& $protobuf_install_log
|
||||
}
|
||||
|
||||
install_protobuf_c_from_source(){
|
||||
protobuf_c_install_log=$OPENAIR_DIR/cmake_targets/log/protobuf_c_install_log.txt
|
||||
echo_info "\nInstalling Google Protobuf_C from sources. The log file for Protobuf_C installation is here: $protobuf_c_install_log "
|
||||
(
|
||||
if [[ "$OS_DISTRO" == "rhel" ]] || [[ "$OS_DISTRO" == "centos" ]]; then
|
||||
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
|
||||
fi
|
||||
cd /tmp
|
||||
echo "Downloading protobuf-c"
|
||||
rm -rf /tmp/protobuf-c
|
||||
git clone https://github.com/protobuf-c/protobuf-c.git
|
||||
cd protobuf-c
|
||||
git checkout 2a46af42784abf86804d536f6e0122d47cfeea45
|
||||
./autogen.sh
|
||||
./configure
|
||||
echo "Compiling protobuf-c"
|
||||
make -j`nproc`
|
||||
$SUDO make install
|
||||
$SUDO ldconfig
|
||||
if [[ -v CI_ENV ]]; then
|
||||
cd /tmp
|
||||
$SUDO rm -rf protobuf*
|
||||
fi
|
||||
) >& $protobuf_c_install_log
|
||||
}
|
||||
|
||||
install_protobuf_c() {
|
||||
local protobuf_packages=""
|
||||
case "$(get_distribution_release)" in
|
||||
"ubuntu18.04" | "ubuntu20.04" | "ubuntu21.04" | "ubuntu22.04")
|
||||
protobuf_packages="protobuf-c-compiler libprotobuf-c1 libprotobuf-c-dev"
|
||||
;;
|
||||
esac
|
||||
case "$OS_DISTRO" in
|
||||
"rhel" | "centos" | "fedora") # in EPEL and Fedora repos (at least as of 35)
|
||||
protobuf_packages="protobuf-c-compiler protobuf-c protobuf-c-devel"
|
||||
;;
|
||||
esac
|
||||
if [[ "$protobuf_packages" == "" ]]; then
|
||||
install_protobuf_from_source
|
||||
install_protobuf_c_from_source
|
||||
else
|
||||
$SUDO $INSTALLER -y install $protobuf_packages
|
||||
fi
|
||||
}
|
||||
|
||||
install_usrp_uhd_driver_from_source(){
|
||||
uhd_install_log=$OPENAIR_DIR/cmake_targets/log/uhd_install_log.txt
|
||||
echo_info "\nInstalling UHD driver from sources. The log file for UHD driver installation is here: $uhd_install_log "
|
||||
@@ -802,7 +719,6 @@ check_install_oai_software() {
|
||||
openssl \
|
||||
subversion \
|
||||
xmlstarlet \
|
||||
libyaml-dev \
|
||||
wget \
|
||||
libxpm-dev \
|
||||
libboost-all-dev
|
||||
@@ -883,8 +799,7 @@ check_install_oai_software() {
|
||||
lapack \
|
||||
lapack-devel \
|
||||
blas \
|
||||
blas-devel \
|
||||
libyaml-devel
|
||||
blas-devel
|
||||
fi
|
||||
|
||||
install_asn1c_from_source $1
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
function main()
|
||||
{
|
||||
mkdir -p $1
|
||||
|
||||
#echo generate protobuf messages inside $1 $2
|
||||
|
||||
c_out=$1
|
||||
shift
|
||||
proto_path=$1
|
||||
shift
|
||||
|
||||
protoc-c --c_out=$c_out --proto_path=$proto_path $*
|
||||
#protoc --cpp_out=$c_out --proto_path=$proto_path $*
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -39,9 +39,6 @@
|
||||
#include "PHY/types.h"
|
||||
#include "PHY/impl_defs_top.h"
|
||||
|
||||
//#include "ENB_APP/enb_config.h"
|
||||
#include "flexran_agent_defs.h"
|
||||
|
||||
#include "PHY/defs_L1_NB_IoT.h"
|
||||
#include "RRC/LTE/defs_NB_IoT.h"
|
||||
#include "RRC/LTE/rrc_defs.h"
|
||||
@@ -82,8 +79,6 @@ typedef struct {
|
||||
int *nb_L1_CC;
|
||||
/// Number of RU instances in this node
|
||||
int nb_RU;
|
||||
/// FlexRAN context variables
|
||||
flexran_agent_info_t **flexran;
|
||||
/// eNB context variables
|
||||
struct PHY_VARS_eNB_s ***eNB;
|
||||
/// gNB context variables
|
||||
|
||||
@@ -71,7 +71,6 @@ The list of components defined within oai can be retrieved from the [config mod
|
||||
[CONFIG] log_config.eral_log_level set to default value "info"
|
||||
[CONFIG] log_config.mral_log_level set to default value "info"
|
||||
[CONFIG] log_config.enb_app_log_level set to default value "info"
|
||||
[CONFIG] log_config.flexran_agent_log_level set to default value "info"
|
||||
[CONFIG] log_config.tmr_log_level set to default value "info"
|
||||
[CONFIG] log_config.usim_log_level set to default value "info"
|
||||
[CONFIG] log_config.localize_log_level set to default value "info"
|
||||
@@ -140,8 +139,6 @@ The list of components defined within oai can be retrieved from the [config mod
|
||||
[CONFIG] log_config.mral_log_infile set to default value
|
||||
[CONFIG] enb_app_log_infile: 0
|
||||
[CONFIG] log_config.enb_app_log_infile set to default value
|
||||
[CONFIG] flexran_agent_log_infile: 0
|
||||
[CONFIG] log_config.flexran_agent_log_infile set to default value
|
||||
[CONFIG] tmr_log_infile: 0
|
||||
[CONFIG] log_config.tmr_log_infile set to default value
|
||||
[CONFIG] usim_log_infile: 0
|
||||
|
||||
@@ -471,8 +471,6 @@ int logInit (void)
|
||||
register_log_component("ENB_APP","log",ENB_APP);
|
||||
register_log_component("MCE_APP","log",MCE_APP);
|
||||
register_log_component("MME_APP","log",MME_APP);
|
||||
register_log_component("FLEXRAN_AGENT","log",FLEXRAN_AGENT);
|
||||
register_log_component("PROTO_AGENT","log",PROTO_AGENT);
|
||||
register_log_component("TMR","",TMR);
|
||||
register_log_component("EMU","log",EMU);
|
||||
register_log_component("USIM","txt",USIM);
|
||||
|
||||
@@ -229,11 +229,9 @@ typedef enum {
|
||||
ENB_APP,
|
||||
MCE_APP,
|
||||
MME_APP,
|
||||
FLEXRAN_AGENT,
|
||||
TMR,
|
||||
USIM,
|
||||
LOCALIZE,
|
||||
PROTO_AGENT,
|
||||
F1U,
|
||||
X2AP,
|
||||
M2AP,
|
||||
|
||||
@@ -675,27 +675,6 @@ ID = LEGACY_MME_APP_TRACE
|
||||
GROUP = ALL:LEGACY_MME_APP:LEGACY_GROUP_TRACE:LEGACY
|
||||
FORMAT = string,log
|
||||
|
||||
ID = LEGACY_FLEXRAN_AGENT_INFO
|
||||
DESC = FLEXRAN_AGENT legacy logs - info level
|
||||
GROUP = ALL:LEGACY_FLEXRAN_AGENT:LEGACY_GROUP_INFO:LEGACY
|
||||
FORMAT = string,log
|
||||
ID = LEGACY_FLEXRAN_AGENT_ERROR
|
||||
DESC = FLEXRAN_AGENT legacy logs - error level
|
||||
GROUP = ALL:LEGACY_FLEXRAN_AGENT:LEGACY_GROUP_ERROR:LEGACY
|
||||
FORMAT = string,log
|
||||
ID = LEGACY_FLEXRAN_AGENT_WARNING
|
||||
DESC = FLEXRAN_AGENT legacy logs - warning level
|
||||
GROUP = ALL:LEGACY_FLEXRAN_AGENT:LEGACY_GROUP_WARNING:LEGACY
|
||||
FORMAT = string,log
|
||||
ID = LEGACY_FLEXRAN_AGENT_DEBUG
|
||||
DESC = FLEXRAN_AGENT legacy logs - debug level
|
||||
GROUP = ALL:LEGACY_FLEXRAN_AGENT:LEGACY_GROUP_DEBUG:LEGACY
|
||||
FORMAT = string,log
|
||||
ID = LEGACY_FLEXRAN_AGENT_TRACE
|
||||
DESC = FLEXRAN_AGENT legacy logs - trace level
|
||||
GROUP = ALL:LEGACY_FLEXRAN_AGENT:LEGACY_GROUP_TRACE:LEGACY
|
||||
FORMAT = string,log
|
||||
|
||||
ID = LEGACY_SCTP_INFO
|
||||
DESC = SCTP legacy logs - info level
|
||||
GROUP = ALL:LEGACY_SCTP:LEGACY_GROUP_INFO:LEGACY
|
||||
@@ -1183,26 +1162,6 @@ ID = LEGACY_componentP_TRACE
|
||||
|
||||
|
||||
|
||||
ID = LEGACY_PROTO_AGENT_DEBUG
|
||||
DESC = PROTO AGENT DEBUG LEVEL
|
||||
GROUP = ALL:LEGACY_PROTO:LEGACY_GROUP_DEBUG:LEGACY
|
||||
FORMAT = string,log
|
||||
|
||||
ID = LEGACY_PROTO_AGENT_INFO
|
||||
DESC = PROTO AGENT INFO LEVEL
|
||||
GROUP = ALL:LEGACY_PROTO:LEGACY_GROUP_INFO:LEGACY
|
||||
FORMAT = string,log
|
||||
|
||||
ID = LEGACY_PROTO_AGENT_WARNING
|
||||
DESC = PROTO AGENT WARNING LEVEL
|
||||
GROUP = ALL:LEGACY_PROTO:LEGACY_GROUP_WARNING:LEGACY
|
||||
FORMAT = string,log
|
||||
|
||||
ID = LEGACY_PROTO_AGENT_ERROR
|
||||
DESC = PROTO AGENT ERROR LEVEL
|
||||
GROUP = ALL:LEGACY_PROTO:LEGACY_GROUP_ERROR:LEGACY
|
||||
FORMAT = string,log
|
||||
|
||||
ID = LEGACY_F1U_DEBUG
|
||||
DESC = F1U DEBUG LEVEL
|
||||
GROUP = ALL:LEGACY_F1U:LEGACY_GROUP_DEBUG:LEGACY
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#include "openair2/COMMON/sctp_messages_def.h"
|
||||
#include "openair2/COMMON/udp_messages_def.h"
|
||||
#include "openair2/COMMON/gtpv1_u_messages_def.h"
|
||||
#include "openair2/COMMON/flexran_messages_def.h"
|
||||
#include "openair2/COMMON/f1ap_messages_def.h"
|
||||
#include "openair2/COMMON/ngap_messages_def.h"
|
||||
|
||||
|
||||
@@ -327,7 +327,6 @@ void *rrc_enb_process_msg(void *);
|
||||
TASK_DEF(TASK_GNB_APP, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
||||
TASK_DEF(TASK_MCE_APP, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
||||
TASK_DEF(TASK_MME_APP, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
||||
TASK_DEF(TASK_FLEXRAN_AGENT,TASK_PRIORITY_MED, 200, NULL, NULL) \
|
||||
TASK_DEF(TASK_PHY_UE, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
||||
TASK_DEF(TASK_MAC_UE, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
||||
TASK_DEF(TASK_RLC_UE, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
||||
|
||||
@@ -32,11 +32,10 @@ log level/verbosity comp 27 OSA set to info / medium (disabled)
|
||||
log level/verbosity comp 28 eRAL set to info / medium (disabled)
|
||||
log level/verbosity comp 29 mRAL set to info / medium (disabled)
|
||||
log level/verbosity comp 30 ENB_APP set to info / medium (disabled)
|
||||
log level/verbosity comp 31 FLEXRAN_AGENT set to info / medium (disabled)
|
||||
log level/verbosity comp 32 TMR set to info / medium (disabled)
|
||||
log level/verbosity comp 33 USIM set to info / medium (disabled)
|
||||
log level/verbosity comp 34 LOCALIZE set to info / medium (disabled)
|
||||
log level/verbosity comp 35 RRH set to info / medium (disabled)
|
||||
log level/verbosity comp 31 TMR set to info / medium (disabled)
|
||||
log level/verbosity comp 32 USIM set to info / medium (disabled)
|
||||
log level/verbosity comp 33 LOCALIZE set to info / medium (disabled)
|
||||
log level/verbosity comp 34 RRH set to info / medium (disabled)
|
||||
softmodem> softmodem log show
|
||||
Available log levels:
|
||||
emerg alert crit error warn notice info debug file trace
|
||||
@@ -73,13 +72,12 @@ component verbosity level enabled
|
||||
28 eRAL: medium info N
|
||||
29 mRAL: medium info N
|
||||
30 ENB_APP: medium info N
|
||||
31 FLEXRAN_AGENT: medium info N
|
||||
32 TMR: medium info N
|
||||
33 USIM: medium info N
|
||||
34 LOCALIZE: medium info N
|
||||
35 RRH: medium info N
|
||||
36 comp36?: medium info Y
|
||||
37 LOADER: medium alert Y
|
||||
31 TMR: medium info N
|
||||
32 USIM: medium info N
|
||||
33 LOCALIZE: medium info N
|
||||
34 RRH: medium info N
|
||||
35 comp36?: medium info Y
|
||||
36 LOADER: medium alert Y
|
||||
softmodem> softmodem log level_error 0-4
|
||||
log level/verbosity comp 0 PHY set to error / medium (enabled)
|
||||
log level/verbosity comp 1 MAC set to error / medium (enabled)
|
||||
|
||||
+1
-2
@@ -144,8 +144,7 @@ runs tests:
|
||||
triggers pipelines:
|
||||
- [eNB-CI-FDD-Band7-B210](https://open5glab.eurecom.fr:8083/jenkins/job/eNB-CI-FDD-Band7-B210/)
|
||||
- hutch + B210, nano w/ ltebox + 2x UE
|
||||
- tests T tracer, information through FlexRAN, RRC inactivity timers,
|
||||
inactivity timers + FlexRAN, different bandwidths
|
||||
- tests T tracer, RRC inactivity timers, different bandwidths
|
||||
- [eNB-CI-IF4p5-FDD-Band7-B210](https://open5glab.eurecom.fr:8083/jenkins/job/eNB-CI-IF4p5-FDD-Band7-B210/)
|
||||
- hutch + B210, nano w/ ltebox + 2x UE
|
||||
- tests IF4.5 split over bandwidths 5, 10, 20 MHz in Band 7
|
||||
|
||||
@@ -54,7 +54,6 @@ ITTI init, useMME: 1
|
||||
[0m[0m[TMR] Starting itti queue: TASK_GNB_APP as task 23
|
||||
[0m[0m[TMR] Starting itti queue: TASK_MCE_APP as task 24
|
||||
[0m[0m[TMR] Starting itti queue: TASK_MME_APP as task 25
|
||||
[0m[0m[TMR] Starting itti queue: TASK_FLEXRAN_AGENT as task 26
|
||||
[0m[0m[TMR] Starting itti queue: TASK_PHY_UE as task 27
|
||||
[0m[0m[TMR] Starting itti queue: TASK_MAC_UE as task 28
|
||||
[0m[0m[TMR] Starting itti queue: TASK_RLC_UE as task 29
|
||||
@@ -113,7 +112,6 @@ No SL configuration skipping it
|
||||
Creating RC.ru[0]:0x2b41780
|
||||
Setting function for RU 0 to eNodeB_3GPP
|
||||
[0m[PHY] number of L1 instances 1, number of RU 1, number of CPU cores 4
|
||||
[0m[0m[FLEXRAN_AGENT] FlexRAN Agent for eNB 0 is DISABLED
|
||||
[0m[0m[PDCP] PDCP layer has been initialized
|
||||
[0m[0m[PDCP] pdcp init,usegtp
|
||||
[0m[0m[93m[PDCP] ENB pdcp will use tun interface for MBMS
|
||||
|
||||
@@ -50,7 +50,6 @@ CPU Freq is 3.092986
|
||||
[0m[0m[TMR] Starting itti queue: TASK_GNB_APP as task 23
|
||||
[0m[0m[TMR] Starting itti queue: TASK_MCE_APP as task 24
|
||||
[0m[0m[TMR] Starting itti queue: TASK_MME_APP as task 25
|
||||
[0m[0m[TMR] Starting itti queue: TASK_FLEXRAN_AGENT as task 26
|
||||
[0m[0m[TMR] Starting itti queue: TASK_PHY_UE as task 27
|
||||
[0m[0m[TMR] Starting itti queue: TASK_MAC_UE as task 28
|
||||
[0m[0m[TMR] Starting itti queue: TASK_RLC_UE as task 29
|
||||
|
||||
@@ -52,9 +52,7 @@ RUN rm -f /etc/rhsm-host && \
|
||||
psmisc \
|
||||
git \
|
||||
# python3-pip and pyyaml are used for conf template generation
|
||||
python3-pip \
|
||||
#unzip is needed for protobuf
|
||||
unzip && \
|
||||
python3-pip && \
|
||||
pip3 install --ignore-installed pyyaml && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf
|
||||
|
||||
@@ -42,8 +42,6 @@ RUN apt-get update && \
|
||||
psmisc \
|
||||
git \
|
||||
xxd \
|
||||
#unzip is needed for protobuf
|
||||
unzip \
|
||||
# python3-pip for conf template generation
|
||||
python3-pip && \
|
||||
pip3 install --ignore-installed pyyaml
|
||||
|
||||
@@ -48,8 +48,7 @@ RUN yum update -y && \
|
||||
python3-pip \
|
||||
net-tools \
|
||||
iputils \
|
||||
iproute \
|
||||
libyaml && \
|
||||
iproute && \
|
||||
pip3 install six && \
|
||||
pip3 install requests && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
@@ -97,7 +96,6 @@ COPY --from=enb-base \
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=enb-base /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=enb-base /usr/lib64/libprotobuf-c.so.1 /usr/local/lib
|
||||
COPY --from=enb-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
|
||||
COPY --from=enb-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
|
||||
|
||||
|
||||
@@ -58,8 +58,7 @@ RUN apt-get update && \
|
||||
python3 \
|
||||
python3-six \
|
||||
python3-requests \
|
||||
libusb-1.0-0 \
|
||||
libyaml-0-2 && \
|
||||
libusb-1.0-0 && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/oai-enb/bin
|
||||
@@ -82,10 +81,7 @@ COPY --from=enb-build \
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=enb-base /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=enb-base \
|
||||
/usr/local/lib/libuhd.so.3.15.0 \
|
||||
/usr/lib/x86_64-linux-gnu/libprotobuf-c.so.1 \
|
||||
/usr/local/lib/
|
||||
COPY --from=enb-base /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
|
||||
COPY --from=enb-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
|
||||
COPY --from=enb-base \
|
||||
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
|
||||
|
||||
@@ -56,8 +56,7 @@ RUN yum repolist --disablerepo=* && \
|
||||
tzdata \
|
||||
net-tools \
|
||||
iputils \
|
||||
python3-pip \
|
||||
libyaml && \
|
||||
python3-pip && \
|
||||
pip3 install six && \
|
||||
pip3 install requests && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
@@ -91,8 +90,6 @@ COPY --from=gnb-base \
|
||||
/lib64/liblapacke.so.3 \
|
||||
/lib64/
|
||||
|
||||
COPY --from=gnb-base /usr/lib64/libprotobuf-c.so.1 /usr/local/lib
|
||||
|
||||
RUN ln -s /usr/local/lib/libaw2sori_transpro.so /usr/local/lib/libthirdparty_transpro.so && \
|
||||
ldconfig
|
||||
|
||||
|
||||
@@ -50,8 +50,7 @@ RUN yum repolist --disablerepo=* && \
|
||||
python3 \
|
||||
python3-pip \
|
||||
net-tools \
|
||||
iputils \
|
||||
libyaml && \
|
||||
iputils && \
|
||||
pip3 install six && \
|
||||
pip3 install requests && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
@@ -101,7 +100,6 @@ COPY --from=gnb-base \
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=gnb-base /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=gnb-base /usr/lib64/libprotobuf-c.so.1 /usr/local/lib
|
||||
COPY --from=gnb-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
|
||||
COPY --from=gnb-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
|
||||
|
||||
|
||||
@@ -57,8 +57,7 @@ RUN apt-get update && \
|
||||
python3 \
|
||||
python3-six \
|
||||
python3-requests \
|
||||
libusb-1.0-0 \
|
||||
libyaml-0-2 && \
|
||||
libusb-1.0-0 && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/oai-gnb/bin
|
||||
@@ -83,10 +82,7 @@ COPY --from=gnb-build \
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=gnb-base /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=gnb-base \
|
||||
/usr/local/lib/libuhd.so.3.15.0 \
|
||||
/usr/lib/x86_64-linux-gnu/libprotobuf-c.so.1 \
|
||||
/usr/local/lib/
|
||||
COPY --from=gnb-base /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
|
||||
COPY --from=gnb-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
|
||||
COPY --from=gnb-base \
|
||||
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
|
||||
|
||||
@@ -49,8 +49,7 @@ RUN yum update -y && \
|
||||
python3-pip \
|
||||
iproute \
|
||||
net-tools \
|
||||
iputils \
|
||||
libyaml && \
|
||||
iputils && \
|
||||
pip3 install six && \
|
||||
pip3 install requests && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
@@ -99,7 +98,6 @@ COPY --from=lte-ue-base \
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=lte-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=lte-ue-base /usr/lib64/libprotobuf-c.so.1 /usr/local/lib
|
||||
COPY --from=lte-ue-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
|
||||
COPY --from=lte-ue-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
|
||||
|
||||
|
||||
@@ -58,8 +58,7 @@ RUN apt-get update && \
|
||||
libusb-1.0-0 \
|
||||
iputils-ping \
|
||||
iproute2 \
|
||||
iperf \
|
||||
libyaml-0-2 && \
|
||||
iperf && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/oai-lte-ue/bin
|
||||
@@ -84,10 +83,7 @@ COPY --from=lte-ue-build \
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=lte-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=lte-ue-base \
|
||||
/usr/local/lib/libuhd.so.3.15.0 \
|
||||
/usr/lib/x86_64-linux-gnu/libprotobuf-c.so.1 \
|
||||
/usr/local/lib/
|
||||
COPY --from=lte-ue-base /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
|
||||
COPY --from=lte-ue-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
|
||||
|
||||
COPY --from=lte-ue-base \
|
||||
|
||||
@@ -50,8 +50,7 @@ RUN yum update -y && \
|
||||
python3 \
|
||||
python3-pip \
|
||||
libXpm \
|
||||
libX11 \
|
||||
libyaml && \
|
||||
libX11 && \
|
||||
pip3 install six && \
|
||||
pip3 install requests && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
@@ -108,7 +107,6 @@ COPY --from=nr-ue-base \
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=nr-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=nr-ue-base /usr/lib64/libprotobuf-c.so.1 /usr/local/lib
|
||||
COPY --from=nr-ue-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
|
||||
COPY --from=nr-ue-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
|
||||
|
||||
|
||||
@@ -58,8 +58,7 @@ RUN apt-get update && \
|
||||
libusb-1.0-0 \
|
||||
iputils-ping \
|
||||
iproute2 \
|
||||
iperf \
|
||||
libyaml-0-2 && \
|
||||
iperf && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/oai-nr-ue/bin
|
||||
@@ -91,10 +90,7 @@ COPY --from=nr-ue-build \
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=nr-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=nr-ue-base \
|
||||
/usr/local/lib/libuhd.so.3.15.0 \
|
||||
/usr/lib/x86_64-linux-gnu/libprotobuf-c.so.1 \
|
||||
/usr/local/lib/
|
||||
COPY --from=nr-ue-base /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
|
||||
COPY --from=nr-ue-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
|
||||
|
||||
COPY --from=nr-ue-base \
|
||||
|
||||
@@ -55,8 +55,7 @@ RUN yum update -y && \
|
||||
net-tools \
|
||||
iputils \
|
||||
bc \
|
||||
iproute \
|
||||
libyaml && \
|
||||
iproute && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf
|
||||
|
||||
|
||||
@@ -174,12 +174,6 @@
|
||||
env: "@ENB_X2_IP_ADDRESS@"
|
||||
- key: rrc_inactivity_threshold
|
||||
env: "@RRC_INACTIVITY_THRESHOLD@"
|
||||
- key: FLEXRAN_ENABLED
|
||||
env: "@FLEXRAN_ENABLED@"
|
||||
- key: FLEXRAN_INTERFACE_NAME
|
||||
env: "@FLEXRAN_INTERFACE_NAME@"
|
||||
- key: FLEXRAN_IPV4_ADDRESS
|
||||
env: "@FLEXRAN_IPV4_ADDRESS@"
|
||||
- key: parallel_config
|
||||
env: "@THREAD_PARALLEL_CONFIG@"
|
||||
|
||||
|
||||
@@ -62,12 +62,6 @@
|
||||
env: "@GNB_X2_IP_ADDRESS@"
|
||||
- key: rrc_inactivity_threshold
|
||||
env: "@RRC_INACTIVITY_THRESHOLD@"
|
||||
- key: FLEXRAN_ENABLED
|
||||
env: "@FLEXRAN_ENABLED@"
|
||||
- key: FLEXRAN_INTERFACE_NAME
|
||||
env: "@FLEXRAN_INTERFACE_NAME@"
|
||||
- key: FLEXRAN_IPV4_ADDRESS
|
||||
env: "@FLEXRAN_IPV4_ADDRESS@"
|
||||
- key: parallel_config
|
||||
env: "@THREAD_PARALLEL_CONFIG@"
|
||||
|
||||
|
||||
@@ -85,7 +85,6 @@ int create_tasks(uint32_t enb_nb) {
|
||||
if (NODE_IS_DU(type)) {
|
||||
rc = itti_create_task(TASK_DU_F1, F1AP_DU_task, NULL);
|
||||
AssertFatal(rc >= 0, "Create task for DU F1AP failed\n");
|
||||
// DU is now GTP-U instead of protobuf
|
||||
rc = itti_create_task(TASK_GTPV1_U, gtpv1uTask, NULL);
|
||||
AssertFatal(rc >= 0, "Create task for GTPV1U failed\n");
|
||||
}
|
||||
|
||||
@@ -86,13 +86,6 @@ char *split73_config;
|
||||
int split73;
|
||||
AGENT_RRC_xface *agent_rrc_xface[NUM_MAX_ENB]= {0};
|
||||
AGENT_MAC_xface *agent_mac_xface[NUM_MAX_ENB]= {0};
|
||||
void flexran_agent_slice_update(mid_t module_idP) {
|
||||
}
|
||||
int proto_agent_start(mid_t mod_id, const cudu_params_t *p) {
|
||||
return 0;
|
||||
}
|
||||
void proto_agent_stop(mid_t mod_id) {
|
||||
}
|
||||
|
||||
static void *ru_thread( void *param );
|
||||
void kill_RU_proc(RU_t *ru) {
|
||||
@@ -1077,62 +1070,6 @@ void terminate_task(module_id_t mod_id, task_id_t from, task_id_t to) {
|
||||
itti_send_msg_to_task (to, ENB_MODULE_ID_TO_INSTANCE(mod_id), msg);
|
||||
}
|
||||
|
||||
int stop_L1L2(module_id_t enb_id) {
|
||||
LOG_W(ENB_APP, "stopping lte-softmodem\n");
|
||||
/* these tasks need to pick up new configuration */
|
||||
terminate_task(enb_id, TASK_ENB_APP, TASK_RRC_ENB);
|
||||
oai_exit = 1;
|
||||
LOG_I(ENB_APP, "calling kill_RU_proc() for instance %d\n", enb_id);
|
||||
//kill_RU_proc(RC.ru[enb_id]);
|
||||
LOG_I(ENB_APP, "calling kill_eNB_proc() for instance %d\n", enb_id);
|
||||
kill_eNB_proc(enb_id);
|
||||
oai_exit = 0;
|
||||
|
||||
for (int cc_id = 0; cc_id < RC.nb_CC[enb_id]; cc_id++) {
|
||||
free_transport(RC.eNB[enb_id][cc_id]);
|
||||
phy_free_lte_eNB(RC.eNB[enb_id][cc_id]);
|
||||
}
|
||||
|
||||
//phy_free_RU(RC.ru[enb_id]);
|
||||
free_lte_top();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Restart the lte-softmodem after it has been soft-stopped with stop_L1L2()
|
||||
*/
|
||||
int restart_L1L2(module_id_t enb_id) {
|
||||
RU_t *ru = NULL; //RC.ru[enb_id];
|
||||
MessageDef *msg_p = NULL;
|
||||
LOG_W(ENB_APP, "restarting lte-softmodem\n");
|
||||
/* block threads */
|
||||
pthread_mutex_lock(&sync_mutex);
|
||||
sync_var = -1;
|
||||
pthread_mutex_unlock(&sync_mutex);
|
||||
/* copy the changed frame parameters to the RU */
|
||||
/* TODO this should be done for all RUs associated to this eNB */
|
||||
memcpy(&ru->frame_parms, &RC.eNB[enb_id][0]->frame_parms, sizeof(LTE_DL_FRAME_PARMS));
|
||||
/* reset the list of connected UEs in the MAC, since in this process with
|
||||
* loose all UEs (have to reconnect) */
|
||||
init_UE_info(&RC.mac[enb_id]->UE_info);
|
||||
LOG_I(ENB_APP, "attempting to create ITTI tasks\n");
|
||||
// No more rrc thread, as many race conditions are hidden behind
|
||||
rrc_enb_init();
|
||||
itti_mark_task_ready(TASK_RRC_ENB);
|
||||
/* pass a reconfiguration request which will configure everything down to
|
||||
* RC.eNB[i][j]->frame_parms, too */
|
||||
msg_p = itti_alloc_new_message(TASK_ENB_APP, 0, RRC_CONFIGURATION_REQ);
|
||||
RRC_CONFIGURATION_REQ(msg_p) = RC.rrc[enb_id]->configuration;
|
||||
itti_send_msg_to_task(TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p);
|
||||
init_eNB_afterRU();
|
||||
printf("Sending sync to all threads\n");
|
||||
pthread_mutex_lock(&sync_mutex);
|
||||
sync_var=0;
|
||||
pthread_cond_broadcast(&sync_cond);
|
||||
pthread_mutex_unlock(&sync_mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main ( int argc, char **argv ) {
|
||||
//mtrace();
|
||||
int i;
|
||||
@@ -1177,8 +1114,6 @@ int main ( int argc, char **argv ) {
|
||||
// some initialization is necessary and init_ru_vnf do this.
|
||||
RU_t ru;
|
||||
|
||||
/* We need to read RU configuration before FlexRAN starts so it knows what
|
||||
* splits to report. Actual RU start comes later. */
|
||||
if ( NFAPI_MODE != NFAPI_MODE_VNF) {
|
||||
ocpRCconfig_RU(&ru);
|
||||
LOG_I(PHY,
|
||||
@@ -1201,9 +1136,6 @@ int main ( int argc, char **argv ) {
|
||||
|
||||
if (RC.nb_inst > 0) {
|
||||
/* Start the agent. If it is turned off in the configuration, it won't start */
|
||||
for (i = 0; i < RC.nb_inst; i++) {
|
||||
//flexran_agent_start(i);
|
||||
}
|
||||
|
||||
/* initializes PDCP and sets correct RLC Request/PDCP Indication callbacks
|
||||
* for monolithic/F1 modes */
|
||||
|
||||
@@ -487,86 +487,6 @@ void terminate_task(task_id_t task_id, module_id_t mod_id) {
|
||||
//extern void free_transport(PHY_VARS_gNB *);
|
||||
extern void nr_phy_free_RU(RU_t *);
|
||||
|
||||
int stop_L1L2(module_id_t gnb_id) {
|
||||
LOG_W(GNB_APP, "stopping nr-softmodem\n");
|
||||
oai_exit = 1;
|
||||
|
||||
if (!RC.ru) {
|
||||
LOG_F(GNB_APP, "no RU configured\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* stop trx devices, multiple carrier currently not supported by RU */
|
||||
if (RC.ru[gnb_id]) {
|
||||
if (RC.ru[gnb_id]->rfdevice.trx_stop_func) {
|
||||
RC.ru[gnb_id]->rfdevice.trx_stop_func(&RC.ru[gnb_id]->rfdevice);
|
||||
LOG_I(GNB_APP, "turned off RU rfdevice\n");
|
||||
} else {
|
||||
LOG_W(GNB_APP, "can not turn off rfdevice due to missing trx_stop_func callback, proceeding anyway!\n");
|
||||
}
|
||||
|
||||
if (RC.ru[gnb_id]->ifdevice.trx_stop_func) {
|
||||
RC.ru[gnb_id]->ifdevice.trx_stop_func(&RC.ru[gnb_id]->ifdevice);
|
||||
LOG_I(GNB_APP, "turned off RU ifdevice\n");
|
||||
} else {
|
||||
LOG_W(GNB_APP, "can not turn off ifdevice due to missing trx_stop_func callback, proceeding anyway!\n");
|
||||
}
|
||||
} else {
|
||||
LOG_W(GNB_APP, "no RU found for index %d\n", gnb_id);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* these tasks need to pick up new configuration */
|
||||
terminate_task(TASK_RRC_ENB, gnb_id);
|
||||
LOG_I(GNB_APP, "calling kill_gNB_proc() for instance %d\n", gnb_id);
|
||||
kill_gNB_proc(gnb_id);
|
||||
LOG_I(GNB_APP, "calling kill_NR_RU_proc() for instance %d\n", gnb_id);
|
||||
kill_NR_RU_proc(gnb_id);
|
||||
oai_exit = 0;
|
||||
//free_transport(RC.gNB[gnb_id]);
|
||||
phy_free_nr_gNB(RC.gNB[gnb_id]);
|
||||
nr_phy_free_RU(RC.ru[gnb_id]);
|
||||
free_lte_top();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Restart the nr-softmodem after it has been soft-stopped with stop_L1L2()
|
||||
*/
|
||||
int restart_L1L2(module_id_t gnb_id) {
|
||||
RU_t *ru = RC.ru[gnb_id];
|
||||
MessageDef *msg_p = NULL;
|
||||
LOG_W(GNB_APP, "restarting nr-softmodem\n");
|
||||
/* block threads */
|
||||
sync_var = -1;
|
||||
RC.gNB[gnb_id]->configured = 0;
|
||||
RC.ru_mask |= (1 << ru->idx);
|
||||
set_function_spec_param(RC.ru[gnb_id]);
|
||||
LOG_I(GNB_APP, "attempting to create ITTI tasks\n");
|
||||
// No more rrc thread, as many race conditions are hidden behind
|
||||
rrc_enb_init();
|
||||
itti_mark_task_ready(TASK_RRC_ENB);
|
||||
/* pass a reconfiguration request which will configure everything down to
|
||||
* RC.eNB[i][j]->frame_parms, too */
|
||||
msg_p = itti_alloc_new_message(TASK_ENB_APP, 0, RRC_CONFIGURATION_REQ);
|
||||
RRC_CONFIGURATION_REQ(msg_p) = RC.rrc[gnb_id]->configuration;
|
||||
itti_send_msg_to_task(TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(gnb_id), msg_p);
|
||||
/* TODO XForms might need to be restarted, but it is currently (09/02/18)
|
||||
* broken, so we cannot test it */
|
||||
wait_gNBs();
|
||||
init_RU_proc(ru);
|
||||
ru->rf_map.card = 0;
|
||||
ru->rf_map.chain = 0; /* CC_id + chain_offset;*/
|
||||
wait_RUs();
|
||||
init_eNB_afterRU();
|
||||
printf("Sending sync to all threads\n");
|
||||
pthread_mutex_lock(&sync_mutex);
|
||||
sync_var=0;
|
||||
pthread_cond_broadcast(&sync_cond);
|
||||
pthread_mutex_unlock(&sync_mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void wait_nfapi_init(char *thread_name) {
|
||||
printf( "waiting for NFAPI PNF connection and population of global structure (%s)\n",thread_name);
|
||||
pthread_mutex_lock( &nfapi_sync_mutex );
|
||||
@@ -664,14 +584,6 @@ int main( int argc, char **argv ) {
|
||||
int ret=create_gNB_tasks(1);
|
||||
AssertFatal(ret==0,"cannot create ITTI tasks\n");
|
||||
|
||||
/* Start the agent. If it is turned off in the configuration, it won't start */
|
||||
/*
|
||||
RCconfig_nr_flexran();
|
||||
|
||||
for (i = 0; i < RC.nb_nr_L1_inst; i++) {
|
||||
flexran_agent_start(i);
|
||||
}
|
||||
*/
|
||||
// init UE_PF_PO and mutex lock
|
||||
pthread_mutex_init(&ue_pf_po_mutex, NULL);
|
||||
memset (&UE_PF_PO[0][0], 0, sizeof(UE_PF_PO_t)*NUMBER_OF_UE_MAX*MAX_NUM_CCs);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
|
||||
#include <executables/nr-softmodem-common.h>
|
||||
|
||||
#include "flexran_agent.h"
|
||||
#include "PHY/defs_gNB.h"
|
||||
|
||||
#define DEFAULT_DLF 2680000000
|
||||
@@ -61,8 +60,6 @@ extern void reset_opp_meas(void);
|
||||
extern void print_opp_meas(void);
|
||||
void init_gNB_afterRU(void);
|
||||
|
||||
extern int stop_L1L2(module_id_t gnb_id);
|
||||
extern int restart_L1L2(module_id_t gnb_id);
|
||||
void init_pdcp(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "T.h"
|
||||
#include "executables/nr-softmodem.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "nfapi/oai_integration/vendor_ext.h"
|
||||
|
||||
#include "assertions.h"
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
#endif
|
||||
|
||||
#include "LAYER2/MAC/mac.h"
|
||||
#include "rrc_proto.h"
|
||||
#include "common/utils/LOG/log.h"
|
||||
|
||||
#include "common/utils/LOG/vcd_signal_dumper.h"
|
||||
|
||||
@@ -1,29 +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
|
||||
*/
|
||||
|
||||
/*
|
||||
* flexran_messages_def.h
|
||||
*
|
||||
* Created on: Apr 26, 2018
|
||||
* Author: R. Schmidt
|
||||
*/
|
||||
|
||||
MESSAGE_DEF(SOFT_RESTART_MESSAGE, MESSAGE_PRIORITY_MED_PLUS, IttiMsgEmpty, soft_restart_message)
|
||||
@@ -41,4 +41,3 @@
|
||||
#include "sctp_messages_def.h"
|
||||
#include "udp_messages_def.h"
|
||||
#include "gtpv1_u_messages_def.h"
|
||||
#include "flexran_messages_def.h"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,147 +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
|
||||
*/
|
||||
|
||||
/*! \file flexran_agent_mac.h
|
||||
* \brief FlexRAN agent message handler APIs for MAC layer
|
||||
* \author Xenofon Foukas, Mohamed Kassem and Navid Nikaein
|
||||
* \date 2016
|
||||
* \version 0.1
|
||||
*/
|
||||
|
||||
#ifndef FLEXRAN_AGENT_MAC_H_
|
||||
#define FLEXRAN_AGENT_MAC_H_
|
||||
|
||||
#include "header.pb-c.h"
|
||||
#include "flexran.pb-c.h"
|
||||
#include "stats_messages.pb-c.h"
|
||||
#include "stats_common.pb-c.h"
|
||||
|
||||
#include "flexran_agent_common.h"
|
||||
#include "flexran_agent_extern.h"
|
||||
// for flexran_agent_get_mac_xface()
|
||||
#include "flexran_agent_extern.h"
|
||||
|
||||
/* Type for a list of shared objects used in the user plane (schedulers) */
|
||||
typedef struct flexran_agent_so_handle_s {
|
||||
char *name; // name of the object
|
||||
void *dl_handle; // handle of associated objects
|
||||
SLIST_ENTRY (flexran_agent_so_handle_s) entries;
|
||||
} flexran_agent_so_handle_t;
|
||||
|
||||
/* Initialization function for the agent structures etc */
|
||||
void flexran_agent_init_mac_agent(mid_t mod_id);
|
||||
|
||||
/* Scheduling request information protocol message constructor and estructor */
|
||||
int flexran_agent_mac_sr_info(mid_t mod_id, const void *params, Protocol__FlexranMessage **msg);
|
||||
int flexran_agent_mac_destroy_sr_info(Protocol__FlexranMessage *msg);
|
||||
|
||||
/* Subframe trigger protocol msssage constructor and destructor */
|
||||
int flexran_agent_mac_sf_trigger(mid_t mod_id, const void *params, Protocol__FlexranMessage **msg);
|
||||
int flexran_agent_mac_destroy_sf_trigger(Protocol__FlexranMessage *msg);
|
||||
|
||||
/* Statistics reply protocol message constructors (for UE and cell stats) and destructor */
|
||||
int flexran_agent_mac_stats_reply_ue(mid_t mod_id,
|
||||
Protocol__FlexUeStatsReport **ue_report,
|
||||
int n_ue,
|
||||
uint32_t ue_flags);
|
||||
int flexran_agent_mac_stats_reply_cell(mid_t mod_id,
|
||||
Protocol__FlexCellStatsReport **cell_report,
|
||||
int n_cc,
|
||||
uint32_t cc_flags);
|
||||
int flexran_agent_mac_destroy_stats_reply(Protocol__FlexStatsReply *reply);
|
||||
|
||||
/* DL MAC scheduling decision protocol message constructor (empty command) and destructor */
|
||||
int flexran_agent_mac_create_empty_dl_config(mid_t mod_id, Protocol__FlexranMessage **msg);
|
||||
int flexran_agent_mac_destroy_dl_config(Protocol__FlexranMessage *msg);
|
||||
|
||||
/* UL MAC scheduling decision protocol message constructor (empty command) and destructor */
|
||||
int flexran_agent_mac_create_empty_ul_config(mid_t mod_id, Protocol__FlexranMessage **msg);
|
||||
int flexran_agent_mac_destroy_ul_config(Protocol__FlexranMessage *msg);
|
||||
|
||||
int flexran_agent_mac_handle_dl_mac_config(mid_t mod_id, const void *params, Protocol__FlexranMessage **msg);
|
||||
|
||||
|
||||
/**********************************
|
||||
* FlexRAN agent - technology mac API
|
||||
**********************************/
|
||||
|
||||
/*Inform controller about received scheduling requests during a subframe*/
|
||||
void flexran_agent_send_sr_info(mid_t mod_id);
|
||||
|
||||
/*Inform the controller about the current UL/DL subframe*/
|
||||
void flexran_agent_send_sf_trigger(mid_t mod_id);
|
||||
|
||||
/// Send to the controller all the mac stat updates that occured during this subframe
|
||||
/// based on the stats request configuration
|
||||
void flexran_agent_send_update_mac_stats(mid_t mod_id);
|
||||
|
||||
/// Provide to the scheduler a pending dl_mac_config message
|
||||
void flexran_agent_get_pending_dl_mac_config(mid_t mod_id, Protocol__FlexranMessage **msg);
|
||||
|
||||
/* Fill the MAC part of an cell_config message */
|
||||
void flexran_agent_fill_mac_cell_config(mid_t mod_id, uint8_t cc_id,
|
||||
Protocol__FlexCellConfig *conf);
|
||||
|
||||
/* Fill the MAC part of a ue_config message */
|
||||
void flexran_agent_fill_mac_ue_config(mid_t mod_id, mid_t ue_id,
|
||||
Protocol__FlexUeConfig *ue_conf);
|
||||
|
||||
/* Fill the lc_ue_config->lc_config message */
|
||||
void flexran_agent_fill_mac_lc_ue_config(mid_t mod_id, mid_t ue_id,
|
||||
Protocol__FlexLcUeConfig *lc_ue_conf);
|
||||
|
||||
/*Register technology specific interface callbacks*/
|
||||
int flexran_agent_register_mac_xface(mid_t mod_id);
|
||||
|
||||
/*Unregister technology specific callbacks*/
|
||||
int flexran_agent_unregister_mac_xface(mid_t mod_id);
|
||||
|
||||
/***************************************
|
||||
* FlexRAN agent - slice configuration *
|
||||
***************************************/
|
||||
|
||||
/* Inform controller about possibility to update slice configuration */
|
||||
void flexran_agent_slice_update(mid_t mod_id);
|
||||
|
||||
/* marks slice_config so that it can be applied later. Takes ownership of the
|
||||
* FlexSliceConfig message */
|
||||
void prepare_update_slice_config(mid_t mod_id,
|
||||
Protocol__FlexSliceConfig **slice,
|
||||
int request_objects);
|
||||
|
||||
/* inserts a new ue_config into the structure keeping ue to slice association
|
||||
* updates and marks so it can be applied. Takes ownership of the FlexUeConfig message */
|
||||
void prepare_ue_slice_assoc_update(mid_t mod_id, Protocol__FlexUeConfig **ue_config);
|
||||
|
||||
/* free slice_config part of flexCellConfig, filled in
|
||||
* flexran_agent_fill_mac_cell_config() */
|
||||
void flexran_agent_destroy_mac_slice_config(Protocol__FlexCellConfig *conf);
|
||||
|
||||
/* information about a new (potentially relevant) control delegation message */
|
||||
void flexran_agent_mac_inform_delegation(mid_t mod_id,
|
||||
Protocol__FlexControlDelegation *cdm);
|
||||
|
||||
/* fill the enb_config_reply with the shared objects in use by the MAC sublayer */
|
||||
void flexran_agent_mac_fill_loaded_mac_objects(
|
||||
mid_t mod_id,
|
||||
Protocol__FlexEnbConfigReply *reply);
|
||||
|
||||
#endif
|
||||
@@ -1,68 +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
|
||||
*/
|
||||
|
||||
/*! \file flexran_agent_mac_defs.h
|
||||
* \brief FlexRAN agent - mac interface primitives
|
||||
* \author Xenofon Foukas
|
||||
* \date 2016
|
||||
* \version 0.1
|
||||
* \mail x.foukas@sms.ed.ac.uk
|
||||
*/
|
||||
|
||||
#ifndef __FLEXRAN_AGENT_MAC_PRIMITIVES_H__
|
||||
#define __FLEXRAN_AGENT_MAC_PRIMITIVES_H__
|
||||
|
||||
#include "flexran_agent_defs.h"
|
||||
#include "flexran.pb-c.h"
|
||||
#include "header.pb-c.h"
|
||||
|
||||
#define RINGBUFFER_SIZE 100
|
||||
|
||||
/* FLEXRAN AGENT-MAC Interface */
|
||||
typedef struct {
|
||||
//msg_context_t *agent_ctxt;
|
||||
|
||||
/// Inform the controller about the scheduling requests received during the subframe
|
||||
void (*flexran_agent_send_sr_info)(mid_t mod_id);
|
||||
|
||||
/// Inform the controller about the current UL/DL subframe
|
||||
void (*flexran_agent_send_sf_trigger)(mid_t mod_id);
|
||||
|
||||
/// Send to the controller all the mac stat updates that occured during this subframe
|
||||
/// based on the stats request configuration
|
||||
// void (*flexran_agent_send_update_mac_stats)(mid_t mod_id);
|
||||
|
||||
/// Provide to the scheduler a pending dl_mac_config message
|
||||
void (*flexran_agent_get_pending_dl_mac_config)(mid_t mod_id,
|
||||
Protocol__FlexranMessage **msg);
|
||||
|
||||
/// Notify the controller of another (RU) tick, i.e. new subframe. Used to
|
||||
/// synchronize the eNB and the agent.
|
||||
void (*flexran_agent_notify_tick)(mid_t mod_id);
|
||||
|
||||
|
||||
void *dl_scheduler_loaded_lib;
|
||||
void *ul_scheduler_loaded_lib;
|
||||
/*TODO: Fill in with the rest of the MAC layer technology specific callbacks (UL/DL scheduling, RACH info etc)*/
|
||||
|
||||
} AGENT_MAC_xface;
|
||||
|
||||
#endif
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user