Commit 1213521c authored by fnabet's avatar fnabet
Browse files

merge from 2017.w12

parents 353334f6 a77082c1
...@@ -283,8 +283,10 @@ if (${RRC_ASN1_VERSION} STREQUAL "Rel8") ...@@ -283,8 +283,10 @@ if (${RRC_ASN1_VERSION} STREQUAL "Rel8")
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn) set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn)
elseif (${RRC_ASN1_VERSION} STREQUAL "CBA") elseif (${RRC_ASN1_VERSION} STREQUAL "CBA")
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn) set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn)
else() elseif (${RRC_ASN1_VERSION} STREQUAL "Rel10")
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn) set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn)
else()
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn)
endif (${RRC_ASN1_VERSION} STREQUAL "Rel8") endif (${RRC_ASN1_VERSION} STREQUAL "Rel8")
set (RRC_FULL_DIR ${asn1_generated_dir}/${RRC_ASN1_VERSION}) set (RRC_FULL_DIR ${asn1_generated_dir}/${RRC_ASN1_VERSION})
...@@ -561,6 +563,7 @@ elseif (${RF_BOARD} STREQUAL "OAI_LMSSDR") ...@@ -561,6 +563,7 @@ elseif (${RF_BOARD} STREQUAL "OAI_LMSSDR")
include_directories("/usr/local/include/lime") include_directories("/usr/local/include/lime")
include_directories("/usr/include/lime") include_directories("/usr/include/lime")
LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu") LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu")
LINK_DIRECTORIES("/usr/local/lib")
LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/lmsSDR") LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/lmsSDR")
LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/lms7002m") LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/lms7002m")
LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/Si5351C") LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/Si5351C")
...@@ -1768,6 +1771,7 @@ add_executable(lte-softmodem ...@@ -1768,6 +1771,7 @@ add_executable(lte-softmodem
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c ${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
${OPENAIR_DIR}/common/utils/utils.c ${OPENAIR_DIR}/common/utils/utils.c
${OPENAIR_DIR}/common/utils/system.c
${GTPU_need_ITTI} ${GTPU_need_ITTI}
${HW_SOURCE} ${HW_SOURCE}
${TRANSPORT_SOURCE} ${TRANSPORT_SOURCE}
...@@ -1804,6 +1808,7 @@ add_executable(lte-softmodem-nos1 ...@@ -1804,6 +1808,7 @@ add_executable(lte-softmodem-nos1
${OPENAIR2_DIR}/RRC/NAS/nas_config.c ${OPENAIR2_DIR}/RRC/NAS/nas_config.c
${OPENAIR2_DIR}/RRC/NAS/rb_config.c ${OPENAIR2_DIR}/RRC/NAS/rb_config.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
${OPENAIR_DIR}/common/utils/system.c
${HW_SOURCE} ${HW_SOURCE}
${TRANSPORT_SOURCE} ${TRANSPORT_SOURCE}
${RTAI_SOURCE} ${RTAI_SOURCE}
...@@ -1899,6 +1904,7 @@ add_executable(oaisim ...@@ -1899,6 +1904,7 @@ add_executable(oaisim
${OPENAIR2_DIR}/RRC/NAS/rb_config.c ${OPENAIR2_DIR}/RRC/NAS/rb_config.c
${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c ${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
${OPENAIR_DIR}/common/utils/utils.c ${OPENAIR_DIR}/common/utils/utils.c
${OPENAIR_DIR}/common/utils/system.c
${GTPU_need_ITTI} ${GTPU_need_ITTI}
${OPENAIR_TARGETS}/COMMON/create_tasks.c ${OPENAIR_TARGETS}/COMMON/create_tasks.c
${HW_SOURCE} ${HW_SOURCE}
...@@ -1945,6 +1951,7 @@ add_executable(oaisim_nos1 ...@@ -1945,6 +1951,7 @@ add_executable(oaisim_nos1
${OPENAIR2_DIR}/RRC/NAS/nas_config.c ${OPENAIR2_DIR}/RRC/NAS/nas_config.c
${OPENAIR2_DIR}/RRC/NAS/rb_config.c ${OPENAIR2_DIR}/RRC/NAS/rb_config.c
${OPENAIR_TARGETS}/COMMON/create_tasks.c ${OPENAIR_TARGETS}/COMMON/create_tasks.c
${OPENAIR_DIR}/common/utils/system.c
${HW_SOURCE} ${HW_SOURCE}
${TRANSPORT_SOURCE} ${TRANSPORT_SOURCE}
${XFORMS_SOURCE} ${XFORMS_SOURCE}
...@@ -2059,22 +2066,22 @@ endforeach(myExe) ...@@ -2059,22 +2066,22 @@ endforeach(myExe)
#ensure that the T header files are generated before targets depending on them #ensure that the T header files are generated before targets depending on them
if (${T_TRACER}) if (${T_TRACER})
add_dependencies(lte-softmodem generate_T) foreach(i
add_dependencies(lte-softmodem-nos1 generate_T) #all "add_executable" definitions (except tests, rb_tool, updatefw)
add_dependencies(rrh_gw generate_T) lte-softmodem lte-softmodem-nos1 rrh_gw oaisim oaisim_nos1
add_dependencies(oaisim generate_T) dlsim_tm4 dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim
add_dependencies(oaisim_nos1 generate_T) pdcchsim pucchsim prachsim syncsim
add_dependencies(dlsim generate_T) #all "add_library" definitions
add_dependencies(dlsim_tm4 generate_T) ITTI RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB
add_dependencies(dlsim_tm7 generate_T) oai_exmimodevif oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif
add_dependencies(ulsim generate_T) oai_eth_transpro
add_dependencies(pbchsim generate_T) FLPT_MSG ASYNC_IF FLEXRAN_AGENT HASHTABLE MSC UTIL OMG_SUMO SECU_OSA
add_dependencies(scansim generate_T) SECU_CN SCHED_LIB PHY L2 default_sched remote_sched RAL MIH CN_UTILS
add_dependencies(mbmssim generate_T) GTPV1U SCTP_CLIENT UDP LIB_NAS_UE LFDS LFDS7 SIMU SIMU_ETH OPENAIR0_LIB)
add_dependencies(pdcchsim generate_T) if (TARGET ${i})
add_dependencies(pucchsim generate_T) add_dependencies(${i} generate_T)
add_dependencies(prachsim generate_T) endif()
add_dependencies(syncsim generate_T) endforeach(i)
endif (${T_TRACER}) endif (${T_TRACER})
################################################## ##################################################
...@@ -2099,11 +2106,16 @@ endforeach() ...@@ -2099,11 +2106,16 @@ endforeach()
# force castxml and clang compilation with gnu89 standard # force castxml and clang compilation with gnu89 standard
# we can't use cXX standard as pthread_rwlock_t is gnu standard # we can't use cXX standard as pthread_rwlock_t is gnu standard
list(APPEND itti_compiler_options "-std=gnu89") list(APPEND itti_compiler_options "-std=gnu89")
set (ITTI_H ${ITTI_DIR}/intertask_interface_types.h) set (ITTI_H ${ITTI_DIR}/intertask_interface_types.h)
if(EXISTS /usr/bin/gccxml)
set(xml_command gccxml ${itti_compiler_options} -fxml=${OPENAIR_BIN_DIR}/messages.xml ${ITTI_H})
else()
set(xml_command castxml --castxml-gccxml ${itti_compiler_options} ${ITTI_H} -o ${OPENAIR_BIN_DIR}/messages.xml)
endif()
add_custom_command ( add_custom_command (
OUTPUT ${OPENAIR_BIN_DIR}/messages.xml OUTPUT ${OPENAIR_BIN_DIR}/messages.xml
COMMAND gccxml ${itti_compiler_options} -fxml=${OPENAIR_BIN_DIR}/messages.xml ${ITTI_H} COMMAND ${xml_command}
DEPENDS ${S1AP_OAI_generated} ${RRC_FULL_DIR}/asn1_constants.h DEPENDS ${S1AP_OAI_generated} ${RRC_FULL_DIR}/asn1_constants.h
) )
......
...@@ -716,6 +716,7 @@ ADD_EXECUTABLE(at_nas_ue ${OPENAIR_NAS_DIR}/UE/UEprocess.c ...@@ -716,6 +716,7 @@ ADD_EXECUTABLE(at_nas_ue ${OPENAIR_NAS_DIR}/UE/UEprocess.c
${OPENAIR_NAS_DIR}/UE/nas_proc.c ${OPENAIR_NAS_DIR}/UE/nas_proc.c
${OPENAIR_NAS_DIR}/UE/nas_user.c ${OPENAIR_NAS_DIR}/UE/nas_user.c
${OPENAIR_DIR}/common/utils/utils.c ${OPENAIR_DIR}/common/utils/utils.c
${OPENAIR_DIR}/common/utils/system.c
) )
target_link_libraries (at_nas_ue target_link_libraries (at_nas_ue
......
...@@ -239,6 +239,20 @@ Obj.# Case# Test# Description ...@@ -239,6 +239,20 @@ Obj.# Case# Test# Description
01 75 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX 01 75 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
01 75 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX 01 75 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
01 76 lte-softmodem + RRU (NGFI IF4P5, UDP) tests with B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX
01 76 00 Band 7 FDD 5MHz UL Throughput (UDP) for 300 sec for 1TX/1RX
01 76 01 Band 7 FDD 10MHz UL Throughput (UDP) for 300 sec for 1TX/1RX
01 76 02 Band 7 FDD 20MHz UL Throughput (UDP) for 300 sec for 1TX/1RX
01 76 03 Band 7 FDD 5MHz DL Throughput (UDP) for 300 sec for 1TX/1RX
01 76 04 Band 7 FDD 10MHz DL Throughput (UDP) for 300 sec for 1TX/1RX
01 76 05 Band 7 FDD 20MHz DL Throughput (UDP) for 300 sec for 1TX/1RX
01 76 06 Band 7 FDD 5MHz UL Throughput (TCP) for 300 sec for 1TX/1RX
01 76 07 Band 7 FDD 10MHz UL Throughput (TCP) for 300 sec for 1TX/1RX
01 76 08 Band 7 FDD 20MHz UL Throughput (TCP) for 300 sec for 1TX/1RX
01 76 09 Band 7 FDD 5MHz DL Throughput (TCP) for 300 sec for 1TX/1RX
01 76 10 Band 7 FDD 10MHz DL Throughput (TCP) for 300 sec for 1TX/1RX
01 76 11 Band 7 FDD 20MHz DL Throughput (TCP) for 300 sec for 1TX/1RX
01 80 lte-softmodem + RRU (NGFI) tests with BladeRF RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX 01 80 lte-softmodem + RRU (NGFI) tests with BladeRF RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX
01 80 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX 01 80 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
01 80 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX 01 80 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
......
...@@ -8664,6 +8664,19 @@ c ...@@ -8664,6 +8664,19 @@ c
<nruns>10</nruns> <nruns>10</nruns>
</testCase> </testCase>
   
<testCase id="017600"></testCase>
<testCase id="017601"></testCase>
<testCase id="017602"></testCase>
<testCase id="017603"></testCase>
<testCase id="017604"></testCase>
<testCase id="017605"></testCase>
<testCase id="017606"></testCase>
<testCase id="017607"></testCase>
<testCase id="017608"></testCase>
<testCase id="017609"></testCase>
<testCase id="017610"></testCase>
<testCase id="017611"></testCase>
<testCase id="018600"></testCase> <testCase id="018600"></testCase>
<testCase id="018601"></testCase> <testCase id="018601"></testCase>
<testCase id="018602"></testCase> <testCase id="018602"></testCase>
......
sudo rmmod nasmesh || true
sudo rmmod ue_ip || true
sudo /opt/ltebox/tools/stop_ltebox || true sudo /opt/ltebox/tools/stop_ltebox || true
sudo /opt/hss_sim0609/starthss_real sudo /opt/hss_sim0609/starthss_real
cd /tmp/oai_test_setup/oai cd /tmp/oai_test_setup/oai
source oaienv source oaienv
sudo rmmod nasmesh || true
sudo rmmod ue_ip || true
cd cmake_targets cd cmake_targets
rm -rf log rm -rf log
mkdir -p log mkdir -p log
......
...@@ -3,6 +3,8 @@ stty isig intr ^C ...@@ -3,6 +3,8 @@ stty isig intr ^C
cd /tmp/oai_test_setup/oai cd /tmp/oai_test_setup/oai
source oaienv source oaienv
sudo rmmod nasmesh || true
sudo rmmod ue_ip || true
cd cmake_targets/lte_build_oai/build cd cmake_targets/lte_build_oai/build
ulimit -c unlimited ulimit -c unlimited
sudo rm -f core sudo rm -f core
......
...@@ -3,6 +3,8 @@ stty isig intr ^C ...@@ -3,6 +3,8 @@ stty isig intr ^C
cd /tmp/oai_test_setup/oai cd /tmp/oai_test_setup/oai
source oaienv source oaienv
sudo rmmod nasmesh || true
sudo rmmod ue_ip || true
cd cmake_targets/autotests/v2/actions cd cmake_targets/autotests/v2/actions
sudo python start_3276.py sudo python start_3276.py
......
...@@ -16,6 +16,8 @@ stty isig intr ^C ...@@ -16,6 +16,8 @@ stty isig intr ^C
cd /tmp/oai_test_setup/oai cd /tmp/oai_test_setup/oai
source oaienv source oaienv
sudo rmmod nasmesh || true
sudo rmmod ue_ip || true
cd cmake_targets/autotests/v2/actions cd cmake_targets/autotests/v2/actions
python start_bandrich.py python start_bandrich.py
......
...@@ -9,18 +9,24 @@ class alu_test: ...@@ -9,18 +9,24 @@ class alu_test:
openair, openair,
user, password, user, password,
log_subdir, log_subdir,
env): env,
self.epc_machine = epc enb_rru = "",
self.enb_machine = enb enb_rcc = ""):
self.ue_machine = ue self.epc_machine = epc
self.openair_dir = openair self.enb_machine = enb
self.oai_user = user self.ue_machine = ue
self.oai_password = password self.openair_dir = openair
self.env = env self.oai_user = user
self.oai_password = password
self.task_hss = None self.env = env
self.task_enb = None self.enb_rru_machine = enb_rru
self.task_ue = None self.enb_rcc_machine = enb_rcc
self.task_hss = None
self.task_enb = None
self.task_ue = None
self.task_rru_enb = None
self.task_rcc_enb = None
self.logdir = openair + '/cmake_targets/autotests/log/' + log_subdir self.logdir = openair + '/cmake_targets/autotests/log/' + log_subdir
quickshell('mkdir -p ' + self.logdir) quickshell('mkdir -p ' + self.logdir)
...@@ -40,6 +46,10 @@ class alu_test: ...@@ -40,6 +46,10 @@ class alu_test:
self.task_enb.kill() self.task_enb.kill()
if self.task_ue != None and self.task_ue.alive(): if self.task_ue != None and self.task_ue.alive():
self.task_ue.kill() self.task_ue.kill()
if self.task_rru_enb != None and self.task_rru_enb.alive():
self.task_rru_enb.kill()
if self.task_rcc_enb != None and self.task_rcc_enb.alive():
self.task_rcc_enb.kill()
########################################################################## ##########################################################################
# start_epc # start_epc
...@@ -101,7 +111,7 @@ class alu_test: ...@@ -101,7 +111,7 @@ class alu_test:
########################################################################## ##########################################################################
# compile_enb # compile_enb
########################################################################## ##########################################################################
def compile_enb(self, build_arguments): def compile_enb(self, build_arguments, log_suffix=""):
log("INFO: ALU test: compile softmodem on " + self.enb_machine) log("INFO: ALU test: compile softmodem on " + self.enb_machine)
envcomp = list(self.env) envcomp = list(self.env)
envcomp.append('BUILD_ARGUMENTS="' + build_arguments + '"') envcomp.append('BUILD_ARGUMENTS="' + build_arguments + '"')
...@@ -120,7 +130,8 @@ class alu_test: ...@@ -120,7 +130,8 @@ class alu_test:
self.oai_user, self.oai_user,
self.oai_password, self.oai_password,
envcomp, envcomp,
self.logdir + "/compile_softmodem." + self.enb_machine, self.logdir + "/compile_softmodem." + log_suffix + \
self.enb_machine,
post_action=post_action) post_action=post_action)
ret = task.wait() ret = task.wait()
if ret != 0: if ret != 0:
...@@ -162,6 +173,62 @@ class alu_test: ...@@ -162,6 +173,62 @@ class alu_test:
#not sure if we have to quit here or not #not sure if we have to quit here or not
#os._exit(1) #os._exit(1)
##########################################################################
# start_enb_rru_rcc
##########################################################################
def start_enb_rru_rcc(self, rru_config_file, rcc_config_file):
#copy wanted configuration files
quickshell("sshpass -p " + self.oai_password +
" scp config/" + rru_config_file + " " +
self.oai_user + "@" + self.enb_rru_machine+":/tmp/enb.conf")
quickshell("sshpass -p " + self.oai_password +
" scp config/" + rcc_config_file + " " +
self.oai_user + "@" + self.enb_rcc_machine+":/tmp/enb.conf")
#run RRU/RCC softmodem
log("INFO: ALU test: run RRU softmodem with configuration file " +
rru_config_file)
self.task_rru_enb = Task("actions/run_enb.bash",
"run_RRU_softmodem",
self.enb_rru_machine,
self.oai_user,
self.oai_password,
self.env,
self.logdir + "/run_softmodem." + self.enb_rru_machine,
event=self.event)
self.task_rru_enb.waitlog('[RRH] binding to')
log("INFO: ALU test: run RCC softmodem with configuration file " +
rcc_config_file)
self.task_rcc_enb = Task("actions/run_enb.bash",
"run_RCC_softmodem",
self.enb_rcc_machine,
self.oai_user,
self.oai_password,
self.env,
self.logdir + "/run_softmodem." + self.enb_rcc_machine,
event=self.event)
self.task_rcc_enb.waitlog('[BBU] local ip addr')
#wait for RRU and RCC to be connected
self.task_rru_enb.waitlog('devices ok (eNB_thread_asynch_rx)')
##########################################################################
# stop_enb_rru_rcc
##########################################################################
def stop_enb_rru_rcc(self):
log("INFO: ALU test: stop RRU/RCC softmodem")
self.task_rru_enb.sendnow("%c" % 3)
ret = self.task_rru_enb.wait()
if ret != 0:
log("ERROR: ALU test: RRU softmodem failed")
#not sure if we have to quit here or not
#os._exit(1)
self.task_rcc_enb.sendnow("%c" % 3)
ret = self.task_rcc_enb.wait()
if ret != 0:
log("ERROR: ALU test: RCC softmodem failed")
#not sure if we have to quit here or not
#os._exit(1)
########################################################################## ##########################################################################
# start_ue # start_ue
########################################################################## ##########################################################################
...@@ -185,7 +252,9 @@ class alu_test: ...@@ -185,7 +252,9 @@ class alu_test:
self.event.clear() self.event.clear()
if ( not self.task_enb.alive() or if ( (self.task_enb != None and not self.task_enb.alive()) or
(self.task_rru_enb!=None and not self.task_rru_enb.alive()) or
(self.task_rcc_enb!=None and not self.task_rcc_enb.alive()) or
not self.task_hss.alive() or not self.task_hss.alive() or
not self.task_ue.alive()): not self.task_ue.alive()):
log("ERROR: ALU test: eNB, HSS or UE task died") log("ERROR: ALU test: eNB, HSS or UE task died")
...@@ -250,14 +319,20 @@ class alu_test: ...@@ -250,14 +319,20 @@ class alu_test:
self.event.wait() self.event.wait()
log("DEBUG: event.wait() done") log("DEBUG: event.wait() done")
if ( not self.task_enb.alive() or if ( (self.task_enb != None and not self.task_enb.alive()) or
(self.task_rru_enb!=None and not self.task_rru_enb.alive()) or
(self.task_rcc_enb!=None and not self.task_rcc_enb.alive()) or
not self.task_hss.alive() or not self.task_hss.alive() or
not self.task_ue.alive()): not self.task_ue.alive()):
log("ERROR: unexpected task exited, test failed, kill all") log("ERROR: unexpected task exited, test failed, kill all")
if task_traffic_client.alive(): if task_traffic_client.alive():
task_traffic_client.kill() task_traffic_client.kill()
if self.task_enb.alive(): if (self.task_enb != None and self.task_enb.alive()):
self.task_enb.kill() self.task_enb.kill()
if (self.task_rru_enb != None and self.task_rru_enb.alive()):
self.task_rru_enb.kill()
if (self.task_rcc_enb != None and self.task_rcc_enb.alive()):
self.task_rcc_enb.kill()
if self.task_ue.alive(): if self.task_ue.alive():
self.task_ue.kill() self.task_ue.kill()
...@@ -277,7 +352,9 @@ class alu_test: ...@@ -277,7 +352,9 @@ class alu_test:
self.event.clear() self.event.clear()
if ( not self.task_enb.alive() or if ( (self.task_enb != None and not self.task_enb.alive()) or
(self.task_rru_enb!=None and not self.task_rru_enb.alive()) or
(self.task_rcc_enb!=None and not self.task_rcc_enb.alive()) or
not self.task_hss.alive() or not self.task_hss.alive() or
not self.task_ue.alive()): not self.task_ue.alive()):
log("ERROR: ALU test: eNB, HSS or UE task died") log("ERROR: ALU test: eNB, HSS or UE task died")
...@@ -334,8 +411,6 @@ class alu_test: ...@@ -334,8 +411,6 @@ class alu_test:
############################################################################## ##############################################################################
def run_b210_alu(tests, openair_dir, oai_user, oai_password, env): def run_b210_alu(tests, openair_dir, oai_user, oai_password, env):
if not do_tests(tests['b210']['alu']):
return
#compile eNB (two cases: one for FDD and one for TDD) #compile eNB (two cases: one for FDD and one for TDD)
...@@ -365,6 +440,44 @@ def run_b210_alu(tests, openair_dir, oai_user, oai_password, env): ...@@ -365,6 +440,44 @@ def run_b210_alu(tests, openair_dir, oai_user, oai_password, env):
log("ERROR: ALU test failed: eNB compilation failed: " + str(e)) log("ERROR: ALU test failed: eNB compilation failed: " + str(e))
return return
#compile RRU/RCC eNB
if do_tests(tests['remote b210']['alu']['fdd']):
#RRU
alu = alu_test(epc='amerique', ue='stevens',
openair=openair_dir,
user=oai_user, password=oai_password,
log_subdir='enb_tests/remote_b210_alu/compile_enb_rru',
env=env,
#hack: set 'enb' to reuse 'compile_enb'
enb = 'superserver',
enb_rru = 'superserver', enb_rcc = 'starsky')
try:
alu.compile_enb("--eNB -x -c -w USRP -t ETHERNET",
log_suffix='rru.')
except BaseException, e:
log("ERROR: ALU test failed: RRU eNB compilation failed: "+str(e))
return
#RCC
alu = alu_test(epc='amerique', ue='stevens',
openair=openair_dir,
user=oai_user, password=oai_password,
log_subdir='enb_tests/remote_b210_alu/compile_enb_rcc',
env=env,
#hack: set 'enb' to reuse 'compile_enb'
enb = 'starsky',
enb_rru = 'superserver', enb_rcc = 'starsky')
try:
alu.compile_enb("--eNB -w None -t ETHERNET",
log_suffix='rcc.')
except BaseException, e:
log("ERROR: ALU test failed: RCC eNB compilation failed: "+str(e))
return
#run tests #run tests
udp_dl_bandwidth = { "5" : "15M", udp_dl_bandwidth = { "5" : "15M",
...@@ -410,3 +523,29 @@ def run_b210_alu(tests, openair_dir, oai_user, oai_password, env): ...@@ -410,3 +523,29 @@ def run_b210_alu(tests, openair_dir, oai_user, oai_password, env):
except BaseException, e: except BaseException, e:
log("ERROR: ALU test failed: " + str(e)) log("ERROR: ALU test failed: " + str(e))
alu.finish() alu.finish()
if do_tests(tests['remote b210']['alu'][mode][bw]):
log("INFO: ALU test: run RRU/RCC tests for bandwidth " + bw + " MHz")
ctest = tests['remote b210']['alu'][mode][bw]
alu = alu_test(epc='amerique', enb='', ue=ue_machine[mode],
openair=openair_dir,
user=oai_user, password=oai_password,
log_subdir='enb_tests/remote_b210_alu/' + bw,
env=env,
enb_rru='superserver', enb_rcc='starsky')
try:
alu.start_epc()
alu.start_enb_rru_rcc("rru.band7.tm1.if4p5." + bw + "MHz.udp.usrpb210.conf",
"rcc.band7.tm1.if4p5." + bw + "MHz.conf")
for ue in ('bandrich', '3276'):
if ue in ctest and do_tests(ctest[ue]):
alu.start_ue(ue)
if do_tests(ctest[ue]['tcp']['dl']): alu.dl_tcp(ue)
if do_tests(ctest[ue]['tcp']['ul']): alu.ul_tcp(ue)
if do_tests(ctest[ue]['udp']['dl']): alu.dl_udp(ue, udp_dl_bandwidth[bw])
if do_tests(ctest[ue]['udp']['ul']): alu.ul_udp(ue, udp_ul_bandwidth[bw])
alu.stop_ue(ue)
alu.stop_enb_rru_rcc()
alu.stop_epc()
except BaseException, e:
log("ERROR: ALU test failed: " + str(e))
alu.finish()
...@@ -7,122 +7,126 @@ eNBs = ...@@ -7,122 +7,126 @@ eNBs =
{ {
////////// Identification parameters: ////////// Identification parameters:
eNB_ID = 0xe00; eNB_ID = 0xe00;
cell_type = "CELL_MACRO_ENB"; cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB_Eurecom_LTEBox"; eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values // Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1"; tracking_area_co